diff --git a/src/components/Template/operation/TableOpertaion.vue b/src/components/Template/operation/TableOpertaion.vue index 123b205..98510fa 100644 --- a/src/components/Template/operation/TableOpertaion.vue +++ b/src/components/Template/operation/TableOpertaion.vue @@ -41,39 +41,63 @@ export default { }, mounted() { - EventBus.$on("subPackageSubmit", (data) => { + EventBus.$on("dialogSubPackageSubmit", (data) => { this.onSubPackageSubmit(data) }) }, + watch: { + row: { + handler(newVal, oldVal) { + this.innerRow = newVal; + }, + deep: true, + } + }, + data(){ + return{ + innerRow: this.row, + } + }, methods: { // 开始配置 onStartConfig() { - this.$emit("startConfig", this.row) + this.$emit("startConfig", this.innerRow) }, // 配置完成 onConfigComplete() { - this.$emit("configComplete", this.row) + this.$emit("configComplete", this.innerRow) }, // 打印标签 onPrintLabel() { - this.$emit("printLabel", this.row) + this.$emit("printLabel", this.innerRow) }, // 分装 onSubPackage() { - const {columns,row} = this; + const {columns,innerRow} = this; const {headerSelectFields,columnsData} = columns; const col = columnsData.find((item)=>item.myCodeFields); const {myCodeFields,maxVolumeField,maxVolumeFieldUnit} = col; - console.log(row,col,"ooooo") const fields = []; myCodeFields.forEach((key)=>{ - fields.push(row[key]) - }) - EventBus.$emit("showSubPackageDialog",{mybh:fields.join(""),maxVolume:row[maxVolumeField],maxVolumeUnit:headerSelectFields[maxVolumeFieldUnit],rowIndex:this.rowIndex}) + fields.push(innerRow[key]) + }); + let defaultData = {mybh:fields.join(""),maxVolume:innerRow[maxVolumeField],maxVolumeUnit:headerSelectFields[maxVolumeFieldUnit],rowIndex:this.rowIndex} + if(innerRow.fzsj){ + defaultData = innerRow.fzsj + } + EventBus.$emit("showSubPackageDialog",defaultData) }, onSubPackageSubmit(data){ if(data.rowIndex === this.rowIndex){ - this.$emit("subPackageSubmit", data) + this.innerRow.fzsj = data; + //通知后端保存数据 + const params = { + type: "fieldChanged", + newRecord: null, + resourceList: null, + } + EventBus.$emit('onModifyRecord', params); + this.$emit("subPackageSubmit", {fzsj:data,rowData:this.innerRow}); } }, // 删除行 diff --git a/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue b/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue index b3c38ca..c1a10f6 100644 --- a/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue +++ b/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue @@ -20,8 +20,8 @@ :showOperation="fillType === 'actFill'" ref="stepTableRef" :columns="stepColumns" :formData="formData"> @@ -414,6 +414,11 @@ export default { mounted() { }, methods: { + //分装回调 + subPackageSubmit(data) { + const { fzsj, rowData } = data; + console.log(data, "子项提交事件") + }, //更新代码 async handleUpdateCode() { const { stepTableFormData = [] } = this.formData; @@ -427,7 +432,7 @@ export default { } const snList = await this.getLatestSn(stepTableFormData.length); stepTableFormData.forEach((item, index) => { - this.$refs.stepTableRef.updateDataSourceByRowIndex(index, { subTargetSolutionCode:snList[index] }); + this.$refs.stepTableRef.updateDataSourceByRowIndex(index, { subTargetSolutionCode: snList[index] }); }) this.$nextTick(() => { //通知后端保存数据 diff --git a/src/views/business/comps/template/dialog/SubPackageDialog.vue b/src/views/business/comps/template/dialog/SubPackageDialog.vue index b1553a9..a4c83a3 100644 --- a/src/views/business/comps/template/dialog/SubPackageDialog.vue +++ b/src/views/business/comps/template/dialog/SubPackageDialog.vue @@ -109,9 +109,10 @@ export default { }, show(data) { if (data.fzList) { - this.fzList = data.fzList; + this.fzList = JSON.parse(JSON.stringify(data.fzList)); // 初始化分装列表错误状态 this.fzListErrors = new Array(this.fzList.length).fill(false); + delete data.fzList; } this.formData = data; // 重置错误状态 @@ -147,8 +148,7 @@ export default { }, submitEmit(){ - console.log({...this.formData, fzList: this.fzList}) - EventBus.$emit('subPackageSubmit', {...this.formData, fzList: this.fzList}); + EventBus.$emit('dialogSubPackageSubmit', {...this.formData, fzList: this.fzList}); this.close(); },