Przeglądaj źródła

物料变更单中型号和运输条件修改为非必填

002390 2 lat temu
rodzic
commit
b958c192ac
1 zmienionych plików z 79 dodań i 167 usunięć
  1. 79 167
      src/views/material/changeApply/add.vue

+ 79 - 167
src/views/material/changeApply/add.vue

@@ -30,20 +30,10 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="医药物料" prop="medicineMaterial">
-                <el-select
-                    v-model="basicForm.medicineMaterial"
-                    placeholder="医药物料"
-                    clearable
-                    :disabled="disable"
-                    @change="controlMedic"
-                  >
-                    <el-option
-                      v-for="item in options"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value"
-                    />
-                  </el-select>
+                <el-select v-model="basicForm.medicineMaterial" placeholder="医药物料" clearable :disabled="disable"
+                  @change="controlMedic">
+                  <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -68,20 +58,9 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="生产厂家/代理人" prop="factory">
-                <el-select
-                    ref="factoryOrman"
-                    v-model="basicForm.factory"
-                    placeholder="生产厂家/代理人"
-                    clearable
-                    :disabled="disable"
-                    @focus="chooseFactory"
-                  >
-                    <el-option
-                      v-for="item in factoryOptions"
-                      :key="item.id"
-                      :label="item.name"
-                      :value="item.id"
-                    />
+                <el-select ref="factoryOrman" v-model="basicForm.factory" placeholder="生产厂家/代理人" clearable
+                  :disabled="disable" @focus="chooseFactory">
+                  <el-option v-for="item in factoryOptions" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>
                 <!-- <el-input :disabled="disable" v-model="basicForm.factory">
                   <el-button :disabled="disable" slot="append" icon="el-icon-more" @click="test02"></el-button>
@@ -97,36 +76,18 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="存储条件" prop="storageConditions">
-                <el-select
-                    v-model="basicForm.storageConditions"
-                    placeholder="存储条件"
-                    clearable
-                    :disabled="disable"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.sys_storage_condition"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
+                <el-select v-model="basicForm.storageConditions" placeholder="存储条件" clearable :disabled="disable">
+                  <el-option v-for="dict in dict.type.sys_storage_condition" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="运输条件" prop="transportCondition">
-                <el-select
-                    v-model="basicForm.transportCondition"
-                    placeholder="运输条件"
-                    clearable
-                    :disabled="disable"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.sys_conditions_carriage"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
+                <el-select v-model="basicForm.transportCondition" placeholder="运输条件" clearable :disabled="disable">
+                  <el-option v-for="dict in dict.type.sys_conditions_carriage" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
               </el-form-item>
             </el-col>
           </el-row>
@@ -173,19 +134,10 @@
           <el-row :gutter="20">
             <el-col :span="8">
               <el-form-item label="药品" prop="drug">
-                <el-select
-                    v-model="basicForm2.drug"
-                    placeholder="请选择"
-                    clearable
-                    :disabled="disable || isControl"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.sys_medicine"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
+                <el-select v-model="basicForm2.drug" placeholder="请选择" clearable :disabled="disable || isControl">
+                  <el-option v-for="dict in dict.type.sys_medicine" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -195,38 +147,22 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="医疗器械" prop="medicalDevices">
-                <el-select
-                    v-model="basicForm2.medicalDevices"
-                    placeholder="请选择"
-                    clearable
-                    :disabled="disable || isControl"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.medical_instruments"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
+                <el-select v-model="basicForm2.medicalDevices" placeholder="请选择" clearable
+                  :disabled="disable || isControl">
+                  <el-option v-for="dict in dict.type.medical_instruments" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20">
             <el-col :span="8">
               <el-form-item label="养护类型" prop="maintenanceType">
-                <el-select
-                    v-model="basicForm2.maintenanceType"
-                    placeholder="请选择"
-                    clearable
-                    :disabled="disable || isControl"
-                  >
-                    <el-option
-                      v-for="dict in dict.type.curing_type"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    />
-                  </el-select>
+                <el-select v-model="basicForm2.maintenanceType" placeholder="请选择" clearable
+                  :disabled="disable || isControl">
+                  <el-option v-for="dict in dict.type.curing_type" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
               </el-form-item>
             </el-col>
           </el-row>
@@ -268,10 +204,7 @@
       </el-tab-pane>
 
       <el-tab-pane label="修改记录" name="third">
-        <el-table 
-          :data="basicForm.changeRecords"
-          class="request-table"
-          >
+        <el-table :data="basicForm.changeRecords" class="request-table">
           <el-table-column label="字段名称" align="center" prop="pageCondtion" />
           <el-table-column label="变更前" align="center" prop="beforeChangeValue" />
           <el-table-column label="变更后" align="center" prop="afterChangeValue" />
@@ -327,16 +260,8 @@
             </el-col> -->
             <el-col :span="8">
               <el-form-item label="单据状态" prop="status">
-                <el-select 
-                  v-model="basicForm.status"
-                  size="small"
-                  disabled
-                  >
-                  <el-option
-                    v-for="item in statusOptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value">
+                <el-select v-model="basicForm.status" size="small" disabled>
+                  <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value">
                   </el-option>
                 </el-select>
                 <!-- <el-input disabled v-model="basicForm.status"></el-input> -->
@@ -349,7 +274,8 @@
 
     <div class="btn_group">
       <el-col :span="1.5">
-        <el-button type="primary" size="small" plain @click="save" v-if="pageStu == 'add' || pageStu == 'edit'">保存</el-button>
+        <el-button type="primary" size="small" plain @click="save"
+          v-if="pageStu == 'add' || pageStu == 'edit'">保存</el-button>
       </el-col>
       <el-col :span="1.5" style="margin: 0 10px;">
         <el-button type="primary" size="small" plain @click="submit" v-if="pageStu == 'edit'">提交</el-button>
@@ -359,26 +285,11 @@
       </el-col>
     </div>
 
-    <popDialog
-      ref="contractSelect"
-      @doSubmit="selectionsToInput"
-      :selectData="selectData"
-      :single="true"
-    />
+    <popDialog ref="contractSelect" @doSubmit="selectionsToInput" :selectData="selectData" :single="true" />
 
-    <factory
-      ref="factory"
-      @doSubmit="acceptFactory"
-      :selectData="selectData2"
-      :single="true"
-    />
+    <factory ref="factory" @doSubmit="acceptFactory" :selectData="selectData2" :single="true" />
 
-    <fourClass
-      ref="fourClass"
-      @doSubmit="acceptFourClass"
-      :selectData="selectData3"
-      :single="true"
-    />
+    <fourClass ref="fourClass" @doSubmit="acceptFourClass" :selectData="selectData3" :single="true" />
   </div>
 </template>
 
@@ -406,7 +317,7 @@ export default {
     event: 'jugislist'
   },
   data() {
-    return{
+    return {
       factoryOptions: [],
       tabValue: 'first',
       isControl: true,
@@ -414,7 +325,7 @@ export default {
         code: '',
         orgId: '德荣集团',
         // 物料id
-        materialId:'',
+        materialId: '',
         materialCode: '',
         materialName: '',
         materialClassifyId: '',
@@ -436,7 +347,7 @@ export default {
         // 单据信息字段
         createBy: '',
         applicationTime: '',
-        createTime:'',
+        createTime: '',
         updateBy: '',
         updateTime: '',
         approver: '',
@@ -446,30 +357,30 @@ export default {
       options: [{
         value: '0',
         label: '是'
-      },{
+      }, {
         value: '2',
         label: '否'
       }],
       statusOptions: [{
         value: '0', label: '未提交'
-      },{
+      }, {
         value: '1', label: '审批中'
-      },{
+      }, {
         value: '2', label: '已完成'
-      },{
+      }, {
         value: '3', label: '已驳回'
       },],
       basicRules: {
-        materialCode: [{  required: true, message: '请选择物料编码', trigger: 'blur' }],
-        materialName: [{required: true, message: '请填写物料名称', trigger: 'blur'}],
-        specification: [{required: true, message: '请填写规格', trigger: 'blur'}],
-        materialClassifyId: [{required: true, message: '请选择物料分类', trigger: 'blur'}],
-        model: [{required: true, message: '请填写型号', trigger: 'blur'}],
-        factory: [{required: true, message: '请选择生产厂家/代理人', trigger: 'blur'}],
-        registrant: [{required: true, message: '请填写注册人/上市许可持有人', trigger: 'blur'}],
-        storageConditions: [{required: true, message: '请选择存储条件', trigger: 'blur'}],
-        transportCondition: [{required: true, message: '请选择运输条件', trigger: 'blur'}],
-        leadTime: [{required: true, message: '请填写交货周期', trigger: 'blur'}],
+        materialCode: [{ required: true, message: '请选择物料编码', trigger: 'blur' }],
+        materialName: [{ required: true, message: '请填写物料名称', trigger: 'blur' }],
+        specification: [{ required: true, message: '请填写规格', trigger: 'blur' }],
+        materialClassifyId: [{ required: true, message: '请选择物料分类', trigger: 'blur' }],
+        // model: [{required: true, message: '请填写型号', trigger: 'blur'}],
+        factory: [{ required: true, message: '请选择生产厂家/代理人', trigger: 'blur' }],
+        registrant: [{ required: true, message: '请填写注册人/上市许可持有人', trigger: 'blur' }],
+        storageConditions: [{ required: true, message: '请选择存储条件', trigger: 'blur' }],
+        // transportCondition: [{required: true, message: '请选择运输条件', trigger: 'blur'}],
+        leadTime: [{ required: true, message: '请填写交货周期', trigger: 'blur' }],
       },
       basicForm2: {
         drug: '',
@@ -518,9 +429,9 @@ export default {
   mounted() {
     this.$nextTick(() => {
       // console.log('页面状态',this.pageStu)
-      if(this.pageStu == 'check') {
+      if (this.pageStu == 'check') {
         // alert('详情页面:')
-        console.log('页面状态',this.pageStu)
+        console.log('页面状态', this.pageStu)
         console.log('数据', this.row)
         this.getDetails(this.row)
         // 生产厂家代理人用于回显
@@ -529,7 +440,7 @@ export default {
         }
       } else if (this.pageStu == 'edit') {
         // alert('修改页面')
-        console.log('页面状态',this.pageStu)
+        console.log('页面状态', this.pageStu)
         console.log('数据', this.row)
         this.getDetails(this.row)
         // 控制医药属性是否能够填写
@@ -542,24 +453,24 @@ export default {
         if (this.row.factory) {
           this.getFactoryDetails(this.row.factory)
         }
-      } else if(this.pageStu == 'add') {
+      } else if (this.pageStu == 'add') {
         // alert('新增页面')
-        console.log('页面状态',this.pageStu)
+        console.log('页面状态', this.pageStu)
       }
     })
   },
   methods: {
     // 生产厂家/代理人用于回显
     getFactoryDetails(id) {
-       getProductFactory({id:id}).then(res => {
-        if(res.code === 200) {
+      getProductFactory({ id: id }).then(res => {
+        if (res.code === 200) {
           this.factoryOptions = res.data.tableBody
         }
-       })
+      })
     },
     // 选择是否医药物料时控制医药属性
     controlMedic(val) {
-      console.log('val',val)
+      console.log('val', val)
       if (val == '0') {
         this.isControl = false
       } else {
@@ -572,12 +483,12 @@ export default {
     },
     handleClick(tab, event) {
       console.log(tab, event);
-      console.log('页面状态',this.pageStu)
+      console.log('页面状态', this.pageStu)
     },
     // 如果是详情进入,则调用详情接口
     getDetails(row) {
       getChangeDetails(row.id).then(res => {
-        if(res.code === 200) {
+        if (res.code === 200) {
           this.basicForm = res.data
           if (res.data.medicineChange) {
             this.basicForm2 = res.data.medicineChange
@@ -587,13 +498,13 @@ export default {
     },
     save() {
       // alert('保存传status:0')
-      let sparams = {...this.basicForm, ...{status: 0}}
+      let sparams = { ...this.basicForm, ...{ status: 0 } }
       sparams.medicineChange = this.basicForm2
       console.log('保存参数', sparams)
       this.$refs['basic'].validate((valid) => {
         if (valid) {
           addChangeList(sparams).then(res => {
-            if(res.code === 200) {
+            if (res.code === 200) {
               this.$message({
                 message: res.msg,
                 type: 'success'
@@ -606,13 +517,13 @@ export default {
     },
     submit() {
       // alert('提交传status:1')
-      let sparams = {...this.basicForm, ...{status: 1}}
+      let sparams = { ...this.basicForm, ...{ status: 1 } }
       sparams.medicineChange = this.basicForm2
       console.log('提交参数', sparams)
       this.$refs['basic'].validate((valid) => {
-        if(valid) {
+        if (valid) {
           editChangeList(sparams).then(res => {
-            if(res.code === 200) {
+            if (res.code === 200) {
               this.$message({
                 message: res.msg,
                 type: 'success'
@@ -666,12 +577,12 @@ export default {
     //   console.log('暂存总表单', params)
     // },
     // 设置选中
-    selectionsToInput (selections) {
+    selectionsToInput(selections) {
       console.log('父组件拿到的:', selections)
       this.selectData = selections
       this.$emit('getInfo', this.selectData)
       getMaterialDetails(selections[0].id).then(res => {
-        console.log('res',res)
+        console.log('res', res)
         if (res.code === 200) {
           let data = res.data.data
           // 物料id
@@ -692,10 +603,10 @@ export default {
           this.basicForm.storageConditions = data.storageCondition
           this.basicForm.transportCondition = data.transportationCondition
           this.basicForm.leadTime = data.deliveryPeriod
-          if(data.manufacturerId) {
+          if (data.manufacturerId) {
             this.getFactoryDetails(data.manufacturerId)
           }
-          if(data.medcines.length !== 0) {
+          if (data.medcines.length !== 0) {
             this.basicForm2.drug = data.medcines[0].isDrug
             this.basicForm2.registrationNo = data.medcines[0].registrationNo
             this.basicForm2.medicalDevices = data.medcines[0].medicalInstruments
@@ -724,8 +635,8 @@ export default {
     //   this.$refs.contractSelect2.init()
     // },
     // 选择生产厂家/代理人
-    acceptFactory (selections) {
-      console.log('选择的数据',selections)
+    acceptFactory(selections) {
+      console.log('选择的数据', selections)
       this.factoryOptions = selections
       this.basicForm.factory = selections[0].id
       this.getFactoryDetails(selections[0].id)
@@ -737,7 +648,7 @@ export default {
     },
     // 选择四级分类
     acceptFourClass(selections) {
-      console.log('收到的四级分类',selections)
+      console.log('收到的四级分类', selections)
       this.basicForm.materialClassifyId = selections.id
       this.getTreeDetails(selections.id)
     },
@@ -761,12 +672,13 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-  .apply_add {
+.apply_add {
   height: calc(100vh - 84px);
   padding: 12px;
   box-sizing: border-box;
   overflow-y: auto;
 }
+
 .btn_group {
   width: 100%;
   margin: 20px 0;