luolei 6 лет назад
Родитель
Сommit
b9cb6e90ea

+ 1 - 1
src/api/config.js

@@ -232,7 +232,7 @@ export default {
      'exportDiagnosticAll': '/api/knowledgeman/diagnose/exportDiagnosticAll', //诊断依据--导出诊断依据
      'exportDiagnosticBasis': '/api/knowledgeman/diagnose/exportDiagnosticBasis', //诊断依据--导出诊断依据问题
      'importDiagnosticBasis': '/api/knowledgeman/diagnose/importDiagnosticBasis', //诊断依据--导入诊断依据数据
-     'queryQuestionPage': '/api/knowledgeman/diagnose/queryQuestionPage', //诊断依据--问题词分页查询
+     'queryQuestionPage': '/api/knowledgeman/queryQuestionPage', //诊断依据--问题词分页查询
      'diagBaseDelete': '/api/knowledgeman/delete', //诊断依据--删除
      'diagBaseGetDetail': '/api/knowledgeman/getDetail', //诊断依据--获取详情
      'diagBaseIndex': '/api/knowledgeman/index', //诊断依据--诊断检索

+ 14 - 3
src/api/diagBase.js

@@ -6,9 +6,20 @@ export default {
     exportDiagnosticAll(param){ //诊断依据--导出诊断依据
         return axios.post(urls.exportDiagnosticAll, param)
     },
-    exportDiagnosticBasis(param){ //诊断依据--导出诊断依据问题
-        return axios.post(urls.exportDiagnosticBasis, param)
-    },
+    exportDiagnosticBasis(data){ //诊断依据--导出诊断依据问题
+        // return axios.post(urls.exportDiagnosticBasis, param,{
+        //     contentType: "application/vnd.ms-excel" ,
+        //     responseType: 'blob' //必须添加,否则会乱码
+        // })
+        return axios({
+            method:'post',
+            url:urls.exportDiagnosticBasis,
+            data,
+            contentType: "application/vnd.ms-excel" ,
+            responseType: 'blob'//必须添加,否则会乱码
+        })
+    },
+    
     importDiagnosticBasis(param){ //诊断依据--导入诊断依据数据
         return axios.post(urls.importDiagnosticBasis, param)
     },

+ 205 - 5
src/components/diagBase/QuestionWords.vue

@@ -1,15 +1,215 @@
 <template>
-  <div>
-      LT-ZDYJWH-WTCSJWH
-  </div>
+    <div>
+        <crumbs title="标签组维护" style="min-width: 980px">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="诊断名称:">
+                    <el-input size="mini" v-model="filter.disName" placeholder="诊断名称" clearable></el-input>
+                </el-form-item>
+                <el-form-item label="问题词:">
+                    <el-input size="mini" v-model="filter.questionName" placeholder="问题词" clearable></el-input>
+                </el-form-item>
+                <el-form-item label="问题词归属:">
+                    <el-select size="mini" v-model="filter.questionType" @change="getValue"  placeholder="问题词归属" clearable>
+                        <el-option v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <el-button size="mini" type="warning" @click="addTagGroup">导出</el-button>
+                </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table
+                :data="list"
+                border
+                style="width: 100%">
+                <el-table-column
+                    :resizable = "false"
+                    type="index"
+                    :index = 'indexMethod'
+                    label="编号"
+                    width="60">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="gmtModified"
+                    label="操作时间"
+                    width="180">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="disName"
+                    label="诊断名称">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="questionName"
+                    label="问题词">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="typeCn"
+                    label="问题词归属">
+                </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    prop="modifier"
+                    label="操作人">
+                </el-table-column>
+            </el-table>
+        <div class="pagination">
+            <el-pagination v-if="total>pageSize"
+                       :current-page.sync="currentPage"
+                       @current-change="currentChange"
+                       background
+                       :page-size="pageSize"
+                       layout="total,prev, pager, next, jumper"
+                       :total="total">
+            </el-pagination>
+        </div>
+        
+        </div>
+    </div>
 </template>
 
 <script>
+import api from '@api/diagBase.js';
+import apis from '@api/icss.js';
+import utils from '@api/utils.js';
+
 export default {
-    name:'QuestionWords'
+    name: 'QuestionWords',
+    data: function() {
+        return {
+            list: [],
+            tagTypes: [],
+            Adscriptions: [],   //标签归属列表
+            tagTypesList: [],   //标签类型列表
+            searched: false,
+            filter: {
+                disName: '', //诊断名称
+                questionCode: "",//问题词
+                questionName: "",//问题词
+                questionType: ""//问题词归属
+            },
+            currentPage: 1,
+            pageSize: 10,
+            total: 0,
+        }
+    },
+    created() {
+        this.getDropList().then(() => {
+            this.getDataList()
+        })
+        
+    },
+  watch: {
+    'filter': {
+      handler: function () {
+        this.searched = false;
+      },
+      deep: true
+    }
+  },
+  beforeRouteEnter(to, from, next) {
+    next(vm => {
+      //const pm = to.param;
+      Object.assign(vm, to.params);
+    })
+  },
+    methods: {
+        getValue(val) {
+            // console.log('changeVal', val, this.filter.tagAdscription)
+        },
+        getDropList() {
+            return apis.getknowledgeList().then((res) =>{
+                if(res.data.code === '0') {
+                    // this.Adscriptions = res.data.data[1];
+                    let tmpLis = res.data.data[4]
+                    // this.Adscriptions = tmpLis.filter(item => item.val);
+                    this.Adscriptions = tmpLis;
+                    // this.tagTypes =  res.data.data[4];
+                    // for (var i = 0; i < this.tagTypes.length; i++) {
+                    //     this.tagTypesList.push(this.tagTypes[i].val)
+                    // }
+                }
+                 
+            })
+        },
+        getDataList() {
+            const param = this.getFilterItems();
+            this.searched = true;
+            api.queryQuestionPage(param).then((res) => {
+                const list = res.data.data.records
+                for (var i = 0; i < list.length; i++) {
+                    for (var z =  0; z < this.Adscriptions.length; z++) {
+                        if(list[i].questionType == this.Adscriptions[z].val) {
+                            list[i].typeCn = this.Adscriptions[z].name
+                        }
+                    }
+                   
+                }
+                this.list = list;
+                this.total = res.data.data.total;
+            })
+        },
+        filterDatas() {
+            this.currentPage = 1;
+            this.getDataList();
+        },
+        addTagGroup() {
+          const data = {
+            disName: this.filter.disName,
+            questionCode: this.filter.questionName,
+            questionType: this.filter.questionType
+          };
+          api.exportDiagnosticBasis(data).then((res) => {
+              console.log(res)
+              utils.downloadExportedData(res.data,'问题词.xls')
+          })
+        },
+        currentChange(next) {
+            this.currentPage = next;
+            this.getDataList();
+        },
+        getFilterItems() {
+            const param = {
+                current: this.currentPage,
+                size: this.pageSize,
+                disName: this.filter.disName,
+                questionCode: this.filter.questionName,
+                questionType: this.filter.questionType
+            };
+            return param;
+        },
+        indexMethod(index) {
+            return ((this.currentPage - 1) * this.pageSize) + index + 1;
+        },
+        getTagType(val) {
+            return val
+        },
+        warning(msg,type){
+          this.$message({
+            showClose: true,
+            message:msg,
+            type:type||'warning'
+          })
+        },
+    }
 }
 </script>
 
-<style>
 
+<style lang="less">
+    @import "../../less/admin.less";
+    .delete{
+       color: red;
+    }
+    .delete:hover {
+        color: red;
+    } 
+    .pagination {
+        min-width: 1010px;
+    }
 </style>

+ 1 - 1
src/components/icss/CommonTemplate.vue

@@ -572,7 +572,7 @@ export default {
         "tagName": this.searchVal,
         "type": tmpTypeSin,
         "notIds": notIds,
-        "notTagType": (this.type==2 || this.type==22 || this.type==32 || this.type==322 || this.type==4)?[4,8,10]:[3,4,8,10]//查体没有症状尾巴有血压,其他史有症状尾巴无血压
+        "notTagType": (this.type==2 || this.type==22 || this.type==32 || this.type==322 || this.type==4)?[4,8,10]:[3,4,8,10]
       }
       let params = {
         "notIds": notIds,