瀏覽代碼

Merge branch 'AIControl' of http://192.168.2.236:10080/zhouna/platformFront into AIControl

luolei 5 年之前
父節點
當前提交
e7cc6a4f9a

+ 12 - 1
src/components/qualityControl/AddCombineFeild.vue

@@ -7,6 +7,7 @@
                     <el-form-item label="所属医院:" prop="hospitalId">
                         <el-select v-model="form.hospitalId"
                                    placeholder="请选择"
+                                   :disabled="isCopy || isEdit"
                                    size="small">
                             <el-option
                                     v-for="item in hisTypes"
@@ -19,6 +20,7 @@
                     <el-form-item label="所属模块:" prop="modeId">
                         <el-select v-model="form.modeId"
                                    placeholder="请选择"
+                                   :disabled="isCopy || isEdit"
                                    size="small">
                             <el-option
                                     v-for="item in fieldTypes"
@@ -35,7 +37,7 @@
                         <el-input type="text" placeholder="请输入显示名称" v-model="form.name"></el-input>
                     </el-form-item>
                     
-                    <el-form-item label="组合内容:" prop="moduleInfo" class="formItem">
+                    <el-form-item label="组合内容:" prop="moduleInfo" class="formItem isRequired">
                         <div class="moduleInfoItem" v-for="(item,index) in combineInfoList">
                             <div class="searchBox">
                                 <el-input v-model.trim="item.searchName"  placeholder="搜索字段单元" @input="searchFiled(index)">
@@ -417,4 +419,13 @@
 .activeFiledName{
     border: 1px solid #48C5D7;
 }
+.isRequired::before{
+     content: '*';
+    color: #F56C6C;
+    margin-right: 4px;
+    float: left;
+   line-height: 36px;
+   font-size: 16px;
+   font-weight: bold;
+}
 </style>

+ 8 - 6
src/components/qualityControl/AddQualityControlTemp.vue

@@ -1,6 +1,6 @@
 <template>
     <div @click="closeSearch">
-       <crumbs :title="title" linkTo="QualityControlTemp">
+       <crumbs :title="title" :param="$route.params" linkTo="QualityControlTemp">
         </crumbs>
         <div class="contentWrapper">
             <div class="content">
@@ -10,8 +10,8 @@
                             <el-option v-for="item in hospitalList" :key="item.id" :label="item.name" :value="item.val"></el-option>
                         </el-select>
                     </el-form-item>
-                    <el-form-item label="选择模块:" prop="moduleName" class="formItem">
-                        <el-select  v-model="form.moduleName" placeholder="请选择模块"  :disabled="isEdit" class="selectModule" @change="changeHsopital">
+                    <el-form-item label="所属模块:" prop="moduleName" class="formItem">
+                        <el-select  v-model="form.moduleName" placeholder="请选择所属模块"  :disabled="isEdit" class="selectModule" @change="changeHsopital">
                             <el-option v-for="item in moduleList" :key="item.id" :label="item.name" :value="item.val"></el-option>
                         </el-select>
                     </el-form-item>
@@ -27,7 +27,7 @@
                          <span class="exampleTxt">{{form.example}}</span>
                         <!-- <el-input v-model="form.example"  disabled placeholder="示例"></el-input> -->
                     </el-form-item>
-                    <el-form-item label="添加模块内容:" prop="moduleInfo" class="formItem addCon">
+                    <el-form-item label="模块内容:" prop="moduleInfo" class="formItem addCon">
                         <div class="moduleInfoItem" v-for="(item,index) in moduleInfoList">
                             <div class="orderBox">
                                 <span class="el-icon-arrow-up order"  @click="upUnit(index)"></span>
@@ -39,7 +39,7 @@
                                 <ul v-if="searchIndex == index &&  item.searchResult.length > 0" class="searchResultBox">
                                     <li class="searchItem" 
                                         v-for="searchItem in item.searchResult" 
-                                        :title="searchItem.name"
+                                        :title="searchItem.tagName"
                                         @click="selectSearchFiled(searchItem,index)"
                                     >
                                         {{searchItem.tagName}}
@@ -95,7 +95,7 @@ export default {
             rules:{
                 tempName:{ required: true, message: '请输入模块名称', trigger: ['blur', 'change']},
                 hospital:{ required: true, message: '请选择医院', trigger: ['blur', 'change']},
-                moduleName:{ required: true, message: '请选择模块', trigger: ['blur', 'change']},
+                moduleName:{ required: true, message: '请选择所属模块', trigger: ['blur', 'change']},
                 moduleType:{ required: true, message: '请选择模块类型   ', trigger: ['blur', 'change']},
                 /*name:[{ required: true, message: '请输入显示名称',trigger: ['blur', 'change'] }],*/
             },
@@ -553,6 +553,8 @@ export default {
     border: 1px solid #dcdfe6;
     border-radius: 4px;
     padding: 5px 10px;
+    display: inline-block;
+    line-height: 20px;
 }
 .activeFiledName{
     border: 1px solid #48C5D7;

+ 41 - 18
src/components/qualityControl/BaseFieldList.vue

@@ -17,9 +17,7 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <router-link to="/admin/LT-ZKYMSJWH-TJZDYSWH" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加字段映射</el-button>
-                    </router-link>
+                    <el-button size="mini" type="warning" @click="addBaseField">添加字段映射</el-button>
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -80,7 +78,9 @@
                 <el-table-column
                         label="操作" width="100">
                     <template slot-scope="scope">
-                        <el-button type="text" size="small" @click="toEditField(scope.row)">修改</el-button>
+                        <el-button type="text" size="small" @click="toEditField(scope.row, 'modify')">修改</el-button>
+                        <span style="margin:0 3px;">|</span>
+                        <el-button type="text" size="small" @click="toEditField(scope.row, 'copy')">复制</el-button>
                         <span style="margin:0 3px;">|</span>
                         <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row.id)">删除</el-button>
                     </template>
@@ -107,12 +107,12 @@
     data: function () {
       return {
         list: [],
-        cacheData: {},
         tagType:[1],
         currentPage: 1,
         pageSize: 10,
         total: 0,
         fieldTypes:[],
+        searched:false,
         hisTypes:[],
         filter: {
           hospitalId:'',
@@ -123,7 +123,25 @@
     },
     created() {
       this.getAllTypes();
-      this.getDataList();
+      const _this=this;
+      setTimeout(function() {
+        _this.getDataList();
+      },100);
+    },
+    watch:{
+      'filter':{
+        handler:function(){
+          this.searched = false;
+        },
+        deep:true
+      }
+    },
+    beforeRouteEnter(to, from, next){
+      next(vm => {
+        //const pm = to.param;
+        Object.assign(vm,to.params);
+        vm.inCurrentPage=to.params.currentPage;
+      })
     },
     methods: {
       moduleFormatter(item){
@@ -152,7 +170,14 @@
           }
         });
       },
-      toEditField(row){
+      addBaseField(){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name: 'FieldMatch', params: pam});
+      },
+      toEditField(row,type){
         api.getFieldDetail({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
@@ -161,10 +186,13 @@
               currentPage: this.currentPage,
               filter: this.filter
             } : {currentPage: this.currentPage};
-              this.$router.push({
-                name: 'FieldMatch', 
-                params: {info:data}
-              });
+            if(type == 'modify') {
+              this.$router.push({name: 'FieldMatch', params: Object.assign(pam, {isEdit: true, info: item})});
+            } else if( type == 'copy') {
+              this.$router.push({name: 'FieldMatch', params: Object.assign(pam, {isCopy: true, info: item})});
+            } else {
+              return
+            }
           }else{
             this.$message({
               message: msg,
@@ -183,11 +211,11 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getFieldList(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
-            this.cacheData[param.current] = data.records;
             this.total = data.total;
           }
         }).catch((error) => {
@@ -196,7 +224,6 @@
       },
       getFilterItems() {
         const param = Object.assign({
-          tagTypeList:this.tagType,
           current: this.currentPage,
           size: this.pageSize
         },this.filter);
@@ -207,11 +234,7 @@
       },
       currentChange(next) {
         this.currentPage = next;
-        if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
-          this.list = this.cacheData[next];
-        } else {
-          this.getDataList();
-        }
+        this.getDataList();
       },
       warning(msg,type){
         this.$message({

+ 31 - 13
src/components/qualityControl/CombineFeildList.vue

@@ -17,9 +17,7 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <router-link to="/admin/LT-ZKYMSJWH-TJZHDYWH" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加组合字段</el-button>
-                    </router-link>
+                    <el-button size="mini" type="warning"  @click="addCombineField">添加组合字段</el-button>
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -58,7 +56,7 @@
                         label="备注">
                 </el-table-column>
                 <el-table-column
-                        label="操作" width="100">
+                        label="操作" width="150">
                     <template slot-scope="scope">
                         <el-button type="text" size="small" @click="toEditField(scope.row, 'modify')">修改</el-button>
                         <span style="margin:0 3px;">|</span>
@@ -89,7 +87,7 @@
     data: function () {
       return {
         list: [],
-        cacheData: {},
+        searched:false,
         tagType:[4],
         currentPage: 1,
         pageSize: 10,
@@ -105,7 +103,25 @@
     },
     created() {
       this.getAllTypes();
-      this.getDataList();
+      const _this=this;
+      setTimeout(function() {
+        _this.getDataList();
+      },100);
+    },
+    watch:{
+      'filter':{
+        handler:function(){
+          this.searched = false;
+        },
+        deep:true
+      }
+    },
+    beforeRouteEnter(to, from, next){
+      next(vm => {
+        //const pm = to.param;
+        Object.assign(vm,to.params);
+        vm.inCurrentPage=to.params.currentPage;
+      })
     },
     methods: {
       moduleFormatter(item){
@@ -134,6 +150,13 @@
           }
         });
       },
+      addCombineField(){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name: 'AddCombineFeild', params: pam});
+      },
       toEditField(row,type){
         api.getFieldDetail({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
@@ -168,11 +191,11 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getFieldList(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
-            this.cacheData[param.current] = data.records;
             this.total = data.total;
           }
         }).catch((error) => {
@@ -181,7 +204,6 @@
       },
       getFilterItems() {
         const param =  Object.assign({
-          tagTypeList:this.tagType,
           current: this.currentPage,
           size: this.pageSize
         },this.filter);
@@ -192,11 +214,7 @@
       },
       currentChange(next) {
         this.currentPage = next;
-        if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
-          this.list = this.cacheData[next];
-        } else {
-          this.getDataList();
-        }
+        this.getDataList();
       },
       warning(msg,type){
         this.$message({

+ 40 - 11
src/components/qualityControl/FieldMatch.vue

@@ -3,7 +3,7 @@
         <crumbs :title="title" :param="$route.params" linkTo="BaseField"></crumbs>
         <div class="contents">
             <div class="content">
-            <el-form ref="form" :label-position="labelPosition" label-width="118px" :model="form" :rules="rules">
+            <el-form ref="form" :label-position="labelPosition" label-width="125px" :model="form" :rules="rules">
                 <el-form-item label="所属医院:" prop="hospitalId">
                     <el-select v-model="form.hospitalId"
                                placeholder="请选择"
@@ -57,10 +57,11 @@
                     
                 </el-form-item>
                 <el-form-item>
-                    <el-checkbox v-model="form.addLine" :true-label="Number(1)" :false-label="Number(0)">换行</el-checkbox>
+                    <el-checkbox v-model="form.monoLine" :true-label="Number(1)" :false-label="Number(0)">独占一行</el-checkbox>
+                    <el-checkbox v-model="form.addLine" :true-label="Number(1)" :false-label="Number(0)">内容换行</el-checkbox>
                     <el-checkbox v-model="form.position" :true-label="Number(1)" :false-label="Number(0)">靠右显示</el-checkbox>
                     <el-checkbox v-model="form.bold" :true-label="Number(1)" :false-label="Number(0)">内容加粗</el-checkbox>
-                    <el-checkbox v-model="form.retract" :true-label="Number(1)" :false-label="Number(0)">缩进</el-checkbox>
+                    <el-checkbox v-model="form.retract" :true-label="Number(1)" :false-label="Number(0)">内容缩进</el-checkbox>
                 </el-form-item>
                 <el-button class="disclButn" size="small" type="primary" :disabled = 'saveDisable' @click="comfirn('form')">确定</el-button>
             </el-form>
@@ -78,7 +79,7 @@
         list:[],
         labelPosition:'left',
         isFirst:true,
-        title:'字段映射维护-添加映射字段',
+        title:'字段映射维护-添加字段映射',
         casesEIds:'',
         form:{
           tagType:1,        //固定
@@ -87,6 +88,7 @@
           name:'',
           val:'',
           tagName:'',
+          monoLine:0,
           addLine:0,
           bold:0,
           position:0,
@@ -110,9 +112,11 @@
     },
     created(){
       this.getAllTypes();
-      let info = this.$route.params.info;
+      let {isCopy,info} = this.$route.params;
+      this.copy=isCopy;
       if(info){
         const infoCopy =  Object.assign({},info);
+        isCopy?infoCopy.id="":"";
         // infoCopy.casesEntryIds?this.casesEIds = infoCopy.casesEntryIds.split(","):'';
         let tmpArr = [],tmpArr1 = []
         for(let i = 0;i < infoCopy.quesCasesEntryDTOList.length;i++){
@@ -122,12 +126,12 @@
             id:infoCopy.quesCasesEntryDTOList[i].casesEntryId,
             casesEntryId:infoCopy.quesCasesEntryDTOList[i].casesEntryId
           }
-          tmpArr.push(infoCopy.quesCasesEntryDTOList[i].casesEntryId)
+          tmpArr.push(""+infoCopy.quesCasesEntryDTOList[i].casesEntryId)
           tmpArr1.push(obj)
         }
         infoCopy.quesCasesEntryDTOList?this.casesEIds = tmpArr:'';
         infoCopy.quesCasesEntryVOList = [...tmpArr1];
-        this.title='字段映射维护-修改映射字段';
+        this.title=isCopy?"字段映射维护-复制字段映射":'字段映射维护-修改字段映射';
         this.form = infoCopy;
         this.getQcFlawList(tmpArr1);
       }else{
@@ -138,6 +142,7 @@
         this.form.hospitalId = hospitalId
         this.form.modeId = modeId
         this.form.tagName = qcSelecttModuleNme
+        this.getQcFlawList()
       }
     },
     watch:{
@@ -159,6 +164,9 @@
          localStorage.setItem("qcSelectHospital",val);
            
         this.getQcFlawList()
+        this.form.modeId=""
+        this.form.quesCasesEntryDTOList =[]
+        this.casesEIds=[]
       },
       changeModule(val){
          localStorage.setItem("qcSelectModule",val);
@@ -166,6 +174,8 @@
          this.form.tagName = qcSelecttModuleNme
           localStorage.setItem("qcSelectModuleName",qcSelecttModuleNme);
         this.getQcFlawList()
+         this.form.quesCasesEntryDTOList =[]
+        this.casesEIds=[]
       },
       getQcFlawList(val){
         const { hospitalId, modeId } = this.form
@@ -176,7 +186,23 @@
         api.getQcFlawList(param).then((res)=>{
           if(res.data.code==="0") {
             const data = res.data.data;
+            this.flawList = []
             this.flawList = data.records;
+            let info = this.$route.params.info;
+            if(info){
+              const infoCopy =  Object.assign({},this.form);
+
+              
+              for(let i = 0;i < infoCopy.quesCasesEntryDTOList.length;i++){
+                let obj = {
+                  name:infoCopy.quesCasesEntryDTOList[i].casesEntryName,
+                  casesEntryName:infoCopy.quesCasesEntryDTOList[i].casesEntryName,
+                  id:infoCopy.quesCasesEntryDTOList[i].casesEntryId,
+                  casesEntryId:infoCopy.quesCasesEntryDTOList[i].casesEntryId
+              }
+              this.flawList.unshift(obj)
+            }
+            }
           }else{
             this.warning("获取缺陷条目失败");
           }
@@ -224,11 +250,11 @@
               this.warning("取值字段【】含有非法字符")
               return;
             }
-          
-            if(this.id){//修改
-              const param = Object.assign({},this.form,{id:this.id});
+
+            if(this.form.id){//修改
+              const param = Object.assign({},this.form);
               this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
-              api.addFieldMatch(param).then((res)=>{
+              api.addFieldMatch({questionWrapper:param}).then((res)=>{
                 if(res.data.code==0){
                   this.$message({
                     message:"修改成功",
@@ -289,6 +315,9 @@
         color: #545455;
         min-width: 980px;
         position: relative;
+        .el-checkbox{
+            display: inline-block;
+        }
     }
     .el-form-item{
         width: 600px;

+ 4 - 4
src/components/qualityControl/QualityControlTemp.vue

@@ -5,8 +5,8 @@
                  <el-form-item label="模板名称:">
                     <el-input size="mini" v-model.trim="filter.modeName" placeholder="模板名称" clearable></el-input>
                 </el-form-item>
-                <el-form-item label="数据模块:">
-                     <el-select size="mini" v-model.trim="filter.modeId" @change="getValue"  placeholder="数据模块" clearable>
+                <el-form-item label="所属模块:">
+                     <el-select size="mini" v-model.trim="filter.modeId" @change="getValue"  placeholder="所属模块" clearable>
                         <el-option v-for="item in moduleList" :label="item.name" :value="item.val" :key="item.id" ></el-option>
                     </el-select>
                 </el-form-item>
@@ -42,7 +42,7 @@
                 <el-table-column
                         :resizable = "false"
                         prop="modeId"
-                        label="数据模块">
+                        label="所属模块">
                 </el-table-column>
                 
                 <el-table-column
@@ -271,7 +271,7 @@
         const param = {
           "ids": row.id,
         }
-        this.showConfirmDialog('是否删除该标签?',()=>{
+        this.showConfirmDialog('是否删除该模板?',()=>{
           api.delQCTemp(param).then((res)=>{
             if(res.data.code=='0'){
               if(!this.searched){

+ 2 - 2
vue.config.js

@@ -1,9 +1,9 @@
 const path = require('path');
 // const proxy_path = 'http://192.168.2.236:80';
-// const proxy_path = 'http://192.168.2.241:88';
+const proxy_path = 'http://192.168.2.241:88';
 // const proxy_path = 'http://192.168.2.236:88';
 // const proxy_path = 'http://192.168.3.101:5050';
-const proxy_path = 'http://192.168.3.117:5050';//周铁刚
+// const proxy_path = 'http://192.168.3.117:5050';//周铁刚
 // const proxy_path = 'http://192.168.3.113:5050'; //王峰
 
 module.exports = {