Forráskód Böngészése

是否医药物料控制:医药行业内容是否可编辑;
效期管理控制:效期单位、有效期、有效期至单位是否可以编辑

002390 2 éve
szülő
commit
f593fe162f
1 módosított fájl, 46 hozzáadás és 30 törlés
  1. 46 30
      src/views/material/basicFile/details.vue

+ 46 - 30
src/views/material/basicFile/details.vue

@@ -29,7 +29,7 @@
               </el-dropdown-menu>
             </el-dropdown>
 
-                                                                                                                                                                                                                          <el-button size="small" @click="handleQuery">查询</el-button> -->
+                                                                                                                                                                                                                                                                                <el-button size="small" @click="handleQuery">查询</el-button> -->
             <el-button size="small" @click="handleRefresh">刷新</el-button>
 
           </el-button-group>
@@ -49,7 +49,7 @@
                 <el-dropdown-item :command="isInvoke(true)">启用</el-dropdown-item>
                 <el-dropdown-item :command="isInvoke(false)">停用</el-dropdown-item>
               </el-dropdown-menu>
-                                                                                                                                                                                                                                                                         </el-dropdown> -->
+                                                                                                                                                                                                                                                                                                                               </el-dropdown> -->
           </el-button-group>
         </el-col>
 
@@ -58,7 +58,7 @@
           <el-button-group>
             <el-button size="small" @click="handleQueryForm">申请单查询</el-button>
           </el-button-group>
-                                                                                                                                                                                                                  </el-col> -->
+                                                                                                                                                                                                                                                                        </el-col> -->
 
         <!-- 导入导出 -->
       <!-- <el-col :span="1.5">
@@ -66,7 +66,7 @@
             <el-button size="small" @click="handleImport">批量导入</el-button>
             <el-button size="small" @click="handleExport">批量导出</el-button>
           </el-button-group>
-                                                                                                                                                                                                                    </el-col> -->
+                                                                                                                                                                                                                                                                          </el-col> -->
 
       </el-row>
 
@@ -112,7 +112,7 @@
           <!-- 附件管理 -->
         <!-- <el-button-group>
             <el-button size="small" icon="el-icon-paperclip" @click="handleFile"></el-button>
-                                                                                                                                                                                                                  </el-button-group> -->
+                                                                                                                                                                                                                                                                        </el-button-group> -->
 
           <!-- 切换 -->
         <!-- <el-button-group>
@@ -124,7 +124,7 @@
               @click="handleChangePage('next')" />
             <el-button size="small" icon="el-icon-d-arrow-right" :disabled="!handleBasicEdit"
               @click="handleChangePage('end')" />
-                                                                                                                                                                                                                  </el-button-group> -->
+                                                                                                                                                                                                                                                                        </el-button-group> -->
         </el-col>
       </el-row>
 
@@ -159,10 +159,14 @@
                     <el-col :span="8" v-for="f in basicData.form" style="text-align: right;">
                       <template v-if="f.show">
                         <!--  :disabled="!(headerParam.isEdit && f.edit)" -->
+
+                      <!-- 效期管理(expiryDateManagerment):控制一下几个是否可编辑
+                                                                   expiryUnitId 效期单位  usefulLife 有效期 usefulLifeUnitId 有效期至单位-->
+
                         <!-- 多选框 -->
                         <el-form-item v-if="f.attribute == 'checkbox'" style="text-align: left;">
                           <el-checkbox :label="f.name" name="type" v-model="basicData.value[f.prop]" true-label="0"
-                            false-label="2" :disabled="!(updateButtonGroup && f.edit)">
+                            false-label="2" :disabled="handleJudge(f)">
                           </el-checkbox>
                         </el-form-item>
 
@@ -171,17 +175,16 @@
                           :id="(updateButtonGroup && f.apiUrl) ? 'selected' : ''">
 
                           <el-select v-if="f.apiUrl" v-model="basicData.value[`${f.prop}Name`]" :placeholder="f.name"
-                            :key="basicData.value[f.prop]" :disabled="!(updateButtonGroup && f.edit)"
+                            :key="basicData.value[f.prop]" :disabled="handleJudge(f)"
                             @focus="f.apiUrl && handleQueryMore(f, '', { name: 'basicData', prop: f.prop })">
                           <!-- <el-option v-if="f.dictId" v-for="d in f.dictValue" :key="d.dictCode" :label="d.dictLabel"
-                              :value="d.dictCode">
-                                                                                            </el-option> -->
+                                                                            :value="d.dictCode"></el-option> -->
 
                             <div slot="empty"></div>
                           </el-select>
 
                           <el-select v-else v-model="basicData.value[f.prop]" :placeholder="f.name"
-                            :key="basicData.value[f.prop]" :disabled="!(updateButtonGroup && f.edit)"
+                            :key="basicData.value[f.prop]" :disabled="handleJudge(f)"
                             @focus="f.apiUrl && handleQueryMore(f, '', { name: 'basicData', prop: f.prop })">
                             <el-option v-if="f.dictId" v-for="d in f.dictValue" :key="d.dictCode" :label="d.dictLabel"
                               :value="d.dictCode">
@@ -190,6 +193,7 @@
 
                         </el-form-item>
 
+                        <!-- 图片 -->
                         <el-form-item v-else-if="f.attribute == 'image'" :label="f.name">
                           <el-image :src="basicData.value[f.prop]" fit="contain"></el-image>
                           <!-- <img :src="basicData.value[f.prop]" alt="加载失败"> -->
@@ -199,9 +203,10 @@
                         <!--attribute 文本 数字 文本域 为null -->
                         <el-form-item v-else :label="f.name">
                           <el-input size="small" v-model="basicData.value[f.prop]" :type="f.attribute || 'text'"
-                            :readonly="!(updateButtonGroup && f.edit)" :placeholder="f.name">
+                            :readonly="handleJudge(f)" :placeholder="f.name">
                           </el-input>
                         </el-form-item>
+
                       </template>
                     </el-col>
                   </el-row>
@@ -232,12 +237,14 @@
                       <el-row :gutter="10">
                         <el-col :span="8" v-for="m in medcineData.form" style="text-align: right;">
 
+                          <!-- 需要根据基本信息中的是否医药物料字段判断是否可以填写 -->
                           <template v-if="m.show">
 
                             <!-- 多选框 -->
                             <el-form-item v-if="m.attribute == 'checkbox'">
                               <el-checkbox :label="m.name" name="type" v-model="medcineData.value[m.prop]"
-                                :disabled="!updateButtonGroup" true-label="0" false-label="2">
+                                :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
+                                true-label="0" false-label="2">
                               </el-checkbox>
                             </el-form-item>
 
@@ -246,19 +253,20 @@
 
                               <!-- 参照弹窗 -->
                               <el-select v-if="m.apiUrl" v-model="medcineData.value[`${m.prop}Name`]"
-                                :placeholder="m.name" :key="medcineData.value[m.prop]" :disabled="!updateButtonGroup"
+                                :placeholder="m.name" :key="medcineData.value[m.prop]"
+                                :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
                                 @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
 
                               <!-- <el-option v-if="m.dictId" v-for="d in m.dictValue" :key="d.dictValue"
-                                  :label="d.dictLabel" :value="d.dictValue">
-                                                                                                  </el-option> -->
+                                                                                      :label="d.dictLabel" :value="d.dictValue"></el-option> -->
 
                                 <div slot="empty"></div>
                               </el-select>
 
                               <!-- 下拉选择 -->
                               <el-select v-else v-model="medcineData.value[m.prop]" :placeholder="m.name"
-                                :key="medcineData.value[m.prop]" :disabled="!updateButtonGroup"
+                                :key="medcineData.value[m.prop]"
+                                :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
                                 @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
 
                                 <el-option v-if="m.dictId" v-for="d in m.dictValue" :key="d.dictValue"
@@ -277,7 +285,8 @@
                             <!-- 文本、数字、textarae -->
                             <el-form-item v-else :label="m.name">
                               <el-input size="small" v-model="medcineData.value[m.prop]" :type="m.attribute || 'text'"
-                                :placeholder="m.name" :readonly="!updateButtonGroup">
+                                :placeholder="m.name"
+                                :readonly="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')">
                               </el-input>
                             </el-form-item>
                           </template>
@@ -385,7 +394,7 @@
               <el-option v-if="mt.dictId" v-for="d in mt.dictId" :key="d.dictValue" :label="d.dictLabel"
                 :value="d.dictValue">
               </el-option>
-                                                  </el-select> -->
+                                                                                                        </el-select> -->
 
             <!-- 其他类型 -->
 
@@ -437,7 +446,7 @@
           <el-collapse-item title="物料基本信息" name="basic">
             <el-form :inline="true" label-position="right" :model="basicData.value">
             <!-- <el-form-item label="所属组织">
-                                                                                                          <el-input v-model="basicData.value.orgName" placeholder="所属组织"></el-input></el-form-item> -->
+                                                                                                                                                                <el-input v-model="basicData.value.orgName" placeholder="所属组织"></el-input></el-form-item> -->
               <el-form-item label="物料编码">
                 <el-input v-model="basicData.value.code" size="small" readonly placeholder="物料编码"></el-input>
               </el-form-item>
@@ -448,7 +457,7 @@
                 <el-input v-model="basicData.value.enName" size="small" readonly placeholder="英文名称"></el-input>
               </el-form-item>
             <!-- <el-form-item label="版本号">
-                                                                                                        <el-input v-model="basicData.value.version"  placeholder="版本号"></el-input></el-form-item> -->
+                                                                                                                                                              <el-input v-model="basicData.value.version"  placeholder="版本号"></el-input></el-form-item> -->
 
             </el-form>
           </el-collapse-item>
@@ -701,6 +710,21 @@ export default {
   },
 
   methods: {
+    // 判断效期管理
+    handleJudge(attribute) {
+      // 效期管理(expiryDateManagerment):控制一下几个是否可编辑
+      // expiryUnitId 效期单位  usefulLife 有效期 usefulLifeUnitId 有效期至单位
+      // !(updateButtonGroup && f.edit)
+      if (attribute.prop == 'expiryUnitId'
+        || attribute.prop == 'usefulLife'
+        || attribute.prop == 'usefulLifeUnitId'
+      ) {
+        return !(this.updateButtonGroup && attribute.edit && this.basicData.value['expiryDateManagerment'] == '0')
+      } else {
+        // 其他属性是否可编辑
+        return !(this.updateButtonGroup && attribute.edit)
+      }
+    },
     // 返回
     handleBack() {
       this.$router.push({
@@ -1276,7 +1300,7 @@ export default {
     handleBasicEdit() {
       console.log('修改基本信息');
       this.updateButtonGroup = true;
-
+      // this.count++;
       //需要禁止点击其他标签
       this.detailsTabs = this.detailsTabs.map(item => {
         item['disabled'] = true;
@@ -1643,14 +1667,6 @@ export default {
         })
 
         console.log(this.materialType.value, '修改之后-----this.materialType.value');
-
-        // this.materialType.value[this.MoreDataDialog.target.prop] = this.MoreDataDialog.value.id;
-
-        // this.materialType.value[`${this.MoreDataDialog.target.prop}Name`] = this.MoreDataDialog.value.name;
-
-        // console.log(this.materialType.value, 'this.materialType.value');
-
-        // console.log(this.materialType.value[`${this.MoreDataDialog.target.prop}Name`], '/////////物料类别///////');
       }
       this.count++;
       this.MoreDataDialog.show = false;