Преглед изворни кода

优化物品表格,添加机型和颜色字段及相关逻辑处理

yusheng пре 9 месеци
родитељ
комит
ea6b58ae40
19 измењених фајлова са 431 додато и 165 уклоњено
  1. 91 28
      src/BIZComponents/inventoryTable.vue
  2. 16 0
      src/BIZComponents/inventoryTableDetails.vue
  3. 6 2
      src/components/Dict/DictSelection.vue
  4. 3 1
      src/enum/dict.js
  5. 43 31
      src/views/bpm/handleTask/components/purchaseNeedManage/detailDialog.vue
  6. 20 6
      src/views/bpm/handleTask/components/purchaseNeedManage/inventoryTable.vue
  7. 32 23
      src/views/bpm/handleTask/components/purchaseOrder/detailDialog.vue
  8. 17 1
      src/views/bpm/handleTask/components/purchaseOrder/invoice/receiptInfo.vue
  9. 16 0
      src/views/bpm/handleTask/components/purchaseOrder/invoiceConfirm/detailDialog.vue
  10. 16 7
      src/views/bpm/handleTask/components/purchaseOrder/outSourceSend/detailDialog.vue
  11. 16 0
      src/views/bpm/handleTask/components/purchaseOrder/returnGoods/detailDialog.vue
  12. 25 7
      src/views/bpm/handleTask/components/purchasePlanManage/detailDialog.vue
  13. 21 4
      src/views/bpm/handleTask/components/saleOrder/entrustedReceive/detailDialog.vue
  14. 14 42
      src/views/bpm/handleTask/components/saleOrder/exceptionManagement/addOrEditDialog.vue
  15. 30 10
      src/views/bpm/handleTask/components/saleOrder/invoice/detailDialog.vue
  16. 14 0
      src/views/bpm/handleTask/components/saleOrder/invoiceConfirm/detailDialog.vue
  17. 33 1
      src/views/bpm/handleTask/components/saleOrder/returnGoods/detailDialog.vue
  18. 16 0
      src/views/bpm/handleTask/components/saleOrder/saleReturnGoods/detailDialog.vue
  19. 2 2
      vue.config.js

+ 91 - 28
src/BIZComponents/inventoryTable.vue

@@ -283,13 +283,42 @@
             placeholder="请输入"
             type="number"
             @input="getNotaxSinglePrice"
-            
           >
             <template slot="append">%</template>
           </el-input>
         </el-form-item>
       </template>
-
+      <template v-slot:modelKey="scope">
+        <el-form-item :prop="'datasource.' + scope.$index + '.' + 'modelKey'">
+          <DictSelection
+            dictName="物品机型"
+            clearable
+            v-model="scope.row.modelKey"
+            :isOne="scope.$index === 0"
+            :key="scope.$index + '物品机型'"
+            multiple
+            filterable
+            allow-create
+            default-first-option
+          >
+          </DictSelection>
+        </el-form-item>
+      </template>
+      <template v-slot:colorKey="scope">
+        <el-form-item :prop="'datasource.' + scope.$index + '.' + 'colorKey'">
+          <DictSelection
+            dictName="物品颜色"
+            clearable
+            v-model="scope.row.colorKey"
+            :isOne="scope.$index === 0"
+            multiple
+            filterable
+            allow-create
+            default-first-option
+          >
+          </DictSelection>
+        </el-form-item>
+      </template>
       <template v-slot:headerSinglePrice="{ column }">
         <span :class="isSinglePrice ? 'is-required' : ''">{{
           column.label
@@ -541,7 +570,6 @@
         <el-form-item
           style="margin-bottom: 20px"
           :prop="'datasource.' + scope.$index + '.' + countObj.unitIdKey"
-        
         >
           <el-select
             v-model="scope.row[countObj.unitIdKey]"
@@ -605,6 +633,7 @@
   import { pricingWayList, lbjtList } from '@/enum/dict.js';
   import { changeCount, getAllPrice } from '@/BIZComponents/setProduct.js';
   import { getInventoryTotalAPI } from '@/api/bpm/components/wms/index.js';
+  import { copyObj } from '@/utils/util';
   // import taskinstanceDialog from '@/BIZComponents/procedure/taskinstanceDialog.vue';
 
   const dayjs = require('dayjs');
@@ -805,6 +834,20 @@
             slot: 'specification',
             align: 'center'
           },
+          {
+            width: 160,
+            prop: 'modelKey',
+            label: '机型',
+            slot: 'modelKey',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'colorKey',
+            label: '颜色',
+            slot: 'colorKey',
+            align: 'center'
+          },
           {
             width: 120,
             prop: 'imgCode',
@@ -914,7 +957,7 @@
             showOverflowTooltip: true,
             minWidth: 200
           },
-       
+
           {
             width: 120,
             prop: 'singleWeight',
@@ -1008,16 +1051,18 @@
             headerSlot: 'headerCustomerExpectDeliveryDeadline',
             align: 'center'
           },
-          this.contractBookType==1?{
-            width: 160,
-            prop: 'produceDeliveryDeadline',
-            label: '生产交付交期',
-            slot: 'produceDeliveryDeadline',
-            headerSlot: 'headerProduceDeliveryDeadline',
-            align: 'center'
-          }:{
-             width: 1,
-          },
+          this.contractBookType == 1
+            ? {
+                width: 160,
+                prop: 'produceDeliveryDeadline',
+                label: '生产交付交期',
+                slot: 'produceDeliveryDeadline',
+                headerSlot: 'headerProduceDeliveryDeadline',
+                align: 'center'
+              }
+            : {
+                width: 1
+              },
 
           {
             width: 200,
@@ -1027,16 +1072,18 @@
             // headerSlot: 'headerCustomerExpectDeliveryDeadline',
             align: 'center'
           },
-          this.isGuaranteePeriod?{
-            width: 200,
-            prop: 'guaranteePeriodDeadline',
-            label: '有效期截止日期',
-            slot: 'guaranteePeriodDeadline',
-            show: this.isGuaranteePeriod,
-            align: 'center'
-          }:{
-            width:1
-          },
+          this.isGuaranteePeriod
+            ? {
+                width: 200,
+                prop: 'guaranteePeriodDeadline',
+                label: '有效期截止日期',
+                slot: 'guaranteePeriodDeadline',
+                show: this.isGuaranteePeriod,
+                align: 'center'
+              }
+            : {
+                width: 1
+              },
 
           {
             width: 220,
@@ -1199,7 +1246,7 @@
       },
       // 返回列表数据
       getTableValue() {
-        let comitDatasource = this.form.datasource;
+        let comitDatasource = copyObj(this.form.datasource);
         if (comitDatasource.length === 0) return [];
         comitDatasource.forEach((v) => {
           if (v.guaranteePeriodUnitCode) {
@@ -1208,6 +1255,12 @@
               v.guaranteePeriodUnitCode
             );
           }
+          if (v.modelKey) {
+            v.modelKey = v.modelKey.toString();
+          }
+          if (v.colorKey) {
+            v.colorKey = v.colorKey.toString();
+          }
           v.technicalDrawings = v.technicalDrawings ? v.technicalDrawings : [];
           v.customerReqFiles = v.customerReqFiles || [];
           v.industryArtFiles = v.industryArtFiles || [];
@@ -1281,6 +1334,12 @@
           [];
         if (productList) {
           productList.forEach((item) => {
+            if (item.modelKey) {
+              item.modelKey = item.modelKey.split(',');
+            }
+            if (item.colorKey) {
+              item.colorKey = item.colorKey.split(',');
+            }
             item.guaranteePeriodUnitCode = item.guaranteePeriodUnitCode
               ? item.guaranteePeriodUnitCode + ''
               : '';
@@ -1301,7 +1360,6 @@
             }
           });
           this.form.datasource = productList;
- 
 
           let codeList = this.form.datasource
             .filter((item) => item.productCode)
@@ -1322,7 +1380,7 @@
                 find.availableCountBase
               );
             });
-            if (this.isChangeCount) {
+          if (this.isChangeCount) {
             this.changeCount();
           } else {
             this.allPrice = data.totalAmount || data?.contractVO?.totalPrice;
@@ -1378,7 +1436,12 @@
           this.$set(parasm, 'weightUnit', item.weightUnit);
           this.$set(parasm, 'singleWeight', item.netWeight);
           this.$set(parasm, 'pricingWay', item.pricingWay || 1);
-
+          if (item.modelKey) {
+            this.$set(parasm, 'modelKey', item.modelKey.split(','));
+          }
+          if (item.colorKey) {
+            this.$set(parasm, 'colorKey', item.colorKey.split(','));
+          }
           this.$set(parasm, 'imgCode', item.imgCode);
           this.$set(parasm, 'produceType', item.produceType);
           this.$set(parasm, 'approvalNumber', item.extField.approvalNumber);

+ 16 - 0
src/BIZComponents/inventoryTableDetails.vue

@@ -458,6 +458,22 @@
             align: 'center',
             label: '图号/件号',
             showOverflowTooltip: true
+          },
+            {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
           },
           {
             prop: 'provenance',

+ 6 - 2
src/components/Dict/DictSelection.vue

@@ -44,8 +44,12 @@
       ChinEng: {
         Boolean,
         default: false
+      },
+      //列表使用了多个时,防止多次请求
+      isOne: {
+        type: Boolean,
+        default: true
       }
-
     },
     data () {
       return {};
@@ -68,7 +72,7 @@
       }
     },
     created () {
-      if (this.dictName) {
+      if (this.dictName&&this.isOne) {
         this.requestDict(this.dictName);
       }
     },

+ 3 - 1
src/enum/dict.js

@@ -88,7 +88,9 @@ export default {
   产地: 'purchase_origin',
   管理类别: 'manage_type',
   商品价格类型: 'goods_price_type',
-  文档类型: 'doc_type'
+  文档类型: 'doc_type',
+  物品机型: 'product_model_key',
+  物品颜色: 'product_color_key'
 };
 
 export const numberList = [

+ 43 - 31
src/views/bpm/handleTask/components/purchaseNeedManage/detailDialog.vue

@@ -33,12 +33,12 @@
             {{ form.requireUserName }}
           </el-form-item>
         </el-col>
-        <el-col v-if="form.sourceType==1" :span="12">
+        <el-col v-if="form.sourceType == 1" :span="12">
           <el-form-item label="销售合同">
             {{ form.saleContractName }}
           </el-form-item>
         </el-col>
-        <el-col v-if="form.sourceType==1" :span="12">
+        <el-col v-if="form.sourceType == 1" :span="12">
           <el-form-item label="销售订单">
             {{ form.saleOrderNo }}
           </el-form-item>
@@ -87,27 +87,25 @@
       :datasource="detailData.detailList"
       row-key="id"
     >
-    <template v-slot:expectReceiveDate="scope">
-          <div v-if="scope.row.arrivalWay == 1">
-            {{ scope.row.expectReceiveDate }}
-          </div>
-          <div v-if="scope.row.arrivalWay == 2">
-            <el-link
-              type="primary"
-              :underline="false"
-              @click.native="handleMethod(scope.row)"
-            >
-              查看分批时间
-            </el-link>
-          </div>
-        </template>
+      <template v-slot:expectReceiveDate="scope">
+        <div v-if="scope.row.arrivalWay == 1">
+          {{ scope.row.expectReceiveDate }}
+        </div>
+        <div v-if="scope.row.arrivalWay == 2">
+          <el-link
+            type="primary"
+            :underline="false"
+            @click.native="handleMethod(scope.row)"
+          >
+            查看分批时间
+          </el-link>
+        </div>
+      </template>
       <template v-slot:files="{ row }">
-        <fileMain v-model="row.files"  type="view"></fileMain>
-
+        <fileMain v-model="row.files" type="view"></fileMain>
       </template>
       <template v-slot:technicalDrawings="{ row }">
-        <fileMain v-model="row.technicalDrawings"  type="view"></fileMain>
-
+        <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
       </template>
     </ele-pro-table>
     <timeDialog ref="timeDialogRef" :view="true"></timeDialog>
@@ -120,7 +118,7 @@
   import dictMixins from '@/mixins/dictMixins';
   import timeDialog from '@/components/timeDialog/index.vue';
   // import fileMain from "@/components/addDoc/index.vue";
-  import {lbjtList } from '@/enum/dict.js';
+  import { lbjtList } from '@/enum/dict.js';
   import { levelList } from '@/enum/dict.js';
 
   export default {
@@ -142,7 +140,7 @@
         form: {},
         detailData: {},
         columns: [
-        {
+          {
             width: 45,
             type: 'index',
             columnKey: 'index',
@@ -250,15 +248,14 @@
             minWidth: 200,
             showOverflowTooltip: true,
             formatter: (row, column) => {
-       
               return row.provenance && row.provenance.length
                 ? row.provenance
-                    .map((item) => this.getDictValue('产地', item ))
+                    .map((item) => this.getDictValue('产地', item))
                     .join(',')
                 : '';
             }
           },
-       
+
           {
             width: 130,
             prop: 'modelType',
@@ -280,6 +277,20 @@
             slot: 'brand',
             align: 'center'
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center'
+          },
           {
             width: 150,
             prop: 'arrivalWay',
@@ -303,12 +314,13 @@
             label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
-              if(row.produceType){
-                return row.produceType.map(item=>{
-                  return lbjtList[item]
-                }).toString()
+              if (row.produceType) {
+                return row.produceType
+                  .map((item) => {
+                    return lbjtList[item];
+                  })
+                  .toString();
               }
-          
             }
           },
 
@@ -339,8 +351,8 @@
     created() {
       this.requestDict('产地');
       this.requestDict('生产类型');
+
       this.getDetailData(this.businessId);
-      
     },
     methods: {
       downloadFile(file) {

+ 20 - 6
src/views/bpm/handleTask/components/purchaseNeedManage/inventoryTable.vue

@@ -188,8 +188,7 @@
           style="margin-bottom: 20px"
           :prop="'datasource.' + scope.$index + '.files'"
         >
-          <fileMain v-model="scope.row.files" ></fileMain>
-
+          <fileMain v-model="scope.row.files"></fileMain>
         </el-form-item>
       </template>
       <template v-slot:technicalDrawings="scope">
@@ -197,8 +196,7 @@
           style="margin-bottom: 20px"
           :prop="'datasource.' + scope.$index + '.technicalDrawings'"
         >
-          <fileMain v-model="scope.row.technicalDrawings" ></fileMain>
-
+          <fileMain v-model="scope.row.technicalDrawings"></fileMain>
         </el-form-item>
       </template>
 
@@ -282,7 +280,6 @@
     ></product-list>
     <head-list ref="headRef" @changeParent="changeAnswer"></head-list>
     <timeDialog @chooseTime="chooseTime" ref="timeDialogRef"></timeDialog>
-
   </el-form>
 </template>
 <script>
@@ -300,7 +297,8 @@
       // fileMain,
       productList,
       fileUpload,
-      headList,timeDialog
+      headList,
+      timeDialog
     },
     data() {
       const defaultForm = {
@@ -365,6 +363,22 @@
             label: '规格',
             slot: 'specification'
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
           {
             width: 80,
             prop: 'totalCount',

+ 32 - 23
src/views/bpm/handleTask/components/purchaseOrder/detailDialog.vue

@@ -13,28 +13,28 @@
             {{ form.sourceTypeName }}
           </el-form-item>
         </el-col>
- 
+
         <el-col :span="8">
           <el-form-item label="项目名称:" prop="projectName">
             {{ form.projectName }}
           </el-form-item>
         </el-col>
-        <el-col :span="8" v-if="form.relationType==4">
+        <el-col :span="8" v-if="form.relationType == 4">
           <el-form-item label="合同名称:" prop="contractName">
             {{ form.contractName }}
           </el-form-item>
         </el-col>
-        <el-col :span="8" v-if="form.relationType==2">
+        <el-col :span="8" v-if="form.relationType == 2">
           <el-form-item label="采购计划名称:" prop="relationName">
             {{ form.relationName }}
           </el-form-item>
         </el-col>
-        <el-col :span="8" v-if="form.relationType==1">
+        <el-col :span="8" v-if="form.relationType == 1">
           <el-form-item label="采购需求单:" prop="relationName">
             {{ form.relationName }}
           </el-form-item>
         </el-col>
-        <el-col :span="8" v-if="form.relationType==3">
+        <el-col :span="8" v-if="form.relationType == 3">
           <el-form-item label="采购核价单:" prop="relationName">
             {{ form.relationName }}
           </el-form-item>
@@ -49,13 +49,13 @@
             {{ form.requireUserName }}
           </el-form-item>
         </el-col>
-      
+
         <el-col :span="8">
           <el-form-item label="结算方式:" prop="settlementModeName">
             {{ detailData.settlementModeName }}
           </el-form-item>
         </el-col>
-   
+
         <el-col :span="8">
           <el-form-item label="优惠总金额:" prop="payAmount">
             {{ form.payAmount }}元
@@ -67,15 +67,15 @@
           </el-form-item>
         </el-col>
         <el-col :span="8">
-            <el-form-item prop="orderFiles" label="附件:">
-              <fileMain v-model="form.orderFiles" type="view"></fileMain>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item prop="remark" label="备注:">
-              {{ form.remark }}
-            </el-form-item>
-          </el-col>
+          <el-form-item prop="orderFiles" label="附件:">
+            <fileMain v-model="form.orderFiles" type="view"></fileMain>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item prop="remark" label="备注:">
+            {{ form.remark }}
+          </el-form-item>
+        </el-col>
       </el-row>
       <headerTitle title="基本信息"></headerTitle>
       <el-row>
@@ -105,7 +105,6 @@
           <el-form-item label="采购方地址:" prop="partaAddress">
             {{ form.partaAddress }}
           </el-form-item>
-      
         </el-col>
 
         <el-col :span="12">
@@ -517,12 +516,22 @@
                 : '';
             }
           },
-          // {
-          //   width: 120,
-          //   prop: 'deliveryDays',
-          //   label: '交期(天)',
-          //   slot: 'deliveryDays'
-          // },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
           {
             width: 160,
             prop: 'deliveryDeadline',

+ 17 - 1
src/views/bpm/handleTask/components/purchaseOrder/invoice/receiptInfo.vue

@@ -375,6 +375,22 @@
                 : '';
             }
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
           {
             prop: 'productionDate',
             label: '生产日期',
@@ -409,7 +425,7 @@
             slot: 'guaranteePeriodDeadline',
             align: 'center'
           },
-                {
+          {
             width: 120,
             prop: 'isComeCheck',
             label: '是否来料检验',

+ 16 - 0
src/views/bpm/handleTask/components/purchaseOrder/invoiceConfirm/detailDialog.vue

@@ -395,6 +395,22 @@
                     .join(',')
                 : '';
             }
+          },
+                    {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
           },
           {
             prop: 'productionDate',

+ 16 - 7
src/views/bpm/handleTask/components/purchaseOrder/outSourceSend/detailDialog.vue

@@ -387,13 +387,22 @@
                 : '';
             }
           },
-          // {
-          //   width: 120,
-          //   prop: 'deliveryDays',
-          //   label: '交期(天)',
-          //   slot: 'deliveryDays',
-          //   align: 'center'
-          // },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
           {
             width: 200,
             prop: 'guaranteePeriod',

+ 16 - 0
src/views/bpm/handleTask/components/purchaseOrder/returnGoods/detailDialog.vue

@@ -395,6 +395,22 @@
                     .join(',')
                 : '';
             }
+          },
+                    {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
           },
           {
             width: 220,

+ 25 - 7
src/views/bpm/handleTask/components/purchasePlanManage/detailDialog.vue

@@ -180,7 +180,9 @@
       </el-tabs>
     </el-form>
     <timeDialog ref="timeDialogRef" :view="true"></timeDialog>
-    <div class="title" v-if="['3', '4', '5'].includes(form.sourceType)"> 入库单信息</div>
+    <div class="title" v-if="['3', '4', '5'].includes(form.sourceType)">
+      入库单信息</div
+    >
 
     <div v-if="taskDefinitionKey == 'storeManagerApprove'">
       <add
@@ -332,7 +334,7 @@
             width: 100,
             prop: 'totalCount',
             label: '计量数量',
-            align: 'center',
+            align: 'center'
             // slot: 'totalCount'
           },
           {
@@ -358,7 +360,7 @@
             label: '入库仓库',
             align: 'center'
           },
- 
+
           {
             width: 120,
             prop: 'totalWeight',
@@ -366,7 +368,7 @@
             slot: 'totalWeight',
             align: 'center'
           },
-       
+
           {
             width: 130,
             prop: 'modelType',
@@ -382,6 +384,23 @@
             align: 'center',
             slot: 'specification'
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
+
           {
             width: 150,
             prop: 'arrivalWay',
@@ -453,7 +472,7 @@
         const data = await getplanDetail(id);
         this.loading = false;
         if (data) {
-          data.purchaseDate=data.createTime
+          data.purchaseDate = data.createTime;
           let codeList = data.detailList.map((item) => item.productCode);
           let inventoryTotalList = await getInventoryTotalAPI(codeList);
           data.detailList.forEach((item) => {
@@ -478,7 +497,6 @@
         this.$refs.contactDetailDialogRef.open(row);
       },
       async getTableValue() {
-
         return {
           returnStorageData:
             this.$refs.inoutBoundRef &&
@@ -501,7 +519,7 @@
     font-weight: 800;
     margin-top: 15px;
   }
-    .headbox {
+  .headbox {
     display: flex;
     justify-content: space-between;
     align-items: center;

+ 21 - 4
src/views/bpm/handleTask/components/saleOrder/entrustedReceive/detailDialog.vue

@@ -133,9 +133,11 @@
   import { getPSaleEntrustedReceiveDetailAPI } from '@/api/bpm/components/saleManage/entrustedReceive';
   import { deepClone } from '@/components/FormGenerator/utils/index';
   // import fileMain from '@/components/addDoc/index.vue';
+  import dictMixins from '@/mixins/dictMixins';
 
   export default {
-    // components: { fileMain },
+    mixins: [dictMixins],
+
     props: {
       businessId: {
         default: ''
@@ -195,6 +197,22 @@
             label: '规格',
             slot: 'specification',
             align: 'center'
+          },
+             {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
           },
           {
             width: 200,
@@ -284,9 +302,7 @@
             prop: 'taxRate',
             label: '税率',
             formatter: (_row, _column, cellValue) => {
-              return _row.taxRate
-                ? _row.taxRate+'%'
-                : '';
+              return _row.taxRate ? _row.taxRate + '%' : '';
             },
             align: 'center'
           },
@@ -378,6 +394,7 @@
     },
     created() {
       this.getDetailData(this.businessId);
+
     },
     methods: {
       downloadFile(file) {

+ 14 - 42
src/views/bpm/handleTask/components/saleOrder/exceptionManagement/addOrEditDialog.vue

@@ -262,50 +262,22 @@
             showOverflowTooltip: true,
             align: 'center'
           },
-          // {
-          //   width: 160,
-          //   prop: 'pricingWay',
-          //   label: '计价方式',
-          //   slot: 'pricingWay',
-          //   align: 'center',
-          //   formatter: (row, column) => {
-          //     return row.pricingWay == 1
-          //       ? '按数量计费'
-          //       : row.pricingWay == 2
-          //       ? '按重量计费'
-          //       : '';
-          //   }
-          // },
-          // {
-          //   width: 100,
-          //   prop: 'singlePrice',
-          //   label: '单价',
-          //   slot: 'singlePrice',
-          //   align: 'center'
-          // },
-
-          // {
-          //   width: 100,
-          //   prop: 'totalPrice',
-          //   label: '合计',
-          //   align: 'center'
-          // },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
 
-          // {
-          //   minWidth: 80,
-          //   prop: 'receiveTotalWeight',
-          //   label: '重量',
-          //   showOverflowTooltip: true,
-          //   align: 'center'
-          // },
-          // {
-          //   minWidth: 100,
-          //   prop: 'weightUnit',
-          //   label: '重量单位',
-          //   showOverflowTooltip: true,
-          //   align: 'center'
-          // },
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
 
+          },
           {
             width: 220,
             prop: 'describes',

+ 30 - 10
src/views/bpm/handleTask/components/saleOrder/invoice/detailDialog.vue

@@ -306,6 +306,22 @@
             slot: 'specification',
             align: 'center'
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
           {
             minWidth: 160,
             prop: 'productionCodes',
@@ -340,7 +356,8 @@
             prop: 'goodsLevel',
             label: '物品级别',
             formatter: (_row, _column, cellValue) => {
-              return levelList.find(item=>item.value==_row.goodsLevel)?.label
+              return levelList.find((item) => item.value == _row.goodsLevel)
+                ?.label;
             },
             align: 'center'
           },
@@ -399,15 +416,17 @@
             align: 'center'
           },
 
-          this.clientEnvironmentId == '4'?{
-            width: 120,
-            prop: 'blockCount',
-            label: '发货块数',
-            slot: 'blockCount',
-            align: 'center',
-          }:{
-             width: 1,
-          },
+          this.clientEnvironmentId == '4'
+            ? {
+                width: 120,
+                prop: 'blockCount',
+                label: '发货块数',
+                slot: 'blockCount',
+                align: 'center'
+              }
+            : {
+                width: 1
+              },
           {
             width: 120,
             prop: 'singleWeight',
@@ -586,6 +605,7 @@
       await this.getDetailData(this.businessId);
       this.requestDict('产地');
       this.requestDict('生产类型');
+
       if (this.taskDefinitionKey == 'storemanApprove') {
         this.tabOptions.push({ key: 'outBound', name: '出库单' });
         this.activeComp = 'outBound';

+ 14 - 0
src/views/bpm/handleTask/components/saleOrder/invoiceConfirm/detailDialog.vue

@@ -488,6 +488,20 @@
             showOverflowTooltip: true,
             align: 'center'
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center'
+          },
           {
             minWidth: 100,
             prop: 'weightUnit',

+ 33 - 1
src/views/bpm/handleTask/components/saleOrder/returnGoods/detailDialog.vue

@@ -169,7 +169,7 @@
     mixins: [dictMixins],
     components: {
       inventoryTabledetail,
-      inventoryTable,
+      inventoryTable
       // fileMain
     },
     data() {
@@ -252,7 +252,22 @@
             slot: 'specification',
             align: 'center'
           },
+            {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
 
+          },
           {
             width: 200,
             prop: 'customerMark',
@@ -590,6 +605,22 @@
             showOverflowTooltip: true,
             align: 'center'
           },
+          {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
+          },
           {
             minWidth: 100,
             prop: 'weightUnit',
@@ -641,6 +672,7 @@
     created() {
       this.getDetailData(this.businessId);
       this.requestDict('产地');
+
     },
     methods: {
       downloadFile(file) {

+ 16 - 0
src/views/bpm/handleTask/components/saleOrder/saleReturnGoods/detailDialog.vue

@@ -383,6 +383,22 @@
             label: '重量单位',
             showOverflowTooltip: true,
             align: 'center'
+          },
+              {
+            minWidth: 120,
+            prop: 'modelKey',
+            label: '机型',
+            showOverflowTooltip: true,
+            align: 'center',
+
+          },
+          {
+            minWidth: 120,
+            prop: 'colorKey',
+            showOverflowTooltip: true,
+            label: '颜色',
+            align: 'center',
+
           },
           {
             prop: 'provenance',

+ 2 - 2
vue.config.js

@@ -30,7 +30,7 @@ module.exports = {
     // 代理跨域的配置
     headers: {
       // 允许跨域访问子应用页面
-      'Access-Control-Allow-Origin': '*',
+      'Access-Control-Allow-Origin': '*'
     },
     proxy: {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
@@ -39,7 +39,7 @@ module.exports = {
         // target: 'http://124.71.68.31:50001',
         // target: 'http://192.168.1.105:18086',
         // target: 'http://192.168.1.251:18186',
-        target: 'http://192.168.1.105:18086',
+        target: 'http://192.168.1.144:18086',
         changeOrigin: true, // 只有这个值为true的情况下 s才表示开启跨域
         pathRewrite: {
           '^/api': ''