瀏覽代碼

Merge remote-tracking branch 'origin/testedMerge'

zhouna 5 年之前
父節點
當前提交
deeaeabf8e

+ 1 - 1
src/api/config.js

@@ -294,7 +294,7 @@ export default {
   msg:{
     imgTip:'无法上传图片,图片大小不可超过2M'
   },
-  pageSizeArr:[10,50,100,500],         //分页每页显示条数选项
+  pageSizeArr:[10,50,100,500,1000,5000],         //分页每页显示条数选项
   pageSize:10,      //初始每页显示条数
   pageLayout:"total,sizes,prev, pager, next, jumper",        //分页组件成分
 }

+ 4 - 0
src/api/utils.js

@@ -420,5 +420,9 @@ export default {
       $(document).on('mousemove', handleMove)
       $(document).on('mouseup', handleUp)
     }
+  },
+  getCurrentPage(currentChange, total, pageSize) {
+    const currentPage =  currentChange > Math.ceil(total/pageSize) ? Math.ceil(total/pageSize) : currentChange
+    return currentPage;
   }
 }

+ 32 - 3
src/components/diagBase/AddDiagBase.vue

@@ -188,7 +188,7 @@
         const userLoginDTO = JSON.parse(localStorage.getItem('userLoginDTO'))
         this.modifier = userLoginDTO && userLoginDTO.linkman
         this.getDropList()
-        const { isEdit, data } = this.$route.params;
+        const { isEdit,isCopy, data } = this.$route.params;
         if(isEdit) {
             if(isEdit) {
                 this.isEdit = isEdit;
@@ -204,8 +204,37 @@
                 } 
                 this.hasQuestion = data.hasQuestion
             } 
-        } else {
-            
+        } else if(isCopy) {
+             this.isEdit = isEdit;
+                this.titleText = '添加';
+                this.disName = ''
+                this.id = ''
+                this.disNameExist = true
+                if(data.disFeature.length) {
+                    const disFeatureCopy = JSON.parse(JSON.stringify(data.disFeature))
+                    for(let i = 0; i < disFeatureCopy.length; i++) {
+                        disFeatureCopy[i].verifyCode == ""
+                        disFeatureCopy[i].verifyFormula == ""
+                        disFeatureCopy[i].verifyRelation == ""
+                        disFeatureCopy[i].verifyResult == ""
+                        disFeatureCopy[i].verifyStandard == ""
+                        disFeatureCopy[i].verifyUnique == ""
+                    }
+                    this.disFeatureList = disFeatureCopy
+                }   
+                if(data.disformula.length) {
+                    const disformulaCopy = JSON.parse(JSON.stringify(data.disformula))
+                     for(let i = 0; i < disformulaCopy.length; i++) {
+                        disformulaCopy[i].verifyCode == ""
+                        disformulaCopy[i].verifyFormula == ""
+                        disformulaCopy[i].verifyRelation == ""
+                        disformulaCopy[i].verifyResult == ""
+                        disformulaCopy[i].verifyStandard == ""
+                        disformulaCopy[i].verifyUnique == ""
+                    }
+                    this.disFormulaList = disformulaCopy
+                } 
+                this.hasQuestion = 1
         }
     },
    mounted(){

+ 17 - 1
src/components/diagBase/DiagBase.vue

@@ -69,6 +69,8 @@
                     <template slot-scope="scope">
                         <el-button  @click="modifyDiagBase(scope.row, 'modify')" type="text" size="small">修改</el-button>
                         <span style="margin:0 3px;">|</span>
+                        <el-button  @click="modifyDiagBase(scope.row,'copy')" type="text" size="small">复制</el-button>
+                        <span style="margin:0 3px;">|</span>
                         <el-button @click="showDelDialog(scope.row.id)" class="delete" type="text" size="small">删除</el-button>
                         
                     </template>
@@ -93,6 +95,7 @@
 import api from '@api/diagBase.js';
 import apis from '@api/icss.js';
 import config from '@api/config.js';
+import utils from '@api/utils.js';
 
 export default {
     name: 'diagBase',
@@ -135,11 +138,13 @@ export default {
   beforeRouteEnter(to, from, next) {
     next(vm => {
       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();
       },
         getDropList() {
@@ -155,9 +160,20 @@ export default {
             setTimeout(()=>{
               this.searched = true;
             },0)
+            const loading = this.$loading({
+                lock: true,
+                text: 'Loading',
+                spinner: 'el-icon-loading',
+                background: 'rgba(0, 0, 0, 0.7)'
+            });
             api.diagBasePage(param).then((res) => {
+                loading.close()
                 this.list = res.data.data.records
                 this.total = res.data.data.total;
+              if(this.inCurrentPage!==undefined){
+                this.currentPage=this.inCurrentPage;
+                this.inCurrentPage = undefined;
+              }
             })
         },
         filterDatas() {
@@ -243,7 +259,7 @@ export default {
               this.clearFilter();
             };
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 disName: this.filter.disName.trim(),
                 modifier: this.filter.modifier, //操作人

+ 14 - 1
src/components/diagBase/QuestionWords.vue

@@ -126,11 +126,13 @@ export default {
     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();
       },
         getValue(val) {
@@ -154,7 +156,14 @@ export default {
         getDataList() {
             const param = this.getFilterItems();
             this.searched = true;
+            const loading = this.$loading({
+                lock: true,
+                text: 'Loading',
+                spinner: 'el-icon-loading',
+                background: 'rgba(0, 0, 0, 0.7)'
+            });
             api.queryQuestionPage(param).then((res) => {
+                loading.close()
                 const list = res.data.data.records
                 for (var i = 0; i < list.length; i++) {
                     for (var z =  0; z < this.Adscriptions.length; z++) {
@@ -170,6 +179,10 @@ export default {
                 }
                 this.list = list;
                 this.total = res.data.data.total;
+              if(this.inCurrentPage!==undefined){
+                this.currentPage=this.inCurrentPage;
+                this.inCurrentPage = undefined;
+              }
             })
         },
         filterDatas() {
@@ -192,7 +205,7 @@ export default {
         },
         getFilterItems() {
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 disName: this.filter.disName.trim(),
                 questionCode: this.filter.questionName.trim(),

+ 30 - 1
src/components/icss/AddMedicalName.vue

@@ -206,7 +206,17 @@
             </el-form-item>
             <el-form-item label="科室:" v-if="dioType" class="marT">
                 <el-select v-model="dept">
-                    <el-option v-for="(it,i) in deptList" :label="it.name" :value="it.name"></el-option>
+                    <!-- <el-option v-for="(it,i) in deptList" :label="it.name" :value="it.name"></el-option> -->
+                    <el-option-group
+                    v-for="group in deptListArr"
+                    :key="group.label">
+                    <el-option
+                      v-for="item in group.deptList"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name">
+                    </el-option>
+                  </el-option-group>
                 </el-select>
             </el-form-item>
             <el-form-item label="归属类型:" v-if="dioType" class="marT">
@@ -281,6 +291,7 @@ import SimilarListDrag from './SimilarListDrag'
         dioTypeList:[],//更多信息-类型
         dioType:'', //默认展示一类
         deptList:[], //更多信息-科室
+        deptListArr:[], //科室信息分组
         dept:'',  //默认展示全科
         similarList: [], //相似词列表
         searchIndex: -1, //展示哪个的同义词
@@ -338,6 +349,7 @@ import SimilarListDrag from './SimilarListDrag'
           if(data.code==0){
             this.deptList = data.data;
             if(!conptId){
+              console.log('this.deptListArr')
               this.dept = "全科"; //默认展示全科
             }else{
               // 科室id转成name显示
@@ -347,6 +359,23 @@ import SimilarListDrag from './SimilarListDrag'
                 }
               })
             }
+            const total = this.deptList.length;
+              const average = parseInt(total/3);
+              const mod = total%3; //余数
+              const firstGroup = this.deptList.slice(0,average);
+              let secGroup = [];
+              let thirdGroup = [];
+              let tempArr = []
+              if(mod == 2){
+                secGroup = this.deptList.slice(average,average*2+1);
+                thirdGroup = this.deptList.slice(average*2+1,total);
+              }else{
+                secGroup = this.deptList.slice(average,average*2);
+                thirdGroup = this.deptList.slice(average*2,total);
+              }
+              tempArr.push({label:1,deptList:firstGroup},{label:2,deptList:secGroup},{label:3,deptList:thirdGroup});
+              this.deptListArr = tempArr
+            
           }
         })
       },

+ 15 - 1
src/components/icss/AssaySon.vue

@@ -84,6 +84,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'AssaySon',   //慢病指标值关联维护
@@ -120,20 +121,33 @@
     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();
       },
         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.getAssaySon(param).then((res) => {
+                loading.close()
                 if(res.data.code == '0') {
                     this.list = res.data.data.records;
                     this.total = res.data.data.total;
+                  if(this.inCurrentPage!==undefined){
+                    this.currentPage=this.inCurrentPage;
+                    this.inCurrentPage = undefined;
+                  }
                 }
             })
         },
@@ -181,7 +195,7 @@
             this.filter.conceptName='';
           };
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 name:this.filter.conceptName.trim()
             };

+ 21 - 7
src/components/icss/ChemicalAndCommonMapping.vue

@@ -88,6 +88,7 @@
 <script>
 import api from '@api/icss.js';
 import config from '@api/config.js';
+import utils from '@api/utils.js';
 
 export default {
     name: 'ChemicalAndCommonMapping',   //化验大小项和公表维护
@@ -127,22 +128,35 @@ export default {
     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();
       },
         getDataList(isTurnPage) {
             const param = this.getFilterItems(isTurnPage);
           this.searched = true;
-            api.getLisMappingPage(param).then((res) => {
-                if(res.data.code == '0') {
-                    this.list = res.data.data.records
-                }
-                this.total = res.data.data.total;
-            })
+          const loading = this.$loading({
+            lock: true,
+            text: 'Loading',
+            spinner: 'el-icon-loading',
+            background: 'rgba(0, 0, 0, 0.7)'
+          });
+          api.getLisMappingPage(param).then((res) => {
+            loading.close()
+            if(res.data.code == '0') {
+                this.list = res.data.data.records
+            }
+            this.total = res.data.data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
+          })
         },
         filterDatas() {
             this.currentPage = 1;
@@ -192,7 +206,7 @@ export default {
             this.clearFilter();
           };
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 mealName:this.filter.mealName.trim(),
                 itemName:this.filter.itemName.trim(),

+ 15 - 1
src/components/icss/ChronicAndIndexRelation.vue

@@ -79,6 +79,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'ChronicAndIndexRelation',   //慢病指标值关联维护
@@ -114,20 +115,33 @@
     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();
       },
         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.queryIndexConfigPages(param).then((res) => {
+                 loading.close()
                 if(res.data.code == '0') {
                     this.list = res.data.data.records;
                     this.total = res.data.data.total;
+                  if(this.inCurrentPage!==undefined){
+                    this.currentPage=this.inCurrentPage;
+                    this.inCurrentPage = undefined;
+                  }
                 }
             })
         },
@@ -176,7 +190,7 @@
             this.filter.diseaseName='';
           };
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 diseaseName:this.filter.diseaseName.trim(),
             };

+ 15 - 1
src/components/icss/ChronicDiseaseStructureList.vue

@@ -87,6 +87,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'TemplateMaintenance',
@@ -132,11 +133,13 @@
       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();
       },
       getDropList() {
@@ -155,7 +158,14 @@
       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.scaleContentStructure(param).then((res) => {
+          loading.close()
           const list = res.data.data.records;
           // for (var i = 0; i < list.length; i++) {
           //   for (var j =  0; j < this.tagTypes.length; j++) {
@@ -166,6 +176,10 @@
           // }
           this.list = list;
           this.total = res.data.data.total;
+          if(this.inCurrentPage!==undefined){
+            this.currentPage=this.inCurrentPage;
+            this.inCurrentPage = undefined;
+          }
         })
       },
       filterDatas() {
@@ -210,7 +224,7 @@
           this.clearFilter();
         };
         const param = {
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           name: this.filter.tagSysName.trim(),
           status:this.filter.isState

+ 15 - 1
src/components/icss/ConceptRelation.vue

@@ -91,6 +91,7 @@
 <script>
 import api from '@api/icss.js';
 import config from '@api/config.js';
+import utils from '@api/utils.js';
 
 export default {
     name: 'ConceptRelation',   //诊断量表关联维护
@@ -132,11 +133,13 @@ export default {
     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();
       },
         toggTab(item){
@@ -149,10 +152,21 @@ export default {
         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.getConceptRelation(param).then((res) => {
+              loading.close()
               if(res.data.code == '0') {
                 this.list = res.data.data.records
                 this.total = res.data.data.total;
+                if(this.inCurrentPage!==undefined){
+                  this.currentPage=this.inCurrentPage;
+                  this.inCurrentPage = undefined;
+                }
               }
             })
         },
@@ -207,7 +221,7 @@ export default {
             this.filter.conceptName='';
           };
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 name:this.filter.conceptName.trim(),
                 relationId:17,

+ 13 - 1
src/components/icss/DisclaimerInformation.vue

@@ -114,6 +114,7 @@
       next(vm => {
         //const pm = to.param;
         Object.assign(vm, to.params);
+        vm.inCurrentPage=to.params.currentPage;
       })
     },
     methods: {
@@ -141,12 +142,23 @@
       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.discInformation(param).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
             this.cacheData[param.current] = data.records;
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -162,7 +174,7 @@
         };
         const param = {
           title: this.filter.title.trim(),
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize
         };
         return param;

+ 22 - 8
src/components/icss/IndeptLabel.vue

@@ -84,13 +84,14 @@
                     </template>
                 </el-table-column>
             </el-table>
-          <el-pagination @current-change="currentChange"
-                        background
-                        :page-size="pageSize"
-                        :page-sizes="pageSizeArr"
-                         @size-change="handleSizeChange"
-                        :layout="pageLayout"
-                        :total="total">
+          <el-pagination  :current-page.sync="currentPage"
+                          @current-change="currentChange"
+                          background
+                          :page-size.sync="pageSize"
+                          :page-sizes="pageSizeArr"
+                           @size-change="handleSizeChange"
+                          :layout="pageLayout"
+                          :total="total">
             </el-pagination>
         </div>
     </div>
@@ -139,11 +140,13 @@
       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();
       },
       getValue(val) {
@@ -163,7 +166,14 @@
       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.getTagList(param).then((res) => {
+          loading.close()
           const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
             for (var j =  0; j < this.tagTypes.length; j++) {
@@ -180,6 +190,10 @@
           }
           this.list = list;
           this.total = res.data.data.total;
+          if(this.inCurrentPage!==undefined){
+            this.currentPage=this.inCurrentPage;
+            this.inCurrentPage = undefined;
+          }
         })
       },
       filterDatas() {
@@ -246,7 +260,7 @@
         };
         const param = {
           tagTypeList: [1],
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           type: this.filter.tagAdscription,
           tagName: this.filter.tagSysName.trim(),

+ 16 - 2
src/components/icss/LabelGroup.vue

@@ -101,6 +101,7 @@
 <script>
 import api from '@api/icss.js';
 import config from '@api/config.js';
+import utils from '@api/utils.js';
 
 export default {
     name: 'tag-group',
@@ -141,11 +142,13 @@ export default {
     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();
       },
         getValue(val) {
@@ -170,7 +173,14 @@ export default {
         getDataList(isTurnPage) {
             const param = this.getFilterItems(isTurnPage);
           this.searched = true;
-            api.getTagList(param).then((res) => {
+          const loading = this.$loading({
+              lock: true,
+              text: 'Loading',
+              spinner: 'el-icon-loading',
+              background: 'rgba(0, 0, 0, 0.7)'
+          });
+            api.getTagList(param).then((res) => { 
+                 loading.close()
                 const list = res.data.data.records
                 for (var i = 0; i < list.length; i++) {
                     for (var j =  0; j < this.tagTypes.length; j++) {
@@ -187,6 +197,10 @@ export default {
                 }
                 this.list = list;
                 this.total = res.data.data.total;
+                if(this.inCurrentPage!==undefined){
+                  this.currentPage=this.inCurrentPage;
+                  this.inCurrentPage = undefined;
+                }
             })
         },
         filterDatas() {
@@ -249,7 +263,7 @@ export default {
           };
             const param = {
                 tagTypeList: this.filter.tagType[0] && this.filter.tagType|| this.tagTypesList,
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 type: this.filter.tagAdscription,
                 tagName: this.filter.tagSysName.trim(),

+ 16 - 1
src/components/icss/MedicalMultRelation.vue

@@ -75,6 +75,8 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
+  
   export default {
     name: 'MedicalName',
     data: function () {
@@ -119,11 +121,13 @@
       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();
       },
       addMedicalMultR(){
@@ -168,12 +172,23 @@
       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.multContactList(param).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
             this.cacheData[param.current] = data.records;
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -201,7 +216,7 @@
         };
         const param = {
           name: this.filter.term.trim(),
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           type: this.filter.type,
           isDeleted: this.isState,

+ 16 - 2
src/components/icss/MedicalName.vue

@@ -120,7 +120,8 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
-
+  import utils from '@api/utils.js';
+  
   export default {
     name: 'MedicalName',
     data: function () {
@@ -169,11 +170,13 @@
       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();
       },
       reloadLib(){
@@ -212,12 +215,23 @@
       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.knowledgeName(param).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
             // this.cacheData[param.current] = data.records;
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -245,7 +259,7 @@
         };
         const param = {
           name: this.filter.term.trim(),
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           type:this.filter.type,
           libName:this.filter.libName.trim(),

+ 15 - 1
src/components/icss/MedicalRelation.vue

@@ -121,6 +121,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'MedicalRelation',
@@ -172,11 +173,13 @@
       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();
       },
       addMedicalR(){
@@ -195,7 +198,14 @@
       getDataList(flag,isTurnPage) {
         const params = 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.knowledgeRelation(params).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             for(let j = 0;j < data.records.length;j++){
@@ -208,6 +218,10 @@
               this.cacheData = {}
             }
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -236,7 +250,7 @@
           this.clearFilter();
         };
         const param = {
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           relationId: this.filter.type,
           startName: this.filter.startName.trim(),

+ 15 - 1
src/components/icss/MedicinePrompt.vue

@@ -94,6 +94,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'MedicinePrompt',
@@ -143,11 +144,13 @@
       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(){
@@ -191,12 +194,23 @@
       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.getConceptKnowledgeList(param).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
             this.cacheData[param.current] = data.records;
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -218,7 +232,7 @@
         const param = {
           conceptName:this.filter.term.trim(),
           title:this.filter.title,
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           status:this.filter.status,
           libType:this.filter.libType,

+ 15 - 1
src/components/icss/PhysicalExamTemplate.vue

@@ -81,6 +81,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'PhysicalExamTemplate',
@@ -121,11 +122,13 @@
       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();
       },
       addModule() {
@@ -175,11 +178,22 @@
       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.getPhysicalExamTempList(param).then((res) => {
+           loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -195,7 +209,7 @@
         };
         const param = {
           deptId: this.filter.deptId,
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize
         };
         return param;

+ 2 - 2
src/components/icss/PubTagPartDetail.vue

@@ -67,12 +67,12 @@
               <ul v-else>
                 <template v-if="n == 1">
                   <li :class="['partDetail','ellipsis',{'redWordTip':isRed(poolDetailList[n][0].sexType)}]" v-for="item in poolDetailList[n][0].questionDetailList" :style="getStyleR(item.id)?styleR:null" :title="'[ '+item.name+' ]'" :key="item.id">
-                    [ {{item.name}}{{poolDetailList[n][0].sexType}} ]
+                    [ {{item.name}} ]
                   </li>
                 </template>
                 <template  v-if="n == 2 || n == 3 || n == 4 || n == 5">
                   <li :class="['partDetail','ellipsis',{'redWordTip':isRed(item.sexType)}]" v-for="item in poolDetailList[n]" :style="getStyleR(item.id)?styleR:null" :title="'[ '+item.tagName+' ]'" :key="item.tagName" @click="selectTagOne($event,item.id,n)">
-                    [ {{item.tagName}}{{item.sexType}} ]
+                    [ {{item.tagName}} ]
                   </li>
                 </template>
               </ul>

+ 16 - 2
src/components/icss/TemplateMaintenance.vue

@@ -102,6 +102,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'TemplateMaintenance',
@@ -182,7 +183,7 @@
         //const pm = to.param;
         const flt = to.params.filter;
         vm.currentPage = to.params.currentPage||1;
-        vm.pageSize = to.params.pageSize;
+        vm.pageSize = to.params.pageSize || config.pageSize;
         vm.deptAndDisInfo = JSON.parse(localStorage.getItem('deptDis')||null);
         if(flt){
           vm.filter.templateType = flt.templateType;
@@ -191,11 +192,13 @@
               vm.filter.ownTo = flt.ownTo;
             });
         }
+        vm.inCurrentPage=to.params.currentPage;
       })
     },
     methods: {
       handleSizeChange(val){
         this.pageSize = val;
+        this.currentPage = utils.getCurrentPage(this.currentPage, this.total, this.pageSize);
         this.getDataList();
       },
       getSubTemplate() {
@@ -221,7 +224,14 @@
       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.getModuleInfoList(param).then((res) => {
+           loading.close()
           if(res.data.code == 0){
             const list = res.data.data.records;
             for (var i = 0; i < list.length; i++) {
@@ -233,6 +243,10 @@
             }
             this.list = list;
             this.total = res.data.data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         })
       },
@@ -294,7 +308,7 @@
           };
         };
         const param = {
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           type: this.filter.tagAdscription,
           moduleType:this.filter.templateType,

+ 15 - 1
src/components/icss/VersionInfo.vue

@@ -91,6 +91,7 @@
 <script>
   import api from '@api/icss.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'VersionInfo',
@@ -132,11 +133,13 @@
       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();
       },
       getProdType(item){
@@ -181,7 +184,14 @@
       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.versionInfo(param).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
@@ -191,6 +201,10 @@
               this.canModiId = this.list[0].id;
             }
             this.flag = false;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -209,7 +223,7 @@
         };
         const param = {
           name: this.filter.name.trim(),
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           productType:this.filter.type?this.filter.type:0
         };

+ 13 - 1
src/components/medicalTerm/AssistCheckMultRelation.vue

@@ -112,6 +112,7 @@
       next(vm => {
         //const pm = to.param;
         Object.assign(vm,to.params);
+        vm.inCurrentPage=to.params.currentPage;
       })
     },
     methods: {
@@ -153,12 +154,23 @@
       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.assistCheckMultContactList(param).then((res) => {
+          loading.close()
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
             this.cacheData[param.current] = data.records;
             this.total = data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }
         }).catch((error) => {
           console.log(error);
@@ -171,7 +183,7 @@
         };
         const param = {
           name: this.filter.term,
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           relationId: 17,
           startTypeIds: [71],

+ 15 - 1
src/components/medicalTerm/AssistCheckSon.vue

@@ -84,6 +84,7 @@
 <script>
   import api from '@api/medicalTerm.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'AssistCheckSon',   //慢病指标值关联维护
@@ -120,20 +121,33 @@
     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();
       },
         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.assistCheckPacsSonContactList(param).then((res) => {
+                loading.close()
                 if(res.data.code == '0') {
                     this.list = res.data.data.records;
                     this.total = res.data.data.total;
+                  if(this.inCurrentPage!==undefined){
+                    this.currentPage=this.inCurrentPage;
+                    this.inCurrentPage = undefined;
+                  }
                 }
             })
         },
@@ -181,7 +195,7 @@
             this.filter.conceptName='';
           };
             const param = {
-                current: this.currentPage,
+                current: this.inCurrentPage||this.currentPage,
                 size: this.pageSize,
                 name:this.filter.conceptName
             };

+ 15 - 1
src/components/preTreat/CombinQuestion.vue

@@ -99,6 +99,7 @@
 <script>
   import api from '@api/preTreat.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'combinQuestion',
@@ -137,11 +138,13 @@
       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();
       },
       getDropList() {
@@ -159,7 +162,14 @@
       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.getQuestionList(param).then((res) => {
+          loading.close()
           const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
             for (var j =  0; j < this.tagTypes.length; j++) {
@@ -176,6 +186,10 @@
           }
           this.list = list;
           this.total = res.data.data.total;
+          if(this.inCurrentPage!==undefined){
+            this.currentPage=this.inCurrentPage;
+            this.inCurrentPage = undefined;
+          }
         })
       },
       filterDatas() {
@@ -219,7 +233,7 @@
         };
         let param = {
           tagTypeList: this.filter.tagType[0] ? this.filter.tagType: [4,6],
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           callType:2,
           size: this.pageSize,
           type: this.filter.tagAdscription,

+ 15 - 1
src/components/preTreat/QuestionModules.vue

@@ -99,6 +99,7 @@
 <script>
   import api from '@api/preTreat.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'QuestionModules',
@@ -137,11 +138,13 @@
       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();
       },
       getDropList() {
@@ -171,7 +174,14 @@
       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.getModuleList(param).then((res) => {
+           loading.close()
           if (res.data.code === '0') {
             const list = res.data.data&&res.data.data.records?[...res.data.data.records]:[];
             for (var i = 0; i < list.length; i++) {
@@ -189,6 +199,10 @@
             }
             this.list = list;
             this.total = res.data.data.total;
+            if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
           }else{
             this.$message({
               message: res.data.msg,
@@ -247,7 +261,7 @@
           type:this.filter.type,
           moduleType: this.filter.moduleType,
           relationId: this.filter.moduleType==1?this.filter.relationId:'',
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
         };
         return param;

+ 15 - 1
src/components/preTreat/SimpleQuestion.vue

@@ -107,6 +107,7 @@
 <script>
   import api from '@api/preTreat.js';
   import config from '@api/config.js';
+  import utils from '@api/utils.js';
 
   export default {
     name: 'simpleQuestion',
@@ -147,11 +148,13 @@
       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();
       },
       getDropList() {
@@ -169,7 +172,14 @@
       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.getQuestionList(param).then((res) => {
+          loading.close()
           const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
             for (var j =  0; j < this.tagTypes.length; j++) {
@@ -186,6 +196,10 @@
           }
           this.list = list;
           this.total = res.data.data.total;
+          if(this.inCurrentPage!==undefined){
+            this.currentPage=this.inCurrentPage;
+            this.inCurrentPage = undefined;
+          }
         })
       },
       filterDatas() {
@@ -264,7 +278,7 @@
         const param = {
           tagTypeList: [1],
           callType:1,
-          current: this.currentPage,
+          current: this.inCurrentPage||this.currentPage,
           size: this.pageSize,
           type: this.filter.tagAdscription,
           tagName: this.filter.tagSysName.trim(),