Browse Source

feat:[模板管理][update]

luojie
luojie 3 weeks ago
parent
commit
274a3f7c6b
3 changed files with 94 additions and 108 deletions
  1. +2
    -15
      src/components/Template/StepComponents/pcr/hsypfz.vue
  2. +33
    -16
      src/components/Template/mixins/stepMixins.js
  3. +59
    -77
      src/views/business/comps/template/dialog/SubPackageDialog.vue

+ 2
- 15
src/components/Template/StepComponents/pcr/hsypfz.vue View File

@ -20,23 +20,10 @@ export default {
StepFormPackage StepFormPackage
}, },
mounted() { mounted() {
this.getCode();
this.handleBackfillCode("lbbh","lbbhCode");
}, },
methods: { methods: {
async getCode() {
const { lbbhCode } = this.formData;
if (this.templateFillType === 'actFill') {
const stepFormData = this.getFilledFormData();
const { lbbh } = stepFormData;
const result = await this.getLatestSn({
count: 1,
type: 1,
pre: lbbh,
})
this.$refs.stepFormPackageRef.updateFormData("lbbhCode",result[0])
console.log(result,"reee")
}
}
}, },
computed: { computed: {
formConfig() { formConfig() {

+ 33
- 16
src/components/Template/mixins/stepMixins.js View File

@ -1,4 +1,4 @@
import { getuuid } from '@/utils/index.js'
import { getuuid ,justUpdateFilledFormData} from '@/utils/index.js'
import { EventBus } from '@/utils/eventBus' import { EventBus } from '@/utils/eventBus'
import { getLatestSn, getLatestSnArr } from '@/api/template' import { getLatestSn, getLatestSnArr } from '@/api/template'
export default { export default {
@ -33,7 +33,7 @@ export default {
data() { data() {
return { return {
uuid: getuuid(), uuid: getuuid(),
fzInfo: null
fzInfo:{},
} }
}, },
mounted() { mounted() {
@ -50,6 +50,22 @@ export default {
}, },
methods: { methods: {
//回填编号 preField 前缀 updateField 需要更新的字段
async handleBackfillCode(preField,updateField){
const updateValue = this.formData[updateField];
if (this.templateFillType === 'actFill' && !updateValue) {
const stepFormData = this.getFilledFormData();
const preValue = stepFormData[preField];
const result = await this.getLatestSn({
pre: preValue,
})
this.$refs.stepFormPackageRef.updateFormData(updateField,result[0])
this.justUpdateFilledFormData();
}
},
justUpdateFilledFormData(){
justUpdateFilledFormData();
},
//获取最新的多个编号 //获取最新的多个编号
async getLatestSnArr(params) { async getLatestSnArr(params) {
const res = await getLatestSnArr(params) const res = await getLatestSnArr(params)
@ -77,15 +93,9 @@ export default {
}, },
onSubPackageSubmit(data) { onSubPackageSubmit(data) {
if (data.uuid === this.uuid) { if (data.uuid === this.uuid) {
console.log(data, 'ddd')
this.fzInfo = data
//通知后端保存数据
const params = {
type: 'fieldChanged',
newRecord: null,
resourceList: null
}
EventBus.$emit('onModifyRecord', params)
delete data.uuid //删除uuid字段,不然会导致下次匹配的时候匹配到错误的uuid
this.$refs.stepFormPackageRef.updateFormData('fzInfo',data)
this.justUpdateFilledFormData();
} }
}, },
// 点击按钮 // 点击按钮
@ -104,30 +114,37 @@ export default {
console.warn('请配制分装参数') console.warn('请配制分装参数')
return return
} }
const fzInfo = stepFormData.fzInfo || this.formData.fzInfo;
const maxVolume = stepFormData[maxVolumeField] const maxVolume = stepFormData[maxVolumeField]
const maxVolumeUnit = stepFormData[maxVolumeUnitField] const maxVolumeUnit = stepFormData[maxVolumeUnitField]
myCodeFields.forEach((key) => { myCodeFields.forEach((key) => {
fields.push(stepFormData[key]) fields.push(stepFormData[key])
}) })
EventBus.$emit('showSubPackageDialog', { EventBus.$emit('showSubPackageDialog', {
mybh: fields.join(''), mybh: fields.join(''),
maxVolume, maxVolume,
maxVolumeUnit, maxVolumeUnit,
uuid: this.uuid, uuid: this.uuid,
fzType: 'step'
fzType: 'step',
...fzInfo,
}) })
} }
}, },
async getFormData() { async getFormData() {
return await this.$refs.stepFormPackageRef.getFormData()
const data = await this.$refs.stepFormPackageRef.getFormData();
data.fzInfo = data.fzInfo || this.formData.fzInfo;
return data
}, },
getFilledFormData() { getFilledFormData() {
return this.$refs.stepFormPackageRef?.getFilledFormData()
const data = this.$refs.stepFormPackageRef?.getFilledFormData();
data.fzInfo = data.fzInfo || this.formData.fzInfo;
return data
}, },
getSjResource() { getSjResource() {
return this.$refs.stepFormPackageRef?.getSjResource()
const data = this.$refs.stepFormPackageRef?.getSjResource();
data.fzInfo = data.fzInfo || this.formData.fzInfo;
return data
}, },
//试验配制条件options //试验配制条件options
getDictOptions(dictType) { getDictOptions(dictType) {

+ 59
- 77
src/views/business/comps/template/dialog/SubPackageDialog.vue View File

@ -5,13 +5,14 @@
<div class="header-container"> <div class="header-container">
<div class="header-item"> <div class="header-item">
<div class="header-title">母液编号</div> <div class="header-title">母液编号</div>
<HandleFormItem :fieldKey="formData.mybh + '_mybh'" :isFieldsRecord="false" :item="inputItem" :error="formErrors.mybh"
v-model="formData.mybh" />
<HandleFormItem :fieldKey="formData.mybh + '_mybh'" :isFieldsRecord="false" :item="inputItem"
:error="formErrors.mybh" v-model="formData.mybh" />
</div> </div>
<div class="header-item"> <div class="header-item">
<div class="header-title">分装数量</div> <div class="header-title">分装数量</div>
<HandleFormItem :isFieldsRecord="false" :fieldKey="formData.mybh + '_fzsl'" @blur="onBlurFzsl" :item="integerInputNumberItem"
type="inputNumber" :error="formErrors.fzsl" v-model="formData.fzsl" />
<HandleFormItem :isFieldsRecord="false" :fieldKey="formData.mybh + '_fzsl'" @blur="onBlurFzsl"
:item="integerInputNumberItem" type="inputNumber" :error="formErrors.fzsl"
v-model="formData.fzsl" />
</div> </div>
</div> </div>
<div class="content-container"> <div class="content-container">
@ -19,22 +20,25 @@
<span>分装编号</span> <span>分装编号</span>
<span class="ml-20">单位</span> <span class="ml-20">单位</span>
<div class="unit-select"> <div class="unit-select">
<HandleFormItem :fieldKey="formData.mybh + '_dw'" :isFieldsRecord="false" :item="unitItem" type="select" :error="formErrors.dw"
@blur="(e) => onCommonBlur(e, 'dw')" v-model="formData.dw" />
<HandleFormItem :fieldKey="formData.mybh + '_dw'" :isFieldsRecord="false" :item="unitItem"
type="select" :error="formErrors.dw" @blur="(e) => onCommonBlur(e, 'dw')"
v-model="formData.dw" />
</div> </div>
<span class="ml-20">每份包装量</span> <span class="ml-20">每份包装量</span>
<div class="unit-select"> <div class="unit-select">
<HandleFormItem :fieldKey="formData.mybh + '_mfbzl'" type="inputNumber" :error="formErrors.mfbzl" :isFieldsRecord="false"
:item="inputNumberItem" v-model="formData.mfbzl" />
<HandleFormItem :fieldKey="formData.mybh + '_mfbzl'" type="inputNumber"
:error="formErrors.mfbzl" :isFieldsRecord="false" :item="inputNumberItem"
v-model="formData.mfbzl" />
</div> </div>
<el-button type="primary" plain @click="onAverage">平均分配</el-button>
<el-button class="ml-10" type="primary" plain @click="onAverage">平均分配</el-button>
<el-button type="primary" plain @click="onReset">重置</el-button> <el-button type="primary" plain @click="onReset">重置</el-button>
</div> </div>
<div class="header-container header2"> <div class="header-container header2">
<div v-for="(item, index) in fzList" class="list-item" :key="index"> <div v-for="(item, index) in fzList" class="list-item" :key="index">
<div class="list-label">{{ formData.mybh }}-set{{ item.subCode }}</div> <div class="list-label">{{ formData.mybh }}-set{{ item.subCode }}</div>
<HandleFormItem :fieldKey="formData.mybh + '_num_' + item.subCode" :isFieldsRecord="false" :item="inputNumberItem" :error="fzListErrors[index]"
type="inputNumber" @blur="onBlurFzNum(index)" v-model="item.num" />
<HandleFormItem :fieldKey="formData.mybh + '_num_' + item.subCode" :isFieldsRecord="false"
:item="inputNumberItem" :error="fzListErrors[index]" type="inputNumber"
@blur="onBlurFzNum(index)" v-model="item.num" />
<el-button type="primary" class="ml-5" plain @click="onPrint(item)">打印</el-button> <el-button type="primary" class="ml-5" plain @click="onPrint(item)">打印</el-button>
</div> </div>
</div> </div>
@ -56,7 +60,7 @@ import { isValueEmpty } from "@/utils/index";
import moment from 'moment'; import moment from 'moment';
import { getuuid } from "@/utils/index.js"; import { getuuid } from "@/utils/index.js";
export default { export default {
inject: ['updateZdxgjl',"getZdxgjl"],
inject: ['updateZdxgjl', "getZdxgjl"],
dicts: [ dicts: [
'business_tjdw', 'business_tjdw',
], ],
@ -98,7 +102,7 @@ export default {
fzListErrors: [], // fzListErrors: [], //
uuid: "",//id uuid: "",//id
originalData: {},// originalData: {},//
uuid:getuuid(),//id
uuid: getuuid(),//id
} }
}, },
computed: { computed: {
@ -112,21 +116,21 @@ export default {
}, },
mounted() { mounted() {
EventBus.$on('onEditSignCallback', this.handleEditSignCallback); EventBus.$on('onEditSignCallback', this.handleEditSignCallback);
EventBus.$on('onFormEditSignCancel', this.handleEditSignCancel);
EventBus.$on('onFormEditSignCancel', this.handleEditSignCancel);
}, },
unmounted() { unmounted() {
EventBus.$off('onEditSignCallback', this.handleEditSignCallback);
EventBus.$off('onFormEditSignCancel', this.handleEditSignCancel);
},
EventBus.$off('onEditSignCallback', this.handleEditSignCallback);
EventBus.$off('onFormEditSignCancel', this.handleEditSignCancel);
},
methods: { methods: {
handleEditSignCancel(data) { handleEditSignCancel(data) {
},
handleEditSignCallback(data) {
if (data.uuid === this.uuid) {
this.updateRecords();
}
},
},
handleEditSignCallback(data) {
if (data.uuid === this.uuid) {
this.updateRecords();
}
},
close() { close() {
this.visible = false; this.visible = false;
this.fzList = []; this.fzList = [];
@ -209,16 +213,16 @@ export default {
this.close(); this.close();
}, 500); }, 500);
}, },
getCommonInfo(type){
getCommonInfo(type) {
const { nickName, name } = this.$store.getters; const { nickName, name } = this.$store.getters;
const o ={
mybh:"母液编号",
fzsl:"分装数量",
dw:"单位",
mfbzl:"每份包装量",
num:"分装编号"
const o = {
mybh: "母液编号",
fzsl: "分装数量",
dw: "单位",
mfbzl: "每份包装量",
num: "分装编号"
} }
return{
return {
userNameCn: nickName, userNameCn: nickName,
userNameEn: name, userNameEn: name,
time: moment().format("YYYY-MM-DD HH:mm:ss"), time: moment().format("YYYY-MM-DD HH:mm:ss"),
@ -250,9 +254,9 @@ export default {
}); });
// //
this.compareFzList(originalData.fzList, nowData.fzList, records); this.compareFzList(originalData.fzList, nowData.fzList, records);
console.log(records, "records") console.log(records, "records")
this.handleSubmit(); this.handleSubmit();
if (records.length == 0) { if (records.length == 0) {
return; return;
@ -270,7 +274,7 @@ export default {
compareFzList(originalFzList, nowFzList, records) { compareFzList(originalFzList, nowFzList, records) {
console.log(originalFzList, nowFzList, records, "compareFzList") console.log(originalFzList, nowFzList, records, "compareFzList")
const { mybh } = this.formData; const { mybh } = this.formData;
if(!originalFzList.length){
if (!originalFzList.length) {
nowFzList.forEach(item => { nowFzList.forEach(item => {
const record = { const record = {
key: mybh + '_num_' + item.subCode, key: mybh + '_num_' + item.subCode,
@ -284,47 +288,20 @@ export default {
}) })
return; return;
} }
if (originalFzList.length === nowFzList.length) {
for (let i = 0; i < originalFzList.length; i++) {
if (originalFzList[i].num !== nowFzList[i].num) {
const record = {
key: mybh + '_num_' + originalFzList[i].subCode,
oldValue: originalFzList[i].num,
value: nowFzList[i].num,
title: originalFzList[i].num ? "修改" : "提交",
...this.getCommonInfo('num'),
};
records.push(record);
this.updateZdxgjl(record);
}
}
}else if(originalFzList.length>nowFzList.length){
for (let i = 0; i < nowFzList.length; i++) {
if (originalFzList[i].num !== nowFzList[i].num) {
const record = {
key: mybh + '_num_' + nowFzList[i].subCode,
oldValue: originalFzList[i].num,
value: nowFzList[i].num,
title: originalFzList[i].num ? "修改" : "提交",
...this.getCommonInfo('num'),
};
records.push(record);
this.updateZdxgjl(record);
}
}
}else{
for (let i = 0; i < originalFzList.length; i++) {
if (originalFzList[i].num !== nowFzList[i].num) {
const record = {
key: mybh + '_num_' + nowFzList[i].subCode,
oldValue: originalFzList[i].num,
value: nowFzList[i].num,
title: originalFzList[i].num ? "修改" : "提交",
...this.getCommonInfo('num'),
};
records.push(record);
this.updateZdxgjl(record);
}
for (let i = 0; i < nowFzList.length; i++) {
const originalItem = originalFzList[i] || {};
const originalCode = originalItem.subCode + originalItem.num;
const nowCode = nowFzList[i].subCode + nowFzList[i].num;
if (originalCode !== nowCode) {
const record = {
key: mybh + '_num_' + nowFzList[i].subCode,
oldValue: originalItem.num,
value: nowFzList[i].num,
title: originalItem.num ? "修改" : "提交",
...this.getCommonInfo('num'),
};
records.push(record);
this.updateZdxgjl(record);
} }
} }
@ -510,7 +487,12 @@ export default {
margin-right: 5px; margin-right: 5px;
// width: 200px; // width: 200px;
} }
.ml-5{
.ml-5 {
margin-left: 5px; margin-left: 5px;
} }
.ml-10 {
margin-left: 10px;
}
</style> </style>

Loading…
Cancel
Save