Эх сурвалжийг харах

解决申请单和变更单bug

黄梓星 2 жил өмнө
parent
commit
8574178206

+ 39 - 4
src/views/material/changeApply/add.vue

@@ -65,7 +65,9 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="四级分类" prop="fourClass">
-                <el-input :disabled="disable" v-model="basicForm.fourClass"></el-input>
+                <el-input readonly :disabled="disable" v-model="basicForm.fourClass">
+                  <el-button :disabled="disable" slot="append" icon="el-icon-more" @click="chooseFourClass"></el-button>
+                </el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -363,6 +365,13 @@
       :selectData="selectData2"
       :single="true"
     />
+
+    <fourClass
+      ref="fourClass"
+      @doSubmit="acceptFourClass"
+      :selectData="selectData3"
+      :single="true"
+    />
   </div>
 </template>
 
@@ -372,12 +381,17 @@ import factory from '@/components/PopDialog/productFactory.vue'
 import { addChangeList, getMaterialDetails, getChangeDetails, editChangeList } from '@/api/changeApply/basic'
 // 生产厂商/代理人调用用于回显
 import { getProductFactory } from '@/api/changeApply/basic'
+// 四级分类
+import fourClass from '@/components/PopDialog/fourClass.vue'
+// 调用物料分类详情接口用于数据回显
+import { getDetail } from '@/api/classify/basic';
 export default {
   name: 'applyAdd',
   dicts: ['sys_storage_condition', 'sys_conditions_carriage', 'sys_medicine', 'medical_instruments', 'curing_type'],
   components: {
     popDialog,
-    factory
+    factory,
+    fourClass
   },
   props: ['pageStu', 'row', 'disable'],
   model: {
@@ -391,7 +405,7 @@ export default {
       isControl: true,
       basicForm: {
         code: '',
-        orgId: '德荣医疗科技股份有限公司',
+        orgId: '德荣集团',
         // 物料id
         materialId:'',
         materialCode: '',
@@ -467,7 +481,8 @@ export default {
       // 弹窗
       name: '',
       selectData: [],
-      selectData2: []
+      selectData2: [],
+      selectData3: []
     }
   },
   // watch: {
@@ -709,6 +724,26 @@ export default {
       this.$refs.factoryOrman.blur()
       this.$refs.factory.init()
     },
+    // 选择四级分类
+    acceptFourClass(selections) {
+      console.log('收到的四级分类',selections)
+      this.getTreeDetails(selections.id)
+    },
+    // 四级分类显示列表
+    chooseFourClass() {
+      this.$refs.fourClass.init()
+    },
+    // 选择四级分类后需要根据id再次查询一下123级分类
+    getTreeDetails(id) {
+      getDetail(id).then(res => {
+        if (res.code === 200) {
+          this.basicForm.oneClass = res.data.oneClass
+          this.basicForm.twoClass = res.data.twoClass
+          this.basicForm.threeClass = res.data.threeClass
+          this.basicForm.fourClass = res.data.fourClass
+        }
+      })
+    },
   }
 }
 </script>

+ 31 - 13
src/views/material/requisition/add.vue

@@ -11,8 +11,8 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="申请组织" prop="orgId">
-                <el-input disabled v-model="basicForm.orgId"></el-input>
+              <el-form-item label="申请组织" prop="orgName">
+                <el-input disabled v-model="basicForm.orgName"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -456,7 +456,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="业务线" prop="businessLine">
+              <el-form-item label="业务线" prop="businessLine" :rules="{required: isOneClass, message: '骨科、介入、检验、普耗、设备类物料产线必须输入对应的业务线', trigger: 'blur'}">
                 <el-select
                     ref="lines"
                     v-model="basicForm.businessLine"
@@ -478,7 +478,7 @@
           <el-row :gutter="20">
             <el-col :span="8">
               <el-form-item label="物料申请人" prop="proposerId">
-                <el-input disabled v-model="this.$store.state.user.nickName"></el-input>
+                <el-input disabled v-model="basicForm.createName || this.$store.state.user.nickName"></el-input>
                 <el-input v-show="false" v-model="basicForm.proposerId"></el-input>
               </el-form-item>
             </el-col>
@@ -728,19 +728,19 @@
             @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="55" />
-              <el-table-column label="物料类别ID" align="center" prop="sort">
+              <el-table-column label="ID" align="center" prop="sort">
                 <template slot-scope="scope">
                   <el-input readonly v-model="scope.row.drugId">
                     <!-- <el-button :disabled="disable" slot="append" icon="el-icon-more" @click="chooseDrug"></el-button> -->
                   </el-input>
                 </template>
               </el-table-column>
-              <el-table-column label="物料类别code" align="center" prop="medicineCode">
+              <el-table-column label="药品类别编码" align="center" prop="medicineCode">
                 <template slot-scope="scope">
                   <el-input readonly v-model="scope.row.drugCode"></el-input>
                 </template>
               </el-table-column>
-              <el-table-column label="物料类别名称" align="center" prop="medicineName">
+              <el-table-column label="药品类别名称" align="center" prop="medicineName">
                 <template slot-scope="scope">
                   <el-input readonly v-model="scope.row.drugName"></el-input>
                 </template>
@@ -982,6 +982,7 @@ export default {
       orgControl: true,
       isStock: false,
       isExp: false,
+      isOneClass: false,
       basicForm: {
         billCode: '',
         orgId: '',
@@ -1091,6 +1092,8 @@ export default {
         puPersonnelId: [{ required: true, message: '请选择采购员', trigger: 'change' }],
         minBatchQty: [{required: true, message: '请输入最小批量', trigger: 'blur'}],
         packExplain: [{required: true, message: '请输入包装说明', trigger: 'blur'}],
+        purchasingOrganization: [{ required: true, message: '请选择默认采购组织', trigger: 'change' }],
+        businessDepartment: [{ required: true, message: '请选择业务部门', trigger: 'change' }],
       },
       basicForm2: {
         // 是否药品
@@ -1162,6 +1165,12 @@ export default {
       console.log('数据', this.row)
       console.log('取VUEX里面的数据:', this.$store.state.user.name)
       this.getDetails(this.row)
+      // 控制效期单位后面的是否可填写
+      if (this.row.expiryDateManagerment == '0') {
+        this.isExp = false
+      } else {
+        this.isExp = true
+      }
       // 生产厂家代理人用于回显
       if (this.row.manufacturerId) {
         this.getFactoryDetails(this.row.manufacturerId)
@@ -1305,6 +1314,12 @@ export default {
           this.basicForm.oneClass = res.data.oneClass
           this.basicForm.twoClass = res.data.twoClass
           this.basicForm.threeClass = res.data.threeClass
+          const classjudge = res.data.oneClass
+          if(classjudge == '介入耗材5' || classjudge == '骨科耗材2' || classjudge == '普通耗材3' || classjudge == '医用设备1' || classjudge == '体外诊断4') {
+            this.isOneClass = true
+          } else {
+            this.isOneClass = false
+          }
         }
       })
     },
@@ -1433,8 +1448,9 @@ export default {
     },
     save() {
       if(this.pageStu == 'edit') {
-        // 申请人取默认值 
-        this.basicForm.proposerId = this.$store.state.user.name
+        if(!this.basicForm.proposerId) {
+          this.basicForm.proposerId = this.$store.state.user.name
+        }
         let sparams = {...this.basicForm, ...{status: 0}}
         sparams.sysMaterialMedcineApply = this.basicForm2
         sparams.sysMaterialMedcineItemApply = this.sysMaterialMedcineItemApply
@@ -1454,8 +1470,9 @@ export default {
         })
       } else {
         // alert('保存传status:0')
-        // 申请人取默认值 
-        this.basicForm.proposerId = this.$store.state.user.name
+        if(!this.basicForm.proposerId) {
+          this.basicForm.proposerId = this.$store.state.user.name
+        }
         let sparams = {...this.basicForm, ...{status: 0}}
         sparams.sysMaterialMedcineApply = this.basicForm2
         sparams.sysMaterialMedcineItemApply = this.sysMaterialMedcineItemApply
@@ -1477,8 +1494,9 @@ export default {
     },
     submit() {
       // alert('提交传status:1')
-      // 申请人取默认值 
-      this.basicForm.proposerId = this.$store.state.user.name
+      if(!this.basicForm.proposerId) {
+          this.basicForm.proposerId = this.$store.state.user.name
+      }
       let sparams = {...this.basicForm, ...{status: 1}}
       sparams.sysMaterialMedcineApply = this.basicForm2
       sparams.sysMaterialMedcineItemApply = this.sysMaterialMedcineItemApply