Browse Source

搜索问题修改

wyq 4 years ago
parent
commit
a271f4137d

+ 2 - 0
src/components/knowledgeExtra/DiagBase.vue

@@ -137,6 +137,8 @@ export default {
     const param = this.$route.params;
     if (param.currentPage) {
       this.inCurrentPage = param.currentPage;
+    }
+    if (param.filter) {
       this.filter = param.filter;
     }
     this.getTypeList();

+ 2 - 0
src/components/knowledgeExtra/RuleManager.vue

@@ -171,6 +171,8 @@ export default {
     const param = this.$route.params;
     if (param.currentPage) {
       this.inCurrentPage = param.currentPage;
+    }
+    if (param.filter) {
       this.filter = param.filter;
     }
     this.getTypeList();

+ 302 - 291
src/components/knowledgeExtra/StaticInfo.vue

@@ -1,334 +1,345 @@
 <template>
-    <div>
-        <crumbs title="静态信息维护">
-            <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="标准术语归类:">
-                    <el-select size="mini" v-model="filter.libType" placeholder="标准术语归类" clearable>
-                        <el-option v-for="item in typeList" :label="item.name" :value="item.val" :key="item.val"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="医学标准术语:">
-                    <el-input size="mini" v-model="filter.term" placeholder="请输入术语" clearable></el-input>
-                </el-form-item>
-                <el-form-item label="状态:">
-                    <el-select size="mini" v-model="filter.status" placeholder="请选择" clearable>
-                        <el-option v-for="item in stateList" :label="item.name" :value="item.id" :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" style="margin:0 10px" @click="addMedicalPrompt">添加静态知识</el-button>
-                </el-form-item>
-            </el-form>
-        </crumbs>
-        <div class="contents">
-            <el-table :data="list"
-                      border
-                      style="width: 100%">
-                <el-table-column
-                        type="index"
-                        :index="indexMethod"
-                        label="编号"
-                        width="60">
-                </el-table-column>
-                <el-table-column
-                        prop="name"
-                        width="150"
-                        label="医学标准术语">
-                </el-table-column>
-                <el-table-column
-                        prop="typeName"
-                        label="标准术语归类"
-                        width="120">
-                </el-table-column>
-                <el-table-column
-                        prop="title"
-                        label="关联标题"
-                        width="240">
-                </el-table-column>
-                <el-table-column
-                        label="状态">
-                    <template slot-scope="scope">
-                        <span v-if="scope.row.isDeleted=='N'">启用</span>
-                        <span v-if="scope.row.isDeleted=='Y'" class="delete">禁用</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                        prop="modifier"
-                        label="操作人"
-                        width="80">
-                </el-table-column>
-                <el-table-column
-                        prop="gmtModified"
-                        label="操作时间"
-                        width="180"
-                        :show-overflow-tooltip="true">
-                </el-table-column>
-                <el-table-column
-                        label="操作" width="140">
-                    <template slot-scope="scope">
-                        <!-- <el-button v-if="scope.row.isDeleted=='Y'" type="text" size="small" class="is-disabled">修改</el-button> -->
-                        <el-button type="text" size="small" @click="toEditProduct(scope.row)">修改</el-button>
-                        <span style="margin:0 3px;">|</span>
-                        <!-- <el-button v-if="scope.row.isDeleted=='Y' || scope.row.typeId === 82 || scope.row.typeId === 83" type="text" size="small" class="is-disabled">复制</el-button> -->
-                        <!-- <el-button v-if="scope.row.isDeleted=='N'&&scope.row.typeId !== 82 && scope.row.typeId !== 83" type="text" size="small" @click="toCopyProduct(scope.row)">复制</el-button> -->
-                        <el-button type="text" size="small" @click="toCopyProduct(scope.row)">复制</el-button>
-                        <span style="margin:0 3px;">|</span>
-                        <el-button v-if="scope.row.isDeleted=='Y'" type="text" size="small" @click="showReuseDialog(scope.row)">启用</el-button>
-                        <el-button v-if="scope.row.isDeleted=='N'" type="text" size="small" class="delete" @click="showDelDialog(scope.row)">禁用</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <el-pagination :current-page.sync="currentPage"
-                           @current-change="currentChange"
-                           background
-                           :page-size="pageSize"
-                           :page-sizes="pageSizeArr"
-                           @size-change="handleSizeChange"
-                           :layout="pageLayout"
-                           :total="total">
-            </el-pagination>
-        </div>
-
+  <div>
+    <crumbs title="静态信息维护">
+      <el-form :inline="true" class="demo-form-inline">
+        <el-form-item label="标准术语归类:">
+          <el-select size="mini" v-model="filter.libType" placeholder="标准术语归类" clearable>
+            <el-option
+              v-for="item in typeList"
+              :label="item.name"
+              :value="item.val"
+              :key="item.val"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="医学标准术语:">
+          <el-input size="mini" v-model="filter.term" placeholder="请输入术语" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="状态:">
+          <el-select size="mini" v-model="filter.status" placeholder="请选择" clearable>
+            <el-option v-for="item in stateList" :label="item.name" :value="item.id" :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"
+            style="margin:0 10px"
+            @click="addMedicalPrompt"
+          >添加静态知识</el-button>
+        </el-form-item>
+      </el-form>
+    </crumbs>
+    <div class="contents">
+      <el-table :data="list" border style="width: 100%">
+        <el-table-column type="index" :index="indexMethod" label="编号" width="60"></el-table-column>
+        <el-table-column prop="name" width="150" label="医学标准术语"></el-table-column>
+        <el-table-column prop="typeName" label="标准术语归类" width="120"></el-table-column>
+        <el-table-column prop="title" label="关联标题" width="240"></el-table-column>
+        <el-table-column label="状态">
+          <template slot-scope="scope">
+            <span v-if="scope.row.isDeleted=='N'">启用</span>
+            <span v-if="scope.row.isDeleted=='Y'" class="delete">禁用</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="modifier" label="操作人" width="80"></el-table-column>
+        <el-table-column prop="gmtModified" label="操作时间" width="180" :show-overflow-tooltip="true"></el-table-column>
+        <el-table-column label="操作" width="140">
+          <template slot-scope="scope">
+            <!-- <el-button v-if="scope.row.isDeleted=='Y'" type="text" size="small" class="is-disabled">修改</el-button> -->
+            <el-button type="text" size="small" @click="toEditProduct(scope.row)">修改</el-button>
+            <span style="margin:0 3px;">|</span>
+            <!-- <el-button v-if="scope.row.isDeleted=='Y' || scope.row.typeId === 82 || scope.row.typeId === 83" type="text" size="small" class="is-disabled">复制</el-button> -->
+            <!-- <el-button v-if="scope.row.isDeleted=='N'&&scope.row.typeId !== 82 && scope.row.typeId !== 83" type="text" size="small" @click="toCopyProduct(scope.row)">复制</el-button> -->
+            <el-button type="text" size="small" @click="toCopyProduct(scope.row)">复制</el-button>
+            <span style="margin:0 3px;">|</span>
+            <el-button
+              v-if="scope.row.isDeleted=='Y'"
+              type="text"
+              size="small"
+              @click="showReuseDialog(scope.row)"
+            >启用</el-button>
+            <el-button
+              v-if="scope.row.isDeleted=='N'"
+              type="text"
+              size="small"
+              class="delete"
+              @click="showDelDialog(scope.row)"
+            >禁用</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        :current-page.sync="currentPage"
+        @current-change="currentChange"
+        background
+        :page-size="pageSize"
+        :page-sizes="pageSizeArr"
+        @size-change="handleSizeChange"
+        :layout="pageLayout"
+        :total="total"
+      ></el-pagination>
     </div>
+  </div>
 </template>
 
 <script>
-  import api from '@api/knowledgeTree.js';
-  import config from '@api/config.js';
-  import utils from '@api/utils.js';
+import api from '@api/knowledgeTree.js';
+import config from '@api/config.js';
+import utils from '@api/utils.js';
 
-  export default {
-    name: 'StaticInfo',
-    data: function () {
-      return {
-        list: [],
-        cacheData: {},
-        currentPage: 1,
-        pageSize: config.pageSize,
-        pageSizeArr:config.pageSizeArr,
-        pageLayout:config.pageLayout,
-        total: 0,
-        linkIn:[],
-        pays:[],
-        typeList:[],
-        stateList:[
-          {id:'N',name:'启用'},
-          {id:'Y',name:'禁用'},
-        ],
-        searched: false,
-        filter: {
-          term: '',
-          title:'',
-          status:'',
-          libType:'',
-        }
+export default {
+  name: 'StaticInfo',
+  data: function() {
+    return {
+      list: [],
+      cacheData: {},
+      currentPage: 1,
+      pageSize: config.pageSize,
+      pageSizeArr: config.pageSizeArr,
+      pageLayout: config.pageLayout,
+      total: 0,
+      linkIn: [],
+      pays: [],
+      typeList: [],
+      stateList: [
+        { id: 'N', name: '启用' },
+        { id: 'Y', name: '禁用' }
+      ],
+      searched: false,
+      filter: {
+        term: '',
+        title: '',
+        status: '',
+        libType: ''
       }
+    };
+  },
+  created() {
+    const param = this.$route.params;
+    if (param.currentPage) {
+      this.inCurrentPage = param.currentPage;
+    }
+    if (param.filter) {
+      this.filter = param.filter;
+    }
+    //返回时避免参数未赋值就获取列表
+    this.$nextTick(() => {
+      this.getDataList();
+      this.getListBack();
+    });
+  },
+  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: {
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = utils.getCurrentPage(
+        this.currentPage,
+        this.total,
+        this.pageSize
+      );
+      this.getDataList();
     },
-    created() {
-      const param = this.$route.params;
-      if(param.currentPage){
-        this.inCurrentPage = param.currentPage
-        this.filter = param.filter
-      }
-      //返回时避免参数未赋值就获取列表
-      this.$nextTick(()=>{
-        this.getDataList();
-        this.getListBack();
-      });
+    addMedicalPrompt() {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({ name: 'AddDevKnow', params: pam });
     },
-    watch: {
-      'filter': {
-        handler: function () {
-          this.searched = false;
-        },
-        deep: true
-      }
+    toEditProduct(row) {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({
+        name: 'AddDevKnow',
+        params: Object.assign(pam, { data: row, isEdit: true })
+      });
     },
-    // beforeRouteEnter(to, from, next){
-    //   next(vm => {
-    //     //const pm = to.param;
-    //     Object.assign(vm,to.params);
-    //     vm.inCurrentPage=to.params.currentPage;
-    //   })
-    // },
-    methods: {
-      handleSizeChange(val){
-        this.pageSize = val;
-        this.currentPage = utils.getCurrentPage(this.currentPage, this.total, this.pageSize);
-        this.getDataList();
-      },
-      addMedicalPrompt(){
-        const pam = this.searched ? {
-          currentPage: this.currentPage,
-          pageSize:this.pageSize,
-          filter: this.filter
-        } : {currentPage: this.currentPage,
-          pageSize:this.pageSize};
-        this.$router.push({name:'AddDevKnow',
-          params:pam});
-      },
-      toEditProduct(row){
-        const pam = this.searched ? {
-          currentPage: this.currentPage,
-          pageSize:this.pageSize,
-          filter: this.filter
-        } : {currentPage: this.currentPage,
-          pageSize:this.pageSize};
-        this.$router.push({
-          name:'AddDevKnow',
-          params: Object.assign(pam, {data:row,isEdit:true})
-        })
-      },
-      toCopyProduct(row){
-        const pam = this.searched ? {
-          currentPage: this.currentPage,
-          pageSize:this.pageSize,
-          filter: this.filter
-        } : {currentPage: this.currentPage,
-          pageSize:this.pageSize};
-        this.$router.push({
-          name:'AddDevKnow',
-          params: Object.assign(pam, {data:row,isCopy:true})
-        })
-      },
-      filterDatas(){
-        this.currentPage = 1;
-        this.getDataList();
-      },
-      getListBack(){
-        api.getListBack({}).then((res) => {
-          const result = res.data
-          if (result.code == '0') {
-            this.typeList = result.data&&result.data[10]||[]
+    toCopyProduct(row) {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
           }
-        })
-      },
-      getDataList(isTurnPage) {
-        const param = this.getFilterItems(isTurnPage);
-        this.searched = true;
-        const loading = this.$loading({
-            lock: true,
-            text: 'Loading',
-            spinner: 'el-icon-loading',
-            background: 'rgba(0, 0, 0, 0.7)'
-        });
-        api.staticBaseKnowledge(param).then((res) => {
-          loading.close()
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({
+        name: 'AddDevKnow',
+        params: Object.assign(pam, { data: row, isCopy: true })
+      });
+    },
+    filterDatas() {
+      this.currentPage = 1;
+      this.getDataList();
+    },
+    getListBack() {
+      api.getListBack({}).then(res => {
+        const result = res.data;
+        if (result.code == '0') {
+          this.typeList = (result.data && result.data[10]) || [];
+        }
+      });
+    },
+    getDataList(isTurnPage) {
+      const param = this.getFilterItems(isTurnPage);
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      api
+        .staticBaseKnowledge(param)
+        .then(res => {
+          loading.close();
           if (res.data.code == '0') {
             const data = res.data.data;
             let templis = data.records;
             this.list = templis;
             this.cacheData[param.current] = data.records;
             this.total = data.total;
-            for(let i = 0;i < templis.length;i++){
-              templis[i].isDeleted = templis[i].status=='1'?'N':'Y'
+            for (let i = 0; i < templis.length; i++) {
+              templis[i].isDeleted = templis[i].status == '1' ? 'N' : 'Y';
             }
-            if(this.inCurrentPage!==undefined){
-              this.currentPage=this.inCurrentPage;
+            if (this.inCurrentPage !== undefined) {
+              this.currentPage = this.inCurrentPage;
               this.inCurrentPage = undefined;
             }
           }
-        }).catch((error) => {
+        })
+        .catch(error => {
           console.log(error);
         });
-      },
-      clearFilter(){
-        this.filter={
-          term: '',
-          title:'',
-          status:'',
-          libType:'',
-        };
-      },
-      getFilterItems(isTurnPage) {
-        //翻页时筛选条件没点确定则清空
-        if(isTurnPage&&!this.searched){
-          this.clearFilter();
-        };
-        const param = {
-          name:this.filter.term.trim(),
-          current: this.inCurrentPage||this.currentPage,
-          size: this.pageSize,
-          status:this.filter.status == 'Y'?0:this.filter.status == 'N'?1:'',
-          type:this.filter.libType||'',
-        };
-        return param;
-      },
-      indexMethod(index) {
-        return ((this.currentPage - 1) * this.pageSize) + index + 1;
-      },
-      currentChange(next) {
-        this.currentPage = next;
-        /*if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+    },
+    clearFilter() {
+      this.filter = {
+        term: '',
+        title: '',
+        status: '',
+        libType: ''
+      };
+    },
+    getFilterItems(isTurnPage) {
+      //翻页时筛选条件没点确定则清空
+      if (isTurnPage && !this.searched) {
+        this.clearFilter();
+      }
+      const param = {
+        name: this.filter.term.trim(),
+        current: this.inCurrentPage || this.currentPage,
+        size: this.pageSize,
+        status:
+          this.filter.status == 'Y' ? 0 : this.filter.status == 'N' ? 1 : '',
+        type: this.filter.libType || ''
+      };
+      return param;
+    },
+    indexMethod(index) {
+      return (this.currentPage - 1) * this.pageSize + index + 1;
+    },
+    currentChange(next) {
+      this.currentPage = next;
+      /*if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
           this.list = this.cacheData[next];
         } else {*/
-          this.getDataList(true);
-        //}
-      },
-      warning(msg,type){
-        this.$message({
-          showClose: true,
-          message:msg,
-          type:type||'warning'
-        })
-      },
-      showConfirmDialog(msg,resolve){
-        this.$confirm(msg, '提示', {
-          confirmButtonText: '确定',
-          showCancelButton:false,
-          // cancelButtonText: '取消',
-          // cancelButtonClass:'cancel',
-          type: 'warning'
-        }).then(() => {
+      this.getDataList(true);
+      //}
+    },
+    warning(msg, type) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || 'warning'
+      });
+    },
+    showConfirmDialog(msg, resolve) {
+      this.$confirm(msg, '提示', {
+        confirmButtonText: '确定',
+        showCancelButton: false,
+        // cancelButtonText: '取消',
+        // cancelButtonClass:'cancel',
+        type: 'warning'
+      })
+        .then(() => {
           resolve();
-        }).catch(() => {});
-      },
-      showDelDialog(row){
-        this.showConfirmDialog('是否禁用该静态知识?',()=>{
-          api.changeBaseStatus({id:row.id,status:0}).then((res)=>{
-            if(res.data.code=='0'){
-              if(!this.searched){
+        })
+        .catch(() => {});
+    },
+    showDelDialog(row) {
+      this.showConfirmDialog('是否禁用该静态知识?', () => {
+        api
+          .changeBaseStatus({ id: row.id, status: 0 })
+          .then(res => {
+            if (res.data.code == '0') {
+              if (!this.searched) {
                 //未点确认时清空搜索条件
                 this.clearFilter();
               }
-              this.warning(res.data.msg||'操作成功','success');
+              this.warning(res.data.msg || '操作成功', 'success');
               this.getDataList();
-            }else{
+            } else {
               this.warning(res.data.msg);
             }
-          }).catch((error)=>{
-            this.warning(error);
           })
-        });
-      },
-      showReuseDialog(row){
-        this.showConfirmDialog('是否重新启用该条数据?',()=>{
-          api.changeBaseStatus({id:row.id,status:1}).then((res)=>{
-            if(res.data.code=='0'){
-              this.currentPage = 1;         //恢复数据跳转到筛选条件下首页
-              this.warning(res.data.msg||'操作成功','success');
+          .catch(error => {
+            this.warning(error);
+          });
+      });
+    },
+    showReuseDialog(row) {
+      this.showConfirmDialog('是否重新启用该条数据?', () => {
+        api
+          .changeBaseStatus({ id: row.id, status: 1 })
+          .then(res => {
+            if (res.data.code == '0') {
+              this.currentPage = 1; //恢复数据跳转到筛选条件下首页
+              this.warning(res.data.msg || '操作成功', 'success');
               this.getDataList();
-            }else{
+            } else {
               this.warning(res.data.msg);
             }
-          }).catch((error)=>{
-            this.warning(error);
           })
-        });
-      }
+          .catch(error => {
+            this.warning(error);
+          });
+      });
     }
   }
+};
 </script>
 
 <style lang="less">
-    @import "../../less/admin.less";
-    .status-span{
-        font-size: 12px;
-        margin-right:10px;
-        color: unset;
-    }
-    .delete {
-      color: red;
-    }
+@import '../../less/admin.less';
+.status-span {
+  font-size: 12px;
+  margin-right: 10px;
+  color: unset;
+}
+.delete {
+  color: red;
+}
 </style>