yusheng 1 anno fa
parent
commit
44f2f0dd95

+ 9 - 7
src/BIZComponents/inventoryTable.vue

@@ -323,7 +323,7 @@
           <DictSelection
             dictName="产地"
             clearable
-            :disabled="status == 'Detail'"
+            
             v-model="scope.row.provenance"
             multiple
           >
@@ -396,6 +396,7 @@
           <el-date-picker
             style="width: 140px"
             v-model="scope.row.produceDeliveryDeadline"
+            @change="setDeliveryDays(scope.row, scope.$index, 'guaranteePeriod')"
             type="date"
             placeholder="选择日期"
           >
@@ -418,6 +419,7 @@
             style="width: 140px"
             :disabled="isContractId"
             v-model="scope.row.customerExpectDeliveryDeadline"
+            @change="setDeliveryDays(scope.row, scope.$index, 'guaranteePeriod')"
             type="date"
             placeholder="选择日期"
           >
@@ -754,7 +756,6 @@
             align: 'center',
             showOverflowTooltip: true,
             minWidth: 200,
-            show:this.contractBookType==2
           },
           {
             width: 120,
@@ -995,7 +996,7 @@
               this.form.datasource[i],
               'guaranteePeriodDeadline',
               guaranteePeriodUnitName != 'second'
-                ? this.setDay(item.guaranteePeriod, guaranteePeriodUnitName)
+                ? this.setDay(item.guaranteePeriod, guaranteePeriodUnitName,item)
                 : ''
             );
             // }
@@ -1011,7 +1012,7 @@
             this.form.datasource[index],
             'guaranteePeriodDeadline',
             guaranteePeriodUnitName != 'second'
-              ? this.setDay(row.guaranteePeriod, guaranteePeriodUnitName)
+              ? this.setDay(row.guaranteePeriod, guaranteePeriodUnitName,row)
               : ''
           );
         }
@@ -1025,8 +1026,9 @@
           ? 'year'
           : 'second';
       },
-      setDay(addDay, dateType = 'day') {
-        return dayjs(this.contractStartDate || new Date())
+      setDay(addDay, dateType = 'day',item) {
+        let tiem= this.contractBookType==1? item.produceDeliveryDeadline:item.customerExpectDeliveryDeadline;
+        return dayjs( tiem|| new Date())
           .add(addDay, dateType)
           .format('YYYY-MM-DD');
       },
@@ -1087,7 +1089,7 @@
               item['guaranteePeriodDeadline'] =
                 item['guaranteePeriodDeadline'] ||
                 guaranteePeriodUnitName != 'second'
-                  ? this.setDay(item.guaranteePeriod, guaranteePeriodUnitName)
+                  ? this.setDay(item.guaranteePeriod, guaranteePeriodUnitName,item)
                   : '';
             }
           });

+ 1 - 1
src/BIZComponents/inventoryTableDetails.vue

@@ -330,7 +330,7 @@
             label: '产地',
             slot: 'provenance',
             align: 'center',
-            show:this.contractBookType==2,
+            // show:this.contractBookType==2,
             minWidth: 200,
             showOverflowTooltip: true,
             formatter: (row, column) => {

+ 19 - 19
src/views/bpm/handleTask/components/financialManage/invoiceManage/components/tableInfo.vue

@@ -123,20 +123,20 @@
             slot: 'measuringUnit',
             align: 'center'
           },
-          {
-            width: 150,
-            prop: 'pricingWay',
-            label: '计价方式',
-            formatter: (row, column) => {
-              return row.pricingWay == 1
-                ? '按数量计费'
-                : row.pricingWay == 2
-                ? '按重量计费'
-                : '';
-            },
-            align: 'center'
+          // {
+          //   width: 150,
+          //   prop: 'pricingWay',
+          //   label: '计价方式',
+          //   formatter: (row, column) => {
+          //     return row.pricingWay == 1
+          //       ? '按数量计费'
+          //       : row.pricingWay == 2
+          //       ? '按重量计费'
+          //       : '';
+          //   },
+          //   align: 'center'
 
-          },
+          // },
           {
             minWidth: 80,
             prop: 'singlePrice',
@@ -144,12 +144,12 @@
             slot: 'singlePrice',
             align: 'center'
           },
-          {
-            width: 80,
-            prop: 'singleWeight',
-            label: '单量',
-            align: 'center'
-          },
+          // {
+          //   width: 80,
+          //   prop: 'singleWeight',
+          //   label: '单量',
+          //   align: 'center'
+          // },
           
           {
             minWidth: 80,

+ 3 - 0
src/views/bpm/handleTask/components/purchaseOrder/invoice/receiptInfo.vue

@@ -91,10 +91,13 @@
 
 <script>
 import { reviewStatusEnum } from '@/enum/dict';
+import dictMixins from '@/mixins/dictMixins';
 
 import fileMain from '@/components/addDoc/index.vue';
 export default {
   components: { fileMain },
+  mixins: [dictMixins],
+
   props: {
     form: { type: Object, default: () => { } },
     detailData: { type: Object, default: () => { } },

+ 123 - 31
src/views/bpm/handleTask/components/saleOrder/invoice/detailDialog.vue

@@ -247,7 +247,6 @@
   import { copyObj } from '@/utils/util';
   import add from '@/views/bpm/outgoingManagement/outbound.vue';
   import fileMain from '@/components/addDoc/index.vue';
-
   export default {
     mixins: [dictMixins],
     components: {
@@ -297,7 +296,7 @@
           }
         ],
         competAnalysisListcolumns: [
-          {
+        {
             width: 45,
             type: 'index',
             columnKey: 'index',
@@ -325,6 +324,13 @@
             slot: 'productCategoryName',
             align: 'center'
           },
+          {
+            width: 160,
+            prop: 'batchNo',
+            label: '批次号',
+            slot: 'batchNo',
+            align: 'center'
+          },
           {
             width: 160,
             prop: 'productBrand',
@@ -347,7 +353,29 @@
             align: 'center'
           },
           {
-            width: 200,
+            width: 120,
+            prop: 'imgCode',
+            align: 'center',
+            label: '图号/件号',
+            showOverflowTooltip: true
+          },
+          {
+            width: 120,
+            prop: 'produceType',
+            align: 'center',
+            label: '生产类型',
+            formatter: (row, column) => {
+              return row?.produceType
+                ?.map((item) => {
+                  return this.getDictValue('生产类型', item);
+                })
+                ?.toString();
+            },
+            showOverflowTooltip: true
+          },
+
+          {
+            width: 120,
             prop: 'customerMark',
             label: '客户代号',
             slot: 'customerMark',
@@ -355,32 +383,61 @@
           },
           {
             width: 200,
-            prop: 'warehouseName',
+            prop: 'warehouseId',
             label: '仓库名称',
-            slot: 'warehouseName',
-            align: 'center'
-          },
-          {
-            width: 100,
-            prop: 'stockLedger',
-            label: '发货明细',
-            slot: 'stockLedger',
+            slot: 'warehouseId',
+
             align: 'center'
           },
+          // {
+          //   width: 100,
+          //   prop: 'warehouseNum',
+          //   label: '库存',
+          //   align: 'center',
+          //   slot: 'warehouseNum',
+
+          //   headerSlot: 'headerWarehouseNum'
+          // },
+
+          // {
+          //   width: 100,
+          //   prop: 'stockLedger',
+          //   label: '发货明细',
+          //   slot: 'stockLedger',
+          //   align: 'center'
+          // },
           {
             width: 120,
             prop: 'totalCount',
-            label: '数量',
+            label: '发货数量',
             slot: 'totalCount',
+            headerSlot: 'headerTotalCount',
             align: 'center'
           },
           {
             width: 120,
+            prop: 'orderTotalCount',
+            label: '订单数量',
+            slot: 'orderTotalCount',
+            align: 'center'
+          },
+
+          {
+            width: 80,
             prop: 'measuringUnit',
             label: '计量单位',
             slot: 'measuringUnit',
             align: 'center'
           },
+
+          {
+            width: 120,
+            prop: 'blockCount',
+            label: '发货块数',
+            slot: 'blockCount',
+            align: 'center',
+            show: this.clientEnvironmentId == '4'
+          },
           {
             width: 120,
             prop: 'singleWeight',
@@ -389,19 +446,19 @@
             align: 'center'
           },
           {
-            width: 100,
+            width: 200,
             prop: 'receiveTotalWeight',
             label: '收货总重',
             slot: 'receiveTotalWeight',
-            align: 'center'
+            align: 'center',
+            headerSlot: 'headerTotalCount'
           },
           {
-            width: 200,
+            width: 100,
             prop: 'sendTotalWeight',
             label: '发货总重',
             slot: 'sendTotalWeight',
-            align: 'center',
-            headerSlot: 'headerTotalCount'
+            align: 'center'
           },
 
           {
@@ -436,17 +493,34 @@
             slot: 'singlePrice',
             align: 'center'
           },
+          {
+            width: 160,
+            prop: 'taxRate',
+            label: '税率',
+            slot: 'taxRate',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'discountSinglePrice',
+            label: '折后单价',
+            slot: 'discountSinglePrice',
+            align: 'center'
+          },
           {
             width: 120,
             prop: 'totalPrice',
-            label: '销售总金额',
+            label: '合计',
             slot: 'totalPrice',
-            formatter: (_row, _column, cellValue) => {
-              return _row.totalPrice ? _row.totalPrice + '元' : '';
-            },
             align: 'center'
           },
-
+          {
+            width: 120,
+            prop: 'discountTotalPrice',
+            label: '折后合计',
+            slot: 'discountTotalPrice',
+            align: 'center'
+          },
           {
             width: 120,
             prop: 'deliveryDays',
@@ -467,13 +541,31 @@
             align: 'center'
           },
           // {
-          //   width: 120,
-          //   prop: 'guaranteePeriodUnitCode',
-          //   label: '',
-          //   slot: 'guaranteePeriodUnitCode'
+          //   width: 160,
+          //   prop: 'guaranteePeriodDeadline',
+          //   label: '质保截止日期',
+          //   slot: 'guaranteePeriodDeadline',
+          //   align: 'center'
           // },
           {
-            width: 120,
+            prop: 'provenance',
+            label: '产地',
+            slot: 'provenance',
+            align: 'center',
+            // show:this.contractBookType==2,
+            minWidth: 200,
+            showOverflowTooltip: true,
+            formatter: (row, column) => {
+       
+              return row.provenance && row.provenance.length
+                ? row.provenance
+                    .map((item) => this.getDictValue('产地', item ))
+                    .join(',')
+                : '';
+            }
+          },
+          {
+            width: 130,
             prop: 'technicalAnswerName',
             label: '技术答疑人',
             slot: 'technicalAnswerName',
@@ -491,7 +583,6 @@
             prop: 'technicalDrawings',
             label: '技术图纸',
             slot: 'technicalDrawings',
-
             align: 'center'
           },
           {
@@ -500,7 +591,7 @@
             label: '备注',
             slot: 'remark',
             align: 'center'
-          }
+          },
         ]
       };
     },
@@ -512,7 +603,8 @@
     },
     async created() {
       await this.getDetailData(this.businessId);
-      console.log('this.taskDefinitionKey--------', this.taskDefinitionKey);
+      this.requestDict('产地');
+      this.requestDict('生产类型');
       if (this.taskDefinitionKey == 'storemanApprove') {
         this.tabOptions.push({ key: 'outBound', name: '出库单' });
         this.activeComp = 'outBound';

+ 45 - 12
src/views/bpm/handleTask/components/saleOrder/invoice/inventoryTable.vue

@@ -294,6 +294,8 @@
       getWarehouseList().then((res) => {
         this.warehouseList = res;
       });
+      this.requestDict('产地');
+      this.requestDict('生产类型');
     },
     computed: {
       canHandl() {
@@ -360,6 +362,27 @@
             slot: 'specification',
             align: 'center'
           },
+          {
+            width: 120,
+            prop: 'imgCode',
+            align: 'center',
+            label: '图号/件号',
+            showOverflowTooltip: true
+          },
+          {
+            width: 120,
+            prop: 'produceType',
+            align: 'center',
+            label: '生产类型',
+            formatter: (row, column) => {
+              return row?.produceType
+                ?.map((item) => {
+                  return this.getDictValue('生产类型', item);
+                })
+                ?.toString();
+            },
+            showOverflowTooltip: true
+          },
           {
             width: 200,
             prop: 'warehouseId',
@@ -489,13 +512,13 @@
             slot: 'deliveryDays',
             align: 'center'
           },
-          {
-            width: 160,
-            prop: 'deliveryDeadline',
-            label: '交期截止日期',
-            slot: 'deliveryDeadline',
-            align: 'center'
-          },
+          // {
+          //   width: 160,
+          //   prop: 'deliveryDeadline',
+          //   label: '交期截止日期',
+          //   slot: 'deliveryDeadline',
+          //   align: 'center'
+          // },
           {
             width: 200,
             prop: 'guaranteePeriod',
@@ -507,11 +530,21 @@
             align: 'center'
           },
           {
-            width: 160,
-            prop: 'guaranteePeriodDeadline',
-            label: '质保截止日期',
-            slot: 'guaranteePeriodDeadline',
-            align: 'center'
+            prop: 'provenance',
+            label: '产地',
+            slot: 'provenance',
+            align: 'center',
+            // show:this.contractBookType==2,
+            minWidth: 200,
+            showOverflowTooltip: true,
+            formatter: (row, column) => {
+       
+              return row.provenance && row.provenance.length
+                ? row.provenance
+                    .map((item) => this.getDictValue('产地', item ))
+                    .join(',')
+                : '';
+            }
           },
           {
             width: 130,