From 3a9c0a33f8358cd81542994701436fbc99def3da Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 06 六月 2023 19:02:54 +0800
Subject: [PATCH] 1.生产入库调用畅捷通接口入库
---
src/api/basicInfo.js | 8 ++++
src/main.js | 4 ++
src/views/produceManager/productWarehouse.vue | 79 +++++++++++++++++++++++++++++++++++++--
src/utils/global.js | 25 ++++++++++++
4 files changed, 111 insertions(+), 5 deletions(-)
diff --git a/src/api/basicInfo.js b/src/api/basicInfo.js
index 38f685b..eae7e13 100644
--- a/src/api/basicInfo.js
+++ b/src/api/basicInfo.js
@@ -41,3 +41,11 @@
method: 'get'
})
}
+
+// 鑾峰彇AppTicket
+export function AppTicketSelect() {
+ return request({
+ url: 'Message/AppTicketSelect',
+ method: 'get'
+ })
+}
diff --git a/src/main.js b/src/main.js
index e52d375..0754da0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -43,6 +43,10 @@
Vue.prototype.$headerCellStyle = headerCellStyle() // 璁剧疆鍏ㄥ眬琛ㄥご鏍峰紡
Vue.prototype.$cellStyle = cellStyle() // 璁剧疆鍏ㄥ眬琛ㄤ綋鏍峰紡
+Vue.prototype.$chanjetBaseUrl = 'https://openapi.chanjet.com'
+Vue.prototype.$AppKey = 'Umm1gS5q'
+Vue.prototype.$AppSecret = 'FFAD54C4FBF9AAF1AFA33BBF3DF52752'
+
// import 'lib-flexible' // 闃块噷鍙几缂╁竷灞�鏂规
// import 'lib-flexible-computer'
diff --git a/src/utils/global.js b/src/utils/global.js
index 66c9e1c..4df4457 100644
--- a/src/utils/global.js
+++ b/src/utils/global.js
@@ -1,4 +1,7 @@
import { NewEncodingRules } from '@/api/systemSettings'
+import { AppTicketSelect } from '@/api/basicInfo'
+import axios from 'axios'
+import Vue from 'vue'
// 鍏ㄥ眬涓昏棰滆壊
export function getGlobalColor() {
@@ -50,6 +53,7 @@
// return `${y}-${m}-${d} ${hh}:${mm}:${ss} ${week}`
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}
+
// 鏃堕棿澶勭悊鍑芥暟 杩斿洖 鏃跺垎
export function handleDatetime3(value) {
const dt = new Date(value)
@@ -98,3 +102,24 @@
}
}
}
+
+// 鑾峰彇token 鐢ㄤ簬璇锋眰鐣呮嵎閫氭帴鍙�
+export async function getTPlusToken() {
+ const r1 = await AppTicketSelect()
+ const r2 = r1.data[0]
+ Vue.prototype.$AppKey = r2.appKey
+ Vue.prototype.$AppSecret = r2.appSecret
+ const data = {
+ appTicket: r2.AppTicket,
+ certificate: r2.certificate
+ }
+ const r3 = await axios.post(Vue.prototype.$chanjetBaseUrl + '/v1/common/auth/selfBuiltApp/generateToken',
+ data, {
+ headers: {
+ 'appKey': Vue.prototype.$AppKey,
+ 'appSecret': Vue.prototype.$AppSecret,
+ 'Content-Type': 'application/json'
+ }
+ })
+ return r3.data.value.accessToken
+}
diff --git a/src/views/produceManager/productWarehouse.vue b/src/views/produceManager/productWarehouse.vue
index c0aa363..b5a692f 100644
--- a/src/views/produceManager/productWarehouse.vue
+++ b/src/views/produceManager/productWarehouse.vue
@@ -249,7 +249,8 @@
icon="el-icon-s-promotion"
@click="submit"
- >鍏ュ簱鎻愪氦</el-button>
+ >鍏ュ簱鎻愪氦
+ </el-button>
<!-- <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>-->
</div>
</el-form>
@@ -572,7 +573,7 @@
width="110"
>
<template slot-scope="{row}">
- <div>{{ stockcodeArr.find(i=>i.code===row.stockcode).name }}</div>
+ <div>{{ stockcodeArr.find(i => i.code === row.stockcode).name }}</div>
</template>
</el-table-column>
<!-- <template slot-scope="{row}">-->
@@ -689,9 +690,15 @@
ProductInHouseOrderSearch, ProductInHouseOrderSeave,
ProductInHouseWkshopOrder
} from '@/api/produceManager'
-import { handleDatetime, handleDatetime2 } from '@/utils/global'
-import { ErpUserSelect, ErpWarehouseSelect, ErpWkshopDepartmentSelect } from '@/api/basicInfo'
+import { getTPlusToken, handleDatetime, handleDatetime2 } from '@/utils/global'
+import {
+ ErpUserSelect,
+ ErpWarehouseSelect,
+ ErpWkshopDepartmentSelect
+} from '@/api/basicInfo'
import { getCookie } from '@/utils/auth'
+import Vue from 'vue'
+import axios from 'axios'
export default {
name: 'Zzjg',
@@ -985,8 +992,70 @@
this.tableDataSummary = newData.flat()
},
+ async submit() {
+ await this.tabClick()
+ // const openToken = await getTPlusToken() // 鑾峰彇TPlus token
+ const openToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpc3YiLCJpc3MiOiJjaGFuamV0IiwidXNlcklkIjoiMzkwNTU0MDg2NTMwMjYxIiwib3JnSWQiOiIxMjM0OTc5MDE3MjIxMDM3IiwiYWNjZXNzX3Rva2VuIjoiYmstOGIwNDUxNzEtMDk5Yy00ODFlLTgyZDEtY2Q5NWQ2MjUzZGUwIiwiYXVkIjoiaXN2IiwibmJmIjoxNjg2MDQ3NTgyLCJhcHBJZCI6IjU4Iiwic2NvcGUiOiJhdXRoX2FsbCIsImlkIjoiNjA5Y2ZhYzItNzZmOC00NzJiLWI2NGEtMDg1NmRjMWZmYTg4IiwiZXhwIjoxNjg2NTY1OTgyLCJpYXQiOjE2ODYwNDc1ODIsIm9yZ0FjY291bnQiOiJ1dXhicGtzbTBibmgifQ.slZ_ix3DoGBX2WUX1TOiwe7jCEqDHf9Kc-Gn6cVCFZk'
+
+ // 鏈夋簮鍗�
+ const RDRecordDetails = []
+ this.tableDataSummary.forEach((i, index) => {
+ RDRecordDetails.push({
+ Code: index + 1, // 琛屽彿锛屼粠1寮�濮嬭嚜澧為暱
+ SourceVoucherId: this.tableDataDetail[0].mpoid, // 鏉ユ簮鍗曟嵁鐨勫崟鎹甀D
+ BaseQuantity: i.stinhouseqty, // 涓昏閲忓崟浣嶆暟閲�
+ SourceVoucherDetailId: i.sourceVoucherDetailId, // 鏉ユ簮鍗曟嵁鐨勫搴旀槑缁咺D
+ Inventory: {
+ Code: i.materiel_code // 瀛樿揣缂栫爜
+ },
+ IdSourceVoucherType: 69
+ })
+ })
+
+ const data = {
+ 'dto': {
+ 'Warehouse': {
+ 'Code': '03'// 浠撳簱缂栫爜
+ },
+ 'Code': this.form.hbillno, // 鍗曟嵁缂栫爜
+ 'IsModifiedCode': true,
+ 'BusiType': {
+ 'Code': '03'// 涓氬姟绫诲瀷缂栫爜
+ },
+ 'Department': {
+ 'Code': this.form.wkshopcode// 閮ㄩ棬缂栫爜
+ },
+ 'VoucherDate': handleDatetime(new Date().getTime()), // 鍗曟嵁鏃ユ湡
+ 'RdStyle': {
+ 'Code': '21'// 鍑哄簱绫诲埆缂栫爜
+ },
+ 'RDRecordDetails': RDRecordDetails,
+ 'Clerk': {
+ 'Code': this.userArr.find(i => i.name === getCookie('username')).code // 涓氬姟鍛榗ode
+ },
+ 'ExternalCode': this.form.hbillno,
+ 'VoucherType': {
+ 'Code': 'ST1002'
+ }
+ }
+ }
+ const res = await axios.post(Vue.prototype.$chanjetBaseUrl + '/tplus/api/v2/ProductReceiveOpenApi/Create',
+ data, {
+ headers: {
+ 'openToken': openToken,
+ 'appKey': Vue.prototype.$AppKey,
+ 'appSecret': Vue.prototype.$AppSecret,
+ 'Content-Type': 'application/json'
+ }
+ }
+ )
+ if (res.data.code === 0) {
+ this.$message.success('鍏ュ簱鎴愬姛锛�')
+ // 鍐嶅姞涓�浜涘叆搴撴垚鍔熶箣鍚庣殑閫昏緫
+ }
+ },
// 鍏ュ簱鎻愪氦
- submit() {
+ submit2() {
this.tabClick()
this.$confirm('鏄惁纭鎻愪氦?', '鎻愮ず', {
--
Gitblit v1.9.3