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/views/produceManager/productWarehouse.vue | 259 +++++++++++++++++++++++++++++++++++----------------
1 files changed, 178 insertions(+), 81 deletions(-)
diff --git a/src/views/produceManager/productWarehouse.vue b/src/views/produceManager/productWarehouse.vue
index 6de1dca..b5a692f 100644
--- a/src/views/produceManager/productWarehouse.vue
+++ b/src/views/produceManager/productWarehouse.vue
@@ -206,12 +206,18 @@
<el-date-picker
v-model="form.lm_date"
style="width: 200px"
+ readonly
type="date"
placeholder="閫夋嫨鏃ユ湡"
/>
</el-form-item>
<el-form-item label="鍗曟嵁缂栧彿" style=" display: flex;">
- <el-input v-model="form.OrgName" placeholder="璇疯緭鍏�" style="width: 200px" />
+ <el-input
+ v-model="form.hbillno"
+ readonly
+ placeholder="璇疯緭鍏�"
+ style="width: 200px"
+ />
</el-form-item>
<el-form-item label="鍏ュ簱浠撳簱" style=" display: flex;">
@@ -237,7 +243,14 @@
class="bodySearchReset"
:style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"
>
- <el-button v-waves type="primary" icon="el-icon-s-promotion" @click="submit">鍏ュ簱鎻愪氦</el-button>
+ <el-button
+ v-waves
+ type="primary"
+ icon="el-icon-s-promotion"
+
+ @click="submit"
+ >鍏ュ簱鎻愪氦
+ </el-button>
<!-- <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>-->
</div>
</el-form>
@@ -560,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}">-->
@@ -677,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',
@@ -703,7 +722,7 @@
orderdate: '', // 宸ュ崟鏃ユ湡
saleOrderCode: '', // 閿�鍞鍗�
- lm_date: '', // 鍗曟嵁鏃ユ湡
+ lm_date: new Date(), // 鍗曟嵁鏃ユ湡
stockcode: '' // 鍏ュ簱浠撳簱
},
@@ -839,6 +858,8 @@
this.form.orderdate = ''
this.tableDataDetail = []
+ this.tableDataSummary = []
+ this.multipleSelection = []
},
// 琛ㄦ牸鍗曞厓鏍煎弻鍑�
@@ -971,92 +992,168 @@
this.tableDataSummary = newData.flat()
},
- // 鍏ュ簱鎻愪氦
async submit() {
await this.tabClick()
- if (this.multipleSelection.find(i => !i.stockcode)) {
- return this.$message('鏄庣粏閲岄潰鏈変骇鍝佹湭濉啓浠撳簱锛�')
- }
- this.multipleSelection.forEach(i => {
- i.stockname = this.stockcodeArr.find(j => j.code === i.stockcode).name
- i.id = this.stockcodeArr.find(j => j.code === i.stockcode).id
- })
+ // const openToken = await getTPlusToken() // 鑾峰彇TPlus token
+ const openToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpc3YiLCJpc3MiOiJjaGFuamV0IiwidXNlcklkIjoiMzkwNTU0MDg2NTMwMjYxIiwib3JnSWQiOiIxMjM0OTc5MDE3MjIxMDM3IiwiYWNjZXNzX3Rva2VuIjoiYmstOGIwNDUxNzEtMDk5Yy00ODFlLTgyZDEtY2Q5NWQ2MjUzZGUwIiwiYXVkIjoiaXN2IiwibmJmIjoxNjg2MDQ3NTgyLCJhcHBJZCI6IjU4Iiwic2NvcGUiOiJhdXRoX2FsbCIsImlkIjoiNjA5Y2ZhYzItNzZmOC00NzJiLWI2NGEtMDg1NmRjMWZmYTg4IiwiZXhwIjoxNjg2NTY1OTgyLCJpYXQiOjE2ODYwNDc1ODIsIm9yZ0FjY291bnQiOiJ1dXhicGtzbTBibmgifQ.slZ_ix3DoGBX2WUX1TOiwe7jCEqDHf9Kc-Gn6cVCFZk'
- const head = {
- rightcode: '2064',
- hbillno: this.form.hbillno,
- incbit: this.form.incbit,
- wkshpcode: this.form.wkshopcode,
- sourceVoucherId: this.form.documentType === 'Y' ? this.tableDataDetail[0].mpoid : '',
- sourceVoucherCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
- saleOrderId: this.tableDataDetail[0].saleOrderid,
- saleOrderCode: this.tableDataDetail[0].saleOrderCode,
- rdDirectionFlag: 1,
- makerid: this.userArr.find(i => i.name === getCookie('username')).id,
- maker: getCookie('username'),
- accountingyear: new Date().getFullYear(),
- VoucherYear: new Date().getFullYear(),
- VoucherPeriod: new Date().getMonth() + 1,
- ManufactureOrderCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
- idbusitype: '03',
- iddepartment: this.WorkShopArr.find(i => i.code === this.form.wkshopcode).id,
- idrdstyle: 21,
- idwarehouse: '',
- voucherState: 181,
- idvouchertype: 15,
- voucherdate: handleDatetime(new Date().getTime()),
- madedate: handleDatetime(new Date().getTime()),
- createdtime: handleDatetime2(new Date().getTime()),
- DataSource: '56133',
- idsourcevouchertype: 69
- }
-
- const subsum = []
+ // 鏈夋簮鍗�
+ const RDRecordDetails = []
this.tableDataSummary.forEach((i, index) => {
- subsum.push({
- code: index.toString().padStart(4, '0'),
- rownumber: index + 1,
- arrivalQuantity: i.qty,
- quantity: i.stinhouseqty,
- compositionQuantity: i.stinhouseqty + i.unitname,
- baseQuantity: i.stinhouseqty,
- sourceVoucherId: this.form.documentType === 'Y' ? this.tableDataDetail[0].mpoid : '',
- sourceVoucherCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
- sourceVoucherDetailId: i.sourceVoucherDetailId,
- idsourcevouchertype: 69,
- saleOrderId: this.tableDataDetail[0].saleOrderid,
- saleOrderCode: this.tableDataDetail[0].saleOrderCode,
- saleOrderDetailId: i.saleOrderDetailId,
- ManufactureOrderId: this.form.documentType === 'Y' ? this.tableDataDetail[0].mpoid : '',
- ManufactureOrderCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
- ManufactureOrderDetailId: i.ManufactureOrderDetailId,
- idbusiTypeByMergedFlow: 3,
- idinventory: i.materiel_id,
- idbaseunit: i.unitid,
- idunit: i.unitid,
- idwarehouse: i.stck_id,
- SourceVoucherIdByMergedFlow: this.tableDataDetail[0].mpoid,
- SourceVoucherCodeByMergedFlow: this.tableDataDetail[0].m_po,
- SourceVoucherDetailIdByMergedFlow: i.SourceVoucherDetailIdByMergedFlow,
- idsourceVoucherTypeByMergedFlow: 69,
- createdtime: handleDatetime2(new Date().getTime()),
- DataSource: '56133',
- materiel_code: i.materiel_code,
- warehouse: i.warehouse
+ 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 = {
- head, sub: this.multipleSelection, subsum
+ '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'
+ }
+ }
}
-
- // console.log(JSON.stringify(data))
-
- const res = await ProductInHouseOrderSeave(data)
- if (res.code === '200') {
- this.$message.success('鍏ュ簱鎻愪氦鎴愬姛锛�')
+ 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('鍏ュ簱鎴愬姛锛�')
+ // 鍐嶅姞涓�浜涘叆搴撴垚鍔熶箣鍚庣殑閫昏緫
}
},
+ // 鍏ュ簱鎻愪氦
+ submit2() {
+ this.tabClick()
+
+ this.$confirm('鏄惁纭鎻愪氦?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ if (this.multipleSelection.length === 0) {
+ return this.$message.error('鏈�夋嫨浜у搧锛�')
+ }
+ if (this.multipleSelection.find(i => !i.stockcode)) {
+ return this.$message.error('鏄庣粏閲岄潰鏈変骇鍝佹湭濉啓浠撳簱锛�')
+ }
+ this.multipleSelection.forEach(i => {
+ i.stockname = this.stockcodeArr.find(j => j.code === i.stockcode).name
+ i.id = this.stockcodeArr.find(j => j.code === i.stockcode).id
+ })
+
+ const head = {
+ rightcode: '2064',
+ hbillno: this.form.hbillno,
+ incbit: this.form.incbit,
+ wkshpcode: this.form.wkshopcode,
+ sourceVoucherId: this.form.documentType === 'Y' ? this.tableDataDetail[0].mpoid : '',
+ sourceVoucherCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
+ saleOrderId: this.tableDataDetail[0].saleOrderid,
+ saleOrderCode: this.tableDataDetail[0].saleOrderCode,
+ rdDirectionFlag: 1,
+ makerid: this.userArr.find(i => i.name === getCookie('username')).id,
+ maker: getCookie('username'),
+ accountingyear: new Date().getFullYear(),
+ VoucherYear: new Date().getFullYear(),
+ VoucherPeriod: new Date().getMonth() + 1,
+ ManufactureOrderCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
+ idbusitype: '03',
+ iddepartment: this.WorkShopArr.find(i => i.code === this.form.wkshopcode).id,
+ idrdstyle: 21,
+ idwarehouse: '',
+ voucherState: 181,
+ idvouchertype: 15,
+ voucherdate: handleDatetime(new Date().getTime()),
+ madedate: handleDatetime(new Date().getTime()),
+ createdtime: handleDatetime2(new Date().getTime()),
+ DataSource: '56133',
+ idsourcevouchertype: 69
+ }
+
+ const subsum = []
+ this.tableDataSummary.forEach((i, index) => {
+ subsum.push({
+ code: index.toString().padStart(4, '0'),
+ rownumber: index + 1,
+ arrivalQuantity: i.qty,
+ quantity: i.stinhouseqty,
+ compositionQuantity: i.stinhouseqty + i.unitname,
+ baseQuantity: i.stinhouseqty,
+ sourceVoucherId: this.form.documentType === 'Y' ? this.tableDataDetail[0].mpoid : '',
+ sourceVoucherCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
+ sourceVoucherDetailId: i.sourceVoucherDetailId,
+ idsourcevouchertype: 69,
+ saleOrderId: this.tableDataDetail[0].saleOrderid,
+ saleOrderCode: this.tableDataDetail[0].saleOrderCode,
+ saleOrderDetailId: i.saleOrderDetailId,
+ ManufactureOrderId: this.form.documentType === 'Y' ? this.tableDataDetail[0].mpoid : '',
+ ManufactureOrderCode: this.form.documentType === 'Y' ? this.tableDataDetail[0].m_po : this.tableDataDetail[0].wo_code,
+ ManufactureOrderDetailId: i.ManufactureOrderDetailId,
+ idbusiTypeByMergedFlow: 3,
+ idinventory: i.materiel_id,
+ idbaseunit: i.unitid,
+ idunit: i.unitid,
+ idwarehouse: i.stck_id,
+ SourceVoucherIdByMergedFlow: this.tableDataDetail[0].mpoid,
+ SourceVoucherCodeByMergedFlow: this.tableDataDetail[0].m_po,
+ SourceVoucherDetailIdByMergedFlow: i.SourceVoucherDetailIdByMergedFlow,
+ idsourceVoucherTypeByMergedFlow: 69,
+ createdtime: handleDatetime2(new Date().getTime()),
+ DataSource: '56133',
+ materiel_code: i.materiel_code,
+ warehouse: i.warehouse
+ })
+ })
+
+ const data = {
+ head, sub: this.multipleSelection, subsum
+ }
+
+ ProductInHouseOrderSeave(data).then(res => {
+ if (res.code === '200') {
+ this.$message.success('鍏ュ簱鎻愪氦鎴愬姛锛�')
+ this.getProductInHouseOrderCodeSearch()
+ this.wkshopcodeChange(this.form.wkshopcode)
+ this.tableDataDetail = []
+ this.tableDataSummary = []
+ this.multipleSelection = []
+ }
+ })
+ })
+ },
// 鑾峰彇椤甸潰楂樺害
getHeight() {
this.$nextTick(() => {
--
Gitblit v1.9.3