Explorar o código

添加查体模板

zhangxc %!s(int64=6) %!d(string=hai) anos
pai
achega
822df8507b

+ 44 - 25
src/components/icss/AddPhysicalExamTemp.vue

@@ -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,25 +43,25 @@
                 </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">查体模板:</p>
                 <ul class="tagList operationPool">
                         <li class = "tagItem"
                             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">
+            <div class="bottomPartMid fl" v-if="!isDetail">
                 <p><span class="el-icon-arrow-up" @click="toUp"></span></p>
                 <p><span class="el-icon-arrow-down" @click="toDown"></span></p>
             </div>
@@ -84,7 +84,7 @@
     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,15 @@
         }
     },
     created(){
+        console.log('param', this.$route.params)
+        const { isEdit, isDetail, data } = this.$route.params;
+        if(isEdit || isDetail) {
+            this.isEdit = isEdit
+            this.isDetail = isDetail
+            this.rightTagsList = data.vitals
+            this.form.department = data.id
+            
+        }
         this.getDepartmentList()
         this.getTagList()
     },
@@ -126,20 +137,25 @@
             })
         },
         getTagList() {
-            let noIds = []
-            for (let i =0; i < this.rightTagsList.length; i++) {
-                noIds.push(this.rightTagsList[i].id)
-            }
-            const param = {
-                "deptId": this.form.department,
-                // "tagName": this.searchVal,
+                const notIds = this.getRightTagListIds()
+                let param = {
+                "tagName": this.searchVal,
+                "type": 4,
+                "notIds": notIds,
             }
-            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 +177,7 @@
             this.selectLeftTagsList = [];
             this.selectRightTagsList = [];
             this.getTagList()
+            console.log('rightTagsList', this.rightTagsList)
         },
         toLeftList(){
             for(let i = 0; i < this.selectRightTagsList.length; i++) {
@@ -221,22 +238,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 {
@@ -350,6 +368,7 @@
             width: 100%;
             height: 340px;
             padding: 10px 0;
+            overflow: auto;
         }
         .btn {
             position: relative;

+ 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();