Browse Source

Merge remote-tracking branch 'origin/dev2/zhangxc' into dev

# Conflicts:
#	src/components/icss/IndeptLabel.vue
#	src/components/icss/SingleSelect.vue
zhouna 6 năm trước cách đây
mục cha
commit
9d8e78e5c7

+ 3 - 2
src/api/config.js

@@ -109,8 +109,9 @@ export default {
     'commonSymptomList': 'api/icssman/questionUsual/getDeptInfos', //常见症状维护-常见症状列表
     'getDepartmentList':'api/icssman/questionUsual/getDeptName', //常见症状维护-科室列表
     'getSymptomList':'api/icssman/questionUsual/getQuestionInfo', //常见科室症状维护--获取症状列表
-    'addCommonSymptom': 'api/icssman/questionUsual/addQuestionUsual',  //常见科室症状维护--添加修改科室症状
-    'delCommonSymptom': 'api/icssman/questionUsual/deleteQuestionUsual',  //常见科室症状维护--添加修改科室症状
+    'addCommonSymptom': 'api/icssman/questionUsual/addQuestionUsual',  //常见科室症状维护--添加科室症状
+    'getCommonSymptomById': 'api/icssman/questionUsual/getQuestionUsualByDept', //常见科室症状维护--修改、详情
+    'delCommonSymptom': 'api/icssman/questionUsual/deleteQuestionUsual',  //常见科室症状维护--删除科室症状
     'discInformation': 'api/icssman/disclaimerInformation/getDisclaimerInformations', //免责声明
     'addDiscInformation': 'api/icssman/disclaimerInformation/addDisclaimerInformations', //免责声明-新增
     'modifDiscInformation': 'api/icssman/disclaimerInformation/updateDisclaimerInformations', //免责声明-修改

+ 4 - 3
src/api/utils.js

@@ -155,8 +155,9 @@ export default {
   simpleOptionData(data){
     let arr = data.map((it,i)=>{
       let code = '';
-      if(it.isCorrect){
-        code = '3';
+      let abnormal = 0
+      if(it.isError){
+        abnormal = 1;
       }
       if(it.isNone){
         code = '2';
@@ -164,7 +165,7 @@ export default {
       if(it.isBan){
         code = '1';
       }
-      return {name:it.name,defaultSelect:it.defaultSelect?'1':'0',code,remark:'单选项-'+it.name}
+      return {name:it.name,defaultSelect:it.defaultSelect?'1':'0',code,abnormal,remark:'单选项-'+it.name}
     });
     return arr;
   },

+ 28 - 7
src/components/icss/AddCommonSymptom.vue

@@ -7,13 +7,13 @@
         ></i> 常见症状维护系统--添加科室常见症状</div>
         <el-form :model="form" ref="ruleForm" :rules="rules" class="addDepartForm">
             <el-form-item label="选择科室" prop="department">
-                <el-select v-model="form.department" placeholder="请添加科室" class="selectDepart">
+                <el-select v-model="form.department" placeholder="请添加科室" @change="changeDept" class="selectDepart">
                     <el-option v-for="item in departList" :key="item.id" :label="item.name" :value="item.id"></el-option>
                 </el-select>
             </el-form-item>
              <el-form-item label="选择类型" prop="type">
-                <el-select v-model="form.type" placeholder="请选择类型" class="selectDepart">
-                    <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                <el-select v-model="form.type" placeholder="请选择类型"  @change="changeType" class="selectDepart">
+                    <el-option v-for="item in typeList" :key="item.type" :label="item.typeName" :value="item.type"></el-option>
                 </el-select>
             </el-form-item>
         </el-form>
@@ -106,8 +106,13 @@
         }
     },
     created(){
-        this.getDepartmentList()
-        this.getSymptomList()
+        const { isEdit, isDetail, data } = this.$route.params;
+        if(isEdit || isDetail) {
+            this.isEdit = isEdit
+            
+        } else {
+            this.getDepartmentList()
+        }
     },
     watch: {
         searchVal(newVal, preVal) {
@@ -126,7 +131,6 @@
             api.getDepartmentList().then((res)=>{
                if(res.data.code === '0') {
                    this.departList = res.data.data
-                   
                 }
             })
         },
@@ -138,7 +142,8 @@
             const param = {
                 "deptId": this.form.department,
                 "tagName": this.searchVal,
-                "noIds": noIds
+                "noIds": noIds,
+                "type": this.form.type
             }
             api.getSymptomList(param).then((res)=>{
                if(res.data.code === '0') {
@@ -146,6 +151,22 @@
                 }
             })
         },
+        changeDept() {
+            console.log('asdasfdgag',this.departList)
+            this.form.type = ''
+            this.typeList = this.departList.filter(item => this.form.department == item.id)[0].typeDTOList
+            this.clearData()
+        },
+        changeType() {
+            this.clearData()
+            this.getSymptomList()
+        },
+        clearData() {
+            this.leftTagsList = [];
+            this.rightTagsList = [];
+            this.selectLeftTagsList = [];
+            this.selectRightTagIndex = -1;
+        },
         selectLeftTag(tag, index, e) {
             const hasTag = this.isHasTag(tag, this.selectLeftTagsList)
             if (hasTag) {

+ 66 - 33
src/components/icss/AddPhysicalExamTemp.vue

@@ -1,6 +1,6 @@
 <!-- 添加常见科室症状  -->
 <template>
-    <div class="addCommonSymptomWrapper">
+    <div class="AddPhysicalExamTempWrapper">
         <div class="groupTitle"><i
             class="el-icon-back"
             @click="back"
@@ -10,15 +10,15 @@
                <span>查体</span>
             </el-form-item>
             <el-form-item label="选择科室" prop="department">
-                <el-select v-model="form.department" placeholder="请添加科室" @change="changeDepart" class="selectDepart">
+                <el-select :disabled="isEdit || isDetail" v-model="form.department" placeholder="请添加科室" @change="changeDepart" class="selectDepart">
                     <el-option v-for="item in departList" :key="item.id" :label="item.name" :value="item.id"></el-option>
                 </el-select>
             </el-form-item>
         </el-form>
         <div class="symptomList">
-            <div class="bottomPartLeft fl">
+            <div class="bottomPartLeft fl" v-if="!isDetail">
                 
-                <p class="symptomPoolTitle">症状池</p>
+                <p class="symptomPoolTitle">标签池</p>
                 <div class="symptomPool">
                     <el-input
                     placeholder="请输入搜索内容"
@@ -43,28 +43,28 @@
                 </div>
 
             </div>
-            <div class="bottomPartMid fl">
+            <div class="bottomPartMid fl" v-if="!isDetail">
                 <p><span class="el-icon-arrow-right" @click="toRightList"></span></p>
                 <p><span class="el-icon-arrow-left" @click="toLeftList"></span></p>
             </div>
             <div class="bottomPartRight fl">
-                <p class="symptomPoolTitle">常见症状:</p>
+                <p class="symptomPoolTitle">查体模板: 
+                    <span class="el-icon-arrow-right arrowIcon" @click="toDown"></span>
+                    <span class="el-icon-arrow-left arrowIcon" @click="toUp"></span> 
+                </p>
                 <ul class="tagList operationPool">
-                        <li class = "tagItem"
+                        <li class = "tagItem fl"
                             v-for="(item,index) in rightTagsList" 
                             :key='item.id'
                             :style="index === selectRightTagIndex?styles:null"
-                            @click='selectRightTag(index)'
+                            @click='isDetail ? "" : selectRightTag(index)'
                         >   
                             <p v-if="item.tagName" class="tagName  ellipsis" :title="'[ '+item.tagName+' ]'">{{item.tagName}} </p>
                         </li>
                     </ul>
 
             </div>
-            <div class="bottomPartMid fl">
-                <p><span class="el-icon-arrow-up" @click="toUp"></span></p>
-                <p><span class="el-icon-arrow-down" @click="toDown"></span></p>
-            </div>
+           
             
         </div>
         <div class="btn">
@@ -80,11 +80,11 @@
 <script>
   import api from '@api/icss.js';
   export default {
-    name: 'AddCommonSymptom',
+    name: 'AddPhysicalExamTempWrapper',
     data() {
         return{
             rules: {
-                department:[{required: true, message: '请选择科室', trigger: ['blur']}],
+                department:[{required: true, message: '请选择科室', trigger: ['blur', 'change']}],
             },
             form: {
                 department: '',
@@ -94,6 +94,8 @@
             leftTagsList:[],
             rightTagsList:[],
             selectLeftTagsList: [],
+            isEdit: false, 
+            isDetail: false,
             selectRightTagIndex: -1,
             styles:{
                 background:'#eae7e7'
@@ -101,6 +103,16 @@
         }
     },
     created(){
+        const { isEdit, isDetail, data } = this.$route.params;
+        if(isEdit || isDetail) {
+            const { id, name } = data
+            this.isEdit = isEdit
+            this.isDetail = isDetail
+            this.rightTagsList = data.vitals
+            this.departList.push({ id, name, val:id })
+            this.form.department = id
+            
+        }
         this.getDepartmentList()
         this.getTagList()
     },
@@ -126,20 +138,25 @@
             })
         },
         getTagList() {
-            let noIds = []
-            for (let i =0; i < this.rightTagsList.length; i++) {
-                noIds.push(this.rightTagsList[i].id)
+                const notIds = this.getRightTagListIds()
+                let param = {
+                "tagName": this.searchVal,
+                "type": 4,
+                "notIds": notIds,
             }
-            const param = {
-                "deptId": this.form.department,
-                // "tagName": this.searchVal,
-            }
-            console.log()
-            api.getPhysicalExamTempByDepId(param).then((res)=>{
-               if(res.data.code === '0') {
-                   this.leftTagsList = res.data.data
+            api.searchTagList(param).then((res) => {
+                if (res.data.code === '0') {
+                    this.leftTagsList = res.data.data
                 }
             })
+            
+        },
+        getRightTagListIds() {
+            let RightTagListIds = []
+            for (let i =0; i < this.rightTagsList.length; i++) {
+                RightTagListIds.push(this.rightTagsList[i].id)
+            }
+            return RightTagListIds
         },
         changeDepart(){
             console.log(this.form.department)
@@ -161,6 +178,7 @@
             this.selectLeftTagsList = [];
             this.selectRightTagsList = [];
             this.getTagList()
+            console.log('rightTagsList', this.rightTagsList)
         },
         toLeftList(){
             for(let i = 0; i < this.selectRightTagsList.length; i++) {
@@ -221,22 +239,23 @@
             this.showDelDialog()
         },
         showDelDialog() {
-            let questionId = []
+            let dvDetailVOList = []
             for (let i =0; i < this.rightTagsList.length; i++) {
-                questionId.push(this.rightTagsList[i].id)
+                dvDetailVOList.push({orderNo: i+1,vitalId:this.rightTagsList[i].id })
             }
             const param ={
                 "deptId": this.form.department,
-                "questionId": questionId
+                "dvDetailVOList": dvDetailVOList
    
             }
-            this.showConfirmDialog('是否保存该标签组?', () => {
-                api.addCommonSymptom(param).then((res) => {
+            this.showConfirmDialog('是否保存该模板?', () => {
+                api.savePhysicalExamTemp(param).then((res) => {
+                console.log('resssss', res)
                 if (res.data.code  === '0') {
                     this.warning(res.data.msg || '保存成功', 'success','1000')
                     setTimeout(() => {
                     this.$router.push({
-                        path:'/admin/LT-YXSJWH-CJZZWH'
+                        path:'/admin/LT-YXSJWH-CTBQWH'
                     })
                     }, 1000);
                 } else {
@@ -269,7 +288,7 @@
 
 <style lang="less">
     @import '../../less/common.less';
-    .addCommonSymptomWrapper {
+    .AddPhysicalExamTempWrapper {
         .groupTitle {
             background-color: #fff;
             height: 40px;
@@ -342,14 +361,28 @@
             }
             }
         }
+        .arrowIcon {
+             cursor: pointer;
+            display: inline-block;
+            width: 40px;
+            height: 30px;
+            line-height: 30px;
+            border: 1px solid @icssBorder;
+            font-size: 18px;
+            text-align: center;
+            margin-right: 15px;
+            .fr
+
+        }
         .bottomPartRight {
-            width: 32%;
+            width: 52%;
         }
         .operationPool {
             position: relative;
             width: 100%;
             height: 340px;
             padding: 10px 0;
+            overflow: auto;
         }
         .btn {
             position: relative;

+ 3 - 2
src/components/icss/BloodPressTagGroup.vue

@@ -238,12 +238,13 @@ export default {
         },
         searchTagList() {
             let notIds = []
-            for (let i = 0; i < this.rightTagsList.length; i++) {
+            for (let i = 0; i < this.rightTagsList2.length; i++) {
                  if(typeof this.rightTagsList2[i].id === 'number') {
                     notIds.push(this.rightTagsList2[i].id)
                 }
                 
             }
+            
             let param1 = api.getGroupParams(3);            
             let param2 = {
                 "tagName": this.searchVal,
@@ -251,7 +252,7 @@ export default {
                 "notIds": notIds,
                 "sexType": this.sexType,
             }
-            let param = Object.assign(param1,param2)
+            let param = Object.assign({},param1,param2)
             api.searchTagList(param).then((res) => {
                 if (res.data.code === '0') {
                     this.leftTagsList = res.data.data

+ 47 - 26
src/components/icss/CommonSymptom.vue

@@ -30,6 +30,11 @@
                         label="操作时间"
                         :show-overflow-tooltip="true">
                 </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="typeName"
+                        label="类型">
+                </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         prop="name"
@@ -48,14 +53,14 @@
                     <template slot-scope="scope">
                         <el-button type="text" size="small" @click="toEditProduct(scope.row)">修改</el-button>
                         <span style="margin:0 3px;">|</span>
-                        <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row.id)">删除</el-button>
+                        <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row)">删除</el-button>
                     </template>
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         label="详情">
                     <template slot-scope="scope">
-                        <el-button type="text" size="small" @click="getDetailList(scope.row.id)">详情</el-button>
+                        <el-button type="text" size="small" @click="getDetailList(scope.row)">详情</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -97,10 +102,23 @@
     },
     methods: {
       toEditProduct(row){
-        this.$router.push({
-          name:'AddCommonSymptom',
-          params: {info:row}
-        })
+        const param = {
+            "deptId": row.id,
+            "type": row.type
+        }
+        api.getCommonSymptomById(param).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                this.$router.push({name:'AddCommonSymptom',params:{isEdit:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
+
       },
       filterDatas(){
         this.currentPage = 1;
@@ -122,24 +140,23 @@
           console.log(error);
         });
       },
-      getDetailList(id) {
-        const param = {'id': id,};
-        this.$router.push({name:'AddCommonSymptom', params:{id: id}})
-        /*api.getDeptInfoDetials(param).then((res) => {
-          if (res.data.code == '0') {
-            this.$router.push({name:'DeptInfoDetail', params:{id: id}})
-            // console.log("详情接口调用成功");
-          } else {
-            this.$message({
-              showClose: true,
-              message:res.data.msg,
-              type:'warning'
-            });
-            this.getDataList()  //刷新列表
-          }
-        }).catch((error) => {
-          console.log(error);
-        });*/
+      getDetailList(row) {
+        const param = {
+            "deptId": row.id,
+            "type": row.type
+        }
+        api.getCommonSymptomById(param).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                this.$router.push({name:'AddCommonSymptom',params:{isEdit:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
       },
       getFilterItems() {
         const param = {
@@ -175,9 +192,13 @@
           resolve();
         }).catch(() => {});
       },
-      showDelDialog(id){
+      showDelDialog(row){
         this.showConfirmDialog('是否删除该科室症状?',()=>{
-          api.delCommonSymptom({'deptId':id}).then((res)=>{
+          const param = {
+            "deptId": row.id,
+            "type": row.type
+          }
+          api.delCommonSymptom(param).then((res)=>{
             if(res.data.code=='0'){
               this.warning(res.data.msg||'操作成功','success');
               this.getDataList();

+ 2 - 1
src/components/icss/NoiseTemplate.vue

@@ -23,7 +23,7 @@
         :tipLis="dataPub.tipLis"
         :choose="dataPub.region2 == 6?'multiple':'single'"
         :options="editData.questionMapping"
-        v-show="dataPub.region2 == 2 || dataPub.region2 == 6"
+        v-if="dataPub.region2 == 2 || dataPub.region2 == 6"
         @changeActionData="changeActionData"
       ></PubTagPartDetail>
       <SymptomTagGroup 
@@ -160,6 +160,7 @@ export default {
       // console.log(type)
     },
     changeActionData(arr) {          //标签明细右侧数据id
+    console.log(44254165456)
       this.sendIds = arr
     },
     submitForm() {       // 调用子组件的方法验证公用部分

+ 34 - 24
src/components/icss/PhysicalExamTemplate.vue

@@ -55,7 +55,7 @@
                         :resizable = "false"
                         label="详情">
                     <template slot-scope="scope">
-                        <el-button type="text" size="small" @click="getDetailList(scope.row.id)">详情</el-button>
+                        <el-button type="text" size="small" @click="getDetailList(scope.row)">详情</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -97,10 +97,24 @@
     },
     methods: {
       toEditProduct(row){
-        this.$router.push({
-          name:'AddPhysicalExam',
-          params: {info:row}
-        })
+        api.getPhysicalExamTempByDepId({deptId:row.id}).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                console.log('item', item)
+                this.$router.push({name:'AddPhysicalExamTemp',params:{isEdit:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
+
+        // this.$router.push({
+        //   name:'AddPhysicalExamTemp',
+        //   params: {info:row}
+        // })
       },
       filterDatas(){
         this.currentPage = 1;
@@ -122,24 +136,20 @@
           console.log(error);
         });
       },
-      getDetailList(id) {
-        const param = {'id': id,};
-        this.$router.push({name:'AddPhysicalExam', params:{id: id}})
-        /*api.getDeptInfoDetials(param).then((res) => {
-          if (res.data.code == '0') {
-            this.$router.push({name:'DeptInfoDetail', params:{id: id}})
-            // console.log("详情接口调用成功");
-          } else {
-            this.$message({
-              showClose: true,
-              message:res.data.msg,
-              type:'warning'
-            });
-            this.getDataList()  //刷新列表
-          }
-        }).catch((error) => {
-          console.log(error);
-        });*/
+      getDetailList(row) {
+        const param = {'deptId': row.id,};
+        api.getPhysicalExamTempByDepId(param).then((res)=>{
+            const {code,data,msg} = res.data;
+            if(code=='0'){
+                const item = Object.assign({},row,data);
+                this.$router.push({name:'AddPhysicalExamTemp',params:{isDetail:true,data:item}});
+            }else{
+                this.$message({
+                message: msg,
+                type: 'warning'
+                });
+            }
+        });
       },
       getFilterItems() {
         const param = {
@@ -177,7 +187,7 @@
       },
       showDelDialog(id){
         this.showConfirmDialog('是否删除该科室症状?',()=>{
-          api.delCommonSymptom({'deptId':id}).then((res)=>{
+          api.delPhysicalExamTemp({'deptId':id}).then((res)=>{
             if(res.data.code=='0'){
               this.warning(res.data.msg||'操作成功','success');
               this.getDataList();

+ 26 - 25
src/components/icss/PubIndeptTag.vue

@@ -44,6 +44,30 @@
                             :key="item.id"
                     ></el-option>
                 </el-select>
+            </el-form-item>
+             <el-form-item
+                    label="性别:"
+                    prop="region7"
+            >
+                <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
+                <el-select
+                        v-model="form.region7"
+                        :disabled="!!editData.id || !form.region1 || form.region2 == '99'"
+                        @change="(e)=>readyChangeSelect(e,3)"
+                >
+                    <el-option
+                            label="通用"
+                            value="3"
+                    ></el-option>
+                    <el-option
+                            label="男"
+                            value="1"
+                    ></el-option>
+                    <el-option
+                            label="女"
+                            value="2"
+                    ></el-option>
+                </el-select>
             </el-form-item>
             <el-form-item
                     label="标签系统名称:"
@@ -73,7 +97,7 @@
                     label="标签前后缀:"
                     class="fix-inp"
                     prop="region12"
-                    v-if="form.region2==6"
+                    v-if="form.region2==6 || form.region2==7"
             >
                 <el-col :span="10">
                 <el-input v-model="form.prefix"
@@ -123,30 +147,7 @@
                     ></el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item
-                    label="性别:"
-                    prop="region7"
-            >
-                <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
-                <el-select
-                        v-model="form.region7"
-                        :disabled="!!editData.id || !form.region1 || form.region2 == '99'"
-                        @change="(e)=>readyChangeSelect(e,3)"
-                >
-                    <el-option
-                            label="通用"
-                            value="3"
-                    ></el-option>
-                    <el-option
-                            label="男"
-                            value="1"
-                    ></el-option>
-                    <el-option
-                            label="女"
-                            value="2"
-                    ></el-option>
-                </el-select>
-            </el-form-item>
+           
             <el-form-item
                     label="年龄:"
                     prop="region8"

+ 14 - 14
src/components/icss/SingleSelect.vue

@@ -3,16 +3,16 @@
         <el-form>
             <div class="operation-row">
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=2&&(focusOn==i||(focusOn==-1&&i==0))" :key="1+i" v-model="rows[i].defaultSelect" @change="emitValues(i,'hasDefault',rows[i].defaultSelect)">
-                    <el-checkbox-button  v-if=" ascription != 5 || type != 1" :label="i" :disabled="hasNone==i||hasBan==i|| hasCorrect==i || (hasDefault!=-1&&hasDefault!=i)">默认选中</el-checkbox-button>
+                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1 || type == 2)" :label="i" :disabled="hasNone==i||hasBan==i|| hasError==i || (hasDefault!=-1&&hasDefault!=i)">默认选中</el-checkbox-button>
                 </el-checkbox-group>
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=1&&(focusOn==i||(focusOn==-1&&i==0))" :key="2+i" v-model="rows[i].isNone" @change="emitValues(i,'hasNone',rows[i].isNone)">
-                    <el-checkbox-button  v-if=" ascription != 5 || type != 1" :label="i" :disabled="hasDefault==i||hasBan==i || hasCorrect==i ||(hasNone!=-1&&hasNone!=i)">同“无”类型</el-checkbox-button>
+                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasDefault==i||hasBan==i || hasError==i ||(hasNone!=-1&&hasNone!=i)">同“无”类型</el-checkbox-button>
                 </el-checkbox-group>
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=1&&(focusOn==i||(focusOn==-1&&i==0))" :key="3+i" v-model="rows[i].isBan" @change="emitValues(i,'hasBan',rows[i].isBan)">
-                    <el-checkbox-button v-if=" ascription!=5 || type != 1" :label="i" :disabled="hasDefault==i||hasNone==i || hasCorrect==i||(hasBan!=-1&&hasBan!=i)">同“伴”类型</el-checkbox-button>
+                    <el-checkbox-button v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasDefault==i||hasNone==i || hasError==i||(hasBan!=-1&&hasBan!=i)">同“伴”类型</el-checkbox-button>
                 </el-checkbox-group>
-                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="4+i" v-model="rows[i].isCorrect" @change="emitValues(i,'hasCorrect',rows[i].isCorrect)">
-                    <el-checkbox-button v-if="ascription==5  && type == 1" :label="i" :disabled="hasDefault==i||hasBan==i ||hasNone==i ||(hasCorrect!=-1&&hasCorrect!=i)">标记正确选项</el-checkbox-button>
+                <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="4+i" v-model="rows[i].isError" @change="emitValues(i,'hasError',rows[i].isError)">
+                    <el-checkbox-button v-if="ascription==5  && type == 1" :label="i" :disabled="hasDefault==i||hasBan==i ||hasNone==i ||(hasError!=-1&&hasError==i)">标记异常选项</el-checkbox-button>
                 </el-checkbox-group>
                 <el-button type="danger" size="small" class="del" @click="delRow">删除</el-button>
             </div>
@@ -85,8 +85,8 @@
       props:['type','options','ascription','sexType'],
       data(){
         return {
-          maps:{isBan:'同“伴”',isNone:'同“无”',defaultSelect:'默认选中',isCorrect:'正确选项'},
-          rows:[{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}],
+          maps:{isBan:'同“伴”',isNone:'同“无”',defaultSelect:'默认选中',isError:'异常选项'},
+          rows:[{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}],
           focusOn:-1
         }
       },
@@ -94,7 +94,7 @@
         const {options} = this.$props;
         if(options){
           const arr = options.map((it)=>{
-            return {name:it.name,defaultSelect:it.defaultSelect=='1'?true:false,isBan:it.code==1?true:'',isNone:it.code==2?true:'',isCorrect:it.code==3?true:''};
+            return {name:it.name,defaultSelect:it.defaultSelect=='1'?true:false,isBan:it.code==1?true:'',isNone:it.code==2?true:'',isError:it.abnormal==1?true:''};
           });
           this.rows = arr;
           const items = utils.simpleOptionData(this.rows);
@@ -128,9 +128,9 @@
           });
           return index;
         },
-        hasCorrect:function(){        //是否为正确选项
+        hasError:function(){        //是否为正确选项
           let index =this.rows.findIndex((it)=>{
-            return it.isCorrect;
+            return it.isError;
           });
           return index;
         }
@@ -139,28 +139,28 @@
         ascription(newVal, preVal) {
             if (newVal != preVal) {
                 if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
-                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}];
+                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}];
                 }
             }
         },
         type(newVal, preVal) {
             if (newVal != preVal) {
                 if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
-                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}];
+                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}];
                 }
             }
         },
         sexType(newVal, preVal) {
             if (newVal != preVal) {
                 if (JSON.stringify(newVal) != JSON.stringify(preVal)) {
-                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''}];
+                    this.rows = [{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''},{name:'',defaultSelect:'',isBan:'',isNone:'',isError:''}];
                 }
             }
         },
       },
       methods:{
         addRow(){
-          this.rows.push({name:'',defaultSelect:'',isBan:'',isNone:'',isCorrect:''});
+          this.rows.push({name:'',defaultSelect:'',isBan:'',isNone:'',isError:''});
         },
         selectRow(index){
           this.focusOn = index;

+ 2 - 1
src/components/icss/SymptomTagGroup.vue

@@ -109,7 +109,7 @@ export default {
           let newArr = []
           for (let i = 0; i < this.rightTagsList2.length; i++) {
               if(this.rightTagsList2[i].tagType == 8) {
-                  newArr.push({ text: this.rightTagsList2[i].tagName ,type:'input' ,id: i+',,,'})
+                  newArr.push({ text: this.rightTagsList2[i].tagName ,type:'input' ,id: i+',,,', symptomType: this.rightTagsList2[i].symptomType})
               } else {
                   if(i === 0 ) {
                       newArr.push({ text: '' ,type:'input' ,id: i+',,,'})
@@ -249,6 +249,7 @@ export default {
             }
             this.selectLeftTagsList = []
             this.selectRightTagsList = []
+            this.searchTagList()
             this.$emit('changeActionData',this.rightTagsList2, false);
         },
         searchTagList() {