Browse Source

Merge branch 'bugFix20190722' into ChronicMag_zxc

zhangxc 6 years ago
parent
commit
8110100b06
59 changed files with 849 additions and 247 deletions
  1. 1 1
      src/components/admin/AddAdmin.vue
  2. 1 1
      src/components/admin/AddOrganization.vue
  3. 1 1
      src/components/admin/AddProductLine.vue
  4. 1 1
      src/components/admin/ModifinedOrga.vue
  5. 1 1
      src/components/admin/ProductDetail.vue
  6. 3 3
      src/components/common/Crumbs.vue
  7. 5 2
      src/components/icss/AddAssaySon.vue
  8. 4 6
      src/components/icss/AddChemicalAndCommonMapping.vue
  9. 5 2
      src/components/icss/AddChronicAndIndexRelation.vue
  10. 1 1
      src/components/icss/AddCommonSymptom.vue
  11. 6 3
      src/components/icss/AddConceptRelation.vue
  12. 1 1
      src/components/icss/AddDeptInfo.vue
  13. 1 1
      src/components/icss/AddDisAndScaleRelation.vue
  14. 4 3
      src/components/icss/AddDisclInfo.vue
  15. 5 4
      src/components/icss/AddIndeptLabel.vue
  16. 1 1
      src/components/icss/AddMedicalInfo.vue
  17. 3 2
      src/components/icss/AddMedicalMultRelation.vue
  18. 81 19
      src/components/icss/AddMedicalName.vue
  19. 5 3
      src/components/icss/AddMedicalRelation.vue
  20. 4 2
      src/components/icss/AddMedicinePrompt.vue
  21. 7 7
      src/components/icss/AddPhysicalExamTemp.vue
  22. 1 1
      src/components/icss/AddPromptInfo.vue
  23. 1 1
      src/components/icss/AddSimilarName.vue
  24. 7 3
      src/components/icss/AddVersion.vue
  25. 37 8
      src/components/icss/AssaySon.vue
  26. 29 3
      src/components/icss/ChemicalAndCommonMapping.vue
  27. 28 4
      src/components/icss/ChronicAndIndexRelation.vue
  28. 7 5
      src/components/icss/ChronicDiseaseAdd.vue
  29. 1 1
      src/components/icss/ChronicDiseaseManageAdd.vue
  30. 32 7
      src/components/icss/ChronicDiseaseStructureList.vue
  31. 37 7
      src/components/icss/ConceptRelation.vue
  32. 1 1
      src/components/icss/DeptInfoDetail.vue
  33. 1 1
      src/components/icss/DiagnosisTemplate.vue
  34. 1 1
      src/components/icss/DiscInfoDetail.vue
  35. 34 5
      src/components/icss/DisclaimerInformation.vue
  36. 30 3
      src/components/icss/IndeptLabel.vue
  37. 33 3
      src/components/icss/LabelGroup.vue
  38. 36 6
      src/components/icss/MedicalMultRelation.vue
  39. 63 14
      src/components/icss/MedicalName.vue
  40. 43 30
      src/components/icss/MedicalRelation.vue
  41. 35 5
      src/components/icss/MedicinePrompt.vue
  42. 7 5
      src/components/icss/NoiseTemplate.vue
  43. 34 9
      src/components/icss/PhysicalExamTemplate.vue
  44. 1 1
      src/components/icss/PromptDetail.vue
  45. 28 3
      src/components/icss/TemplateMaintenance.vue
  46. 8 6
      src/components/icss/TemplateMaintenanceWrap.vue
  47. 1 1
      src/components/icss/VersionDetail.vue
  48. 26 2
      src/components/icss/VersionInfo.vue
  49. 9 7
      src/components/preTreat/AddCombinQuestion.vue
  50. 4 3
      src/components/preTreat/AddQuestionModules.vue
  51. 8 6
      src/components/preTreat/AddSimpleQuestion.vue
  52. 28 8
      src/components/preTreat/CombinQuestion.vue
  53. 2 2
      src/components/preTreat/PubIndeptQa.vue
  54. 3 2
      src/components/preTreat/PubSelect.vue
  55. 25 7
      src/components/preTreat/QuestionModules.vue
  56. 19 1
      src/components/preTreat/QuestionTagGroup.vue
  57. 43 7
      src/components/preTreat/SimpleQuestion.vue
  58. 4 2
      src/routes.js
  59. 1 1
      vue.config.js

+ 1 - 1
src/components/admin/AddAdmin.vue

@@ -121,7 +121,7 @@
         orgList: [],
         isEdit:false,
         userId:'',
-        link:'/admin/LT-KHZX-CGXX',
+        link:'superAdmin',
         curPage:'1',
         orgName:'',
         form: {

+ 1 - 1
src/components/admin/AddOrganization.vue

@@ -1,7 +1,7 @@
 <!-- 添加机构信息 By_liucf -->
 <template>
     <div>
-        <crumbs title="机构信息-添加机构" linkTo="/admin/LT-KHZX-JGXX">
+        <crumbs title="机构信息-添加机构" linkTo="organizationInfo">
         </crumbs>
         <div class="contents">
           <!--<img src="../../images/return.png" height="18" width="18" class="back" @click="back">-->

+ 1 - 1
src/components/admin/AddProductLine.vue

@@ -1,7 +1,7 @@
 <template>
     <div>
         <!-------------面包屑-------------->
-        <crumbs :title="`产品线管理-${isEdit?'修改':'添加'}产品线`" linkTo="/admin/LT-CPXGL">
+        <crumbs :title="`产品线管理-${isEdit?'修改':'添加'}产品线`" linkTo="productDetail">
         </crumbs>
         <!--------------表单--------------->
         <div class="contents">

+ 1 - 1
src/components/admin/ModifinedOrga.vue

@@ -1,7 +1,7 @@
 <!-- 添加机构信息 By_liucf -->
 <template>
     <div>
-        <crumbs title="机构信息-修改机构" linkTo="/admin/LT-KHZX-JGXX">
+        <crumbs title="机构信息-修改机构" linkTo="organizationInfo">
         </crumbs>
         <div class="contents">
             <el-form ref="form" :model="form" :rules="rules" label-width="110px" class="add-admin-form">

+ 1 - 1
src/components/admin/ProductDetail.vue

@@ -1,6 +1,6 @@
 <template>
     <div>
-        <crumbs title="产品线管理-产品线详情" linkTo="/admin/LT-CPXGL">
+        <crumbs title="产品线管理-产品线详情" linkTo="productDetail">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="机构名称:">
                     <el-input size="mini" v-model="filter.orgName" placeholder="机构名称"></el-input>

+ 3 - 3
src/components/common/Crumbs.vue

@@ -11,15 +11,15 @@
 <script>
   export default {
     name: 'crumbs',
-    props: ['title','linkTo','minWidth'],//minWidth-有些头部选项比较多,最小宽度需要调整
+    props: ['title','linkTo','minWidth','param'],//minWidth-有些头部选项比较多,最小宽度需要调整
     data: function () {
       return {}
     },
     methods:{
       goBack(){
         this.$router.push({
-          path:this.linkTo,
-          query:this.curPage
+          name:this.linkTo,
+          params:this.param
         });
       }
     }

+ 5 - 2
src/components/icss/AddAssaySon.vue

@@ -3,7 +3,8 @@
         <crumbs
           :title="'化验子项维护-'+titleText"
           class="topBack"
-          linkTo="/admin/LT-YXSYKWH-HYZXWH"
+          :param="$route.params"
+          linkTo="AssaySon"
         ></crumbs>
         <el-form :model="form" ref="ruleForm"  class="addDepartForm">
             <p class="assayTitle">添加化验标准术语</p>
@@ -192,8 +193,10 @@
               if (res.data.code  === '0') {
                   this.warning(res.data.msg || '关联成功', 'success','1000')
                   setTimeout(() => {
+                    //返回带搜索条件的首页
                   this.$router.push({
-                      path:'/admin/LT-YXSYKWH-HYZXWH'
+                      path:'AssaySon',
+                    params: Object.assign({}, this.$route.params, {currentPage: 1})
                   })
                   }, 1000);
               } else {

+ 4 - 6
src/components/icss/AddChemicalAndCommonMapping.vue

@@ -5,9 +5,10 @@
                 @click="back"
         ></i> 化验大小项与公表项对应维护--添加关联</div> -->
         <crumbs
-          title="化验大小项与公表项对应维护--添加关联"
-          class="topBack"
-          linkTo="/admin/LT-YXSJWH-HYDXXYGBXDY"
+                title="化验大小项与公表项对应维护--添加关联"
+                class="topBack"
+                :param="$route.params"
+                linkTo="ChemicalAndCommonMapping"
         ></crumbs>
         <div class="AddChemicalAndCommonMappingBox clearfix">
             <div class="titleBox clearfix">
@@ -136,9 +137,6 @@ export default {
             this.$refs['itemNameList'].style.display='none';
             this.$refs['uniqueNameList'].style.display='none';
         },
-        back() {
-            this.$router.go(-1)
-        },
         searchMealItem(type) {
             if( type == '1' || type == '2') {
                 this.getTagList(type)

+ 5 - 2
src/components/icss/AddChronicAndIndexRelation.vue

@@ -8,7 +8,8 @@
         <crumbs
           :title="'慢病指标值关联维护-'+titleText"
           class="topBack"
-          linkTo="/admin/LT-YXSYKWH-MBZBZGLWH"
+          :param="$route.params"
+          linkTo="ChronicAndIndexRelation"
         ></crumbs>
         <el-form :model="form" ref="ruleForm"  class="addDepartForm">
             <el-form-item  class="addDepartFormItem"  v-if="!isEdit" label="选择慢病标准术语(概念ID):" prop="department">
@@ -216,8 +217,10 @@
                 if (res.data.code  === '0') {
                     this.warning(res.data.msg || '关联成功', 'success','1000')
                     setTimeout(() => {
+                      //返回带搜索条件的首页
                     this.$router.push({
-                        path:'/admin/LT-YXSYKWH-MBZBZGLWH'
+                        path:'ChronicAndIndexRelation',
+                      params: Object.assign({}, this.$route.params, {currentPage: 1})
                     })
                     }, 1000);
                 } else {

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

@@ -4,7 +4,7 @@
          <crumbs
           :title="'常见选项维护系统-' + titleText"
           class="topBack"
-          linkTo="/admin/LT-YXSJWH-CJXXWH"
+          linkTo="CommonSymptom"
         ></crumbs>
         <el-form :model="form" ref="ruleForm" :rules="rules" class="addDepartForm">
            

+ 6 - 3
src/components/icss/AddConceptRelation.vue

@@ -3,7 +3,8 @@
     <crumbs
     :title="'医学术语关联维护-'+titleText"
     class="topBack"
-    linkTo="/admin/LT-YXSYKWH-YXSYGLWH"
+    :param="$route.params"
+    linkTo="ConceptRelation"
     ></crumbs>
     <el-form :model="form" ref="ruleForm"  class="addDepartForm">
       <p class="assayTitle">选择医学标准术语</p>
@@ -314,13 +315,15 @@ export default {
           "sonRelationId": 17
         }
         this.showConfirmDialog('是否建立该关联?', () => {
-          this.saveDisable = true  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+          this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
           api.addConceptRelation(param).then((res) => {
             if (res.data.code  === '0') {
               this.warning(res.data.msg || '关联成功', 'success','1000')
               setTimeout(() => {
+                //返回带搜索条件的首页
                 this.$router.push({
-                  path:'/admin/LT-YXSYKWH-YXSYGLWH'
+                  name:'ConceptRelation',
+                  params: Object.assign({}, this.$route.params, {currentPage: 1})
                 })
               }, 1000);
             } else {

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

@@ -1,7 +1,7 @@
 <!-- 添加机构信息 By_liucf -->
 <template>
     <div>
-        <crumbs :title="topInfo" linkTo="/admin/LT-YXSJWH-KSWH">
+        <crumbs :title="topInfo" linkTo="deptInfo">
         </crumbs>
         <div class="contents">
             <el-form ref="form" :label-position="labelPosition" :model="form" :rules="rules" label-width="100px" class="add-depart-form">

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

@@ -8,7 +8,7 @@
         <crumbs
           :title="'量表关联维护-'+titleText"
           class="topBack"
-          linkTo="/admin/LT-YXSJWH-LBGLWH"
+          linkTo="DisAndScaleRelation"
         ></crumbs>
         <el-form :model="form" ref="ruleForm"  class="addDepartForm">
             <el-form-item  v-if="!isEdit" label="选择诊断标签:" prop="department">

+ 4 - 3
src/components/icss/AddDisclInfo.vue

@@ -1,7 +1,8 @@
 <!-- 免责声明修改 By_liucf -->
 <template>
     <div>
-        <crumbs :title="topInfo" linkTo="/admin/LT-YXSJKWH-MZSMWH">
+        <crumbs :title="topInfo"
+                :param="$route.params" linkTo="DisclaimerInformation">
         </crumbs>
         <div class="contents">
             <el-form ref="form" :label-position="labelPosition" :model="form" :rules="rules" label-width="65px" class="add-discl-form">
@@ -143,7 +144,7 @@
               api.modifDiscInformation(param).then((res) => {
                 if (res.data.code == '0') {
                   this.$message({showClose: true,message: this.toast, type: 'success'});
-                  this.$router.push({path: 'LT-YXSJKWH-MZSMWH'});
+                  this.$router.push({name: 'DisclaimerInformation',params: Object.assign({}, this.$route.params, {currentPage: 1})});
                 } else {
                   this.$message({
                     showClose: true,
@@ -169,7 +170,7 @@
               api.addDiscInformation(param).then((res) => {
                 if (res.data.code == '0') {
                   this.$message({showClose: true,message: this.toast, type: 'success'});
-                  this.$router.push({path: 'LT-YXSJKWH-MZSMWH'});
+                  this.$router.push({name: 'DisclaimerInformation',params: Object.assign({}, this.$route.params, {currentPage: 1})});
                 } else {
                   this.$message({
                     showClose: true,

+ 5 - 4
src/components/icss/AddIndeptLabel.vue

@@ -1,9 +1,10 @@
 <template>
     <div class="NoiseTemplateWrapper TemplateWrapper">
         <crumbs
-          :title="txt"
-          class="topBack"
-          linkTo="/admin/LT-YXSJWH-DLLXBQWH"
+                :title="txt"
+                class="topBack"
+                :param="$route.params"
+                linkTo="IndeptLabel"
         ></crumbs>
         <PubIndeptTag
                 @changeVal="changeVal"
@@ -185,7 +186,7 @@
           api.saveOrUpdate(param).then((res) => {
             if (res.data.code === '0') {
               this.warning(res.data.msg || '保存成功', 'success');
-              this.$router.push("/admin/LT-YXSJWH-DLLXBQWH");
+              this.$router.push({name: 'IndeptLabel', params: Object.assign({}, this.$route.params, {currentPage: 1})});
             } else {
               this.warning(res.data.msg)
             }

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

@@ -7,7 +7,7 @@
         <crumbs
           :title=" isEdit? '术语医学属性-修改':'术语医学属性-添加'"
           class="topBack"
-          linkTo="/admin/LT-YXSYKWH-SYYXSXWH"
+          linkTo="MedicalInfo"
         ></crumbs>
         <div class="info-container">
             <el-form :rules="rules"

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

@@ -1,6 +1,6 @@
 <template>
   <div class="addMedicalMultRelationWrapper">
-    <crumbs :title="minTitle" linkTo="/admin/LT-YXSYKWH-YXSYDCGLWH"></crumbs>
+    <crumbs :title="minTitle" :param="$route.params" linkTo="MedicalMultRelation"></crumbs>
     <div class="contents">
       <div class="content">
         <div class="addBtn" v-if="list.length == 0">
@@ -176,7 +176,8 @@ import api from '@api/icss.js';
           if(data.code == '0') {
             this.message(res.data.msg||'术语建立成功','success');
             setTimeout(() => {
-              this.$router.push({name:'MedicalMultRelation'});
+              //返回带搜索条件的首页
+              this.$router.push({name:'MedicalMultRelation',params:Object.assign({},this.$route.params,{currentPage:1})});
             }, 2000);
           } else {
             this.message(data.msg);

+ 81 - 19
src/components/icss/AddMedicalName.vue

@@ -1,6 +1,8 @@
 <template>
   <div>
-    <crumbs :title="minTitle" linkTo="/admin/LT-YXSYKWH-YXSYMMWH"></crumbs>
+    <crumbs :title="minTitle"
+            :param="$route.params"
+            linkTo="MedicalName"></crumbs>
     <div class="contents">
       <div class="content">
         <h3>添加术语:</h3>
@@ -25,14 +27,28 @@
               <input type="text" v-model="data.spell" placeholder="请输入拼音" maxlength="50"  @input="handlePinyin">
             </td>
             <td>
-              <el-select v-if="!id" v-model="data.type" filterable placeholder="请选择" size="small" @change="selectType">
+              <!-- <el-select v-if="!id" v-model="data.type" filterable placeholder="请选择" size="small" @change="selectType">
                 <el-option
                   v-for="item in typeList"
                   :key="item.id"
                   :label="item.name"
                   :value="item.name">
                 </el-option>
-              </el-select>
+              </el-select> -->
+              <template v-if="!id">
+                <el-select v-model="data.type" filterable clearable placeholder="请选择" size="small" @change="selectType">
+                  <el-option-group
+                    v-for="group in options"
+                    :key="group.label">
+                    <el-option
+                      v-for="item in group.options"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name">
+                    </el-option>
+                  </el-option-group>
+                </el-select>
+              </template>
               <span v-else>{{data.type}}</span>
             </td>
             <td class="desc">
@@ -56,16 +72,32 @@
               <td :title="item.name&&item.name.length>9?item.name:''">
                 <!-- 使用原生input,输入限制 -->
                 <!-- <el-input v-model="item.name" placeholder="请输入术语" maxlength="30" size="small" @input.native="handleInput(2,index)"></el-input> -->
-                <input type="text" v-model="item.name" :title="item.name" placeholder="请输入术语" maxlength="50" @blur="handleBlur(2,index,99)" :disabled="!item.isEdit">
+                <input type="text" v-model="item.name" :title="item.name" placeholder="请输入术语" maxlength="50" @blur="handleBlur(2,index,99)" >
               </td>
-              <td v-if="!item.isEdit">
+              <!-- <td v-if="!item.isEdit">
                 {{item.spell}}
               </td>
-              <td v-else>
+              <td v-else> -->
+              <td>
                 <input type="text" v-model="item.spell" placeholder="请输入拼音" maxlength="50"  @input="handlePinyin" class="spell">
               </td>
               <td>
-                {{data.type}}
+                <!-- {{data.type}} -->
+                <template v-if="index==0&&copy">
+                  <el-select v-model="data.type" filterable placeholder="请选择" size="small" @change="selectType">
+                    <el-option-group
+                      v-for="group in options"
+                      :key="group.label">
+                      <el-option
+                        v-for="item in group.options"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.name">
+                      </el-option>
+                    </el-option-group>
+                  </el-select>
+                </template>
+                <span v-else>{{data.type}}</span>
               </td>
               <td class="desc">
                 <input v-model="item.remark" placeholder="请输入术语说明" maxlength="120"></input>
@@ -83,11 +115,11 @@
             </tr>
           </table>
           <div class="actionDo">
-            <div class="btnWrap">
+            <!-- <div class="btnWrap"> -->
               <!-- <el-button type="primary" size="mini" v-if="show" @click="comfirn(14)">确认修改</el-button> -->
-              <el-button plain size="mini" v-if="show" @click="toggleShow(1)">放弃修改</el-button>
-              <el-button plain size="mini" @click="toggleShow(2)" v-if="!show">修改标准词</el-button>
-            </div>
+              <!-- <el-button plain size="mini" v-if="show" @click="toggleShow(1)">放弃修改</el-button>
+              <el-button plain size="mini" @click="toggleShow(2)" v-if="!show">修改标准词</el-button> -->
+            <!-- </div> -->
             <div class="radioWrap" v-if="show">
               <el-radio-group v-model="radioVal" size="mini">
                 <el-radio v-for="(item,index) in allwords" :label="index" :disabled="index == 0">选为标准词</el-radio>
@@ -209,14 +241,18 @@ import pinyin from '../../js/Convert_Pinyin.js';
           }
         ],
         unfit:false, //点确认时是否弹提示,
-        saveDisable: false  //保存按钮禁止点击
+        saveDisable: false,  //保存按钮禁止点击
+        options:[],
+        copy:null
       }
     },
     created(){
       this.getTypeList();
       const id = this.$route.params.id || '';
+      const copy = this.$route.params.copy || '';
+      this.copy = copy;
       if(id){
-        this.minTitle = '医学术语命名维护-修改';
+        this.minTitle = copy?'医学术语命名维护-复制':'医学术语命名维护-修改';
         this.id = id;
         this.colspan = 5;
         this.getDetail(id);
@@ -285,6 +321,17 @@ import pinyin from '../../js/Convert_Pinyin.js';
           if(data.code==0){
             // this.typeList = data.data.records;
             this.typeList = data.data;
+            // 类型改成平铺
+            if(data.data.length>0){
+              const total = data.data.length;
+              const average = parseInt(total/3);
+              const firstGroup = data.data.slice(0,average);
+              this.options.push({label:1,options:firstGroup});
+              const secGroup = data.data.slice(average,average*2);
+              this.options.push({label:2,options:secGroup});
+              const thirdGroup = data.data.slice(average*2,total-1);
+              this.options.push({label:3,options:thirdGroup});
+            }
           }else{
             this.$message({
               message:data.msg,
@@ -327,16 +374,17 @@ import pinyin from '../../js/Convert_Pinyin.js';
         }else if(type==2){
           // 修改时术语名称、拼音和类型均不能修改
           if(flg == 99){
-              if(this.synonymous[index-1].name && !pattern.test(this.synonymous[index-1].name)){
+              // if(this.synonymous[index-1].name && !pattern.test(this.synonymous[index-1].name)){
+              if(this.allwords[index].name && !pattern.test(this.allwords[index].name)){
               this.$message({
-                // message:'无法输入纯数字或者纯字符,请输入正确数据!',
                 message:'无法输入纯数字,请输入正确数据!',
                 type:'warning'
               });
               // this.synonymous[index-1].name = '';
               this.unfit = true;
             }else{
-              let current = this.synonymous[index-1];
+              // let current = this.synonymous[index-1];
+              let current = this.allwords[index];
               current.spell = pinyin.getCamelChars(current.name);
               this.unfit = false;
             }
@@ -484,7 +532,7 @@ import pinyin from '../../js/Convert_Pinyin.js';
             'name':this.data.name,
             'type':this.data.type,
             'detailList':detailList,
-            'conceptId':this.id,
+            'conceptId':this.copy?'':this.id,//复制当新增,把id置空
             'sexType':sexCode,
             'maxAge':this.maxAge,
             'minAge':this.minAge
@@ -494,7 +542,7 @@ import pinyin from '../../js/Convert_Pinyin.js';
             'name':this.data.name,
             'type':this.data.type,
             'detailList':detailList,
-            'conceptId':this.id
+            'conceptId':this.copy?'':this.id
           }
         }
         this.saveDisable = true  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
@@ -502,7 +550,8 @@ import pinyin from '../../js/Convert_Pinyin.js';
           const result = res.data;
           if(result.code==0){
             this.warning(res.data.msg||'操作成功','success');
-            this.$router.push({name:'MedicalName'});
+            //返回带搜索条件的首页
+            this.$router.push({name:'MedicalName',params:Object.assign({},this.$route.params,{currentPage:1})});
             /*if(flg == 14){
               this.getDetail(this.id)
               this.radioVal = ''
@@ -538,6 +587,19 @@ import pinyin from '../../js/Convert_Pinyin.js';
      text-align: right;
      margin-left: 0;
    }
+   // 饿了么分组下拉
+    .el-scrollbar{
+     .el-select-dropdown__list{
+       .el-select-group__wrap{
+        min-width: 160px !important;
+        display: inline-block !important;
+        vertical-align: top !important;
+      }
+    }
+   }
+   .el-select-group__wrap::after{
+    background:#fff !important;
+   } 
    .displayColor {
      color: #ccc;
      cursor:not-allowed;

+ 5 - 3
src/components/icss/AddMedicalRelation.vue

@@ -1,6 +1,7 @@
 <template>
   <div>
-    <crumbs title="医学术语关系-添加" linkTo="/admin/LT-YXSYKWH-YXSYGXWH"></crumbs>
+    <crumbs title="医学术语关系-添加"
+            :param="$route.params" linkTo="MedicalRelation"></crumbs>
     <div class="contents">
       <div class="content" @click="closeSearch">
         <p>明细</p>
@@ -126,8 +127,9 @@
             this.$message({
               type:'success',
               message:result.msg||'添加成功'
-            })
-            this.$router.push({path: 'LT-YXSYKWH-YXSYGXWH'});
+            });
+            //返回带搜索条件的首页
+            this.$router.push({name: 'MedicalRelation',params: Object.assign({}, this.$route.params, {currentPage: 1})});
           }else{
             this.$message({
               type:'warning',

+ 4 - 2
src/components/icss/AddMedicinePrompt.vue

@@ -3,7 +3,8 @@
         <crumbs
           :title=" isEdit? '医学术语静态知识维护-修改':'医学术语静态知识维护-添加'"
           class="topBack"
-          linkTo="/admin/LT-YXSYKWH-YXSYJTZSWH"
+          :param="$route.params"
+          linkTo="MedicinePrompt"
         ></crumbs>
         <div class="info-container">
             <el-form :rules="rules"
@@ -243,7 +244,8 @@
           api.saveTermPrompts(param).then((res) => {
             if (res.data.code === '0') {
               this.warning(res.data.msg || '保存成功', 'success');
-              this.$router.push("/admin/LT-YXSYKWH-YXSYJTZSWH");
+              //返回带搜索条件的首页
+              this.$router.push({name:'MedicinePrompt',params:Object.assign({},this.$route.params,{currentPage:1})});
             } else {
               this.warning(res.data.msg)
             }

+ 7 - 7
src/components/icss/AddPhysicalExamTemp.vue

@@ -2,9 +2,10 @@
 <template>
     <div class="AddPhysicalExamTempWrapper">
         <crumbs
-          :title="'查体模板维护系统-'+titleText"
-          class="topBack"
-          linkTo="/admin/LT-YXSJWH-CTMBWH"
+                :title="'查体模板维护系统-'+titleText"
+                class="topBack"
+                :param="$route.params"
+                linkTo="PhysicalExamTemplate"
         ></crumbs>
         <el-form :model="form" ref="ruleForm" :rules="rules" class="addDepartForm">
             <el-form-item label="模板归属:"  >
@@ -137,9 +138,6 @@
         }
     },
     methods: {
-        back(){
-            this.$router.go(-1);
-        },
         getDepartmentList() {
             api.getPhysicalExamTempDepartList().then((res)=>{
                if(res.data.code === '0') {
@@ -275,8 +273,10 @@
                 if (res.data.code  === '0') {
                     this.warning(res.data.msg || '保存成功', 'success','1000')
                     setTimeout(() => {
+                      //返回带搜索条件的首页
                     this.$router.push({
-                        path:'/admin/LT-YXSJWH-CTMBWH'
+                      name: 'PhysicalExamTemplate',
+                      params: Object.assign({}, this.$route.params, {currentPage: 1})
                     })
                     }, 1000);
                 } else {

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

@@ -2,7 +2,7 @@
     <div class="NoiseTemplateWrapper TemplateWrapper">
         <crumbs :title="isEdit?'提示信息维护-修改':'提示信息维护-添加'"
                 class="topBack"
-                linkTo="/admin/LT-YXSJWH-TSXXWH"></crumbs>
+                linkTo="PromptInfo"></crumbs>
         <div class="pinfo-container">
             <el-form :rules="rules"
                      :model="form"

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

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <crumbs :title="minTitle" linkTo="/admin/LT-YXSJWH-BMWH"></crumbs>
+    <crumbs :title="minTitle" linkTo="SimilarName"></crumbs>
     <div class="contents">
       <div class="content" @click="close">
         <h3>选择标签</h3>

+ 7 - 3
src/components/icss/AddVersion.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <crumbs :title="title" linkTo="/admin/LT-YXSJWH-BBXXWH"></crumbs>
+    <crumbs :title="title" :param="$route.params" linkTo="VersionInfo"></crumbs>
     <div class="contents">
       <div class="content">
         <!-- <el-form ref="form" :label-position="labelPosition" label-width="95px" class="add-admin-form" :model="form" :rules="rules"> -->
@@ -137,8 +137,12 @@
                   this.$message({
                     message:"修改成功",
                     type:'success'
-                  })
-                  this.$router.push({path: 'LT-YXSJWH-BBXXWH'});
+                  });
+                  //返回带搜索条件的首页
+                  this.$router.push({
+                    name: 'VersionInfo',
+                    params: Object.assign({}, this.$route.params, {currentPage: 1})
+                  });
                 }else{
                   this.$message({
                     message:res.data.msg,

+ 37 - 8
src/components/icss/AssaySon.vue

@@ -3,7 +3,7 @@
         <crumbs title="化验子项维护" style="min-width: 980px">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="标准术语:">
-                    <el-input size="mini" v-model="conceptName" placeholder="术语名称" clearable></el-input>
+                    <el-input size="mini" v-model="filter.conceptName" placeholder="术语名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
@@ -88,22 +88,43 @@ export default {
     data: function() {
         return {
             list: [],
-            conceptName:'',
+            searched: false,
+            filter:{
+              conceptName:'',
+            },
             currentPage: 1,
             pageSize: 10,
             total: 0,
         }
     },
     created() {
-        this.getDataList()
-        
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.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: {
         getDataList() {
             const param = this.getFilterItems();
+            this.searched = true;
             api.getAssaySon(param).then((res) => {
                 if(res.data.code == '0') {
-                    this.list = res.data.data.records
+                    this.list = res.data.data.records;
                     this.total = res.data.data.total;
                 }
             })
@@ -113,7 +134,11 @@ export default {
             this.getDataList();
         },
         addRelation() {
-            this.$router.push({name:'AddAssaySon'})
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+            this.$router.push({name:'AddAssaySon', params: pam})
         },
         modifyRelation(row) {
             const param = {
@@ -122,9 +147,13 @@ export default {
             }
             api.getAssaySonDetail(param).then((res) => {
                 if(res.data.code == '0') {
+                  const pam = this.searched ? {
+                    currentPage: this.currentPage,
+                    filter: this.filter
+                  } : {currentPage: this.currentPage};
                     // const item = Object.assign({},row,{data: res.data.data});
                     const item = res.data.data;
-                    this.$router.push({name:'AddAssaySon',params:{isEdit:true,data:item}});
+                    this.$router.push({name:'AddAssaySon',params:Object.assign(pam, {isEdit:true,data:item})});
                 }
             })
         },
@@ -136,7 +165,7 @@ export default {
             const param = {
                 current: this.currentPage,
                 size: this.pageSize,
-                name:this.conceptName
+                name:this.filter.conceptName
             };
             return param;
         },

+ 29 - 3
src/components/icss/ChemicalAndCommonMapping.vue

@@ -103,6 +103,7 @@ export default {
     data: function() {
         return {
             list: [],
+          searched: false,
             filter: {
                 mealName:'',
                 itemName:'',
@@ -117,9 +118,24 @@ export default {
         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: {
         getDataList() {
             const param = this.getFilterItems();
+          this.searched = true;
             api.getLisMappingPage(param).then((res) => {
                 if(res.data.code == '0') {
                     this.list = res.data.data.records
@@ -132,12 +148,22 @@ export default {
             this.getDataList();
         },
         addRelation() {
-            this.$router.push({name:'AddChemicalAndCommonMapping'})
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+          this.$router.push({name: 'AddChemicalAndCommonMapping', params: pam})
         },
         modifyRelation(row) {
-            console.log(row,'row')
             const item = Object.assign({},row);
-            this.$router.push({name:'AddChemicalAndCommonMapping',params:{isEdit:true,data:item}});
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+          this.$router.push({
+            name: 'AddChemicalAndCommonMapping',
+            params: Object.assign(pam, {isEdit: true, data: item})
+          });
         },
         currentChange(next) {
             this.currentPage = next;

+ 28 - 4
src/components/icss/ChronicAndIndexRelation.vue

@@ -95,6 +95,7 @@ export default {
     data: function() {
         return {
             list: [],
+            searched: false,
             filter: {
                 diseaseName: ''
             },
@@ -107,12 +108,27 @@ export default {
         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: {
         getDataList() {
             const param = this.getFilterItems();
+            this.searched = true;
             api.queryIndexConfigPages(param).then((res) => {
                 if(res.data.code == '0') {
-                    this.list = res.data.data.records
+                    this.list = res.data.data.records;
                     this.total = res.data.data.total;
                 }
             })
@@ -122,16 +138,24 @@ export default {
             this.getDataList();
         },
         addRelation() {
-            this.$router.push({name:'AddChronicAndIndexRelation'})
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+            this.$router.push({name:'AddChronicAndIndexRelation', params: pam})
         },
         modifyRelation(row) {
             const param = {
                 diseaseId: row.diseaseId
-            }
+            };
             api.getIndexConfigLists(param).then((res) => {
                 if(res.data.code == '0') {
+                    const pam = this.searched ? {
+                        currentPage: this.currentPage,
+                        filter: this.filter
+                      } : {currentPage: this.currentPage};
                     const item = Object.assign({},row,{data: res.data.data});
-                    this.$router.push({name:'AddChronicAndIndexRelation',params:{isEdit:true,data:item}});
+                    this.$router.push({name:'AddChronicAndIndexRelation',params:Object.assign(pam, {isEdit:true,data:item})});
                 }
             })
         },

+ 7 - 5
src/components/icss/ChronicDiseaseAdd.vue

@@ -3,7 +3,8 @@
     <crumbs
       :title="minTitle"
       class="topBack"
-      linkTo="/admin/LT-YXSYKWH-LBJGWH"
+      :param="$route.params"
+      linkTo="ChronicDiseaseStructureList"
     ></crumbs>
     <div class="ChronicDiseaseAddWrap" @click="close">
       <div class="ChronicDisease">
@@ -38,7 +39,7 @@
             ></span></p>
           <p><span
               class="el-icon-arrow-left"
-              @click="toLeftPool" 
+              @click="toLeftPool"
             ></span></p>
         </div>
         <div class="ChronicDiseaseRight">
@@ -239,7 +240,7 @@ export default {
       let tmpPool = JSON.parse(JSON.stringify(this.contentPool))
       for(let i = 0;i < tmpPool.length;i++){
         if(tmpPool[i].val == 0 && !tmpPool[i].content){
-          
+
         }else{
           let tmpObj = {
             "content": "",
@@ -280,13 +281,14 @@ export default {
             this.warning(res.data.msg || '保存成功', 'success');
             setTimeout(() => {
               this.$router.push({
-                path:'/admin/LT-YXSYKWH-LBJGWH'
+                name:'ChronicDiseaseStructureList',
+                params: Object.assign({}, this.$route.params, {currentPage: 1})
               })
             }, 1000);
           }
           this.saveDisable = false
         })
-        
+
       })
     },
     showConfirmDialog(msg, resolve) {

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

@@ -3,7 +3,7 @@
     <crumbs
       :title="minTitle"
       class="topBack"
-      linkTo="/admin/LT-YXSJWH-MBGLYPG"
+      linkTo="ChronicDiseaseManage"
     ></crumbs>
     <div class="ChronicDiseaseAddWrap">
       <div class="ChronicDisease">

+ 32 - 7
src/components/icss/ChronicDiseaseStructureList.vue

@@ -6,7 +6,7 @@
                     <el-input size="mini" v-model="filter.tagSysName" placeholder="量表名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="状态:">
-                <el-select v-model="isState" clearable placeholder="请选择" size="mini">
+                <el-select v-model="filter.isState" clearable placeholder="请选择" size="mini">
                   <el-option
                     v-for="item in stateSelect"
                     :key="item.id"
@@ -95,12 +95,14 @@
           {id:'N',name:'启用中'},
           {id:'Y',name:'已删除'},
         ],
-        isState:'',
+
         tagTypes: [],
         AdscriptionsType:[],
         AdscriptionsOwnTo:[],
         tagTypesList: [],
+        searched: false,
         filter: {
+          isState:'',
           tagType: [], //标签类型
           tagSysName: '', //标签系统名称
         },
@@ -114,10 +116,24 @@
         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: {
       getDropList() {
         let templateType = localStorage.getItem('icssEnumsData') ? JSON.parse(localStorage.getItem('icssEnumsData')).moduleInfoTypeEnum : []
-        this.AdscriptionsType = templateType
+        this.AdscriptionsType = templateType;
         return api.getknowledgeList().then((res) =>{
           if(res.data.code === '0') {
             localStorage.setItem('DiseaseManage',JSON.stringify(res.data.data[1]))
@@ -130,8 +146,9 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.scaleContentStructure(param).then((res) => {
-          const list = res.data.data.records
+          const list = res.data.data.records;
           // for (var i = 0; i < list.length; i++) {
           //   for (var j =  0; j < this.tagTypes.length; j++) {
           //     if(list[i].tagType === this.tagTypes[j].val) {
@@ -148,13 +165,21 @@
         this.getDataList();
       },
       addIndeptTag() {
-        this.$router.push({name:'ChronicDiseaseAdd'})
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name:'ChronicDiseaseAdd', params: pam})
       },
       modifyIndeptTag(row) {
         api.rebuildOrUpdate({conceptId:row.conceptId}).then((res)=>{
           const {code,data,msg} = res.data;
             if(code=='0'){
-              this.$router.push({name:'ChronicDiseaseAdd',params:{isEdit:true,data:data,row:row}});
+              const pam = this.searched ? {
+                currentPage: this.currentPage,
+                filter: this.filter
+              } : {currentPage: this.currentPage};
+              this.$router.push({name:'ChronicDiseaseAdd',params:Object.assign(pam, {isEdit:true,data:data,row:row})});
             }else{
               this.$message({
                 message: msg,
@@ -172,7 +197,7 @@
           current: this.currentPage,
           size: this.pageSize,
           name: this.filter.tagSysName,
-          status:this.isState
+          status:this.filter.isState
         };
         return param;
       },

+ 37 - 7
src/components/icss/ConceptRelation.vue

@@ -3,7 +3,7 @@
         <crumbs title="医学术语关联维护" style="min-width: 980px">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="标准术语名称:">
-                    <el-input size="mini" v-model="conceptName" placeholder="术语名称" clearable></el-input>
+                    <el-input size="mini" v-model="filter.conceptName" placeholder="术语名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
@@ -87,18 +87,40 @@ export default {
     data: function() {
         return {
           list: [],
-          conceptName:'',
+          searched: false,
+          filter:{
+            conceptName:''
+          },
           currentPage: 1,
           pageSize: 10,
           total: 0,
         }
     },
     created() {
-        this.getDataList()    
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.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: {
         getDataList() {
             const param = this.getFilterItems();
+            this.searched = true;
             api.getConceptRelation(param).then((res) => {
               if(res.data.code == '0') {
                 this.list = res.data.data.records
@@ -111,17 +133,25 @@ export default {
             this.getDataList();
         },
         addRelation() {
-            this.$router.push({name:'AddConceptRelation'})
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+          this.$router.push({name:'AddConceptRelation',params:pam})
         },
         modifyRelation(row) {
             const param = {
               "conceptId": row.conceptId,
               "relationId":17
             }
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
             api.getConceptRelationDet(param).then((res) => {
               if(res.data.code=='0'){
-                const { data } = res.data
-                this.$router.push({name:'AddConceptRelation',params:{isEdit:true,data:data}});
+                const { data } = res.data;
+                this.$router.push({name:'AddConceptRelation',params:Object.assign(pam, {isEdit: true, data: data})});
               } else {
                 this.warning(res.data.msg);
               }
@@ -138,7 +168,7 @@ export default {
             const param = {
                 current: this.currentPage,
                 size: this.pageSize,
-                name:this.conceptName
+                name:this.filter.conceptName
             };
             return param;
         },

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

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <crumbs title="icss科室维护系统-详情" linkTo="/admin/LT-YXSJWH-KSWH"></crumbs>
+    <crumbs title="icss科室维护系统-详情" linkTo="deptInfo"></crumbs>
     <div class="contents">
       <table class="deptbox">
         <tr>

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

@@ -3,7 +3,7 @@
     <crumbs
       :title="txt"
       class="topBack"
-      linkTo="/admin/LT-YXSJWH-ZDBQWH"
+      linkTo="DiagnosisList"
     ></crumbs>
     <DiagnosisPubTag
       :editData="editData"

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

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <crumbs title="免责声明维护-详情" linkTo="/admin/LT-YXSJKWH-MZSMWH"></crumbs>
+    <crumbs title="免责声明维护-详情" linkTo="DisclaimerInformation"></crumbs>
     <div class="contents">
       <div class="deptbox">
         <p class="titl">标题</p>

+ 34 - 5
src/components/icss/DisclaimerInformation.vue

@@ -7,9 +7,7 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <router-link to="/admin/LT-YXSJWH-TJMZSM" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加</el-button>
-                    </router-link>
+                    <el-button size="mini" type="warning" @click="addDisclInfo" style="margin:0 10px">添加</el-button>
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -92,19 +90,49 @@
         total: 0,
         linkIn:[],
         pays:[],
+        searched: false,
         filter: {
           title: ''
         }
       }
     },
     created() {
-      this.getDataList();
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.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: {
+      addDisclInfo(){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name: 'AddDisclInfo', params: pam});
+      },
       toEditDiscl(row){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
         this.$router.push({
           name:'AddDisclInfo',
-          params: {info:row}
+          params: Object.assign(pam, {info:row})
         })
       },
       filterDatas(){
@@ -113,6 +141,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.discInformation(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;

+ 30 - 3
src/components/icss/IndeptLabel.vue

@@ -118,6 +118,7 @@
         tagTypes: [],
         Adscriptions: [],
         tagTypesList:[],
+        searched: false,
         filter: {
           tagType: [], //标签类型
           controlType: [],
@@ -135,6 +136,20 @@
       })
 
     },
+    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)
@@ -152,6 +167,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getTagList(param).then((res) => {
           const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
@@ -176,17 +192,28 @@
         this.getDataList();
       },
       addIndeptTag() {
-        this.$router.push({path:'LT-YXSJWH-TJDLBQ'})
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({
+          name: 'AddIndeptLabel',
+          params: pam
+        })
       },
       modifyIndeptTag(row, type) {
         api.detailsTag({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
             const item = Object.assign({},row,data);
+            const pam = this.searched ? {
+              currentPage: this.currentPage,
+              filter: this.filter
+            } : {currentPage: this.currentPage};
             if(type == 'modify') {
-                this.$router.push({name:'AddIndeptLabel',params:{isEdit:true,data:item}});
+              this.$router.push({name: 'AddIndeptLabel', params: Object.assign(pam, {isEdit: true, data: item})});
             } else if( type == 'copy') {
-                this.$router.push({name:'AddIndeptLabel',params:{isCopy:true,data:item}});
+              this.$router.push({name: 'AddIndeptLabel', params: Object.assign(pam, {isCopy: true, data: item})});
             } else {
                 return
             }

+ 33 - 3
src/components/icss/LabelGroup.vue

@@ -119,6 +119,7 @@ export default {
             tagTypes: [],
             Adscriptions: [],   //标签归属列表
             tagTypesList: [],   //标签类型列表
+          searched: false,
             filter: {
                 tagType: [], //标签类型
                 tagAdscription: '', //标签归属
@@ -135,6 +136,20 @@ export default {
         })
         
     },
+  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)
@@ -157,6 +172,7 @@ export default {
         },
         getDataList() {
             const param = this.getFilterItems();
+          this.searched = true;
             api.getTagList(param).then((res) => {
                 const list = res.data.data.records
                 for (var i = 0; i < list.length; i++) {
@@ -181,18 +197,32 @@ export default {
             this.getDataList();
         },
         addTagGroup() {
-            this.$router.push({path:'LT-YXSJWH-TJBQZ'})
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+          this.$router.push({name: 'AddLabelGroup', params: pam});
         },
         modifyTagGroup(row, type) {
             api.detailsTag({id:row.id}).then((res)=>{
                 const {code,data,msg} = res.data;
                 if(code=='0'){
                     const item = Object.assign({},row,data);
+                  const pam = this.searched ? {
+                    currentPage: this.currentPage,
+                    filter: this.filter
+                  } : {currentPage: this.currentPage};
                     // console.log('item', item)
                     if(type == 'modify') {
-                        this.$router.push({name:'AddLabelGroup',params:{isEdit:true,data:item}});
+                      this.$router.push({
+                        name: 'AddLabelGroup',
+                        params: Object.assign(pam, {isEdit: true, data: item})
+                      });
                     } else if( type == 'copy') {
-                        this.$router.push({name:'AddLabelGroup',params:{isCopy:true,data:item}});
+                      this.$router.push({
+                        name: 'AddLabelGroup',
+                        params: Object.assign(pam, {isCopy: true, data: item})
+                      });
                     } else {
                         return
                     }

+ 36 - 6
src/components/icss/MedicalMultRelation.vue

@@ -7,9 +7,7 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <router-link to="/admin/LT-YXSYKWH-TJYXSYDCGL" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加</el-button>
-                    </router-link>
+                    <el-button size="mini" type="warning" style="margin:0 10px"  @click="addMedicalMultR">添加</el-button>
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -89,6 +87,7 @@
         currentPage: 1,
         pageSize: 10,
         total: 0,
+        searched: false,
         filter: {
           term:'',
           type:''
@@ -97,20 +96,50 @@
       }
     },
     created() {
-      this.getDataList();
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.getDataList();
+      });
       this.getTypeList();
     },
+    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: {
+      addMedicalMultR(){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name:'AddMedicalMultRelation',
+          params:pam});
+      },
       toEditProduct(row){
         const param = {
           conceptId: row.conceptId,
           relationId: 17
-        }
+        };
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
         api.relationContactDetail(param).then((res) => {
           const {code,data,msg} = res.data;
           if(code=='0'){
               const item = Object.assign({},row,data);
-              this.$router.push({name:'AddMedicalMultRelation',params:{isEdit:true,data:item}});
+              this.$router.push({name:'AddMedicalMultRelation',params:Object.assign(pam, {isEdit: true, data: item})});
           }else{
               this.$message({
               message: msg,
@@ -125,6 +154,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.multContactList(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;

+ 63 - 14
src/components/icss/MedicalName.vue

@@ -1,6 +1,6 @@
 <template>
     <div>
-        <crumbs title="医学术语命名维护" minWidth="995px">
+        <crumbs title="医学术语命名维护" minWidth="995px" class="knowledgeTitle">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="医学标准术语:">
                     <el-input size="mini" v-model="filter.term" placeholder="输入术语"></el-input>
@@ -22,7 +22,7 @@
                 <el-form-item label="同义词:">
                     <el-input size="mini" v-model="filter.libName" placeholder="输入同义词"></el-input>
                 </el-form-item>
-              <!--<el-form-item label="状态:">
+              <el-form-item label="状态:">
                 <el-select v-model="isState" clearable placeholder="请选择" size="mini">
                   <el-option
                     v-for="item in stateSelect"
@@ -31,18 +31,23 @@
                     :value="item.id">
                   </el-option>
                 </el-select>
-              </el-form-item>-->
+              </el-form-item>
                 <el-form-item>
-                    <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <el-button size="mini" @click="uploadClick">导入</el-button>
-                    <input type="file" name="uploadfile " id="upFile" @change="uploadFile($event)" accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
-                    <router-link to="/admin/LT-YXSYKWH-TJYXSY" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加医学标准术语</el-button>
-                    </router-link>
+                  <el-button size="mini" @click="filterDatas">确认</el-button>
                 </el-form-item>
             </el-form>
+            <el-form class="secLine">
+              <el-form-item>
+                  <el-button size="mini" @click="uploadClick">导入</el-button>
+                  <input type="file" name="uploadfile " id="upFile" @change="uploadFile($event)" accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
+                  <!-- <router-link to="/admin/LT-YXSYKWH-TJYXSY" style="margin:0 10px">
+                      <el-button size="mini" type="warning">添加医学标准术语</el-button>
+                  </router-link> -->
+                  <el-button size="mini" type="warning"  @click="addMedicalName" style="margin:0 10px">添加医学标准术语</el-button>
+              </el-form-item>
+            </el-form>
         </crumbs>
-        <div class="contents">
+        <div class="contents knowledgeContents">
             <el-table :data="list"
                       border
                       style="width: 100%">
@@ -89,6 +94,8 @@
                     <template slot-scope="scope">
                         <el-button type="text" size="small" :disabled="scope.row.isDeleted != 'N'" @click="toEditProduct(scope.row)">修改</el-button>
                         <span style="margin:0 3px;">|</span>
+                        <el-button type="text" size="small" :disabled="scope.row.isDeleted != 'N'" @click="toEditProduct(scope.row,true)">复制</el-button>
+                        <span style="margin:0 3px;">|</span>
                         <el-button type="text" size="small" :class="scope.row.isDeleted == 'N'?'delete':'review'" @click="showDelDialog(scope.row)">{{scope.row.isDeleted == 'N'?'删除':'恢复'}}</el-button>
                     </template>
                 </el-table-column>
@@ -122,6 +129,7 @@
         currentPage: 1,
         pageSize: 10,
         total: 0,
+        searched:false,
         filter: {
           term:'',
           type:'',
@@ -131,15 +139,42 @@
       }
     },
     created() {
-      this.getDataList();
+      // this.getDataList();
       this.getTypeList();
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.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: {
-      toEditProduct(row){
+      addMedicalName(){
+        const pam = this.searched?{currentPage:this.currentPage,
+          filter:this.filter}:{currentPage:this.currentPage};
+        this.$router.push({name:'AddMedicalName',
+          params:pam});
+      },
+      toEditProduct(row,copy){
+        const pam = this.searched?{currentPage:this.currentPage,
+          filter:this.filter}:{currentPage:this.currentPage};
         this.$router.push({
           name:'AddMedicalName',
           // params: {info:row}
-          params: {id:row.conceptId}
+          params: Object.assign(pam,{id:row.conceptId,copy:copy})
         })
       },
       filterDatas(){
@@ -148,6 +183,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.knowledgeName(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;
@@ -180,7 +216,8 @@
           current: this.currentPage,
           size: this.pageSize,
           type:this.filter.type,
-          libName:this.filter.libName
+          libName:this.filter.libName,
+          isDeleted:this.isState
         };
         return param;
       },
@@ -284,6 +321,18 @@
 
 <style lang="less" scoped>
     @import "../../less/admin.less";
+    /deep/ .container.knowledgeTitle {
+      height: 80px;
+    }
+    /deep/ .contents.knowledgeContents {
+      padding: 104px 20px 0;
+    }
+    /deep/ .secLine.el-form {
+      float: right;
+      display: block;
+      position: relative;
+      top: -5px;
+    }
     .delete{
         color: red;
     }

+ 43 - 30
src/components/icss/MedicalRelation.vue

@@ -6,7 +6,7 @@
                   <span>{{total}}条</span>
               </el-form-item>
               <el-form-item label="术语关系:">
-                <el-select v-model="type" clearable placeholder="请选择" size="mini">
+                <el-select v-model="filter.type" clearable placeholder="请选择" size="mini">
                   <el-option
                     v-for="item in typeList"
                     :key="item.key"
@@ -16,13 +16,13 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="起始术语:">
-                  <el-input size="mini" v-model="startName" placeholder="输入术语"></el-input>
+                  <el-input size="mini" v-model="filter.startName" placeholder="输入术语"></el-input>
               </el-form-item>
               <el-form-item label="终点术语:">
-                  <el-input size="mini" v-model="endName" placeholder="输入术语"></el-input>
+                  <el-input size="mini" v-model="filter.endName" placeholder="输入术语"></el-input>
               </el-form-item>
               <el-form-item label="状态:">
-                <el-select v-model="isState" clearable placeholder="请选择" size="mini">
+                <el-select v-model="filter.isState" clearable placeholder="请选择" size="mini">
                   <el-option
                     v-for="item in stateSelect"
                     :key="item.id"
@@ -39,9 +39,7 @@
               <el-form-item>
                   <el-button size="mini" @click="uploadClick">导入</el-button>
                   <input type="file" name="uploadfile " id="upFile" @change="uploadFile($event)" accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
-                  <router-link to="/admin/LT-YXSYKWH-TJYXSYGX" style="margin:0 10px">
-                      <el-button size="mini" type="warning">添加医学术语关系</el-button>
-                  </router-link>
+                  <el-button size="mini" @click="addMedicalR" type="warning" style="margin:0 10px">添加医学术语关系</el-button>
               </el-form-item>
             </el-form>
         </crumbs>
@@ -130,48 +128,62 @@
           {id:'N',name:'启用中'},
           {id:'Y',name:'已删除'},
         ],
-        isState:'',
+        searched: false,
+        filter:{
+          isState:'',
+          startName:'',
+          endName:'',
+          type:'',
+        },
         cacheData: {},
         currentPage: 1,
         pageSize: 10,
         total: 0,
-        startName:'',
-        endName:'',
-        type:'',
         typeList:[],
         titleWidth:'1070px' //头部最小宽度
       }
     },
     created() {
-      this.getDataList();
       // this.getRelationList();
       const typeList = JSON.parse(localStorage.getItem("knowledgeEnumsData"));
       if(typeList){
         this.typeList = typeList.lexiconRSTypeEnum;
       }
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.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: {
-      toEditProduct(row){
-        // this.$router.push({
-        //   name:'AddSimilarName',
-        //   params: {id:row.questionId,name:row.questionName}
-        // })
+      addMedicalR(){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name: 'AddMedicalRelation', params: pam});
       },
       filterDatas(){
         this.currentPage = 1;
         this.getDataList(1);
       },
       getDataList(flag) {
-        const param = this.getFilterItems();
-        const param1 = {
-          "current": this.currentPage,
-          "endName": this.endName,
-          "relationId": this.type,
-          "size": this.pageSize,
-          "startName": this.startName,
-          "isDeleted":this.isState
-        }
-        const params = this.type?param1:param;
+        const params = this.getFilterItems();
+        this.searched = true;
         api.knowledgeRelation(params).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;
@@ -211,9 +223,10 @@
         const param = {
           current: this.currentPage,
           size: this.pageSize,
-          startName: this.startName,
-          endName: this.endName,
-          isDeleted:this.isState
+          relationId: this.filter.type,
+          startName: this.filter.startName,
+          endName: this.filter.endName,
+          isDeleted:this.filter.isState
         };
         return param;
       },

+ 35 - 5
src/components/icss/MedicinePrompt.vue

@@ -7,9 +7,7 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <router-link to="/admin/LT-YXSYKWH-TJYXSYJTZS" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加静态知识</el-button>
-                    </router-link>
+                    <el-button size="mini" type="warning" style="margin:0 10px" @click="addMedicalPrompt">添加静态知识</el-button>
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -90,6 +88,7 @@
         total: 0,
         linkIn:[],
         pays:[],
+        searched: false,
         filter: {
           term: '',
           title:''
@@ -97,13 +96,43 @@
       }
     },
     created() {
-      this.getDataList();
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.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: {
+      addMedicalPrompt(){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name:'AddMedicinePrompt',
+          params:pam});
+      },
       toEditProduct(row){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
         this.$router.push({
           name:'AddMedicinePrompt',
-          params: {data:row,isEdit:true}
+          params: Object.assign(pam, {data:row,isEdit:true})
         })
       },
       toCopyProduct(row){
@@ -118,6 +147,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getConceptKnowledgeList(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;

+ 7 - 5
src/components/icss/NoiseTemplate.vue

@@ -1,9 +1,10 @@
 <template>
   <div class="NoiseTemplateWrapper TemplateWrapper">
       <crumbs
-      :title="txt"
-      class="topBack"
-      linkTo="/admin/LT-YXSJWH-BQZWH"
+              :title="txt"
+              class="topBack"
+              :param="$route.params"
+              linkTo="labelGroup"
     ></crumbs>
     <PubTagGroup
       :editData="editData"
@@ -166,7 +167,6 @@ export default {
     },
   },
   methods: {
-    back() { this.$router.go(-1) },
     changeVal(val) {    //子组件数据改变传递到父组件
       this.dataPub = val
       // console.log('公用组件传的值都在这', val)
@@ -249,8 +249,10 @@ export default {
           if (res.data.code === '0') {
             this.warning(res.data.msg || '保存成功', 'success','1000')
             setTimeout(() => {
+              //返回带搜索条件的首页
               this.$router.push({
-                path:'/admin/LT-YXSJWH-BQZWH'
+                name: 'labelGroup',
+                params: Object.assign({}, this.$route.params, {currentPage: 1})
               })
             }, 1000);
           } else {

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

@@ -14,9 +14,7 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <router-link to="/admin/LT-YXSJWH-TJCTMB" style="margin:0 10px">
-                        <el-button size="mini" type="warning">添加模板</el-button>
-                    </router-link>
+                    <el-button size="mini" type="warning" @click="addModule" style="margin:0 10px">添加模板</el-button>
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -95,16 +93,41 @@
         total: 0,
         linkIn:[],
         pays:[],
+        searched: false,
         filter: {
           deptId: ''
         }
       }
     },
     created() {
-      this.getDeptShortListSearh()
-      this.getDataList();
+      this.getDeptShortListSearh();
+      const that = this;
+      setTimeout(function () {
+        that.getDataList();
+      }, 200);
+    },
+    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: {
+      addModule() {
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name: 'AddPhysicalExamTemp', params: pam});
+      },
       toEditProduct(row){
         this.getPhysicalExamTempByDepId('isEdit', row)
       },
@@ -113,8 +136,12 @@
         api.getPhysicalExamTempByDepId(param).then((res)=>{
             const {code,data,msg} = res.data;
             if(code=='0'){
+              const pam = this.searched ? {
+                currentPage: this.currentPage,
+                filter: this.filter
+              } : {currentPage: this.currentPage};
                 const item = Object.assign({},row,data);
-                this.$router.push({name:'AddPhysicalExamTemp',params:{[type]:true,data:item}});
+              this.$router.push({name: 'AddPhysicalExamTemp', params: Object.assign(pam, {[type]: true, data: item})});
             }else{
                 this.$message({
                 message: msg,
@@ -138,9 +165,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
-        // const param = {
-        //   'name':''
-        // };
+        this.searched = true;
         api.getPhysicalExamTempList(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;

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

@@ -1,6 +1,6 @@
 <template>
     <div class="NoiseTemplateWrapper TemplateWrapper">
-        <crumbs title="提示信息维护--详情" class="topBack" linkTo="/admin/LT-YXSJWH-TSXXWH">
+        <crumbs title="提示信息维护--详情" class="topBack" linkTo="PromptInfo">
         </crumbs>
         <div class="info-container">
             <el-form label-width="130px"

+ 28 - 3
src/components/icss/TemplateMaintenance.vue

@@ -112,6 +112,7 @@
         AdscriptionsType:[],
         AdscriptionsOwnTo:[],
         tagTypesList: [],
+        searched: false,
         filter: {
           tagType: [], //标签类型
           templateType: '', //模板类型
@@ -137,6 +138,12 @@
       }
     },
     watch: {
+      'filter': {
+        handler: function () {
+          this.searched = false;
+        },
+        deep: true
+      },
       tmpType(newVal, preVal){
         this.filter.tagAdscription = ''
         //根据类型不同删选归属
@@ -169,6 +176,12 @@
         }
       }
     },
+    beforeRouteEnter(to, from, next) {
+      next(vm => {
+        //const pm = to.param;
+        Object.assign(vm, to.params);
+      })
+    },
     methods: {
       getSubTemplate() {
         api.getAllDeptAndDisInfo({}).then((res) => {
@@ -196,6 +209,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getModuleInfoList(param).then((res) => {
           if(res.data.code == 0){
             const list = res.data.data.records
@@ -221,7 +235,11 @@
         this.getDataList();
       },
       addIndeptTag() {
-        this.$router.push({path:'LT-YXSJWH-TJMBWH'})
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
+        this.$router.push({name: 'TemplateMaintenanceWrap', params: pam})
       },
       modifyIndeptTag(row) {
         // api.detailsTag({ids:row.id}).then((res) => {
@@ -243,8 +261,15 @@
           if(data1.code == 0){
             rightMsg = Object.assign({},data1);
           }
-          allData = Object.assign({},topMsg,rightMsg)
-          this.$router.push({name:'TemplateMaintenanceWrap',params:{isEdit:true,data:allData}});
+          allData = Object.assign({}, topMsg, rightMsg);
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            filter: this.filter
+          } : {currentPage: this.currentPage};
+          this.$router.push({
+            name: 'TemplateMaintenanceWrap',
+            params: Object.assign(pam, {isEdit: true, data: allData})
+          });
         })
       },
       currentChange(next) {

+ 8 - 6
src/components/icss/TemplateMaintenanceWrap.vue

@@ -1,9 +1,10 @@
 <template>
   <div class="NoiseTemplateWrapper TemplateWrapper">
     <crumbs
-      :title="txt"
-      class="topBack"
-      linkTo="/admin/LT-YXSJWH-MBWH"
+            :title="txt"
+            class="topBack"
+            :param="$route.params"
+            linkTo="TemplateMaintenance"
     ></crumbs>
     <PubTemplateGroup
       :editData="editData"
@@ -65,7 +66,6 @@ export default {
     }
   },
   methods: {
-    back() { this.$router.go(-1) },
     staticOwn(val){
       this.staticOwnTo = val
     },
@@ -150,10 +150,12 @@ export default {
           this.saveDisable = false  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
           api.updateModuleInfo(param).then((res) => {
             if (res.data.code === '0') {
-              this.warning(res.data.msg || '修改成功', 'success','1000')
+              this.warning(res.data.msg || '修改成功', 'success', '1000');
+              //返回带搜索条件的首页
               setTimeout(() => {
                 this.$router.push({
-                  path:'/admin/LT-YXSJWH-MBWH'
+                  name: 'TemplateMaintenance',
+                  params: Object.assign({}, this.$route.params, {currentPage: 1})
                 })
               }, 1000);
             } else {

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

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <crumbs title="版本信息维护-明细" linkTo="/admin/LT-YXSJWH-BBXXWH"></crumbs>
+    <crumbs title="版本信息维护-明细" linkTo="VersionInfo"></crumbs>
     <div class="contents">
       <div class="content">
         <el-form ref="form" :label-position="labelPosition" label-width="85px" class="add-admin-form">

+ 26 - 2
src/components/icss/VersionInfo.vue

@@ -82,6 +82,7 @@
         currentPage: 1,
         pageSize: 10,
         total: 0,
+        searched: false,
         filter: {
           name: ''
         },
@@ -92,18 +93,40 @@
     created() {
       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: {
       addVersion(){
         // 添加版本信息
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
         this.$router.push({
           name:'AddVersion',
-          params: {copy:true}
+          params: pam
         })
       },
       toEditVersion(row,flag){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
         this.$router.push({
           name:'AddVersion',
-          params: {info:row,copy:flag}
+          params: Object.assign(pam, {info: row, copy: flag})
         })
       },
       filterDatas(){
@@ -112,6 +135,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.versionInfo(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;

+ 9 - 7
src/components/preTreat/AddCombinQuestion.vue

@@ -3,13 +3,15 @@
         <crumbs
                 :title="txt"
                 class="topBack"
-                linkTo="/admin/LT-YWZSJWH-ZHTXDWH"
+                :param="$route.params"
+                linkTo="CombinQuestion"
         ></crumbs>
         <PubIndeptQa
                 @changeVal="changeVal"
                 @changeType="changeType"
                 @validatePass="validatePass"
                 qaType="2"
+                :isEdit="$route.params.isEdit"
                 :editData="editData"
                 ref="submitForm"
         ></PubIndeptQa>
@@ -49,14 +51,13 @@
       }
     },
     beforeMount:function(){
-      const {isEdit,data} = this.$route.params;
-      if(isEdit){
-        this.txt = '组合填写单维护-修改组合填写单';
-        this.editData = data;console.log(data)
+      const {isEdit,isCopy,data} = this.$route.params;
+      if(isEdit||isCopy){
+        this.txt = isCopy?'组合填写单维护-复制组合填写单':'组合填写单维护-修改组合填写单';
+        this.editData = data;
       }
     },
     methods: {
-      back() { this.$router.go(-1) },
       changeVal(val) {    //子组件数据改变传递到父组件
         this.dataPub = val;
         console.log('公用组件传的值都在这', val);
@@ -117,7 +118,8 @@
           api.questionAdd(param).then((res) => {
             if (res.data.code === '0') {
               this.warning(res.data.msg || '保存成功', 'success');
-              this.$router.push("/admin/LT-YWZSJWH-ZHTXDWH");
+              //返回带搜索条件的首页
+              this.$router.push({name:'CombinQuestion',params:Object.assign({},this.$route.params,{currentPage:1})});
             } else {
               this.warning(res.data.msg)
             }

+ 4 - 3
src/components/preTreat/AddQuestionModules.vue

@@ -3,7 +3,8 @@
         <crumbs
                 :title="txt"
                 class="topBack"
-                linkTo="/admin/LT-YWZSJWH-MBWH"
+                :param="$route.params"
+                linkTo="QuestionModules"
         ></crumbs>
         <div class="PubTagGroupWrapper">
         <el-form class="groups"
@@ -180,7 +181,6 @@
       },
     },
     methods: {
-      back() { this.$router.go(-1) },
       getAvailibleType(){
         api.getModuleType({moduleType:this.form.moduleType,relationId:this.form.relationId}).then((res) =>{
           if(res.data.code === '0') {
@@ -266,7 +266,8 @@
           api.addModule(param).then((res) => {
             if (res.data.code === '0') {
               this.warning(res.data.msg || '保存成功', 'success');
-              this.$router.push("/admin/LT-YWZSJWH-MBWH");
+              //返回带搜索条件的首页
+              this.$router.push({name:'QuestionModules',params:Object.assign({},this.$route.params,{currentPage:1})});
             } else {
               this.warning(res.data.msg)
             }

+ 8 - 6
src/components/preTreat/AddSimpleQuestion.vue

@@ -3,7 +3,8 @@
         <crumbs
                 :title="txt"
                 class="topBack"
-                linkTo="/admin/LT-YWZSJWH-DLTXDWH"
+                :param="param"
+                linkTo="SimpleQuestion"
         ></crumbs>
         <PubIndeptQa
                 @changeVal="changeVal"
@@ -46,6 +47,7 @@
     data() {
       return {
         txt:'独立填写单维护-添加独立填写单',
+        param:this.$route.params,
         imgList:[],
         dataPub: {},      //公用组件传的值都在这
         itemsTypes:[1,2],            //有明细的类型
@@ -54,14 +56,13 @@
       }
     },
     beforeMount:function(){
-      const {isEdit,data} = this.$route.params;
-      if(isEdit){
-        this.txt = '独立填写单维护-修改独立填写单';
+      const {isEdit,isCopy,data} = this.$route.params;
+      if(isEdit||isCopy){
+        this.txt = isCopy?'独立填写单维护-复制独立填写单':'独立填写单维护-修改独立填写单';
         this.editData = data;
       }
     },
     methods: {
-      back() { this.$router.go(-1) },
       changeVal(val) {   //子组件数据改变传递到父组件
         this.dataPub = val;
         //console.log('公用组件传的值都在这', val);
@@ -141,7 +142,8 @@
           api.questionAdd(param).then((res) => {
             if (res.data.code === '0') {
               this.warning(res.data.msg || '保存成功', 'success');
-              this.$router.push("/admin/LT-YWZSJWH-DLTXDWH");
+              //返回带搜索条件的首页
+              this.$router.push({name:"SimpleQuestion",params:Object.assign({},this.param,{currentPage:1})});
             } else {
               this.warning(res.data.msg)
             }

+ 28 - 8
src/components/preTreat/CombinQuestion.vue

@@ -3,7 +3,7 @@
         <crumbs title="组合填写单维护">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="归属:">
-                    <el-select size="mini" v-model="filter.tagAdscription" @change="getValue"  placeholder="归属" clearable>
+                    <el-select size="mini" v-model="filter.tagAdscription"  placeholder="归属" clearable>
                         <el-option v-if="item.val!=6&&item.val!=7&&item.val!=8&&item.val!=9&&item.val!=10&&item.val!=21&&item.val!=22" v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
                     </el-select>
                 </el-form-item>
@@ -65,10 +65,12 @@
                         :resizable = "false"
                         prop="operate"
                         label="操作"
-                        width="120">
+                        width="140">
                     <template slot-scope="scope">
                         <el-button  @click="modifyIndeptTag(scope.row)" type="text" size="small">修改</el-button>
                         <span style="margin:0 3px;">|</span>
+                        <el-button  @click="modifyIndeptTag(scope.row,true)" type="text" size="small">复制</el-button>
+                        <span style="margin:0 3px;">|</span>
                         <el-button @click="showDelDialog(scope.row)" class="delete" type="text" size="small">删除</el-button>
                     </template>
                 </el-table-column>
@@ -96,6 +98,7 @@
         tagTypes: [],
         Adscriptions: [],
         tagTypesList:[],
+        searched:false,
         filter: {
           tagType: [], //标签类型
           tagAdscription: '', //标签归属
@@ -109,10 +112,21 @@
     created() {
       this.getDropList();
     },
+    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() {
         api.getPreTypeList().then((res) =>{
           this.getDataList();
@@ -127,6 +141,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getQuestionList(param).then((res) => {
           const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
@@ -151,14 +166,19 @@
         this.getDataList();
       },
       addIndeptTag() {
-        this.$router.push({path:'LT-YWZSJWH-TJZHTXD'});
+        const pam = this.searched?{currentPage:this.currentPage,
+          filter:this.filter}:{currentPage:this.currentPage};
+        this.$router.push({name:'AddCombinQuestion',
+          params:pam});
       },
-      modifyIndeptTag(row) {
+      modifyIndeptTag(row,isCopy) {
         api.questionDetail({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
             const infos = Object.assign({},row,data);
-            this.$router.push({name:'AddCombinQuestion',params:{isEdit:true,data:infos}});
+            const pam = this.searched?{currentPage:this.currentPage,
+              filter:this.filter}:{currentPage:this.currentPage};
+            this.$router.push({name:'AddCombinQuestion',params:Object.assign(pam,{[isCopy?'isCopy':'isEdit']:true,data:infos})});
           }else{
             this.$message({
               message: msg,

+ 2 - 2
src/components/preTreat/PubIndeptQa.vue

@@ -53,7 +53,7 @@
             >
                 <el-select
                         v-model="form.region12"
-                        :disabled="!form.region1||!!editData.id"
+                        :disabled="!form.region1||isEdit"
                         @change="sendData"
                 >
                     <el-option
@@ -207,7 +207,7 @@
 // 补充内容(val:52):单选(val:1)、多选(val:2)、多列填写(val:3)、输入框(val:6)、数字输入框(val:7)、文本域(val:5)
 
   export default {
-    props:['editData','qaType'],      //qaType:独立1/组合2填写单
+    props:['editData','qaType','isEdit'],      //qaType:独立1/组合2填写单
     data() {
       var validatePass1 = (rule, value, callback) => {
         this.validateSystomName(value,callback,1)

+ 3 - 2
src/components/preTreat/PubSelect.vue

@@ -213,9 +213,9 @@
         }
         const maps = {0:'${input_输入}',1:'${number_输入}'};
         const key = this.focusName;
-        this.rows[i][key] = this.rows[i][key]+maps[type];
+        this.rows[i].name = this.rows[i].name+maps[type];
+        this.rows[i].description = this.rows[i].description+maps[type];
         this.disableBtn = true;
-        //this.rows[i].description = this.rows[i].description+maps[type];
       },
       handleExclu(){
         const i = this.focusOn;
@@ -253,6 +253,7 @@
         if(hasPlace&&this.disableBtn==false){
           this.disableBtn = true;
         }else if(!hasPlace&&this.disableBtn==true){
+          this.rows[i][isName?'description':'name'] = this.rows[i][isName?'description':'name'].replace(/(\$\{number_\S*?\})|(\$\{input_\S*?\})/g,'');
           this.disableBtn = false;
         }
         if(pureName.length > 30) {

+ 25 - 7
src/components/preTreat/QuestionModules.vue

@@ -6,7 +6,7 @@
                     <el-input size="mini" v-model="filter.name" placeholder="模板名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="归属:">
-                    <el-select size="mini" v-model="filter.type" @change="getValue"  placeholder="归属" clearable>
+                    <el-select size="mini" v-model="filter.type"  placeholder="归属" clearable>
                         <el-option v-if="item.val!=6&&item.val!=7&&item.val!=8&&item.val!=9&&item.val!=10&&item.val!=21&&item.val!=22" v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
                     </el-select>
                 </el-form-item>
@@ -16,7 +16,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item label="归属科室:" v-if="filter.moduleType==1">
-                    <el-select size="mini" v-model="filter.relationId" @change="getValue"  placeholder="归属" clearable>
+                    <el-select size="mini" v-model="filter.relationId"  placeholder="归属" clearable>
                         <el-option v-for="item in deptList" :label="item.name" :value="item.conceptId" :key="item.conceptId" ></el-option>
                     </el-select>
                 </el-form-item>
@@ -104,6 +104,7 @@
       return {
         list: [],
         tagTypes: [],
+        searched:false,
         Adscriptions: [],
         deptList:[],
         filter: {
@@ -120,10 +121,21 @@
     created() {
       this.getDropList();
     },
+    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() {
         api.getPreTypeList().then((res) =>{
           this.getDataList();
@@ -150,6 +162,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getModuleList(param).then((res) => {
           if (res.data.code === '0') {
             const list = res.data.data&&res.data.data.records?[...res.data.data.records]:[];
@@ -182,14 +195,19 @@
         this.getDataList();
       },
       addModule() {
-        this.$router.push({path:'LT-YWZSJWH-TJMBWH'});
+        const pam = this.searched?{currentPage:this.currentPage,
+          filter:this.filter}:{currentPage:this.currentPage};
+        this.$router.push({name:'AddQuestionModules',
+          params:pam});
       },
       modifyModule(row) {
         api.getModuleDetail({moduleId:row.id,type:row.type}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
             const item = Object.assign({},row,data);
-            this.$router.push({name:'AddQuestionModules',params:{isEdit:true,data:item}});
+            const pam = this.searched?{currentPage:this.currentPage,
+              filter:this.filter}:{currentPage:this.currentPage};
+            this.$router.push({name:'AddQuestionModules',params:Object.assign(pam,{isEdit:true,data:item})});
           }else{
             this.$message({
               message: msg,

+ 19 - 1
src/components/preTreat/QuestionTagGroup.vue

@@ -235,7 +235,24 @@ export default {
             this.searchTagList();
             this.$emit('changeActionData',this.rightTagsList, false);
         },
+        toMuchImgs(list){
+          const arr = list.filter((it)=>{
+            return it.tagType==1&&it.controlType ==4;
+          });
+          if(arr.length>1){
+            return true;
+          }
+          return false;
+        },
         toRightList() {
+            if(this.toMuchImgs([...this.rightTagsList,...this.selectLeftTagsList])){
+              this.$message({
+                showClose: true,
+                message: '一个模板最多只能添加一个上传图片类型填写单',
+                type: 'warning'
+              });
+              return ;
+            }
             this.rightTagsList.push(...this.selectLeftTagsList);
 
             for (let i = 0; i < this.rightTagsList.length; i++) {
@@ -259,6 +276,7 @@ export default {
                 "tagName": this.searchVal,
                 "type": this.ascription,
                 "notIds": notIds,
+                "notControlType":this.qaType==2||this.ascription!='51'?['4']:[],             //组合填写单或非诊疗情况模版不能添加图片上传
                 "sexType": this.sexType,
                 "tagType":+this.qaType===2?maps[this.type]:['1','6']       //qaType=2:组合填写单,qaType=3模板
             };
@@ -266,7 +284,7 @@ export default {
                 if (res.data.code === '0') {
                     this.leftTagsList = res.data.data;
                     this.selectLeftTagsList = [];
-                    this.selectRightTagsList = [];console.log(this.rightTagsList)
+                    this.selectRightTagsList = [];
                 }
             })
            

+ 43 - 7
src/components/preTreat/SimpleQuestion.vue

@@ -3,7 +3,7 @@
         <crumbs title="独立填写单维护">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="归属:">
-                    <el-select size="mini" v-model="filter.tagAdscription" @change="getValue"  placeholder="归属" clearable>
+                    <el-select size="mini" v-model="filter.tagAdscription"  placeholder="归属" clearable>
                         <el-option v-if="item.val!=6&&item.val!=7&&item.val!=8&&item.val!=9&&item.val!=10&&item.val!=21&&item.val!=22" v-for="item in Adscriptions" :label="item.name" :value="item.val" :key="item.id" ></el-option>
                     </el-select>
                 </el-form-item>
@@ -65,10 +65,12 @@
                         :resizable = "false"
                         prop="operate"
                         label="操作"
-                        width="120">
+                        width="140">
                     <template slot-scope="scope">
                         <el-button  @click="modifyIndeptTag(scope.row)" type="text" size="small">修改</el-button>
                         <span style="margin:0 3px;">|</span>
+                        <el-button  @click="copyIndeptTag(scope.row)" type="text" size="small">复制</el-button>
+                        <span style="margin:0 3px;">|</span>
                         <el-button @click="showDelDialog(scope.row)" class="delete" type="text" size="small">删除</el-button>
                     </template>
                 </el-table-column>
@@ -96,6 +98,7 @@
         tagTypes: [],
         Adscriptions: [],
         tagTypesList:[],
+        searched:false,
         filter: {
           tagType: [], //标签类型
           controlType: [],
@@ -110,10 +113,21 @@
     created() {
       this.getDropList();
     },
+    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() {
         api.getPreTypeList().then((res) =>{
           this.getDataList();
@@ -128,6 +142,7 @@
       },
       getDataList() {
         const param = this.getFilterItems();
+        this.searched = true;
         api.getQuestionList(param).then((res) => {
           const list = [...res.data.data.records];
           for (var i = 0; i < list.length; i++) {
@@ -152,14 +167,35 @@
         this.getDataList();
       },
       addIndeptTag() {
-        this.$router.push({path:'LT-YWZSJWH-TJDLTXD'})
+        const pam = this.searched?{currentPage:this.currentPage,
+            filter:this.filter}:{currentPage:this.currentPage};
+        this.$router.push({name:'AddSimpleQuestion',
+                            params:pam})
+      },
+      copyIndeptTag(row){
+        api.questionDetail({id:row.id}).then((res)=>{
+          const {code,data,msg} = res.data;
+          if(code=='0'){
+            const item = Object.assign({},row,data);
+            const pam = this.searched?{currentPage:this.currentPage,
+              filter:this.filter}:{currentPage:this.currentPage};
+            this.$router.push({name:'AddSimpleQuestion',params:Object.assign(pam,{isCopy:true,data:item})});
+          }else{
+            this.$message({
+              message: msg,
+              type: 'warning'
+            });
+          }
+        });
       },
       modifyIndeptTag(row) {
         api.questionDetail({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
             const item = Object.assign({},row,data);
-            this.$router.push({name:'AddSimpleQuestion',params:{isEdit:true,data:item}});
+            const pam = this.searched?{currentPage:this.currentPage,
+              filter:this.filter}:{currentPage:this.currentPage};
+            this.$router.push({name:'AddSimpleQuestion',params:Object.assign(pam,{isEdit:true,data:item})});
           }else{
             this.$message({
               message: msg,

+ 4 - 2
src/routes.js

@@ -150,6 +150,7 @@ export default [
         component: AuthedAdmin
       },
     	{
+    	  name:'organizationInfo',
     	  path: 'LT-KHZX-JGXX',//机构信息
         component: OrganizationInfo,
         meta:{
@@ -165,6 +166,7 @@ export default [
         component: ModifinedOrga
       },
       {
+        name:'superAdmin',
         path: 'LT-KHZX-CGXX',
         component: SuperAdmin
       },
@@ -190,9 +192,9 @@ export default [
       {path: 'LT-CPXGL', component: ProductLinesManage},
       {path: 'LT-CPXGL-TJCPX', component: AddProductLine,name:'editProductLine'},
       {path: 'LT-GRZX/CHANGE',component: ChangePwd}, //个人中心--修改密码
-      {path: 'LT-YXSJWH-BQZWH',component: LabelGroup}, //医学数据维护--标签组维护
+      {path: 'LT-YXSJWH-BQZWH',component: LabelGroup,name:'labelGroup'}, //医学数据维护--标签组维护
       {path:'LT-YXSJWH-TJBQZ',component:NoiseTemplate,name:'AddLabelGroup'},     //医学数据维护--标签组维护--添加标签组
-      {path:'LT-YXSJWH-KSWH',component:DeptInfo},     //医学数据维护--科室维护
+      {path:'LT-YXSJWH-KSWH',component:DeptInfo,name:'deptInfo'},     //医学数据维护--科室维护
       {path:'LT-YXSJWH-KSXQ',component:DeptInfoDetail,name:'DeptInfoDetail'},     //科室维护--详情
       {path:'LT-YXSJWH-TJKS',component:AddDeptInfo,name:'AddDeptInfo'},     //科室维护--添加
       {path:'LT-YXSJWH-DLLXBQWH',component:IndeptLabel,name:'IndeptLabel'},     //独立标签维护--详情

+ 1 - 1
vue.config.js

@@ -1,6 +1,6 @@
 const path = require('path');
 // const proxy_path = 'http://192.168.2.236:80';
-const proxy_path = 'http://192.168.2.236:88';
+const proxy_path = 'http://192.168.2.241:88';
 // const proxy_path = 'http://192.168.2.236:88';
 // const proxy_path = 'http://192.168.3.101:5050';
 // const proxy_path = 'http://192.168.3.117:5050';//周铁刚