Просмотр исходного кода

采购订单发票组件优化:新增仓库选择配置项,完善来源类型条件渲染和表单字段

yusheng 9 месяцев назад
Родитель
Сommit
1028214122

+ 11 - 4
src/views/purchasingManage/purchaseOrder/invoice/components/inventoryTable.vue

@@ -845,7 +845,8 @@
           }
         ],
         isTotalCount: 0, //采购收货数量是否限制不能大于采购总数 //0否 1是
-        isBatchNo: 0
+        isBatchNo: 0,
+        isWarehouseId:0
       };
     },
     created() {
@@ -867,6 +868,12 @@
       }).then((res) => {
         this.isBatchNo = res.value;
       });
+      //采购收货是否默认选择仓库(0:否 1:是)
+      parameterGetByCode({
+        code: 'emo_purchaseOrder_invoice_warehouseId'
+      }).then((res) => {
+        this.isWarehouseId = res.value;
+      });
     },
 
     computed: {},
@@ -1010,7 +1017,7 @@
         );
       },
       changeParentMain(obj) {
-        obj.forEach( (item, index) => {
+        obj.forEach((item, index) => {
           let row = JSON.parse(JSON.stringify(this.defaultForm));
           row.key = this.form.datasource.length + 1;
           let parasm = row;
@@ -1087,7 +1094,7 @@
           this.form.datasource.push(row);
         });
         this.form.datasource.forEach((item, index) => {
-          if (!item.warehouseId) {
+          if (!item.warehouseId&&this.isWarehouseId==1) {
             this.warehouseChange(index, item);
           }
         });
@@ -1194,7 +1201,7 @@
                 item.colorKey?.split(',')
               );
             }
-            if (!item.warehouseId) {
+            if (!item.warehouseId&&this.isWarehouseId==1) {
               this.warehouseChange(index, item);
             }
             item.guaranteePeriodUnitCode = item.guaranteePeriodUnitCode

+ 49 - 29
src/views/saleManage/saleOrder/components/addDialog.vue

@@ -32,7 +32,32 @@
             >
             </DictSelection>
           </el-form-item>
-
+          <el-form-item label="选择合同" prop="contractName" v-if="form.relationType==3">
+            <el-input
+              clearable
+              v-model="form.contractName"
+              @click.native="handleContractBtn"
+              @clear="clearContrcat"
+              placeholder="请选择"
+              :disabled="!!projectData.contractId"
+            />
+          </el-form-item>
+          <el-form-item label="项目名称" prop="projectName" v-if="form.relationType==4">
+            <el-input
+              clearable
+              v-model="form.projectName"
+              @clear="clearContrcat('project')"
+              placeholder="请输入"
+              style="width: calc(100% - 80px)"
+            />
+            <el-button
+              style="margin-left: 5px"
+              size="small"
+              type="primary"
+              @click.native="handleProjectBtn"
+              >选择
+            </el-button>
+          </el-form-item>
           <el-form-item label="销售部门" prop="salesDeptId">
             <ele-tree-select
               clearable
@@ -45,6 +70,7 @@
               default-expand-all
             />
           </el-form-item>
+
           <el-form-item label="订单类型" prop="needProduce">
             <el-radio
               v-model="form.needProduce"
@@ -79,17 +105,22 @@
         </el-col>
 
         <el-col :span="12">
-          <el-form-item label="选择合同" prop="contractName">
-            <el-input
+          <el-form-item label="来源类型" prop="relationType">
+            <el-select
+              v-model="form.relationType"
+              filterable
               clearable
-              v-model="form.contractName"
-              @click.native="handleContractBtn"
-              @clear="clearContrcat"
-              placeholder="请选择"
-              :disabled="!!projectData.contractId"
-            />
+              style="width: 100%"
+              @change="handleChangeRelationType"
+            >
+              <el-option :value="1" label="商机"></el-option>
+              <el-option :value="2" label="报价"></el-option>
+              <el-option :value="3" label="销售合同"></el-option>
+              <el-option :value="4" label="项目"></el-option>
+            </el-select>
           </el-form-item>
-          <el-form-item label="合同编号" prop="contractNumber">
+
+          <el-form-item label="合同编号" prop="contractNumber" v-if="form.relationType==3">
             <el-input
               :disabled="!!form.contractId"
               v-model="form.contractNumber"
@@ -105,22 +136,7 @@
             >
             </DictSelection>
           </el-form-item>
-          <el-form-item label="项目名称" prop="projectName">
-            <el-input
-              clearable
-              v-model="form.projectName"
-              @clear="clearContrcat('project')"
-              placeholder="请输入"
-              style="width: calc(100% - 80px)"
-            />
-            <el-button
-              style="margin-left: 5px"
-              size="small"
-              type="primary"
-              @click.native="handleProjectBtn"
-              >选择
-            </el-button>
-          </el-form-item>
+
           <el-form-item
             label="总数"
             prop="totalPlanNum"
@@ -303,7 +319,7 @@
         :isGoods="true"
         :isSinglePrice="form.needProduce != 2"
         :defTaxRate="13"
-        :isBatchNo="isBatchNo==1&&form.saleTypeName.includes('受托')"
+        :isBatchNo="isBatchNo == 1 && form.saleTypeName.includes('受托')"
       ></inventoryTable>
       <headerTitle
         title="类型清单"
@@ -558,7 +574,11 @@
         partbTel: '',
         needProduce: 1,
         planNumUnit: '立方',
-        receivePerson: ''
+        receivePerson: '',
+        relationType:'',
+        relationName:'',
+        relationCode:'',
+        relationId:''
       };
 
       return {
@@ -630,7 +650,7 @@
         isUpdate: false,
         enterprisePage: [],
         businessId: '',
-        isBatchNo:0
+        isBatchNo: 0
       };
     },
     computed: {