| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- const fs = require('fs');
- const path = 'd:/project/vue_project/zhongying/wt/src/views/bpm/handleTask/components/productionWarehousing/storage.vue';
- let s = fs.readFileSync(path, 'utf8');
- const old = ` // 1. 在产品信息表格按批次号匹配
- const productIndex = this.productList.findIndex(
- (item) => item.batchNo === code
- );
- if (productIndex > -1) {
- this.$set(this.productList[productIndex], 'confirm_status', 1);
- this.$message.success(\`产品信息匹配成功:批次号 \${code}\`);
- return;
- }
- // 2. 在包装明细按 categoryCode-batchNo-engrave 规则匹配
- const parts = code.split('-');
- if (parts.length >= 3) {
- const categoryCode = parts[0];
- const engrave = parts[parts.length - 1];
- const batchNo = parts.slice(1, parts.length - 1).join('-');
- console.log('匹配条件:', { categoryCode, batchNo, engrave });
- const packingIndex = this.packingList.findIndex(
- (item) =>
- item.categoryCode === categoryCode &&
- item.batchNo === batchNo &&
- (((item.extInfo && item.extInfo.engrave === engrave)) ||
- item.engrave === engrave)
- );
- if (packingIndex > -1) {
- this.$set(this.packingList[packingIndex], 'confirm_status', 1);
- this.$message.success(\`包装明细匹配成功:\${code}\`);
- return;
- }
- }
- this.$message.warning(\`未匹配到对应数据:\${code}\`);`;
- const _new = ` // 1. 在产品信息表格按批次号匹配
- const productItem = this.productList.find(
- (item) => item.batchNo === code
- );
- if (productItem) {
- // 直接赋值,避免触发表格的 deep watcher 重新加载
- productItem.confirm_status = 1;
- this.$message.success(\`产品信息匹配成功:批次号 \${code}\`);
- return;
- }
- // 2. 在包装明细按 categoryCode-batchNo-engrave 规则匹配
- const parts = code.split('-');
- if (parts.length >= 3) {
- const categoryCode = parts[0];
- const engrave = parts[parts.length - 1];
- const batchNo = parts.slice(1, parts.length - 1).join('-');
- console.log('匹配条件:', { categoryCode, batchNo, engrave });
- const packingItem = this.packingList.find(
- (item) =>
- item.categoryCode === categoryCode &&
- item.batchNo === batchNo &&
- (((item.extInfo && item.extInfo.engrave === engrave)) ||
- item.engrave === engrave)
- );
- if (packingItem) {
- // 直接赋值,避免触发 packingList 的 deep watcher 重新加载
- packingItem.confirm_status = 1;
- this.$message.success(\`包装明细匹配成功:\${code}\`);
- return;
- }
- }
- this.$message.warning(\`未匹配到对应数据:\${code}\`);`;
- if (!s.includes(old)) throw new Error('anchor not found');
- s = s.replace(old, _new);
- fs.writeFileSync(path, s, 'utf8');
- console.log('OK');
|