Explorar el Código

🐞 fix(【drp-物料申请单】): 物料申请单填写DI码报错

	物料申请单填写DI码报错,原因:药监DI码数据存储到我们公司数据库的数据缺失,没有查到数据所以系统报错。  与开发沟通,做新接口,物料申请单填写DI码直接查药监DI码相关的数据:物料名称,规格,型号,注册人,最小包装量,厂家物料编码,注册证号,运输条件,冷藏条件

本次修改:
1.按照描述带出相关数据
2.取消生产厂家带出注册人信息
3.增加“生产许可证”字段必填
4.取消修改“注册证号”调用DI码接口

20240327061
002390 hace 11 meses
padre
commit
57f3cba093

+ 0 - 1
src/api/requisition/basic.js

@@ -195,7 +195,6 @@ export function classifyDetails(params) {
   })
 }
 
-// 物料DI /system/apply/material/getDiCode/{dicode)
 export function getDiCode(dicode) {
   return request({
     url: `/system/apply/material/getDiCode/${dicode}`,

+ 2 - 1
src/views/material/requisition/details/columns.js

@@ -224,7 +224,7 @@ export default function useColumns() {
               brand: "brand",
               originPlace: "country", // 产地
               originPlaceName: "countryName",
-              registrant: "registrantName",
+              // registrant: "registrantName",
               productionPermit: "productionLicense",
             }
           },
@@ -311,6 +311,7 @@ export default function useColumns() {
           item: {
             key: 'productionPermit',
             title: '生产许可证',
+            required: true,
           },
           attr: {
             is: "el-input",

+ 33 - 27
src/views/material/requisition/details/index.vue

@@ -226,24 +226,25 @@ export default {
     beforeOpen() {
       let { name, nickName, deptId, deptName, orgId, orgName } =
         this.$store.state.user;
+      let { sysMaterialApply, sysMaterialMedcineApply } = this.params;
       if (this.addType === "add") {
-        this.params.sysMaterialApply.isMedicine = "0";
-        this.params.sysMaterialApply.storageCondition = "MED2001";
-        this.params.sysMaterialApply.isInventoryStatus = "0";
-        this.params.sysMaterialApply.transportationCondition = "MED3003";
-        this.params.sysMaterialApply.isEnable = "0";
-        this.params.sysMaterialApply.materialRateName = "专票13%";
-        this.params.sysMaterialApply.materialRate = "1001A11000000000TPTF";
-        this.params.sysMaterialApply.rateCode = "CN011";
-        this.params.sysMaterialApply.proposerId = name;
-        this.params.sysMaterialApply.proposerName = nickName;
-        this.params.sysMaterialApply.orgId = "";
-        this.params.sysMaterialApply.orgName = "德荣集团";
-        this.params.sysMaterialApply.expiryDateManagerment = "0";
-        this.params.sysMaterialApply.nearOnsetManagerment = "0";
+        sysMaterialApply.isMedicine = "0";
+        sysMaterialApply.storageCondition = "MED2001";
+        sysMaterialApply.isInventoryStatus = "0";
+        sysMaterialApply.transportationCondition = "MED3003";
+        sysMaterialApply.isEnable = "0";
+        sysMaterialApply.materialRateName = "专票13%";
+        sysMaterialApply.materialRate = "1001A11000000000TPTF";
+        sysMaterialApply.rateCode = "CN011";
+        sysMaterialApply.proposerId = name;
+        sysMaterialApply.proposerName = nickName;
+        sysMaterialApply.orgId = "";
+        sysMaterialApply.orgName = "德荣集团";
+        sysMaterialApply.expiryDateManagerment = "0";
+        sysMaterialApply.nearOnsetManagerment = "0";
         //
-        this.params.sysMaterialMedcineApply.dosageFrom = "0001A11000000000BX7Z";
-        this.params.sysMaterialMedcineApply.dosageFromName = "其他";
+        sysMaterialMedcineApply.dosageFrom = "0001A11000000000BX7Z";
+        sysMaterialMedcineApply.dosageFromName = "其他";
       }
       if (this.addType === "see") {
         this.TabColumns = this.TabColumns.map((tab) => {
@@ -528,19 +529,23 @@ export default {
     async changeDiCode(prop) {
       console.log(prop, "prop");
       try {
+        this.loading = true;
         let { code, data } = await getDiCode(prop);
-        let { sysMaterialApply, sysMaterialMedcineApply } = this.params;
         if (code == 200) {
-          if (data.length) {
-            sysMaterialApply.name = data[0].cpmctymc;
-            sysMaterialApply.model = data[0].ggxh;
-            sysMaterialApply.registrant = data[0].ylqxzcrbarmc;
-            sysMaterialApply.minPackQty = data[0].zxxsdyzsydydsl;
-            sysMaterialApply.manufacturersMaterialCode = data[0].cphhhbh;
-            sysMaterialMedcineApply.registrationNo = data[0].zczbhhzbapzbh;
+          for (const key in data) {
+            if (key === "materialName") {
+              this.params.sysMaterialApply.name = data[key];
+            } else if (key === "registrationNo") {
+              this.params.sysMaterialMedcineApply[key] = data[key];
+            } else {
+              this.params.sysMaterialApply[key] = data[key];
+            }
           }
         }
-      } catch (error) {}
+      } catch (error) {
+      } finally {
+        this.loading = false;
+      }
     },
   },
   created() {},
@@ -867,9 +872,10 @@ export default {
               v-model="scope.row[scope.item.key]"
               :size="$attrs.size"
               :source.sync="scope.row"
-              :disabled="addType === 'see' || params.sysMaterialApply.isMedicine =='2'"
+              :disabled="
+                addType === 'see' || params.sysMaterialApply.isMedicine == '2'
+              "
               style="width: 100%"
-              @change="changeDiCode"
             ></component>
           </template>
         </component>