Bladeren bron

Merge branch 'dev-mlchen' into dev

liujt 1 week geleden
bovenliggende
commit
e8edc05a94
24 gewijzigde bestanden met toevoegingen van 408 en 602 verwijderingen
  1. 5 1
      package.json
  2. 115 523
      src/BIZComponents/inventoryTable.vue
  3. 11 0
      src/BIZComponents/selectStockLedger/item-search.vue
  4. 45 6
      src/BIZComponents/selectStockLedger/selectStockLedgerDialog.vue
  5. 1 0
      src/views/purchasingManage/purchaseOrder/invoice/components/detailDialog.vue
  6. 7 1
      src/views/saleManage/saleOrder/accountstatement/index.vue
  7. 6 0
      src/views/saleManage/saleOrder/adjustmentNote‌/index.vue
  8. 14 7
      src/views/saleManage/saleOrder/components/searchTable.vue
  9. 7 1
      src/views/saleManage/saleOrder/customerReturnOrder/index.vue
  10. 7 1
      src/views/saleManage/saleOrder/entrustedReceive/index.vue
  11. 7 1
      src/views/saleManage/saleOrder/exceptionManagement/exceptionList/index.vue
  12. 43 42
      src/views/saleManage/saleOrder/index.vue
  13. 7 4
      src/views/saleManage/saleOrder/invoice/components/addInvoiceDialog.vue
  14. 15 2
      src/views/saleManage/saleOrder/invoice/components/inventoryTable.vue
  15. 7 0
      src/views/saleManage/saleOrder/invoice/components/inventoryTableDetails.vue
  16. 7 0
      src/views/saleManage/saleOrder/invoice/components/replaceTable.vue
  17. 7 0
      src/views/saleManage/saleOrder/invoice/components/searchTable.vue
  18. 45 6
      src/views/saleManage/saleOrder/invoice/components/selectStockLedger/selectStockLedgerDialog.vue
  19. 14 1
      src/views/saleManage/saleOrder/invoice/index.vue
  20. 7 1
      src/views/saleManage/saleOrder/invoiceConfirm/index.vue
  21. 7 1
      src/views/saleManage/saleOrder/palletManagement/index.vue
  22. 8 2
      src/views/saleManage/saleOrder/returnGoods/index.vue
  23. 6 0
      src/views/saleManage/saleOrder/suspend/index.vue
  24. 10 2
      vue.config.js

+ 5 - 1
package.json

@@ -21,6 +21,7 @@
     "bpmn-js-properties-panel": "0.46.0",
     "bpmn-js-token-simulation": "0.10.0",
     "build": "^0.1.4",
+    "codemirror": "^5.65.21",
     "core-js": "^3.25.0",
     "countup.js": "^2.3.2",
     "cropperjs": "^1.5.12",
@@ -39,10 +40,13 @@
     "jsbarcode": "^3.11.5",
     "json-bigint": "^1.0.0",
     "lodash": "^4.17.21",
-    "mathjs": "^12.4.1",
+    "mathjs": "^12.4.3",
+    "normalize.css": "^8.0.1",
     "nprogress": "^0.2.0",
     "print-js": "^1.6.0",
+    "qiniu-js": "^2.5.1",
     "tinymce": "^5.10.5",
+    "viewerjs": "^1.2.0",
     "vue": "^2.7.10",
     "vue-clipboard2": "^0.3.3",
     "vue-countup-v2": "^4.0.0",

File diff suppressed because it is too large
+ 115 - 523
src/BIZComponents/inventoryTable.vue


+ 11 - 0
src/BIZComponents/selectStockLedger/item-search.vue

@@ -115,6 +115,15 @@
             ></el-input>
           </el-form-item>
         </el-col>  
+        <el-col :span="6" v-if="params.dimension == 2">
+          <el-form-item label="系统批次:" prop="systemBatchNo">
+            <el-input
+              clearable
+              v-model.trim="params.systemBatchNo"
+              placeholder="请输入完整系统内部批次号"
+            ></el-input>
+          </el-form-item>
+        </el-col>
         <el-col :span="6">
           <el-form-item label="关键字:" prop="keyWord">
             <el-input
@@ -157,6 +166,7 @@
       // 默认表单数据
       const defaultParams = {
         batchNo: '',
+        systemBatchNo: '',
         informationName: '',
         warehouseId: '',
         manualBatchNo: '',
@@ -175,6 +185,7 @@
         colorKey: '',
       };
       return {
+        defaultParams,
         // 表单数据
         params: { ...defaultParams },
 

+ 45 - 6
src/BIZComponents/selectStockLedger/selectStockLedgerDialog.vue

@@ -205,6 +205,18 @@
           }:{
               width:1
           },
+          this.dimension == "2"
+            ? {
+                prop: 'systemBatchNo',
+                label: '系统内部批次号',
+                align: 'center',
+                minWidth: 180,
+                showOverflowTooltip: true,
+                formatter: (row) => row.systemBatchNo || '-'
+              }
+            : {
+                width: 1
+              },
           {
             prop: 'categoryModel',
             label: '型号',
@@ -417,25 +429,49 @@
         this.radio = '';
       },
 
+      isSameStockRecord(source, target) {
+        if (source.batchStockId && target.id) {
+          return source.batchStockId == target.id;
+        }
+        const sourceProductId = source.productId || source.categoryId;
+        const targetProductId = target.categoryId || target.productId;
+        const sourceProductCode =
+          source.productCode || source.categoryCode || source.code;
+        const targetProductCode =
+          target.categoryCode || target.productCode || target.code;
+        const sameProduct =
+          sourceProductId && targetProductId
+            ? sourceProductId == targetProductId
+            : sourceProductCode == targetProductCode;
+        const sameWarehouse =
+          !source.warehouseId ||
+          !target.warehouseId ||
+          source.warehouseId == target.warehouseId;
+        return (
+          sameProduct &&
+          sameWarehouse &&
+          source.batchNo == target.batchNo &&
+          (source.systemBatchNo || '') == (target.systemBatchNo || '')
+        );
+      },
+
       async selected() {
         if (!this.current && !this.selection.length) {
           return this.$message.warning('请至少选择一条数据');
         }
         if (this.currentIndex != -1) {
           if (
-            this.data
-              .map((item) => item.productCode)
-              .includes(this.current.code)
+            this.data.some((item) => this.isSameStockRecord(item, this.current))
           ) {
-            return this.$message.error('选择的物品已经存在列表了');
+            return this.$message.error('选择的库存记录已经存在列表了');
           }
         } else {
           if (
             this.selection.some((item) =>
-              this.data.some((i) => i.productCode == item.code)
+              this.data.some((source) => this.isSameStockRecord(source, item))
             )
           ) {
-            return this.$message.error('选择的物品已经存在列表了');
+            return this.$message.error('选择的库存记录已经存在列表了');
           }
         }
         let list = this.currentIndex == -1 ? this.selection : [this.current];
@@ -476,8 +512,11 @@
           //item.weightUnit = item.weightUnit;
           // item.warehouseNum = item.measureQuantity;
           item.productId = item.categoryId;
+          item.batchStockId = item.id;
           item.id = '';
           item.batchNo = this.dimension != 1 ? item.batchNo : '';
+          item.systemBatchNo =
+            this.dimension != 1 ? item.systemBatchNo || '' : '';
 
           // item.specification = item.specification;
         });

+ 1 - 0
src/views/purchasingManage/purchaseOrder/invoice/components/detailDialog.vue

@@ -117,6 +117,7 @@
         </template>
       </ele-pro-table>
       <headerTitle
+        style="margin-top: 20px;"
         title="质检清单"
         v-if="detailData.resultList?.length > 0"
       ></headerTitle>

+ 7 - 1
src/views/saleManage/saleOrder/accountstatement/index.vue

@@ -400,7 +400,13 @@
       }
     },
 
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         if (this.contactData.id) {

+ 6 - 0
src/views/saleManage/saleOrder/adjustmentNote‌/index.vue

@@ -366,6 +366,12 @@
       this.requestDict('冲差方式');
       this.requestDict('冲差类型');
     },
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
     computed: {
       ...mapGetters(['dict','getDictValue']),
       getDict() {

+ 14 - 7
src/views/saleManage/saleOrder/components/searchTable.vue

@@ -38,14 +38,14 @@
             placeholder: ''
           },
           {
-            label: '销售类型',
+            label: '销售类型',
             value: 'saleType',
             width: 380,
             type: 'DictSelection',
             dictName: '销售类型'
           },
           {
-            label: '库存状态',
+            label: '库存状态',
             value: 'hasStock',
             width: 380,
             type: 'select',
@@ -80,7 +80,7 @@
             placeholder: ''
           },
           {
-            label: '编码',
+            label: '编码',
             value: 'productCode',
             width: 380,
             type: 'input',
@@ -95,7 +95,7 @@
             placeholder: '请输入'
           },
           {
-            label: '生产编号',
+            label: '生产编号',
             value: 'productionCodes',
             width: 380,
             type: 'input',
@@ -110,7 +110,7 @@
           //   placeholder: ''
           // },
           {
-            label: '订单类型',
+            label: '订单类型',
             value: 'needProduces',
             width: 380,
             type: 'select',
@@ -135,7 +135,7 @@
             placeholder: ''
           },
           {
-            label: '审核状态',
+            label: '审核状态',
             value: 'orderStatus',
             type: 'select',
             planList: reviewStatusSelect,
@@ -143,13 +143,20 @@
             placeholder: ''
           },
           {
-            label: '订单进度',
+            label: '订单进度',
             value: 'progress',
             type: 'select',
             planList: saleOrderProgressStatusEnum,
             width: 380,
             placeholder: ''
           },
+          {
+            label: '业务员:',
+            value: 'salesmanName',
+            width: 380,
+            type: 'input',
+            placeholder: '请输入'
+          },
           {
             label: '创建人:',
             value: 'createUserName',

+ 7 - 1
src/views/saleManage/saleOrder/customerReturnOrder/index.vue

@@ -347,7 +347,13 @@
     },
     computed: {},
 
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         return saleReturnPageList({

+ 7 - 1
src/views/saleManage/saleOrder/entrustedReceive/index.vue

@@ -354,7 +354,13 @@
         deep: true
       }
     },
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         if (this.saleOrderData.id) {

+ 7 - 1
src/views/saleManage/saleOrder/exceptionManagement/exceptionList/index.vue

@@ -305,7 +305,13 @@
       // });
     },
     filters: {},
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       //处置
       dispose(type, row) {
         this.$refs.disposeRef.open(type, row);

+ 43 - 42
src/views/saleManage/saleOrder/index.vue

@@ -24,7 +24,7 @@
         </div>
       </div>
       <div class="main" style="padding: 0 10px">
-        <div v-if="activeComp == 'saleorder'">
+        <div v-show="activeComp == 'saleorder'">
           <div class="ele-border-lighter form-content" v-loading="loading">
             <search-table @search="reload"></search-table>
             <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
@@ -306,48 +306,13 @@
             </div>
           </div>
         </div>
-        <div v-if="activeComp == 'invoice'">
-          <invoice @getToDoReminder="getToDoReminder"></invoice>
-        </div>
-        <div v-if="activeComp == 'invoiceConfirm'">
-          <invoice-confirm @getToDoReminder="getToDoReminder"></invoice-confirm>
-        </div>
-        <div v-if="activeComp == 'entrustedReceive'">
-          <entrustedReceive
-            @getToDoReminder="getToDoReminder"
-          ></entrustedReceive>
-        </div>
-        <div v-if="activeComp == 'returnorder'" class="returnorder">
-          <return-goods @getToDoReminder="getToDoReminder"></return-goods>
-        </div>
-        <div v-if="activeComp == 'accountstatement'">
-          <accountstatement
-            @getToDoReminder="getToDoReminder"
-          ></accountstatement>
-        </div>
-        <div v-if="activeComp == 'customerReturnOrder'">
-          <customerReturnOrder
-            @getToDoReminder="getToDoReminder"
-          ></customerReturnOrder>
-        </div>
-        <div v-if="activeComp == 'exceptionList'">
-          <exceptionList @getToDoReminder="getToDoReminder"></exceptionList>
-        </div>
-        <div v-if="activeComp == 'trayList'">
-          <palletManagement
-            @getToDoReminder="getToDoReminder"
-          ></palletManagement>
-        </div>
-        <div v-if="activeComp == 'adjustmentNote'">
-          <adjustmentNote
-            @getToDoReminder="getToDoReminder"
-          ></adjustmentNote>
-        </div>
-        <div v-if="activeComp == 'suspend'">
-          <suspend
+        <keep-alive>
+          <component
+            v-if="currentTabComponent"
+            :is="currentTabComponent"
             @getToDoReminder="getToDoReminder"
-          ></suspend>
-        </div>
+          ></component>
+        </keep-alive>
       </div>
     </el-card>
 
@@ -653,6 +618,22 @@ export default {
     clearInterval(this.timeR);
   },
   computed: {
+    // 根据当前页签返回对应的子组件(用于 keep-alive + 单一动态组件,避免多 v-if 兄弟节点导致缓存错乱)
+    currentTabComponent() {
+      const map = {
+        invoice: invoice,
+        invoiceConfirm: invoiceConfirm,
+        entrustedReceive: entrustedReceive,
+        returnorder: returnGoods,
+        accountstatement: accountstatement,
+        customerReturnOrder: customerReturnOrder,
+        exceptionList: exceptionList,
+        trayList: palletManagement,
+        adjustmentNote: adjustmentNote,
+        suspend: suspend
+      };
+      return map[this.activeComp] || null;
+    },
     exportParams() {
       return {
         ...this.params,
@@ -965,6 +946,13 @@ export default {
             return reviewStatus[_row.orderStatus];
           }
         },
+        {
+          prop: 'salesmanName',
+          label: '业务员',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 80
+        },
 
         {
           prop: 'createUserName',
@@ -1000,6 +988,19 @@ export default {
       ];
     }
   },
+  watch: {
+    // 切回销售订单主列表时,保持搜索条件与页码不变,仅刷新列表数据
+    activeComp(val) {
+      if (val === 'saleorder') {
+        this.$nextTick(() => {
+          if (this.$refs.table) {
+            this.$refs.table.reload();
+            if (this.$refs.table.doLayout) this.$refs.table.doLayout();
+          }
+        });
+      }
+    }
+  },
   methods: {
     getSummaries(param) {
         return getSummaries(

+ 7 - 4
src/views/saleManage/saleOrder/invoice/components/addInvoiceDialog.vue

@@ -1035,6 +1035,7 @@
                 v.productCode == v2.productCode &&
                 v.taskId == v2.taskId &&
                 v.batchNo == v2.batchNo &&
+                (v.systemBatchNo || '') == (v2.systemBatchNo || '') &&
                 v.colorKey == v2.colorKey &&
                 v.provenance?.join() == v2.provenance?.join() &&
                 v.modelKey == v2.modelKey &&
@@ -1046,10 +1047,12 @@
             });
           });
 
-          if (is) {
-            this.$message.error('同产品,工序、批次号、颜色不能完全一致!');
-            return;
-          }
+          // if (is) {
+          //   this.$message.error(
+          //     '同产品、工序、外部批次号、系统内部批次号和颜色不能完全一致!'
+          //   );
+          //   return;
+          // }
 
           if (this.isUpdate) {
             UpdateSendInformation(commitData)

+ 15 - 2
src/views/saleManage/saleOrder/invoice/components/inventoryTable.vue

@@ -671,6 +671,13 @@
             slot: 'batchStockId',
             align: 'center'
           },
+          {
+            minWidth: 180,
+            prop: 'systemBatchNo',
+            label: '系统内部批次号',
+            align: 'center',
+            formatter: (row) => row.systemBatchNo || '-'
+          },
           {
             width: 160,
             prop: 'productBrand',
@@ -1044,7 +1051,7 @@
     methods: {
       formatPrice,
       getSummaries(param) {
-  
+
 
         return getSummaries(
           param,
@@ -1136,6 +1143,7 @@
         if (isReset) {
           this.$set(this.form.datasource[index], 'batchStockId', '');
           this.$set(this.form.datasource[index], 'batchNo', '');
+          this.$set(this.form.datasource[index], 'systemBatchNo', '');
         }
       },
 
@@ -1143,6 +1151,7 @@
       async batchNoChange(index, row) {
         if (!row.batchStockId) {
           this.$set(this.form.datasource[index], 'batchNo', '');
+          this.$set(this.form.datasource[index], 'systemBatchNo', '');
           // this.$set(this.form.datasource[index], 'warehouseNum', '');
           const tempWarehouse = await getIdWarehouseList({
             categoryId: this.form.datasource[index].productId
@@ -1177,6 +1186,7 @@
           (item) => item.id == row.batchStockId
         );
         this.$set(this.form.datasource[index], 'batchNo', data.batchNo);
+        this.$set(this.form.datasource[index], 'systemBatchNo', data.systemBatchNo);
 
         this.$set(
           this.form.datasource[index],
@@ -1650,8 +1660,11 @@
           let tempBatchNoList = templist1?.list || [];
           console.log('888~~~~', index, item.batchNo);
 
+          // 新数据按系统批次精确匹配,历史数据保持按外部批次号兼容匹配
           const batchNoObj = tempBatchNoList.find(
-            (i) => i.batchNo == item.batchNo
+            (i) =>
+              i.batchNo == item.batchNo &&
+              (!item.systemBatchNo || i.systemBatchNo == item.systemBatchNo)
           );
 
           if (batchNoObj) {

+ 7 - 0
src/views/saleManage/saleOrder/invoice/components/inventoryTableDetails.vue

@@ -115,6 +115,13 @@
             slot: 'batchNo',
             align: 'center'
           },
+          {
+            minWidth: 180,
+            prop: 'systemBatchNo',
+            label: '系统内部批次号',
+            align: 'center',
+            formatter: (row) => row.systemBatchNo || '-'
+          },
           {
             width: 160,
             prop: 'productBrand',

+ 7 - 0
src/views/saleManage/saleOrder/invoice/components/replaceTable.vue

@@ -618,6 +618,13 @@
             slot: 'batchNo',
             align: 'center'
           },
+          {
+            minWidth: 180,
+            prop: 'systemBatchNo',
+            label: '系统内部批次号',
+            align: 'center',
+            formatter: (row) => row.systemBatchNo || '-'
+          },
           {
             width: 160,
             prop: 'productBrand',

+ 7 - 0
src/views/saleManage/saleOrder/invoice/components/searchTable.vue

@@ -99,6 +99,13 @@ export default {
           planList: orderStatusOptions,
           placeholder: '请选择'
         },
+        {
+          label: '业务员:',
+          value: 'salesmanName',
+          width: 380,
+          type: 'input',
+          placeholder: '请输入'
+        },
         {
           label: '创建人:',
           value: 'createUserName',

+ 45 - 6
src/views/saleManage/saleOrder/invoice/components/selectStockLedger/selectStockLedgerDialog.vue

@@ -176,6 +176,18 @@
           }:{
               width:1
           },
+          this.dimension == "2"
+            ? {
+                prop: 'systemBatchNo',
+                label: '系统内部批次号',
+                align: 'center',
+                minWidth: 180,
+                showOverflowTooltip: true,
+                formatter: (row) => row.systemBatchNo || '-'
+              }
+            : {
+                width: 1
+              },
           {
             prop: 'categoryModel',
             label: '型号',
@@ -322,25 +334,49 @@
         this.radio = '';
       },
 
+      isSameStockRecord(source, target) {
+        if (source.batchStockId && target.id) {
+          return source.batchStockId == target.id;
+        }
+        const sourceProductId = source.productId || source.categoryId;
+        const targetProductId = target.categoryId || target.productId;
+        const sourceProductCode =
+          source.productCode || source.categoryCode || source.code;
+        const targetProductCode =
+          target.categoryCode || target.productCode || target.code;
+        const sameProduct =
+          sourceProductId && targetProductId
+            ? sourceProductId == targetProductId
+            : sourceProductCode == targetProductCode;
+        const sameWarehouse =
+          !source.warehouseId ||
+          !target.warehouseId ||
+          source.warehouseId == target.warehouseId;
+        return (
+          sameProduct &&
+          sameWarehouse &&
+          source.batchNo == target.batchNo &&
+          (source.systemBatchNo || '') == (target.systemBatchNo || '')
+        );
+      },
+
       async selected() {
         if (!this.current && !this.selection.length) {
           return this.$message.warning('请至少选择一条数据');
         }
         if (this.currentIndex != -1) {
           if (
-            this.data
-              .map((item) => item.productCode)
-              .includes(this.current.code)
+            this.data.some((item) => this.isSameStockRecord(item, this.current))
           ) {
-            return this.$message.error('选择的物品已经存在列表了');
+            return this.$message.error('选择的库存记录已经存在列表了');
           }
         } else {
           if (
             this.selection.some((item) =>
-              this.data.some((i) => i.productCode == item.code)
+              this.data.some((source) => this.isSameStockRecord(source, item))
             )
           ) {
-            return this.$message.error('选择的物品已经存在列表了');
+            return this.$message.error('选择的库存记录已经存在列表了');
           }
         }
         let list = this.currentIndex == -1 ? this.selection : [this.current];
@@ -378,7 +414,10 @@
           //item.weightUnit = item.weightUnit;
           // item.warehouseNum = item.measureQuantity;
           item.productId = item.categoryId;
+          item.batchStockId = item.id;
           item.id = '';
+          item.systemBatchNo =
+            this.dimension != 1 ? item.systemBatchNo || '' : '';
 
           // item.specification = item.specification;
         });

+ 14 - 1
src/views/saleManage/saleOrder/invoice/index.vue

@@ -539,6 +539,13 @@
               return options.find(item => item.value == cellValue)?.label || '';
             }
           },
+          {
+            prop: 'salesmanName',
+            label: '业务员',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 80
+          },
           {
             prop: 'createUserName',
             label: '创建人',
@@ -606,7 +613,13 @@
         deep: true
       }
     },
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       getSummaries(param) {
         return getSummaries(
           param,

+ 7 - 1
src/views/saleManage/saleOrder/invoiceConfirm/index.vue

@@ -350,7 +350,13 @@
       }
     },
 
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         if (this.saleOrderData.id) {

+ 7 - 1
src/views/saleManage/saleOrder/palletManagement/index.vue

@@ -154,7 +154,13 @@
     },
     computed: {},
 
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         return getTableList({

+ 8 - 2
src/views/saleManage/saleOrder/returnGoods/index.vue

@@ -366,7 +366,7 @@
             minWidth: 160
           },
           {
-            prop: 'batchNos',
+            prop: 'batchNo',
             label: '批次号',
             align: 'center',
             showOverflowTooltip: true,
@@ -459,7 +459,13 @@
         }
       });
     },
-    methods: {
+    activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
+  methods: {
       handlePrint() {
         if (this.selection.length > 1) return this.$message.warning('请选择一条');
         this.$refs.printTemplateHtRef.open(this.selection[0].id);

+ 6 - 0
src/views/saleManage/saleOrder/suspend/index.vue

@@ -749,6 +749,12 @@ export default {
       ];
     }
   },
+  activated() {
+    // 由 keep-alive 切回时刷新列表,但保留搜索条件与当前页码
+    if (this.$refs.table) {
+      this.$refs.table.reload();
+    }
+  },
   methods: {
     async getInfo() {
       try {

+ 10 - 2
vue.config.js

@@ -1,3 +1,11 @@
+/*
+ * @Author: mlchen 374826075@qq.com
+ * @Date: 2026-07-22 15:43:30
+ * @LastEditors: mlchen 374826075@qq.com
+ * @LastEditTime: 2026-07-27 09:31:46
+ * @FilePath: /kd-aiot-frontend-eom/vue.config.js
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
 const CompressionWebpackPlugin = require('compression-webpack-plugin');
 const { transformElementScss } = require('ele-admin/lib/utils/dynamic-theme');
 const path = require('path');
@@ -36,8 +44,8 @@ module.exports = {
     proxy: {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
-        target: 'http://192.168.1.251:18086', //开发
-        // target: 'http://192.168.1.251:18186', //测试
+        // target: 'http://localhost:18086', //开发
+        target: 'http://192.168.1.18:18086', //测试
         // target: 'http://192.168.1.15:18086',//罗
         // target: 'http://192.168.1.144:18086',//付
 

Some files were not shown because too many files changed in this diff