Browse Source

字段映射条目关联

zhouna 5 years ago
parent
commit
7ee7946b29
3 changed files with 38 additions and 6 deletions
  1. 1 0
      src/api/config.js
  2. 3 0
      src/api/qualityControl.js
  3. 34 6
      src/components/qualityControl/FieldMatch.vue

+ 1 - 0
src/api/config.js

@@ -292,6 +292,7 @@ export default {
       'addFieldMatch':"/api/mrman/qc/qcQuestionInfo/saveOrUpdate",    //添加字段映射
       'getQcTypes':"/api/mrman/qc/dictionaryInfo/getList",    //添加字段映射
       'delFieldMatch':"/api/mrman/qc/qcQuestionInfo/delete",    //删除字段映射
+      'getQcFlawList':'/api/mrman/qcCasesEntry/getAll',   //获取缺陷列表
   },
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 3 - 0
src/api/qualityControl.js

@@ -14,5 +14,8 @@ export default {
   },
   getQcTypes(){
     return axios.post(urls.getQcTypes);
+  },
+  getQcFlawList(param){
+    return axios.post(urls.getQcFlawList,param);
   }
 }

+ 34 - 6
src/components/qualityControl/FieldMatch.vue

@@ -19,6 +19,7 @@
                 <el-form-item label="所属模块:" prop="modeId">
                     <el-select v-model="form.modeId"
                                placeholder="请选择"
+                               @change="getQcFlawList"
                                size="small">
                         <el-option
                                 v-for="item in fieldTypes"
@@ -37,16 +38,18 @@
                 <el-form-item label="取值字段:" prop="value">
                     <el-input type="text" placeholder="请输入取值字段" v-model="form.val"></el-input>
                 </el-form-item>
-                <el-form-item label="关联缺陷条目:" prop="flawId">
+                <el-form-item label="关联缺陷条目:" prop="casesEntryIds">
                     <el-select filterable
-                               v-model="form.flawId"
+                               multiple
+                               v-model="casesEIds"
                                placeholder="请选择"
+                               class="big-select"
                                size="small">
                         <el-option
                                 v-for="item in flawList"
-                                :key="item.val"
+                                :key="item.id"
                                 :label="item.name"
-                                :value="item.val">
+                                :value="String(item.id)">
                         </el-option>
                     </el-select>
                 </el-form-item>
@@ -73,6 +76,7 @@
         labelPosition:'left',
         isFirst:true,
         title:'字段映射维护-添加映射字段',
+        casesEIds:'',
         form:{
           tagType:1,        //固定
           modeId:"",
@@ -83,7 +87,8 @@
           addLine:0,
           bold:0,
           position:0,
-          retract:0
+          retract:0,
+          casesEntryIds:'',
         },
         id:null,
         rules:{
@@ -103,11 +108,31 @@
       this.getAllTypes();
       let info = this.$route.params.info;
       if(info){
+        const infoCopy =  Object.assign({},info);
+        infoCopy.casesEntryIds?this.casesEIds = infoCopy.casesEntryIds.split(","):'';
+        this.getQcFlawList(infoCopy.modeId);
         this.title='字段映射维护-修改映射字段';
-        this.form = Object.assign({},info);
+        this.form = infoCopy;
+      }
+    },
+    watch:{
+      "casesEIds":function(val){
+        this.form.casesEntryIds = val.join(",");
       }
     },
     methods:{
+      getQcFlawList(val){
+        const param={modeId:val,name:"",pages:1,size:500};
+        api.getQcFlawList(param).then((res)=>{
+          if(res.data.code==="0") {
+            const data = res.data.data;
+            this.flawList = data.records;
+
+          }else{
+            this.warning("获取缺陷条目失败");
+          }
+        });
+      },
       getAllTypes(){
         if(localStorage.getItem("qcModuleTypes")){
           this.hisTypes = JSON.parse(localStorage.getItem("qcHospitalTypes"));
@@ -196,4 +221,7 @@
     .el-form-item{
         width: 600px;
     }
+    .el-select.big-select{
+        width: 360px;
+    }
 </style>