Răsfoiți Sursa

委外场景

yusheng 1 an în urmă
părinte
comite
9f4b8398ad

+ 23 - 12
src/enum/dict.js

@@ -50,17 +50,17 @@ export default {
   工作流任务分配规则的类型: 'bpm_task_assign_rule_type',
   工作流任务分配自定义脚本: 'bpm_task_assign_script',
   资质审查: 'certificate',
-  文档类型:'doc_type',
+  文档类型: 'doc_type',
   项目状态: 'pro_projects_status',
   项目类型: 'pro_projects_type',
   预算单位: 'pro_projects_budget_unit',
   市场活动类型: 'activity_type',
-  计量单位:'measuring_uint',
-  所属行业:'industry',
-  纳税人资质:'taxpayer',
-  企业荣誉:"enterprise_honor",
-  企业规模:'enterprise_size',
-  产地:'purchase_origin'
+  计量单位: 'measuring_uint',
+  所属行业: 'industry',
+  纳税人资质: 'taxpayer',
+  企业荣誉: 'enterprise_honor',
+  企业规模: 'enterprise_size',
+  产地: 'purchase_origin'
 };
 
 export const numberList = [
@@ -208,12 +208,23 @@ export const outputSceneStateEnum = [
   { code: 12, label: '配料出库' }
 ];
 // 计价方式
-export const pricingWayList= [
+export const pricingWayList = [
   { id: 1, name: '按数量计费' },
   { id: 2, name: '按重量计费' }
-]
+];
 //来源类型
-export const relationType= {
-  1: '收货确认单',
+export const relationType = {
+  1: '收货确认单'
+};
+
+//委外订单来源类型
 
-}
+export const orderSourceType = ['3', '4', '5', '6', '7'];
+
+//委外场景
+export const outsourceSceneList = [
+  { value: 1, label: '首工序委外' },
+  { value: 2, label: '单工序' },
+  { value: 3, label: '多工序' },
+  { value: 4, label: '首工序及多工序' }
+];

+ 40 - 35
src/views/purchasingManage/purchaseOrder/components/addDialog.vue

@@ -38,7 +38,6 @@
           </el-form-item>
 
           <el-form-item label="来源类型" prop="relationType">
-    
             <el-select
               v-model="form.relationType"
               filterable
@@ -53,17 +52,23 @@
             </el-select>
           </el-form-item>
           <el-form-item
-            prop="remark"
-            label="是否首工序"
-            v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+            prop="outsourceScene"
+            label="委外场景"
+            v-if="
+              orderSourceType.includes(form.sourceType) && form.outsourceScene
+            "
           >
-            <el-radio-group v-model="form.isFirstProcess">
-              <el-radio v-for="item in processList" :label="item.value">{{
-                item.label
-              }}</el-radio>
-            </el-radio-group>
+            <el-select v-model="form.outsourceScene" disabled    style="width: 100%">
+              <el-option
+                :value="item.value"
+                :label="item.label"
+                v-for="item in outsourceSceneList"
+                :key="item.value"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
-       
+
           <el-form-item
             v-if="form.relationType == 1"
             label="采购需求单"
@@ -80,7 +85,6 @@
             label="采购计划单"
             prop="relationName"
           >
-
             <el-input
               @click.native="handPurchasePlan"
               v-model="form.relationName"
@@ -130,7 +134,6 @@
           </el-form-item>
         </el-col>
         <el-col :span="12">
-       
           <el-form-item label="项目名称" prop="projectName">
             <el-input
               clearable
@@ -147,7 +150,6 @@
             >
             </DictSelection>
           </el-form-item>
-       
 
           <el-form-item label="需求人" prop="requireUserId">
             <personSelect
@@ -318,7 +320,7 @@
         <el-tab-pane
           label="带料清单"
           name="2"
-          v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+          v-if="orderSourceType.includes(form.sourceType)"
         >
           <inventoryTable
             ref="rawDetailListRef"
@@ -334,7 +336,7 @@
         <el-tab-pane
           label="产出清单"
           name="3"
-          v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+          v-if="orderSourceType.includes(form.sourceType)"
         >
           <inventoryTable
             ref="outputDetailListRef"
@@ -454,7 +456,11 @@
 
 <script>
   import { emailReg, telReg } from 'ele-admin';
-  import { acceptUnpackoptions } from '@/enum/dict';
+  import {
+    acceptUnpackoptions,
+    orderSourceType,
+    outsourceSceneList
+  } from '@/enum/dict';
   import inventoryTable from './inventoryTable.vue';
   import planTableList from './planTableList.vue';
   import fileUpload from '@/components/upload/fileUpload';
@@ -470,7 +476,6 @@
   import supplierGoodsListDialog from '@/views/purchasingManage/purchaseOrder/components/supplierGoodsListDialog.vue';
   import {
     addInformation,
-    getInquiry2Order,
     getProductsBySource,
     getPurchaseinquiryAPI,
     getpurchaseorderDetail,
@@ -561,6 +566,8 @@
       };
 
       return {
+        orderSourceType,
+        outsourceSceneList,
         processList: [
           {
             label: '是',
@@ -865,12 +872,12 @@
       },
 
       async putTableValue({ productList, rawDetailList, outputDetailList }) {
-        let totalPrice=0;
-        productList.forEach(item=>{
-          totalPrice+=item.totalPrice
-        })
+        let totalPrice = 0;
+        productList.forEach((item) => {
+          totalPrice += item.totalPrice;
+        });
         this.$store.commit('order/setAllcountAmount', totalPrice);
-        this.$set(this.form,'totalPrice',totalPrice)
+        this.$set(this.form, 'totalPrice', totalPrice);
 
         this.$refs.inventoryTable &&
           this.$refs.inventoryTable.putTableValue(productList);
@@ -1061,14 +1068,13 @@
           return this.$message.error('请先选择名称');
         }
       },
-      sourceTypeChange(){
-        this.valueChange()
-
+      sourceTypeChange() {
+        this.valueChange();
       },
       handleChangeRelationType(val) {
-        this.valueChange()
+        this.valueChange();
       },
-      valueChange(){
+      valueChange() {
         this.form.purchasePlanId = '';
         this.form.purchasePlanNo = '';
         this.form.purchasePlanName = '';
@@ -1078,8 +1084,8 @@
         this.form.relationName = '';
         this.$nextTick(() => {
           this.$refs.inventoryTable &&
-          this.$refs.inventoryTable.putTableValue([]);
-        })
+            this.$refs.inventoryTable.putTableValue([]);
+        });
       },
       //选择下拉框
       onchangeLink(selectedOptions) {
@@ -1137,7 +1143,6 @@
         //  this.form.productList=productList
 
         this.$nextTick(() => {
-       
           let firstLink =
             this.linkNameOptions.find((item) => item.ifChief == 1) || {};
           this.form = Object.assign({}, this.form, {
@@ -1196,7 +1201,7 @@
         let item = {
           id: this.form.contractId
         };
-        this.$refs.selectContractRef.open(item,this.form.relationType);
+        this.$refs.selectContractRef.open(item, this.form.relationType);
       },
       //清除合同
       clearContrcat() {
@@ -1282,11 +1287,11 @@
         if (type == 'add') {
           this.isUpdate = false;
           if (this.enterprisePage.length > 0) {
-            this.form.partaName = this.enterprisePage[0].name;
+            this.form.partaName = this.enterprisePage[0]?.name;
             this.form.partaUnifiedSocialCreditCode =
-              this.enterprisePage[0].unifiedSocialCreditCode;
-            this.form.partaFax = this.enterprisePage[0].fax;
-            this.form.partaAddress = this.enterprisePage[0].address;
+              this.enterprisePage[0]?.unifiedSocialCreditCode;
+            this.form.partaFax = this.enterprisePage[0]?.fax;
+            this.form.partaAddress = this.enterprisePage[0]?.address;
           }
         } else {
           this.isUpdate = true;

+ 24 - 12
src/views/purchasingManage/purchaseOrder/components/detailDialog.vue

@@ -165,15 +165,25 @@
               ></el-input>
             </el-form-item>
             <el-form-item
-              prop="remark"
-              label="是否首工序"
-              v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+              prop="outsourceScene"
+              label="委外场景"
+              v-if="
+                orderSourceType.includes(form.sourceType) && form.outsourceScene
+              "
             >
-              <el-radio-group v-model="form.isFirstProcess" disabled>
-                <el-radio v-for="item in processList" :label="item.value">{{
-                  item.label
-                }}</el-radio>
-              </el-radio-group>
+              <el-select
+                v-model="form.outsourceScene"
+                disabled
+                style="width: 100%"
+              >
+                <el-option
+                  :value="item.value"
+                  :label="item.label"
+                  v-for="item in outsourceSceneList"
+                  :key="item.value"
+                >
+                </el-option>
+              </el-select>
             </el-form-item>
             <el-form-item label="需求人:" prop="requireUserName">
               <el-input v-model="form.requireUserName" disabled></el-input>
@@ -367,7 +377,7 @@
         <el-tab-pane
           label="带料清单"
           name="2"
-          v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+          v-if="orderSourceType.includes(form.sourceType)"
         >
           <ele-pro-table
             ref="table"
@@ -385,7 +395,7 @@
         <el-tab-pane
           label="产出清单"
           name="3"
-          v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+          v-if="orderSourceType.includes(form.sourceType)"
         >
           <ele-pro-table
             ref="table"
@@ -441,7 +451,7 @@
   import fileMain from '@/components/addDoc/index.vue';
   import billDetailDialog from '@/views/purchasingManage/purchaseOrder/components/billDetailDialog.vue';
   import modalTitle from '@/BIZComponents/modalTitle.vue';
-
+  import { orderSourceType, outsourceSceneList } from '@/enum/dict';
   export default {
     mixins: [dictMixins],
     components: {
@@ -455,6 +465,8 @@
     },
     data() {
       return {
+        orderSourceType,
+        outsourceSceneList,
         processList: [
           {
             label: '是',
@@ -736,7 +748,7 @@
             prop: 'taxRate',
             label: '税率',
             formatter: (row, column) => {
-              return  row.taxRate&&row.taxRate+'%'
+              return row.taxRate && row.taxRate + '%';
             },
             align: 'center'
           },

+ 5 - 2
src/views/purchasingManage/purchasePlanManage/components/addDialog.vue

@@ -198,7 +198,7 @@
       <el-tab-pane
         label="带料清单"
         name="2"
-        v-if="['3', '4', '5', '6','7'].includes(form.sourceType)"
+        v-if="orderSourceType.includes(form.sourceType)"
       >
         <inventoryTable
           :needInquiry="form.needInquiry"
@@ -209,7 +209,7 @@
       <el-tab-pane
         label="产出清单"
         name="3"
-        v-if="['3', '4', '5', '6','7'].includes(form.sourceType)"
+        v-if="orderSourceType.includes(form.sourceType)"
       >
         <inventoryTable
           :needInquiry="form.needInquiry"
@@ -265,6 +265,8 @@
   import fileMain from '@/components/addDoc/index.vue';
   import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
   import modalTitle from '@/BIZComponents/modalTitle.vue';
+  import { orderSourceType } from '@/enum/dict';
+
   export default {
     props: {
       categoryTreeList: Array,
@@ -311,6 +313,7 @@
       };
 
       return {
+        orderSourceType,
         activeName: '1',
         fullscreen: false,
         visible: false,

+ 6 - 2
src/views/purchasingManage/purchasePlanManage/components/detailDialog.vue

@@ -152,7 +152,7 @@
         <el-tab-pane
           label="带料清单"
           name="2"
-          v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+          v-if="orderSourceType.includes(form.sourceType)"
         >
           <ele-pro-table
             ref="table"
@@ -189,7 +189,7 @@
         <el-tab-pane
           label="产出清单"
           name="3"
-          v-if="['3', '4', '5', '6', '7'].includes(form.sourceType)"
+          v-if="orderSourceType.includes(form.sourceType)"
         >
           <ele-pro-table
             ref="table"
@@ -253,6 +253,9 @@
   import fileMain from '@/components/addDoc/index.vue';
   import modalTitle from '@/BIZComponents/modalTitle.vue';
   import outsourcing from './outsourcing.vue';
+  import {
+    orderSourceType,
+  } from '@/enum/dict';
   export default {
     mixins: [dictMixins],
     components: {
@@ -270,6 +273,7 @@
     },
     data() {
       return {
+        orderSourceType,
         activeComp: 'main',
         tabOptions: [
           { key: 'main', name: '计划详情' },