浏览代码

Merge branch 'dev' of http://192.168.2.236:10080/zhouna/platformFront into dev

Luolei 6 年之前
父节点
当前提交
fa4b3e51bc

+ 5 - 2
src/api/utils.js

@@ -158,7 +158,8 @@ export default {
    * 单选数据转换提交
    * **/
   simpleOptionData(data){
-    let arr = data.map((it,i)=>{
+    let arr = [];
+    data.map((it,i)=>{
       let code = '';
       let abnormal = 0
       if(it.isError){
@@ -170,7 +171,9 @@ export default {
       if(it.isBan){
         code = '1';
       }
-      return {name:it.name,defaultSelect:it.defaultSelect?'1':'0',code,abnormal,remark:'单选项-'+it.name}
+      if(it.name){
+        arr.push({name:it.name,defaultSelect:it.defaultSelect?'1':'0',code,abnormal,remark:'单选项-'+it.name});
+      }
     });
     return arr;
   },

+ 25 - 18
src/components/admin/Console.vue

@@ -1,7 +1,7 @@
 <template>
     <div>
         <crumbs title="控制台"></crumbs>
-        <div class="console">
+        <div class="console" v-if="hasConcole">
             <h2>平台数据</h2>
             <el-row :gutter="20">
                 <el-col :span="6">
@@ -36,31 +36,38 @@
 
   export default {
     name: 'admin-console',
+    props:['hasConcole'],
     data: function () {
       return {
         orderCount: '...',
         authCount: '...'
       }
     },
-    created() {
-      api.getOrderNum().then((res) => {
-        const result = res.data;
-        if (result.code == '0') {
-          this.orderCount = result.data.count;
+    beforeRouteEnter(to,form,next){
+      next(vm=>{
+        if(!vm.hasConcole){
+          vm.$emit('redirect-page');
+          return;
         }
-      }).catch((error) => {
-        console.log(error)
+        //获取控制台默认显示数字
+        api.getOrderNum().then((res) => {
+          const result = res.data;
+          if (result.code == '0') {
+            vm.orderCount = result.data.count;
+          }
+        }).catch((error) => {
+          console.log(error)
+        });
+        api.getAuthNum().then((res) => {
+          const result = res.data;
+          if (result.code == '0') {
+            vm.authCount = result.data.count;
+          }
+        }).catch((error) => {
+          console.log(error)
+        });
       });
-      api.getAuthNum().then((res) => {
-        const result = res.data;
-        if (result.code == '0') {
-          this.authCount = result.data.count;
-        }
-      }).catch((error) => {
-        console.log(error)
-      });
-
-    }
+    },
   }
 </script>
 

+ 15 - 5
src/components/common/HomePage.vue

@@ -23,7 +23,7 @@
                 </div>
             </el-header>
             <el-main>
-              <router-view v-on:status-change="changeStatus"></router-view>
+              <router-view v-if="ok" v-on:status-change="changeStatus" v-on:redirect-page="redirectPage" :hasConcole="hasConcole"></router-view>
             </el-main>
         </el-container>
     </el-container>
@@ -41,7 +41,7 @@
     components: {
       'lt-badge': LtBadge,
       'lt-menu': LtMenu,
-			'console': Console
+      'console': Console
     },
     data: function () {
       return {
@@ -49,7 +49,9 @@
         organization: null,
         userLoginDTO: null,
         authStatus: null,
-        authStatusName:''
+        authStatusName:'',
+        ok:false,           //是否已获取到菜单
+        hasConcole:true         //是否有控制台权限,登录后跳转用
       }
     },
     computed: {
@@ -57,11 +59,16 @@
         return this.userLoginDTO && this.userLoginDTO.type == '0' ? 'user' : 'admin';
       }
     },
-    created() {
+    created () {
       //获取菜单
       api.getAccessdMenu().then((res) => {
         if (res.data.code == '0') {
           const data = res.data.data;
+            this.ok = true;
+            const hasConcole=data.menuWrappers.findIndex((it)=>{
+              return it.code == 'LT-KZT'
+            });
+          this.hasConcole = hasConcole!=-1;
           this.menuWrappers = data.menuWrappers;
           this.organization = data.organization;
           this.userLoginDTO = data.userLoginDTO;
@@ -70,9 +77,12 @@
       }).catch((error) => {
         console.log(error);
       });
-
     },
     methods: {
+      redirectPage(){
+        const url = this.getRole=='user'?'/user':'/admin';
+        this.$router.push({path:url});
+      },
       changeStatus(text){       //账号信息中提交认证后修改状态
         this.authStatus = 2;
         this.authStatusName = text;

+ 21 - 3
src/components/icss/AddIndeptLabel.vue

@@ -91,9 +91,26 @@
       },
       validatePass() {      //验证成功回调,调取接口
         //仍需验证标签明细是否选择
-        if (this.itemsTypes.includes(+this.dataPub.region2)&&this.options.length==0) {
+        console.log('this.options',this.options)
+        let isNull = true
+        let options2 = []
+        for (let i = 0; i < this.options.length; i++) {
+          if(this.options[i].name.trim() != '') {
+            isNull = false
+            options2.push(this.options[i])
+          }
+        }
+        this.options = options2;
+        if(this.itemsTypes.includes(+this.dataPub.region2)&&isNull) {
+            this.$message({
+              message: '至少填一个选项',
+              type: 'warning'
+            });
+            return;
+        }
+        if(this.dataPub.region8 > this.dataPub.region9) {
           this.$message({
-            message: '至少填一个选项',
+            message: '最小年龄不能大于最大年龄',
             type: 'warning'
           });
           return;
@@ -121,7 +138,8 @@
             "minValue": this.dataPub.minNormalVal,        //化验最小正常值
             "maxValue": this.dataPub.maxNormalVal,         //化验最大正常值
             "questionDetails": this.options,
-            "questionMappings": []       //映射关系,
+            "questionMappings": [],      //映射关系,
+            "formulaCode": isEdit?data.formulaCode : ''
           }
         };
         this.showSaveDialog(param);

+ 0 - 2
src/components/icss/AddPhysicalExamTemp.vue

@@ -165,7 +165,6 @@
             return RightTagListIds
         },
         changeDepart(){
-            console.log(this.form.department)
             this.getTagList()
         },
         selectLeftTag(tag, index, e) {
@@ -256,7 +255,6 @@
             }
             this.showConfirmDialog('是否保存该模板?', () => {
                 api.savePhysicalExamTemp(param).then((res) => {
-                console.log('resssss', res)
                 if (res.data.code  === '0') {
                     this.warning(res.data.msg || '保存成功', 'success','1000')
                     setTimeout(() => {

+ 29 - 9
src/components/icss/AddSimilarName.vue

@@ -21,14 +21,21 @@
             <td>拼音</td>
           </tr>
           <tr v-if="flag" v-for="item in selfName">
-           <!--  <td class="desc">{{item.retrievalName}}</td>
-            <td>{{item.retrievalSpell}}</td> -->
-            <td><input type="text" name="" v-model="item.retrievalName" maxlength="30" @input="handleInput"></td>
-            <td><input type="text" name="" v-model="item.retrievalSpell" maxlength="30" @input="handlePinyin"></td>
+           <!-- 本体名字不能修改 3-15 -->
+            <td>
+              <!-- <input type="text" name="" v-model="item.retrievalName" maxlength="30" @input="handleInput"> -->
+              <p>{{item.retrievalName}}</p>
+            </td>
+            <td>
+              <input type="text" name="" v-model="item.retrievalSpell" maxlength="30" @input="handlePinyin">
+            </td>
           </tr>
           <tr v-if="!flag" v-for="(i,index) in selfEmpty">
-            <td><input type="text" name="" v-model="selfEmpty[index].retrievalName" maxlength="30" @input="handleInput"></td>
-            <td><input type="text" name="" v-model="selfEmpty[index].retrievalSpell" maxlength="30" @input="handlePinyin"></td>
+            <td>
+              <!-- <input type="text" name="" v-model="selfEmpty[index].retrievalName" maxlength="30" @input="handleInput"> -->
+              <p>{{i.retrievalName}}</p>
+            </td>
+            <td><input type="text" name="" v-model="i.retrievalSpell" maxlength="30" @input="handlePinyin"></td>
           </tr>
         </table>
         <p class="subtitle">别名添加:</p>
@@ -42,7 +49,7 @@
             <td><input type="text" name="" v-model="it.retrievalSpell" maxlength="30" @input="handlePinyin"></td>
           </tr>
           <tr v-for="(i,index) in retrievalEmpty">
-            <td><input type="text" name="" v-model="retrievalEmpty[index].retrievalName" maxlength="30" @input="handleInput"></td>
+            <td><input type="text" name="" v-model="retrievalEmpty[index].retrievalName" maxlength="30" @input="handleInput" @blur="handleBlur(index,2)"></td>
             <td><input type="text" name="" v-model="retrievalEmpty[index].retrievalSpell" maxlength="30" @input="handlePinyin"></td>
           </tr>
           <tr @click="addSpan(2)">
@@ -60,7 +67,7 @@
             <td><input type="text" name="" v-model="v.retrievalSpell" maxlength="30" @input="handlePinyin"></td>
           </tr>
           <tr v-for="(k,index) in sonEmpty">
-            <td><input type="text" name="" v-model="sonEmpty[index].retrievalName" maxlength="30" @input="handleInput"></td>
+            <td><input type="text" name="" v-model="sonEmpty[index].retrievalName" maxlength="30" @input="handleInput" @blur="handleBlur(index,3)"></td>
             <td><input type="text" name="" v-model="sonEmpty[index].retrievalSpell" maxlength="30" @input="handlePinyin"></td>
           </tr>
           <tr @click="addSpan(3)">
@@ -79,6 +86,7 @@
 </template>
 <script type="text/javascript">
   import api from '@api/icss.js';
+  import pinyin from '../../js/Convert_Pinyin.js'
   export default{
     name:'AddSimilarName',
     data(){
@@ -212,7 +220,7 @@
         }
         api.searchLable(param).then((res)=>{
           const result = res.data;
-          console.log(123,result);
+          // console.log(123,result);
           if(result.code==0){
             this.searchDatas = result.data;
             if(result.data.length>0){
@@ -229,6 +237,9 @@
         this.id = item.id;
         this.showFlag = false;
         this.searchStr = "";
+        this.selfEmpty[0].retrievalName = this.name;
+        this.selfEmpty[0].retrievalSpell = pinyin.getCamelChars(this.name);
+        // console.log("标签拼音:",pinyin.getCamelChars(this.name));
       },
       close(){
         this.showFlag = false;
@@ -239,6 +250,15 @@
       },
       handlePinyin(e){//只能输入英文
         e.target.value = e.target.value.replace(/[^a-zA-Z]/g,'');
+      },
+      handleBlur(index,flag){
+        if(flag==2){//别名
+          let current = this.retrievalEmpty[index];
+          current.retrievalSpell = pinyin.getCamelChars(current.retrievalName);
+        }else if(flag==3){//子项
+          let sonCurrent = this.sonEmpty[index];
+          sonCurrent.retrievalSpell = pinyin.getCamelChars(sonCurrent.retrievalName);
+        }  
       }
     },
     watch:{

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

@@ -161,7 +161,7 @@
         this.$router.push({path:'LT-YXSJWH-TJDLBQ'})
       },
       modifyIndeptTag(row) {
-        api.detailsTag({id:row.id,sexType:row.sexType,age:row.age}).then((res)=>{
+        api.detailsTag({id:row.id}).then((res)=>{
           const {code,data,msg} = res.data;
           if(code=='0'){
             const item = Object.assign({},row,data);

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

@@ -168,7 +168,7 @@ export default {
             this.$router.push({path:'LT-YXSJWH-TJBQZ'})
         },
         modifyTagGroup(row) {
-            api.detailsTag({id:row.id,sexType:row.sexType,age:row.age}).then((res)=>{
+            api.detailsTag({id:row.id}).then((res)=>{
                 const {code,data,msg} = res.data;
                 if(code=='0'){
                     const item = Object.assign({},row,data);

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

@@ -175,6 +175,13 @@ export default {
         });
         return;
       }
+      if(this.dataPub.region8 > this.dataPub.region9) {
+          this.$message({
+            message: '最小年龄不能大于最大年龄',
+            type: 'warning'
+          });
+          return;
+      }
       let detailLis = utils.dataRecombination(this.sendIds, this.dataPub.region2)
       let param = {
         "questionWrapper": {

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

@@ -97,7 +97,7 @@
                     label="标签前后缀:"
                     class="fix-inp"
                     prop="region12"
-                    v-if="form.region2==6 || form.region2==7"
+                    v-if="form.region2==5 ||form.region2==6 || form.region2==7 "
             >
                 <el-col :span="10">
                 <el-input v-model="form.prefix"

+ 4 - 4
src/components/icss/SingleSelect.vue

@@ -3,16 +3,16 @@
         <el-form>
             <div class="operation-row">
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=2&&(focusOn==i||(focusOn==-1&&i==0))" :key="1+i" v-model="rows[i].defaultSelect" @change="emitValues(i,'hasDefault',rows[i].defaultSelect)">
-                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1 || type == 2)" :label="i" :disabled="hasNone==i||hasBan==i|| hasError==i || (hasDefault!=-1&&hasDefault!=i)">默认选中</el-checkbox-button>
+                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1 || type == 2)" :label="i" :disabled="hasNone==i||hasBan==i|| hasError==i || (hasDefault!=-1&&hasDefault!=i)||focusOn==-1">默认选中</el-checkbox-button>
                 </el-checkbox-group>
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=1&&(focusOn==i||(focusOn==-1&&i==0))" :key="2+i" v-model="rows[i].isNone" @change="emitValues(i,'hasNone',rows[i].isNone)">
-                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasDefault==i||hasBan==i || hasError==i ||(hasNone!=-1&&hasNone!=i)">同“无”类型</el-checkbox-button>
+                    <el-checkbox-button  v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasBan==i || hasError==i ||focusOn==-1">同“无”类型</el-checkbox-button>
                 </el-checkbox-group>
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="type!=1&&(focusOn==i||(focusOn==-1&&i==0))" :key="3+i" v-model="rows[i].isBan" @change="emitValues(i,'hasBan',rows[i].isBan)">
-                    <el-checkbox-button v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasDefault==i||hasNone==i || hasError==i||(hasBan!=-1&&hasBan!=i)">同“伴”类型</el-checkbox-button>
+                    <el-checkbox-button v-if=" !(ascription == 5 && type == 1)" :label="i" :disabled="hasNone==i || hasError==i||focusOn==-1">同“伴”类型</el-checkbox-button>
                 </el-checkbox-group>
                 <el-checkbox-group size="small" v-for="(it,i) in rows" v-if="focusOn==i||(focusOn==-1&&i==0)" :key="4+i" v-model="rows[i].isError" @change="emitValues(i,'hasError',rows[i].isError)">
-                    <el-checkbox-button v-if="ascription==5  && type == 1" :label="i" :disabled="hasDefault==i||hasBan==i ||hasNone==i ||(hasError!=-1&&hasError==i)">标记异常选项</el-checkbox-button>
+                    <el-checkbox-button v-if="ascription==5  && type == 1" :label="i" :disabled="hasDefault==i||hasBan==i ||hasNone==i ||(hasError!=-1&&hasError==i)||focusOn==-1">标记异常选项</el-checkbox-button>
                 </el-checkbox-group>
                 <el-button type="danger" size="small" class="del" @click="delRow">删除</el-button>
             </div>

文件差异内容过多而无法显示
+ 125 - 0
src/js/Convert_Pinyin.js


+ 4 - 0
src/less/admin.less

@@ -163,4 +163,8 @@
 }
 .el-pagination{
   min-width: 980px;
+}
+.el-tooltip__popper {
+  max-width: 900px;
+  line-height: 180%;
 }