From fd9d75b6d9c8ce5b36afd46c2751164259af24ee Mon Sep 17 00:00:00 2001
From: wangyi <2946747746@qq.com>
Date: 星期六, 28 二月 2026 15:02:52 +0800
Subject: [PATCH] 增加了容器及时库存
---
src/views/scMould/warehouse/Sc_MouldMoveStockRequestBillEdit.vue | 209 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 160 insertions(+), 49 deletions(-)
diff --git a/src/views/scMould/warehouse/Sc_MouldMoveStockRequestBillEdit.vue b/src/views/scMould/warehouse/Sc_MouldMoveStockRequestBillEdit.vue
index 69d56b5..a5ad3a4 100644
--- a/src/views/scMould/warehouse/Sc_MouldMoveStockRequestBillEdit.vue
+++ b/src/views/scMould/warehouse/Sc_MouldMoveStockRequestBillEdit.vue
@@ -13,18 +13,18 @@
<el-tab-pane label="鍩烘湰淇℃伅" name="first">
<el-row>
<el-col :span="6">
- <el-form-item label="鍗曟嵁鍙�" prop="HBillNo">
+ <el-form-item v-show="HIsShow" label="鍗曟嵁鍙�" prop="HBillNo">
<el-input v-model="form.HBillNo" placeholder="璇疯緭鍏ュ崟鎹彿" />
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鏃ユ湡" prop="HDate">
+ <el-form-item v-show="HIsShow" label="鏃ユ湡" prop="HDate">
<el-date-picker v-model="form.HDate" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璋冨叆缁勭粐" prop="HStockInOrgID">
+ <el-form-item v-show="HIsShow" label="璋冨叆缁勭粐" prop="HStockInOrgID">
<el-select v-model="form.HStockInOrgID" placeholder="璇烽�夋嫨缁勭粐">
<el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
@@ -34,7 +34,7 @@
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="寰�鏉ョ被鍨�" prop="HSupTypeID">
+ <el-form-item v-show="HIsShow" label="寰�鏉ョ被鍨�" prop="HSupTypeID">
<el-select v-model="form.HSupTypeID" placeholder="璇烽�夋嫨寰�鏉ョ被鍨�" @change="form.HSupName='',form.HSupId=0">
<el-option v-for="(item, index) in hSupTypeList" :key="index" :label="item.name" :value="item.id">
</el-option>
@@ -42,14 +42,14 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="寰�鏉ュ崟浣�" prop="HSupName">
+ <el-form-item v-show="HIsShow" label="寰�鏉ュ崟浣�" prop="HSupName">
<el-input v-model="form.HSupName" placeholder="璇烽�夋嫨寰�鏉ュ崟浣�" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialogChoose()"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="璋冨嚭缁勭粐" prop="HStockOutOrgID">
+ <el-form-item v-show="HIsShow" label="璋冨嚭缁勭粐" prop="HStockOutOrgID">
<el-select v-model="form.HStockOutOrgID" placeholder="璇烽�夋嫨缁勭粐">
<el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
@@ -59,21 +59,21 @@
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="閮ㄩ棬" prop="HDeptName">
+ <el-form-item v-show="HIsShow" label="閮ㄩ棬" prop="HDeptName">
<el-input v-model="form.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1,deptType=1)"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="璋冨叆浠撳簱" prop="HWHName">
+ <el-form-item v-show="HIsShow" label="璋冨叆浠撳簱" prop="HWHName">
<el-input v-model="form.HWHName" placeholder="璇烽�夋嫨璋冨叆浠撳簱" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(2,eHWHType=1)"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="璋冨嚭浠撳簱" prop="HSCWHName">
+ <el-form-item v-show="HIsShow" label="璋冨嚭浠撳簱" prop="HSCWHName">
<el-input v-model="form.HSCWHName" placeholder="璇烽�夋嫨璋冨嚭浠撳簱" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(2,eHWHType=2)"></el-button>
</el-input>
@@ -82,28 +82,28 @@
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="涓氬姟鍛�" prop="HEmpName">
+ <el-form-item v-show="HIsShow" label="涓氬姟鍛�" prop="HEmpName">
<el-input v-model="form.HEmpName" placeholder="璇烽�夋嫨" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=1)"></el-button>
</el-input>
</el-form-item>
</el-col>
- <!-- <el-col :span="6">
- <el-form-item label="涓荤" prop="HMangerName">
+ <el-col :span="6">
+ <el-form-item v-show="HIsHide" label="涓荤" prop="HMangerName">
<el-input v-model="form.HMangerName" placeholder="璇烽�夋嫨" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=2)"></el-button>
</el-input>
</el-form-item>
- </el-col> -->
+ </el-col>
<el-col :span="6">
- <el-form-item label="楠屾敹鍛�" prop="HSecManagerName">
+ <el-form-item v-show="HIsShow" label="楠屾敹鍛�" prop="HSecManagerName">
<el-input v-model="form.HSecManagerName" placeholder="璇烽�夋嫨" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=3)"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="淇濈鍛�" prop="HKeeperName">
+ <el-form-item v-show="HIsShow" label="淇濈鍛�" prop="HKeeperName">
<el-input v-model="form.HKeeperName" placeholder="璇烽�夋嫨" disabled>
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4,empType=4)"></el-button>
</el-input>
@@ -112,12 +112,12 @@
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="鎽樿" prop="HExplanation">
+ <el-form-item v-show="HIsShow" label="鎽樿" prop="HExplanation">
<el-input v-model="form.HExplanation" placeholder="璇疯緭鍏ユ憳瑕�" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="澶囨敞" prop="HRemark">
+ <el-form-item v-show="HIsShow" label="澶囨敞" prop="HRemark">
<el-input v-model="form.HRemark" placeholder="璇疯緭鍏ュ娉�" />
</el-form-item>
</el-col>
@@ -126,47 +126,47 @@
<el-tab-pane label="鍒跺崟淇℃伅" name="third">
<el-row>
<el-col :span="6">
- <el-form-item label="鍒跺崟浜�" prop="HMaker">
+ <el-form-item v-show="HIsShow" label="鍒跺崟浜�" prop="HMaker">
<el-input v-model="form.HMaker" placeholder="璇疯緭鍏ュ埗鍗曚汉" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="淇敼浜�" prop="HUpDater">
+ <el-form-item v-show="HIsShow" label="淇敼浜�" prop="HUpDater">
<el-input v-model="form.HUpDater" placeholder="璇疯緭鍏ヤ慨鏀逛汉" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="瀹℃牳浜�" prop="HChecker">
+ <el-form-item v-show="HIsShow" label="瀹℃牳浜�" prop="HChecker">
<el-input v-model="form.HChecker" placeholder="璇疯緭鍏ュ鏍镐汉" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鍏抽棴浜�" prop="HCloseMan">
+ <el-form-item v-show="HIsShow" label="鍏抽棴浜�" prop="HCloseMan">
<el-input v-model="form.HCloseMan" placeholder="璇疯緭鍏ュ叧闂汉" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="鍒跺崟鏃ユ湡" prop="HMakeDate">
+ <el-form-item v-show="HIsShow" label="鍒跺崟鏃ユ湡" prop="HMakeDate">
<el-date-picker v-model="form.HMakeDate" type="date" placeholder="閫夋嫨鍒跺崟鏃ユ湡" disabled>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="淇敼鏃ユ湡" prop="HUpDateDate">
+ <el-form-item v-show="HIsShow" label="淇敼鏃ユ湡" prop="HUpDateDate">
<el-date-picker v-model="form.HUpDateDate" type="date" placeholder="閫夋嫨瀹℃牳鏃ユ湡" disabled>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="瀹℃牳鏃ユ湡" prop="HCheckDate">
+ <el-form-item v-show="HIsShow" label="瀹℃牳鏃ユ湡" prop="HCheckDate">
<el-date-picker v-model="form.HCheckDate" type="date" placeholder="閫夋嫨瀹℃牳鏃ユ湡" disabled>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鍏抽棴鏃ユ湡" prop="HCloseDate">
+ <el-form-item v-show="HIsShow" label="鍏抽棴鏃ユ湡" prop="HCloseDate">
<el-date-picker v-model="form.HCloseDate" type="date" placeholder="閫夋嫨鍏抽棴鏃ユ湡" disabled>
</el-date-picker>
</el-form-item>
@@ -174,14 +174,14 @@
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="浣滃簾浜�" prop="HDeleteMan">
+ <el-form-item v-show="HIsShow" label="浣滃簾浜�" prop="HDeleteMan">
<el-input v-model="form.HDeleteMan" placeholder="璇疯緭鍏ヤ綔搴熶汉" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
- <el-form-item label="浣滃簾鏃ユ湡" prop="HDeleteDate">
+ <el-form-item v-show="HIsShow" label="浣滃簾鏃ユ湡" prop="HDeleteDate">
<el-date-picker v-model="form.HDeleteDate" type="date" placeholder="閫夋嫨浣滃簾鏃ユ湡" disabled>
</el-date-picker>
</el-form-item>
@@ -201,6 +201,9 @@
size="mini">涓婄Щ</el-button>
<el-button type="success" plain icon="el-icon-arrow-down" @click="handleMoveRowDown(zbSelForm)"
size="mini">涓嬬Щ</el-button>
+ <el-button type="success" plain icon="el-icon-printer" @click="get_ICInventoryMould(zbSelForm)">瀹瑰櫒搴撳瓨</el-button>
+ <el-button type="success" plain icon="el-icon-printer" @click="get_ContainerInstantStock(zbSelForm)">瀹瑰櫒鍗虫椂搴撳瓨</el-button>
+
</div>
<el-table :data="editData" style="width: 100%" height="300" width="100%" ref="zbTable"
@selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
@@ -232,6 +235,11 @@
<span>{{ scope.row.HUnitName }}</span>
</template>
</el-table-column>
+ <el-table-column align="center" label="搴撳瓨鏁伴噺" width="120">
+ <template slot-scope="scope">
+ {{ scope.row.KuHQty || 0 }}
+ </template>
+ </el-table-column>
<el-table-column align="center" label="鏁伴噺" width="120">
<template slot-scope="scope">
<el-input-number v-model="scope.row.HQty" :min="1" style="width: 90px;"
@@ -315,6 +323,8 @@
<el-dialog title="闅愯棌鍒楄缃�" :visible.sync="openRowHide" width="816px" append-to-body>
<RowSettings :colName="btResList" :HModName="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" />
</el-dialog>
+ <!-- 瀹瑰櫒搴撳瓨 -->
+ <ICInventoryMould :visible.sync="ICInventoryMouldShow" ref="ICInventoryMould"/>
</div>
</template>
@@ -328,11 +338,12 @@
import GyCustomer from '@/views/GyCustomer'
import GyMould from '@/views/scMould/basicModeling/Gy_MouldFileList.vue'
import GyStockPlace from '@/views/basic/gyStockPlace/gyStockPlace.vue'
+import ICInventoryMould from '@/views/component/ICInventory_Mould' //瀹瑰櫒搴撳瓨缁勪欢
import moment from 'moment';
export default {
name: 'Sc_MouldMoveStockRequestBillEdit',
- components: { Dept, Warehouse, RowSettings, GyEmployee,GySupplier,GyCustomer,GyMould,GyStockPlace },
+ components: { Dept, Warehouse, RowSettings, GyEmployee,GySupplier,GyCustomer,GyMould,GyStockPlace,ICInventoryMould},
props: {
OperationType: { type: Number, },//鎿嶄綔绫诲瀷锛�1鏂板銆�2缂栬緫銆�3澶嶅埗銆�4涓嬫帹锛�
linterid: { type: Number, },
@@ -342,6 +353,8 @@
},
data() {
return {
+ HIsShow: true,
+ HIsHide: false,
HModName: "Sc_MouldMoveStockRequestBill",
formShow: false,
temp: undefined,
@@ -370,6 +383,7 @@
organizationList: [],//缁勭粐鍒楄〃
subDisabled: false,//缂栬緫椤甸潰淇濆瓨鎸夐挳鏄惁绂佺敤(true绂佺敤锛宖alse鍙敤)
// OperationType: this.$route.query.OperationType,//淇濆瓨绫诲瀷锛堟柊澧�1淇敼2锛�
+ ICInventoryMouldShow:false, //瀹瑰櫒搴撳瓨缁勪欢鏄剧ず鏍囪
HInterID: 0,
baseURL: process.env.VUE_APP_BASE_API,
checkedSysZb: [],
@@ -432,9 +446,6 @@
HEmpName: [
{ required: true, message: "涓氬姟鍛樹笉鑳戒负绌�", trigger: "blur" }
],
- // HMangerName: [
- // { required: true, message: "涓荤涓嶈兘涓虹┖", trigger: "blur" }
- // ],
HSecManagerName: [
{ required: true, message: "楠屾敹鍛樹笉鑳戒负绌�", trigger: "blur" }
],
@@ -450,7 +461,7 @@
},
methods: {
fetchData() {
- axios.get(this.baseURL + "/Web/GetOrganizations", {
+ axios.get(this.$baseUrl + "/Web/GetOrganizations", {
}).then(response => {
if (response.data.count == 1) {
this.organizationList = response.data.data;//缁勭粐鍒楄〃
@@ -626,27 +637,27 @@
HSCWHName:'',
HSCWHNumber:'',
HSCWHID:0,
- HEmpName:'',
- HEmpID:'',
+ HEmpName:sessionStorage["HSellMan"],
+ HEmpID:sessionStorage["HSellManID"],
HMangerName:'',
- HMangerID:'',
- HSecManagerName:'',
- HSecManagerID:'',
- HKeeperName:'',
- HKeeperID:'',
+ HMangerID:0,
+ HSecManagerName:sessionStorage["HCheckEmpName"],
+ HSecManagerID:sessionStorage["HCheckEmpID"],
+ HKeeperName:sessionStorage["HKeeper"],
+ HKeeperID:sessionStorage["HKeeperID"],
HExplanation:'',
HRemark:'',
HMaker: '',
HUpDater: '',
HChecker: '',
- HMakeDate: new Date(),
- HUpDateDate: '',
- HCheckDate: '',
+ HMakeDate: moment(new Date()).format('YYYY-MM-DD hh:mm:ss'),
+ HUpDateDate: moment(new Date()).format('YYYY-MM-DD hh:mm:ss'),
+ HCheckDate: moment(new Date()).format('YYYY-MM-DD hh:mm:ss'),
HCloseMan: '',
HDeleteMan: '',
- HCloseDate: '',
- HDeleteDate: '',
+ HCloseDate: moment(new Date()).format('YYYY-MM-DD hh:mm:ss'),
+ HDeleteDate: moment(new Date()).format('YYYY-MM-DD hh:mm:ss'),
}
this.editData = []
this.editData1 = []
@@ -685,7 +696,7 @@
},
//鏍规嵁鐢ㄦ埛鑾峰彇瀵瑰簲鑱屽憳銆侀儴闂ㄣ�侀攢鍞富绠�
getCzyglByUser() {
- axios.get(this.baseURL + '/Xs_SeOrderBill/getCzyglByUser', {
+ axios.get(this.$baseUrl + '/Xs_SeOrderBill/getCzyglByUser', {
params: { "CurUserName": sessionStorage["HUserName"] }
}).then(response => {
let dataForm = response.data.data[0]
@@ -713,7 +724,7 @@
})
},
getHBillNo() {
- axios.get(this.baseURL + "/WEBSController/GetMaxBillNo_Json", {
+ axios.get(this.$baseUrl + "/WEBSController/GetMaxBillNo_Json", {
params: {
HBillType: '3850'
}
@@ -728,12 +739,97 @@
});
},
/** 淇敼鎸夐挳鎿嶄綔 */
+
+ //#region 鏌ョ湅瀹瑰櫒鍗虫椂搴撳瓨
+ async get_ContainerInstantStock(zbSelForm) {
+ if (!this.zbIndex) {
+ this.$modal.msgError("璇烽�夋嫨涓�琛屾暟鎹�");
+ return;
+ }
+
+ var index = zbSelForm.index - 1;
+ const rowData = this.editData[index];
+
+ if (rowData.HMaterID==0) {
+ this.$modal.msgError("璇峰厛閫夋嫨瀹瑰櫒");
+ return;
+ }
+
+ const whId = rowData.HWHID || this.form.HWHID;
+ if (!whId || whId == 0) {
+ this.$modal.msgError("璇峰厛閫夋嫨鏈夋晥鐨勪粨搴�");
+ return;
+ }
+
+ try {
+ this.$modal.loading("姝e湪鏌ヨ搴撳瓨...");
+
+ // 鑾峰彇浠撳簱鍚嶇О
+ const whResponse = await axios.get(this.$baseUrl + "/CommonModel/searchMethod", {
+ params: {
+ "sql": `select HName from Gy_Warehouse where HItemID = ${whId}`,
+ "user": sessionStorage["HUserName"],
+ "ModRightNameCheck": ""
+ }
+ });
+
+ const whName = whResponse.data.data[0]?.HName;
+ if (!whName) {
+ this.$modal.closeLoading();
+ this.$modal.msgError("鏈壘鍒颁粨搴撲俊鎭�");
+ return;
+ }
+
+ // 鑾峰彇鎵�鏈夊簱瀛樻暟鎹�
+ var sql = "exec h_p_Kf_ICInventory_Mould ''";
+ const response = await axios.get(this.$baseUrl + "/CommonModel/searchMethod", {
+ params: {
+ "sql": sql,
+ "user": sessionStorage["HUserName"],
+ "ModRightNameCheck": ""
+ }
+ });
+
+ let totalQty = 0;
+
+ if (response.data.count == 1 && response.data.data) {
+ // 鍩虹杩囨护锛氬鍣↖D + 浠撳簱鍚嶇О
+ let filteredData = response.data.data.filter(item =>
+ item['HMaterID'] == rowData.HMaterID && item['浠撳簱'] === whName
+ );
+
+ // 濡傛灉鏈夊簱浣嶏紝鎸夊簱浣嶈繃婊�
+ if (rowData.HSPName) {
+ filteredData = filteredData.filter(item => item['浠撲綅'] === rowData.HSPName);
+ }
+
+ // 璁$畻鎬诲簱瀛�
+ filteredData.forEach(item => {
+ totalQty += Number(item['搴撳瓨鏁伴噺'] || 0);
+ });
+ }
+
+ // 鏇存柊褰撳墠琛岀殑搴撳瓨鏁伴噺
+ this.$set(this.editData, index, {
+ ...rowData,
+ KuHQty: totalQty
+ });
+
+ this.$modal.closeLoading();
+ this.$modal.msgSuccess(`搴撳瓨鏌ヨ鎴愬姛锛屽綋鍓嶅簱瀛橈細${totalQty}`);
+
+ } catch (error) {
+ this.$modal.closeLoading();
+ this.$modal.msgError("鏌ヨ搴撳瓨澶辫触");
+ }
+ },
+ //#endregion
handleUpdate() {
this.reset()
let rowHmainid = this.linterid
console.log(this.linterid)
//涓昏〃
- axios.get(this.baseURL + "/Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Json", {
+ axios.get(this.$baseUrl + "/Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Json", {
params: { 'HInterID': rowHmainid,'HMaker':sessionStorage["HUserName"] }
}).then(response => {
if (response.data.count == 1) {
@@ -990,6 +1086,21 @@
this.$refs.zbTable.toggleRowSelection(del_row, false) //璁剧疆杩欎竴琛屽彇娑堥�変腑
}
},
+
+ //#region 鏌ョ湅瀹瑰櫒搴撳瓨
+ get_ICInventoryMould(zbSelForm) {
+ if (!this.zbIndex) {
+ this.$modal.msgError("璇烽�夋嫨涓�琛屾暟鎹�")
+ } else {
+ var index = zbSelForm.index-1;
+ this.ICInventoryMouldShow = true
+ this.$nextTick(() => {
+ this.$refs.ICInventoryMould.open(this.editData[index]);
+ })
+ }
+ },
+ //#endregion
+
// 缂栬緫鎻愪氦淇濆瓨
submitForm() {
this.$refs["form"].validate(valid => {
@@ -1024,7 +1135,7 @@
var sMainSub = sMainStr + ';' + sSubStr + ';' + Operation + ";" + sessionStorage["HUserName"];
axios({
method: 'post',
- url: this.baseURL + "/Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Save_Json",
+ url: this.$baseUrl + "/Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Save_Json",
data: {
'sMainSub': sMainSub
},
@@ -1053,7 +1164,7 @@
set_CheckBill(num, form) {
var InterID = form.hmainid || form.HInterID
//閫昏緫瀹℃牳鏂规硶
- axios.get(this.baseURL + "/Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Check_Json", {
+ axios.get(this.$baseUrl + "/Sc_MouldMoveStockRequestBillController/GetSc_MouldMoveStockRequestBill_Check_Json", {
params: { "HInterID": InterID, "Type": num, "HMaker": sessionStorage["HUserName"] }
}).then(response => {
let result = response.data
--
Gitblit v1.9.1