Browse Source

菜单隐藏功能

wyq 4 years ago
parent
commit
e2a2f55bde
3 changed files with 563 additions and 500 deletions
  1. 286 241
      src/components/common/HomePage.vue
  2. 277 259
      src/components/knowledgeExtra/AddDiagBase.vue
  3. BIN
      src/images/icon-collect.png

+ 286 - 241
src/components/common/HomePage.vue

@@ -1,286 +1,331 @@
 <template>
-    <el-container :class="getRole">
-        <el-aside>
-            <div class="logo">
-                <p v-if="userLoginDTO&&userLoginDTO.type=='1'"><b>朗通后台管理系统</b></p>
-                <p v-if="userLoginDTO&&userLoginDTO.type=='0'"><b>DiagbotCloud</b></p>
-                <p v-if="userLoginDTO&&userLoginDTO.type=='0'"><b>后台管理系统</b></p>
-            </div>
-                 <lt-menu v-if="menuWrappers&&menuWrappers.length" v-bind:role="getRole"
-                 v-bind:data="menuWrappers"></lt-menu>
-            <div class="version">
-                <p>
-                    <span>版本信息:</span>
-                    <a href="javascript:void(0)" @click="showVersion">{{versionName}}</a>
-                    <i v-if="isNewV"><img src="../../images/new.png" alt=""/></i>
-                </p>
-            </div>
-        </el-aside>
-        <el-container>
-            <el-header class="clearfix">
-                <div class="title fl">
-                    <h2>{{organization&&organization.name}}</h2>
-                </div>
-                <div class="userInfo fr">
-                    <span class="username" @click="goCenter">{{userLoginDTO&&userLoginDTO.linkman}}</span>
-                    <lt-badge v-if="getRole=='user'" class="green" :authStatus="authStatus">
-                        {{authStatusName}}
-                    </lt-badge>
-                    <el-button type="info" size="small" plain @click="logout">退出</el-button>
-                </div>
-            </el-header>
-            <el-main>
-              <router-view v-if="ok" v-on:status-change="changeStatus"></router-view>
-            </el-main>
-        </el-container>
-        <el-dialog
-                title="版本信息"
-                :visible.sync="versionVisible"
-                width="50%"
-                class="version-info">
-            <div v-html="versionInfo"></div>
-        </el-dialog>
+  <el-container :class="getRole">
+    <el-aside v-show="onshow">
+      <div class="logo">
+        <p v-if="userLoginDTO&&userLoginDTO.type=='1'">
+          <b>朗通后台管理系统</b>
+        </p>
+        <p v-if="userLoginDTO&&userLoginDTO.type=='0'">
+          <b>DiagbotCloud</b>
+        </p>
+        <p v-if="userLoginDTO&&userLoginDTO.type=='0'">
+          <b>后台管理系统</b>
+        </p>
+      </div>
+
+      <lt-menu
+        v-if="menuWrappers&&menuWrappers.length"
+        v-bind:role="getRole"
+        v-bind:data="menuWrappers"
+      ></lt-menu>
+      <div class="version">
+        <p>
+          <span>版本信息:</span>
+          <a href="javascript:void(0)" @click="showVersion">{{versionName}}</a>
+          <i v-if="isNewV">
+            <img src="../../images/new.png" alt />
+          </i>
+        </p>
+      </div>
+    </el-aside>
+    <img src="../../images/icon-collect.png" class="collect" @click="collect" />
+    <el-container>
+      <el-header class="clearfix">
+        <div class="title fl">
+          <h2>{{organization&&organization.name}}</h2>
+        </div>
+        <div class="userInfo fr">
+          <span class="username" @click="goCenter">{{userLoginDTO&&userLoginDTO.linkman}}</span>
+          <lt-badge v-if="getRole=='user'" class="green" :authStatus="authStatus">{{authStatusName}}</lt-badge>
+          <el-button type="info" size="small" plain @click="logout">退出</el-button>
+        </div>
+      </el-header>
+      <el-main>
+        <router-view v-if="ok" v-on:status-change="changeStatus"></router-view>
+      </el-main>
     </el-container>
+    <el-dialog title="版本信息" :visible.sync="versionVisible" width="50%" class="version-info">
+      <div v-html="versionInfo"></div>
+    </el-dialog>
+  </el-container>
 </template>
 
 <script>
-  import LtMenu from '../common/Menu.vue';
-  import LtBadge from '@base/LtBadge.vue';
-  import api from '@api/index.js';
-  import userApi from '@api/user.js';
-  import Console from '@components/user/Console.vue';
-  import newIcon from '../../images/new.png';
-  export default {
-    name: 'homepage',
-    components: {
-      'lt-badge': LtBadge,
-      'lt-menu': LtMenu,
-      'console': Console
-    },
-    data: function () {
-      return {
-        menuWrappers: null,
-        organization: null,
-        userLoginDTO: null,
-        authStatus: null,
-        authStatusName:'',
-        ok:false,           //是否已获取到菜单
-        versionName:'',
-        versionVisible:false,
-        versionInfo:'',
-        isNewV:false,
-        version:null,       //版本信息接口返回的数据
+import LtMenu from '../common/Menu.vue';
+import LtBadge from '@base/LtBadge.vue';
+import api from '@api/index.js';
+import userApi from '@api/user.js';
+import Console from '@components/user/Console.vue';
+import newIcon from '../../images/new.png';
+export default {
+  name: 'homepage',
+  components: {
+    'lt-badge': LtBadge,
+    'lt-menu': LtMenu,
+    console: Console
+  },
+  data: function() {
+    return {
+      menuWrappers: null,
+      organization: null,
+      userLoginDTO: null,
+      authStatus: null,
+      authStatusName: '',
+      ok: false, //是否已获取到菜单
+      versionName: '',
+      versionVisible: false,
+      versionInfo: '',
+      isNewV: false,
+      version: null, //版本信息接口返回的数据
+      onshow: true
+    };
+  },
+  computed: {
+    getRole: function() {
+      return this.userLoginDTO && this.userLoginDTO.type == '0'
+        ? 'user'
+        : 'admin';
+    }
+  },
+  created() {
+    //获取菜单
+    this.getMenuList();
+  },
+  watch: {
+    $route: function(to, from) {
+      if (from.name == 'login') {
+        this.getMenuList();
       }
-    },
-    computed: {
-      getRole: function () {
-        return this.userLoginDTO && this.userLoginDTO.type == '0' ? 'user' : 'admin';
+      if (to.path == '/') {
+        // 退出时清空菜单
+        this.menuWrappers = [];
+        this.isNewV = false;
       }
+    }
+  },
+  methods: {
+    collect() {
+      this.onshow = !this.onshow;
+      
     },
-    created () {
-      //获取菜单
-      this.getMenuList();
-    },
-    watch:{
-      '$route': function(to,from){
-            if(from.name=='login'){
-              this.getMenuList();
-            }
-            if(to.path=='/'){       // 退出时清空菜单
-              this.menuWrappers=[];
-              this.isNewV = false;
-            }
-        }
-    },
-    methods: {
-      getMenuList(){
-        api.getAccessdMenu().then((res) => {
+    getMenuList() {
+      api
+        .getAccessdMenu()
+        .then(res => {
           if (res.data.code == '0') {
             const data = res.data.data;
             this.ok = true;
-            const hasConcole=data.menuWrappers.find((it)=>{
-              return it.code.indexOf('-KZT')>-1;
+            const hasConcole = data.menuWrappers.find(it => {
+              return it.code.indexOf('-KZT') > -1;
             });
             //this.hasConcole = hasConcole!=-1;
             this.menuWrappers = data.menuWrappers;
             this.organization = data.organization;
             this.userLoginDTO = data.userLoginDTO;
-            localStorage.setItem('userLoginDTO', JSON.stringify(data.userLoginDTO));
-            this.getRole=='user' && this.getAuthStatus();
-            if(hasConcole){
-              const url = this.getRole=='user'?'/user/YH-KZT':'/admin/LT-KZT';
-              this.$router.push({path:url});
+            localStorage.setItem(
+              'userLoginDTO',
+              JSON.stringify(data.userLoginDTO)
+            );
+            this.getRole == 'user' && this.getAuthStatus();
+            if (hasConcole) {
+              const url =
+                this.getRole == 'user' ? '/user/YH-KZT' : '/admin/LT-KZT';
+              this.$router.push({ path: url });
             }
             this.getVersionInfo();
           }
-        }).catch((error) => {
+        })
+        .catch(error => {
           console.log(error);
         });
-      },
-      isNewVersion(){           //判断是否为新版
-
-      },
-      getVersionInfo(){
-        const getInfo = this.getRole=='user'?api.getVersionOuter:api.getVersionInner;
-        getInfo().then((res)=>{
-          if (res.data.code == '0') {
-            const data = res.data.data;
-            this.fillVersionInfo(data);
-          }else{
-            this.$message(res.data.msg);
-          }
-        });
-      },
-      fillVersionInfo(data){
-        //进入时获取版本信息,如版本时间与localStorage中不一致或者一致但localStorage中未被点过,
-        // 则要显示更新图标
-        let htl = data.refreshTime?'<h3>当前版本:'+data.name+'<span>'+data.refreshTime.substr(0,10)+'</span></h3>':'<h3>当前版本:'+data.name+'</h3>';
-        let prags = data.detail||[];
-        this.versionName = data.name;
-        const versionTime = JSON.parse(localStorage.getItem('versionInfo-'+this.userLoginDTO.username));
-        if(!versionTime||(data.refreshTime===versionTime.date&&!versionTime.showed)){
-          this.isNewV = true;
-        }else{
-          this.isNewV = false
-        }
-        for(let i=0;i<prags.length;i++){
-            htl += '<p>'+prags[i].title+'</p><p>'+prags[i].description+'</p>';
+    },
+    isNewVersion() {
+      //判断是否为新版
+    },
+    getVersionInfo() {
+      const getInfo =
+        this.getRole == 'user' ? api.getVersionOuter : api.getVersionInner;
+      getInfo().then(res => {
+        if (res.data.code == '0') {
+          const data = res.data.data;
+          this.fillVersionInfo(data);
+        } else {
+          this.$message(res.data.msg);
         }
-        this.versionInfo = htl;
-        this.version = {date:data.refreshTime};
-      },
-      showVersion(){
-        this.versionVisible = true;
-        this.version.showed = true;
+      });
+    },
+    fillVersionInfo(data) {
+      //进入时获取版本信息,如版本时间与localStorage中不一致或者一致但localStorage中未被点过,
+      // 则要显示更新图标
+      let htl = data.refreshTime
+        ? '<h3>当前版本:' +
+          data.name +
+          '<span>' +
+          data.refreshTime.substr(0, 10) +
+          '</span></h3>'
+        : '<h3>当前版本:' + data.name + '</h3>';
+      let prags = data.detail || [];
+      this.versionName = data.name;
+      const versionTime = JSON.parse(
+        localStorage.getItem('versionInfo-' + this.userLoginDTO.username)
+      );
+      if (
+        !versionTime ||
+        (data.refreshTime === versionTime.date && !versionTime.showed)
+      ) {
+        this.isNewV = true;
+      } else {
         this.isNewV = false;
-        localStorage.setItem('versionInfo-'+this.userLoginDTO.username,JSON.stringify(this.version));
-      },
-      /*redirectPage(){
+      }
+      for (let i = 0; i < prags.length; i++) {
+        htl +=
+          '<p>' + prags[i].title + '</p><p>' + prags[i].description + '</p>';
+      }
+      this.versionInfo = htl;
+      this.version = { date: data.refreshTime };
+    },
+    showVersion() {
+      this.versionVisible = true;
+      this.version.showed = true;
+      this.isNewV = false;
+      localStorage.setItem(
+        'versionInfo-' + this.userLoginDTO.username,
+        JSON.stringify(this.version)
+      );
+    },
+    /*redirectPage(){
         const url = this.getRole=='user'?'/user':'/admin';
         this.$router.push({path:url});
       },*/
-      changeStatus(text){       //账号信息中提交认证后修改状态
-        this.authStatus = 2;
-        this.authStatusName = text;
-      },
-      goCenter(){
-        const url = this.getRole=='user'?'':'/admin/LT-GRZX';
-        this.$router.push({path:url});
-      },
-      getAuthStatus() {
-        //获取用户认证状态
-        userApi.getUserAuthStatus().then((res) => {
+    changeStatus(text) {
+      //账号信息中提交认证后修改状态
+      this.authStatus = 2;
+      this.authStatusName = text;
+    },
+    goCenter() {
+      const url = this.getRole == 'user' ? '' : '/admin/LT-GRZX';
+      this.$router.push({ path: url });
+    },
+    getAuthStatus() {
+      //获取用户认证状态
+      userApi
+        .getUserAuthStatus()
+        .then(res => {
           if (res.data.code == '0') {
             const data = res.data.data;
             // this.authStatus = data[0];
             this.authStatusName = data.authStatusName;
             this.authStatus = data.authStatus;
           }
-        }).catch((error) => {
-          console.log(error)
+        })
+        .catch(error => {
+          console.log(error);
         });
-      },
-      logout(){//退出
-        localStorage.removeItem('token');
-        localStorage.removeItem('menuPath');
-        this.$router.push({path:'/'});
-      }
+    },
+    logout() {
+      //退出
+      localStorage.removeItem('token');
+      localStorage.removeItem('menuPath');
+      this.$router.push({ path: '/' });
     }
   }
+};
 </script>
 
 <style lang="less">
+@import '../../less/common.less';
+.collect {
+  width: 106px;
+  height: 60px;
+  position: fixed;
+  left: 0;
+  top: 70%;
+  z-index: 20;
+}
+.user .el-menu-item.is-active {
+  color: @userBase;
+}
 
-    @import '../../less/common.less';
-
-    .user .el-menu-item.is-active {
-        color: @userBase;
-    }
-
-    .admin .el-menu-item.is-active {
-        color: @adminBase;
-    }
-    .admin .username{
-        cursor: pointer;
-    }
-    .version-info h3{
-        font-size: 14px;
-        margin-bottom: 20px;
-        span{
-            float: right;
-            font-weight: normal;
-        }
-    }
+.admin .el-menu-item.is-active {
+  color: @adminBase;
+}
+.admin .username {
+  cursor: pointer;
+}
+.version-info h3 {
+  font-size: 14px;
+  margin-bottom: 20px;
+  span {
+    float: right;
+    font-weight: normal;
+  }
+}
 </style>
 <style lang="less" scoped>
-    @import '../../less/common.less';
-    .el-menu-vertical-demo.el-menu{
-        height: calc(100% - 120px);
-        overflow-y: auto;
-    }
-    .version{
-        position: fixed;
-        bottom: 0;
-        width: @aside-width;
-        min-width: 270px;
-        font-size: 12px;
-        /*text-indent: 50px;*/
-        text-align: center;
-        height:54px;
-        line-height: 54px;
-        background: #fff;
-        i{
-            display: inline-block;
-            width: 20px;
-            height: 16px;
-            img{
-                vertical-align: text-top;
-            }
-        }
-    }
-    .user .version a{
-        color: @userBase;
-    }
-    .admin .version a{
-        color: @adminBase;
-    }
-    .user .logo {
-        background: @userBase;
-
-    p {
-        font-size: 16px;
-        line-height: normal
+@import '../../less/common.less';
+.el-menu-vertical-demo.el-menu {
+  height: calc(100% - 120px);
+  overflow-y: auto;
+}
+.version {
+  position: fixed;
+  bottom: 0;
+  width: @aside-width;
+  min-width: 270px;
+  font-size: 12px;
+  /*text-indent: 50px;*/
+  text-align: center;
+  height: 54px;
+  line-height: 54px;
+  background: #fff;
+  i {
+    display: inline-block;
+    width: 20px;
+    height: 16px;
+    img {
+      vertical-align: text-top;
     }
+  }
+}
+.user .version a {
+  color: @userBase;
+}
+.admin .version a {
+  color: @adminBase;
+}
+.user .logo {
+  background: @userBase;
 
-    }
-    .admin .logo {
-        background: @adminBase;
-
-    p {
-        font-size: 18px;
-        line-height: 40px;
-    }
-
-    }
-    .title {
-
-    h2 {
-        display: inline-block;
-        line-height: 60px;
-        font-size: 18px;
-    }
+  p {
+    font-size: 16px;
+    line-height: normal;
+  }
+}
+.admin .logo {
+  background: @adminBase;
 
-    }
-    .block {
-        height: 40px;
-        width: 100%;
-        background: #fff;
-        box-shadow: 0px 1px 2px #c9c9c9;
-    }
-		.el-main{
-			padding: 0;
-		}
-    .el-button{
-      margin-left: 15px;
-    }
+  p {
+    font-size: 18px;
+    line-height: 40px;
+  }
+}
+.title {
+  h2 {
+    display: inline-block;
+    line-height: 60px;
+    font-size: 18px;
+  }
+}
+.block {
+  height: 40px;
+  width: 100%;
+  background: #fff;
+  box-shadow: 0px 1px 2px #c9c9c9;
+}
+.el-main {
+  padding: 0;
+}
+.el-button {
+  margin-left: 15px;
+}
 </style>

+ 277 - 259
src/components/knowledgeExtra/AddDiagBase.vue

@@ -53,43 +53,47 @@
             size="mini"
             :span-method="dataSpanMethod"
             :data="form.klDiagnoseTypeVO"
+            :row-class-name="tableRowClassName"
             border
             style="width: 100%"
-            class="discDesc is-required"
+            :header-cell-style="{background:'#E3EAF4'}"
           >
             <el-table-column label="依据" width="100">
               <template slot-scope="scope">
-                <img
-                  src="../../images/icon-copy.png"
-                  height="18"
-                  width="18"
-                  class="icon"
-                  @click="copyDiag(scope.row.depart_id,scope.$index)"
-                />
-                <img
-                  src="../../images/icon-add.png"
-                  height="18"
-                  width="18"
-                  class="icon"
-                  @click="addDiag(scope.$index)"
-                />
-                <img
-                  src="../../images/icon-delete.png"
-                  height="18"
-                  width="18"
-                  class="icon"
-                  :disabled="form.klDiagnoseTypeVO.length===1"
-                  @click="delDiag(scope.$index)"
-                />
+                <el-form-item>
+                  <img
+                    src="../../images/icon-copy.png"
+                    height="18"
+                    width="18"
+                    class="icon"
+                    @click="copyDiag(scope.row.depart_id,scope.$index)"
+                  />
+                  <img
+                    src="../../images/icon-add.png"
+                    height="18"
+                    width="18"
+                    class="icon"
+                    @click="addDiag(scope.$index)"
+                  />
+                  <img
+                    src="../../images/icon-delete.png"
+                    height="18"
+                    width="18"
+                    class="icon"
+                    :disabled="form.klDiagnoseTypeVO.length===1"
+                    @click="delDiag(scope.$index)"
+                  />
+                </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column label="诊断依据类型" width="120">
+            <el-table-column label="诊断依据类型" width="130">
               <template slot="header" slot-scope="scope">
                 <span class="star">*</span>
                 <span>诊断依据类型</span>
               </template>
               <template slot-scope="scope">
                 <el-form-item
+                  class="is-request"
                   :prop="'klDiagnoseTypeVO.'+scope.$index+'.conditionType'"
                   :rules="[{ required: true, message: '请选择诊断依据类型',trigger: ['change'] }]"
                 >
@@ -116,20 +120,22 @@
               <template slot-scope="scope">
                 <div v-for="(item,index) in scope.row.groupVO" :key="index">
                   <div v-if="v.title=='组'">
-                    <img
-                      src="../../images/icon-add.png"
-                      height="18"
-                      width="18"
-                      class="icon"
-                      @click="addGroup(scope.$index)"
-                    />
-                    <img
-                      src="../../images/icon-delete.png"
-                      height="18"
-                      width="18"
-                      class="icon"
-                      @click="delGroup(scope.$index)"
-                    />
+                    <el-form-item>
+                      <img
+                        src="../../images/icon-add.png"
+                        height="18"
+                        width="18"
+                        class="icon"
+                        @click="addGroup(scope.$index)"
+                      />
+                      <img
+                        src="../../images/icon-delete.png"
+                        height="18"
+                        width="18"
+                        class="icon"
+                        @click="delGroup(scope.$index)"
+                      />
+                    </el-form-item>
                   </div>
                   <div v-if="v.title == '符合条件的数量'">
                     <el-form-item
@@ -147,263 +153,267 @@
                     </el-form-item>
                   </div>
                   <div v-for="(items,i) in item.klDiagnoseDetail" :key="i">
-                    <div v-if="v.title == '基础依据'">
-                      <img
-                        src="../../images/icon-add.png"
-                        height="18"
-                        width="18"
-                        class="icon"
-                        @click="addRule(scope.row,scope.$index,index)"
-                      />
-                      <img
-                        src="../../images/icon-delete.png"
-                        height="18"
-                        width="18"
-                        class="icon"
-                        @click="delRule(scope.row,scope.$index,index,i)"
-                      />
-                    </div>
-                    <div class="box-2" v-if="v.title == '基础依据名称'">
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                    <el-form-item>
+                      <div v-if="v.title == '基础依据'">
+                        <el-form-item>
+                          <img
+                            src="../../images/icon-add.png"
+                            height="18"
+                            width="18"
+                            class="icon"
+                            @click="addRule(scope.row,scope.$index,index)"
+                          />
+                          <img
+                            src="../../images/icon-delete.png"
+                            height="18"
+                            width="18"
+                            class="icon"
+                            @click="delRule(scope.row,scope.$index,index,i)"
+                          />
+                        </el-form-item>
+                      </div>
+                      <div class="box-2" v-if="v.title == '基础依据名称'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.basDescription'"
-                        :rules="[{required:true,message:'请输入基础依据名称',trigger:'blur'}]"
-                      >
-                        <el-input
-                          class="inp-name"
-                          placeholder="请输入基础依据名称"
-                          maxlength="100"
-                          v-model.trim="items.basDescription"
-                        ></el-input>
-                      </el-form-item>
-                    </div>
-                    <div class="box-2" v-if="v.title == '基础依据类型'">
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                          :rules="[{required:true,message:'请输入基础依据名称',trigger:'blur'}]"
+                        >
+                          <el-input
+                            class="inp-name"
+                            placeholder="请输入基础依据名称"
+                            maxlength="100"
+                            v-model.trim="items.basDescription"
+                          ></el-input>
+                        </el-form-item>
+                      </div>
+                      <div class="box-2" v-if="v.title == '基础依据类型'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.basType'"
-                        :rules="[{required:true,message:'请选择基础依据类型',trigger:'change'}]"
-                      >
-                        <el-select
-                          v-model="items.basType"
-                          @change="(val)=>baseTermTypeChange(val,scope.$index,index,i)"
+                          :rules="[{required:true,message:'请选择基础依据类型',trigger:'change'}]"
                         >
-                          <el-option
-                            v-for="item in baseTermTypeList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.type"
-                          ></el-option>
-                        </el-select>
-                      </el-form-item>
-                    </div>
-                    <div class="box-2" v-if="v.title == '基础依据术语类型'">
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                          <el-select
+                            v-model="items.basType"
+                            @change="(val)=>baseTermTypeChange(val,scope.$index,index,i)"
+                          >
+                            <el-option
+                              v-for="item in baseTermTypeList"
+                              :key="item.id"
+                              :label="item.name"
+                              :value="item.type"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                      </div>
+                      <div class="box-2" v-if="v.title == '基础依据术语类型'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.basLibType'"
-                        :rules="[{required:true,message:'请选择基础依据术语类型',trigger:'change'}]"
-                        v-if="!items.basNameType"
-                      >
-                        <el-select
-                          v-model="items.basLibType"
-                          @change="(val)=>basLibTypeChange(val,scope.$index,index,i)"
+                          :rules="[{required:true,message:'请选择基础依据术语类型',trigger:'change'}]"
+                          v-if="!items.basNameType"
                         >
-                          <el-option
-                            v-for="item in items.basLibTypeList"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="Number(item.code)"
-                          ></el-option>
-                        </el-select>
-                      </el-form-item>
-                      <el-form-item v-if="items.basNameType" class="is-required">
-                        <el-input disabled v-model="items.basTypeName"></el-input>
-                      </el-form-item>
-                    </div>
-                    <div
-                      v-if="v.title == '医学标准术语'"
-                      class="box-2"
-                      :class="(items.basType===3 || items.basType===4)? 'tmall' : 'taobao'"
-                    >
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                          <el-select
+                            v-model="items.basLibType"
+                            @change="(val)=>basLibTypeChange(val,scope.$index,index,i)"
+                          >
+                            <el-option
+                              v-for="item in items.basLibTypeList"
+                              :key="item.id"
+                              :label="item.name"
+                              :value="Number(item.code)"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                        <el-form-item v-if="items.basNameType">
+                          <el-input disabled v-model="items.basTypeName"></el-input>
+                        </el-form-item>
+                      </div>
+                      <div
+                        v-if="v.title == '医学标准术语'"
+                        class="box-2"
+                        :class="(items.basType===3 || items.basType===4)? 'tmall' : 'taobao'"
+                      >
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.basConceptId'"
-                        :rules="[{required:true,message:'请输入医学标准术语',trigger:'change'}]"
-                      >
-                        <el-select
-                          clearable
-                          remote
-                          filterable
-                          :remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
-                          v-model.trim="items.basConceptId"
-                          @change="(val)=>conceptChange(val,scope.$index,index,i)"
+                          :rules="[{required:true,message:'请输入医学标准术语',trigger:'change'}]"
                         >
-                          <el-option
-                            v-for="item in items.conceptList"
-                            :key="item.conceptId"
-                            :label="item.conceptName"
-                            :value="item.conceptId"
-                          ></el-option>
-                        </el-select>
-                      </el-form-item>
-                    </div>
-                    <div class="last-box" v-if="v.title == '规则具体内容'">
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                          <el-select
+                            clearable
+                            remote
+                            filterable
+                            :remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
+                            v-model.trim="items.basConceptId"
+                            @change="(val)=>conceptChange(val,scope.$index,index,i)"
+                          >
+                            <el-option
+                              v-for="item in items.conceptList"
+                              :key="item.conceptId"
+                              :label="item.conceptName"
+                              :value="item.conceptId"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                      </div>
+                      <div class="last-box" v-if="v.title == '规则具体内容'">
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.dataType'"
-                        :rules="[{required:true,message:'请选择类型',trigger:'change'}]"
-                        v-if="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType"
-                      >
-                        <el-select
-                          class="box-1"
-                          :class="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType? 'taobao' : 'tmall'"
-                          v-model="items.dataType"
-                          @change="(val)=>dataTypeChange(val,scope.$index,index,i)"
-                          placeholder="请选择"
-                          size="small"
+                          :rules="[{required:true,message:'请选择类型',trigger:'change'}]"
+                          v-if="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType"
                         >
-                          <el-option
-                            v-for="item in dataTypes"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id"
-                          ></el-option>
-                        </el-select>
-                      </el-form-item>
-                      <el-form-item
-                        class="min-margin"
-                        :key="6"
-                        v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
-                        label="最大值:"
-                      >
-                        <div class="last-box-1">
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
+                          <el-select
+                            class="box-1"
+                            :class="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType? 'taobao' : 'tmall'"
+                            v-model="items.dataType"
+                            @change="(val)=>dataTypeChange(val,scope.$index,index,i)"
+                            placeholder="请选择"
+                            size="small"
+                          >
+                            <el-option
+                              v-for="item in dataTypes"
+                              :key="item.id"
+                              :label="item.name"
+                              :value="item.id"
+                            ></el-option>
+                          </el-select>
+                        </el-form-item>
+                        <el-form-item
+                          class="min-margin"
+                          :key="6"
+                          v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
+                          label="最大值:"
+                        >
+                          <div class="last-box-1">
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
                             scope.$index +
                             '.groupVO.' +
                             index +
                             '.klDiagnoseDetail.'+i+'.maxOperator'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
-                          >
-                            <el-select
-                              v-model="items.maxOperator"
-                              placeholder="请选择"
-                              size="small"
-                              clearable
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
                             >
-                              <el-option
-                                v-for="item in operMaxList"
-                                :key="item.key"
-                                :label="item.name"
-                                :value="item.key"
-                              ></el-option>
-                            </el-select>
-                          </el-form-item>
+                              <el-select
+                                v-model="items.maxOperator"
+                                placeholder="请选择"
+                                size="small"
+                                clearable
+                              >
+                                <el-option
+                                  v-for="item in operMaxList"
+                                  :key="item.key"
+                                  :label="item.name"
+                                  :value="item.key"
+                                ></el-option>
+                              </el-select>
+                            </el-form-item>
 
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
                             scope.$index +
                             '.groupVO.' +
                             index +
                             '.klDiagnoseDetail.'+i+'.maxVal'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
-                          >
-                            <el-input v-model="items.maxVal" placeholder="填写数值"></el-input>
-                          </el-form-item>
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
+                            >
+                              <el-input v-model="items.maxVal" placeholder="填写数值"></el-input>
+                            </el-form-item>
 
-                          <el-form-item prop="minUnit">
-                            <el-input v-model.trim="items.maxUnit" placeholder="填写单位"></el-input>
-                          </el-form-item>
-                        </div>
-                      </el-form-item>
-                      <el-form-item
-                        class="min-margin"
-                        v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
-                        label="最小值:"
-                      >
-                        <div class="last-box-1 last-box-s">
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
+                            <el-form-item prop="minUnit">
+                              <el-input v-model.trim="items.maxUnit" placeholder="填写单位"></el-input>
+                            </el-form-item>
+                          </div>
+                        </el-form-item>
+                        <el-form-item
+                          class="min-margin"
+                          v-if="(!items.onlyNumType&&items.dataType==='1')||items.onlyNumType"
+                          label="最小值:"
+                        >
+                          <div class="last-box-1 last-box-s">
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
                             scope.$index +
                             '.groupVO.' +
                             index +
                             '.klDiagnoseDetail.'+i+'.minOperator'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
-                          >
-                            <el-select
-                              v-model="items.minOperator"
-                              placeholder="请选择"
-                              size="small"
-                              clearable
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
                             >
-                              <el-option
-                                v-for="item in operMinList"
-                                :key="item.key"
-                                :label="item.name"
-                                :value="item.key"
-                              ></el-option>
-                            </el-select>
-                          </el-form-item>
+                              <el-select
+                                v-model="items.minOperator"
+                                placeholder="请选择"
+                                size="small"
+                                clearable
+                              >
+                                <el-option
+                                  v-for="item in operMinList"
+                                  :key="item.key"
+                                  :label="item.name"
+                                  :value="item.key"
+                                ></el-option>
+                              </el-select>
+                            </el-form-item>
 
-                          <el-form-item
-                            :prop="'klDiagnoseTypeVO.' +
+                            <el-form-item
+                              :prop="'klDiagnoseTypeVO.' +
                             scope.$index +
                             '.groupVO.' +
                             index +
                             '.klDiagnoseDetail.'+i+'.minVal'"
-                            :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
-                          >
-                            <el-input v-model="items.minVal" placeholder="填写数值"></el-input>
-                          </el-form-item>
+                              :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
+                            >
+                              <el-input v-model="items.minVal" placeholder="填写数值"></el-input>
+                            </el-form-item>
 
-                          <el-form-item prop="minUnit">
-                            <el-input v-model.trim="items.minUnit" placeholder="填写单位"></el-input>
-                          </el-form-item>
-                        </div>
-                      </el-form-item>
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                            <el-form-item prop="minUnit">
+                              <el-input v-model.trim="items.minUnit" placeholder="填写单位"></el-input>
+                            </el-form-item>
+                          </div>
+                        </el-form-item>
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.eqValue'"
-                        :rules="[{required:true,message:'请输入正则表达式',trigger:'blur'}]"
-                        v-if="items.basType===4 || items.basType===3"
-                        maxlength="200"
-                        label="正则表达式:"
-                        class="discDesc"
-                      >
-                        <el-input class="inp" placeholder="不能为空~" v-model.trim="items.eqValue"></el-input>
-                      </el-form-item>
-                      <el-form-item
-                        :prop="'klDiagnoseTypeVO.' +
+                          :rules="[{required:true,message:'请输入正则表达式',trigger:'blur'}]"
+                          v-if="items.basType===4 || items.basType===3"
+                          maxlength="200"
+                          label="正则表达式:"
+                          class="discDesc"
+                        >
+                          <el-input class="inp" placeholder="不能为空~" v-model.trim="items.eqValue"></el-input>
+                        </el-form-item>
+                        <el-form-item
+                          :prop="'klDiagnoseTypeVO.' +
                         scope.$index +
                         '.groupVO.' +
                         index +
                         '.klDiagnoseDetail.'+i+'.eqValue'"
-                        :rules="[{required:true,message:'不能为空~',trigger:'blur'}]"
-                        maxlength="200"
-                        v-if="(!items.onlyNumType&&!items.basNameType&&(items.basType===2 || items.basType===1)&&items.dataType==='2')||items.onlyTxtType"
-                        label="医学内容:"
-                        class="discDesc"
-                      >
-                        <el-input v-model.trim="items.eqValue" class="inp" placeholder="请输入医学内容"></el-input>
-                      </el-form-item>
-                    </div>
+                          :rules="[{required:true,message:'不能为空~',trigger:'blur'}]"
+                          maxlength="200"
+                          v-if="(!items.onlyNumType&&!items.basNameType&&(items.basType===2 || items.basType===1)&&items.dataType==='2')||items.onlyTxtType"
+                          label="医学内容:"
+                          class="discDesc"
+                        >
+                          <el-input v-model.trim="items.eqValue" class="inp" placeholder="请输入医学内容"></el-input>
+                        </el-form-item>
+                      </div>
+                    </el-form-item>
                   </div>
                 </div>
               </template>
@@ -421,26 +431,20 @@
 <script type="text/javascript">
 import util from '../../api/utils.js';
 import api from '@api/zskDiagBase.js';
-import DiagBaseType from './DiagBaseType';
-var generateId = {
-  _count: 1,
-  get() {
-    return +new Date() + '_' + this._count++;
-  }
-};
+
 export default {
   name: 'AddZskDiagBase',
   data() {
     return {
       columns: [
         { title: '组', width: 70 },
-        { title: '符合条件的数量', width: 120, istar: true },
+        { title: '符合条件的数量', width: 150, istar: true },
         { title: '基础依据', width: 80, istar: true },
-        { title: '基础依据名称', width: 200, istar: true },
+        { title: '基础依据名称', width: 160, istar: true },
         { title: '基础依据类型', width: 130, istar: true },
         { title: '基础依据术语类型', width: 160, istar: true },
         { title: '医学标准术语', width: 130, istar: true },
-        { title: '规则具体内容', width: 800 }
+        { title: '规则具体内容', width: 750 }
       ],
       dicts: {},
       baseTypes: [], //诊断数据类型
@@ -665,9 +669,6 @@ export default {
       return arr;
     }
   },
-  components: {
-    DiagBaseType
-  },
   methods: {
     getData(data) {
       let arr = data;
@@ -723,6 +724,14 @@ export default {
         };
       }
     },
+     tableRowClassName({row, column, rowIndex, columnIndex}) {
+       console.log(row.depart_id & 1)
+        if (row.depart_id & 1) {
+          console.log(3658)
+          return 'success-row';
+        } 
+        return '';
+      },
     getInitData() {
       this.i++;
       return {
@@ -980,7 +989,7 @@ export default {
                 i
               ].conceptList = data; // 改变了的值
             });
-            this.form = formData
+            this.form = formData;
           }
         })
         .catch(error => {
@@ -1187,6 +1196,11 @@ export default {
     margin-top: 10px;
     padding: 20px 20px 50px;
     min-height: 600px;
+
+
+    .el-table .success-row {
+      background: #DFF7EF;
+    }
     .content-2-header {
       padding: 20px 0;
       .title1 {
@@ -1202,14 +1216,17 @@ export default {
         line-height: 17px;
       }
     }
+    .is-request {
+      height: 46px;
+    }
     .inp-name {
-      width: 160px !important;
+      width: 140px !important;
       .el-input__inner {
-        width: 160px !important;
+        width: 140px !important;
       }
     }
     .el-form-item {
-      margin: 20px 0;
+      margin-bottom: 10px;
     }
     .discDesc {
       margin-bottom: 20px;
@@ -1273,7 +1290,7 @@ export default {
           background: #fff;
         }
       }
-      .last-box-s{
+      .last-box-s {
         position: absolute;
         .el-form-item__error {
           top: 39px;
@@ -1306,6 +1323,7 @@ export default {
         width: 100%;
         overflow: hidden;
       }
+      .el-form-item__content;
     }
     .add-new-form {
       .el-input,

BIN
src/images/icon-collect.png