浏览代码

Merge branch 'recordInp' into AIControl
合并分支

luolei 5 年之前
父节点
当前提交
f330a56810

+ 16 - 1
src/api/config.js

@@ -300,7 +300,22 @@ export default {
       'getQCName':'/api/mrman/qc/qcQuestionInfo/index', //获取字段名称
       'delFieldMatch':"/api/mrman/qc/qcQuestionInfo/delete",    //删除字段映射
       'getQcFlawList':'/api/mrman//qcCasesEntry/indexCaseEntry',   //获取缺陷列表
-      'getModuleTypeList':'/api/mrman/med/RecordModule/getAll' //获取模块类型列表
+      'getModuleTypeList':'/api/mrman/med/RecordModule/getAll', //获取模块类型列表
+      'getRecordInpList':'/api/mrman/qcInputcases/getAllInputcases',//获取全部病历录入
+      'removeRecordInpById':'/api/mrman/qcInputcases/cancelById',//删除病历录入
+      'addRecordInp':'/api/mrman/qcInputcases/saveOrUpdata', //保存和修改全部病历录入 
+      'getRecordInpModule':'/api/mrman/qcCases/getAll', //获取全部模块及条目
+      'getRecordInpModuleByHospital':'/api/mrman/qcCases/getAllByHospital', //获取全部模块及条目根据医院名称
+      'getRecordHopitalList':'/api/mrman/qcHospitalInfo/getHospitalInfoAll',//获取医院信息 
+      'getRecordCases':'/api/mrman/qcCases/getCases', //获取全部模块
+      'getRecordIremList': '/api/mrman/qcCasesEntry/getAll', //获取病例条目列表
+      'addRecordItem':'/api/mrman/casesEntryHospital/insertByHospital', //添加病例条目
+      'getRecordByHospital':'/api/mrman/casesEntryHospital/getAllByHospital', //获取指定医院的病例条目 
+      'updateRecordByHospital':'/api/mrman/casesEntryHospital/updateByHospital', //更新指定医院的病例条目 
+      'delRecordItem':'/api/mrman/qcCasesEntry/deleteQcCasesEntry', //删除病例条目
+      'getRecordItemDetail':'/api/mrman/qcCasesEntry/getUpdateInfo', //获取病例详情
+      'getInputcasesDetial':'/api/mrman/qcInputcases/getInputcasesDetial', //获取标注病例详情
+      'gethospitalModuleList': '/api/mrman/qcMode/getModes', //获取医院数据模块
   },
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 45 - 0
src/api/records.js

@@ -15,4 +15,49 @@ export default {
   getTypes:(param)=>{
     return axios.post(urls.getTypes,param);
   },
+  getRecordInpList: (param) =>{ //获取全部病历录入
+    return axios.post(urls.getRecordInpList,param);
+  },
+  removeRecordInpById: (param) =>{ //删除病历录入
+    return axios.post(urls.removeRecordInpById,param);
+  },
+  addRecordInp: (param) =>{ //保存和修改全部病历录入 
+    return axios.post(urls.addRecordInp,param);
+  },
+  getRecordInpModule: (param) =>{ //获取全部模块及条目
+    return axios.post(urls.getRecordInpModule,param);
+  },
+  getRecordInpModuleByHospital: (param) =>{ //获取全部模块及条目
+    return axios.post(urls.getRecordInpModuleByHospital,param);
+  },
+  getRecordHopitalList: (param) =>{ //获取医院信息
+    return axios.post(urls.getRecordHopitalList,param);
+  },
+  getRecordCases: (param) =>{ //获取全部模块
+    return axios.post(urls.getRecordCases,param);
+  },
+  getRecordIremList:(param) =>{ //获取病例条目列表
+    return axios.post(urls.getRecordIremList,param);
+  },
+  addRecordItem:(param) =>{ //添加病例条目
+    return axios.post(urls.addRecordItem,param);
+  },
+  getRecordByHospital:(param) =>{ //获取指定医院的病例条目
+    return axios.post(urls.getRecordByHospital,param);
+  },
+  updateRecordByHospital:(param) =>{ //更新指定医院的病例条目 
+    return axios.post(urls.updateRecordByHospital,param);
+  },
+  delRecordItem:(param) =>{ //删除病例条目
+    return axios.post(urls.delRecordItem,param);
+  },
+  getRecordItemDetail:(param) =>{ //获取病例详情
+    return axios.post(urls.getRecordItemDetail,param);
+  },
+  getInputcasesDetial:(param) =>{ //获取标注病例详情
+    
+  },
+  gethospitalModuleList: (param) =>{ //获取医院数据模块
+    return axios.post(urls.gethospitalModuleList,param);
+  }
 }

+ 366 - 0
src/components/recordInput/AddRecord.vue

@@ -0,0 +1,366 @@
+<template>
+    <div>
+        <crumbs :title="title" :param="$route.params" linkTo="RecordInput"></crumbs>
+        <div class="contents">
+            <div class="content ">
+                <el-form ref="form" :label-position="labelPosition" label-width="90px" class="add-record-form clearfix" :model="form">
+                    <div class="contentBox clearfix">
+                        <div class="left fl clearfix">
+                            <div class="selectHospital">
+                                <!-- <el-form-item label="医院名称:" prop="">
+                                    <span>{{form.hospitalCode}}</span>
+                                </el-form-item> -->
+                                <el-form-item label="病案号:" prop="">
+                                    <span>{{form.caseNumber}}</span>
+                                </el-form-item>
+                                <div class="recordInfoBox">
+                                    <!-- <p class="title">病例信息:</p> -->
+                                    <el-collapse v-model="activeLeftNames" @change="handleChange">
+                                        <el-collapse-item v-for="(item, index) in caseInfoList" :title="item.name" :name="item.id" :key="item.id">
+                                            <div v-for="it in item.text"  class="caseInfo">
+                                              {{it}}
+                                            </div>
+                                        </el-collapse-item>
+                                    </el-collapse>
+                                </div>
+                            </div>
+                            <div class="contentBox">
+                              
+                            </div>
+                            
+                            
+                        </div>
+                        <div class="right fr clearfix">
+                          <p class="title">病例标注:</p>
+                            <div class="rightContentBox">
+                              <el-collapse v-model="activeRightNames" @change="handleChange">
+                                <el-collapse-item v-for="(item, index) in caseLIst" :title="item.name" :name="item.id" :key="item.id">
+                                    <el-checkbox-group v-model="checkAllMap[item.remark]" >
+                                      <el-checkbox v-for=" casesEntry in item.qcCasesEntry" :label="casesEntry.id" :key="casesEntry.id">{{casesEntry.name}}</el-checkbox>
+                                  </el-checkbox-group>
+                                </el-collapse-item>
+                              </el-collapse>
+                            </div>
+                        </div>
+                    </div>
+                    <p class="oper">
+                        <el-button style="margin-right: 30px" size="small" type="primary" :disabled="!canSumbit" @click="confirm('form')">确定</el-button>
+                        <el-button size="small" @click="cancel">取消</el-button>
+                    </p>
+                </el-form>
+               
+            </div>
+        </div>
+    </div>
+</template>
+<script type="text/javascript">
+  import api from '@api/records.js';
+  export default {
+    name:'AddRecord',
+    data(){
+      return{
+        // data:{},
+        labelPosition:'left',
+        caseLIst:[],
+        caseRemarkList:[],
+        casesEntryList:[],
+        textList:[],
+        casesEntryListSelect:[],
+        checkList:[],
+        caseInfoList:[],
+        checkAllMap:{},
+        textAllMap:{},
+        title:'病例录入-标注病例',
+        form:{
+          caseNumber:'',
+          hospitalCode:'',
+          caseNumberId:'',
+          hospitalId:''
+
+        },
+        id:null,
+        modifier:'',
+        canSumbit: true,
+        activeLeftNames: ['1'],
+        activeRightNames: ['1']
+      }
+    },
+    created(){
+      
+      const userLoginDTO = JSON.parse(localStorage.getItem('userLoginDTO'));
+      this.modifier = userLoginDTO && userLoginDTO.linkman;
+      const { isEdit, data } = this.$route.params;
+      if(isEdit) {
+          this.title = '病例录入-标注病例';
+          this.id= data.id
+          this.form.caseNumber = data.caseNumber
+          this.form.hospitalCode = data.hospitalName
+          this.form.hospitalId = data.hospitalId
+          // this.form.recordInfo = data.text
+          this.caseInfoList = data.moduleMappingDTOList
+          const qcInputcasesMapping = data.qcInputcasesMapping
+           this.getRecordInpModule()
+           .then(()=>{
+                // console.log('checkAllMap',this.checkAllMap)
+                // console.log('this.caseLIst',this.caseLIst)
+                if(qcInputcasesMapping){
+                  const checkAllMapCopy = JSON.parse(JSON.stringify(this.checkAllMap))
+                  for(let i = 0; i < this.caseLIst.length; i++){
+                    const filterArr = qcInputcasesMapping.filter(item => item.casesId ==  this.caseLIst[i].id&& item.pass == -1)
+                    let checkArr = []
+                    for(let j = 0; j < filterArr.length; j++){
+                      checkArr.push(filterArr[j].casesEntryId)
+                    }
+                    checkAllMapCopy[this.caseLIst[i].remark] = checkArr
+                  }
+                  this.checkAllMap = checkAllMapCopy
+                }
+               
+          })
+      }else {
+        this.getRecordInpModule()
+      }
+
+    },
+    methods:{
+      handleChange(val) {
+        // console.log(val);
+      },
+      getRecordInpModule(){
+        return api.getRecordInpModuleByHospital({
+          hospitalId: this.form.hospitalId
+        }).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.caseLIst = result.data
+            const checkAllMap = {}
+            const textAllMap = {}
+            for(let i = 0; i < this.caseLIst.length; i++){
+              checkAllMap[this.caseLIst[i].remark] = []
+              textAllMap[this.caseLIst[i].remark] = []
+            }
+            this.checkAllMap = checkAllMap
+            this.textAllMap = textAllMap
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning'
+            });
+          }
+        })
+      },
+    
+      cancel(){
+        this.$router.push({
+          name: 'RecordInput',
+          params: Object.assign({}, this.$route.params)
+        });
+      },
+      getArrDifference(arr1, arr2) {
+          return arr1.concat(arr2).filter(function(v, i, arr) {
+              return arr.indexOf(v) === arr.lastIndexOf(v);
+          });
+      },
+      getIdList(arr){
+        let  casesEntryIdList = []
+        for(let i = 0; i < arr.length; i++){
+          casesEntryIdList.push( arr[i].id)
+        }
+        return casesEntryIdList
+      },
+      confirm(form){
+        const {casesId} = this.form
+        let qcInputMappingSaveVO = []
+        const caseLIstCopy = JSON.parse(JSON.stringify(this.caseLIst))
+        for(let i = 0; i < caseLIstCopy.length; i++){
+          const CheckList = this.checkAllMap[caseLIstCopy[i].remark]
+          if(caseLIstCopy[i].qcCasesEntry){
+            for(let j = 0; j < caseLIstCopy[i].qcCasesEntry.length; j++){
+              let item = {
+                casesEntryId: caseLIstCopy[i].qcCasesEntry[j].id,
+                casesId: caseLIstCopy[i].id,
+                pass: 0
+              }
+              if(CheckList.findIndex(item => item == caseLIstCopy[i].qcCasesEntry[j].id) > -1){
+                item.pass = -1
+              }
+              qcInputMappingSaveVO.push(item)
+            }
+          }
+          
+        }
+        // for(let i = 0; i < noCheckList.length; i++) {
+        //   qcInputMappingSaveVO.push({
+        //     casesEntryId: noCheckList[i],
+        //     casesId: casesId,
+        //     pass: 0
+        //   })
+        // }
+        // for(let i = 0; i < checkedcasesEntrys.length; i++) {
+        //   qcInputMappingSaveVO.push({
+        //     casesEntryId: checkedcasesEntrys[i],
+        //     casesId: casesId,
+        //     pass: -1
+        //   })
+        // }
+        let param = {
+          hospitalId: this.form.hospitalId,
+          caseNumberId: this.id,
+          caseNumber: this.form.caseNumber, 
+          isTag: true,
+          qcInputMappingSaveVO,
+        }
+        // for(let i = 0; i < this.textList.length; i++){
+        //   param[this.textList[i].remark] = this.textList[i].recordInfo
+        // }
+        // if(this.id){
+        //   param = Object.assign(param,{id: this.id})
+        // }
+        this.canSumbit = false
+        api.addRecordInp(param).then((res)=>{
+            this.canSumbit = true
+            if(res.data.code==0){
+                if(this.id){
+                  this.warning('修改成功', 'success')
+                }else{
+                  this.warning('添加成功', 'success')
+                }
+                //返回带搜索条件的首页
+                this.$router.push({
+                  name: 'RecordInput',
+                  // params: Object.assign({}, this.$route.params)
+                });
+            }else{
+                this.warning(res.data.msg)
+               
+            }
+        })
+      },
+      warning(msg,type){
+        this.$message({
+          showClose: true,
+          message:msg,
+          type:type||'warning'
+        })
+      },
+    }
+  }
+</script>
+<style lang="less">
+    @import "../../less/admin.less";
+    .content{
+        background: #fff;
+        padding: 20px 20px 50px;
+        color: #545455;
+        min-width: 980px;
+        position: relative;
+        .left,.right{
+          width: 50%;
+          // height: 450px;
+          .el-select{
+            width: 100%;
+          }
+        }
+        .el-form-item__label{
+           font-weight: bold;
+           font-size: 16px;
+        }
+        .title{
+          font-size: 16px;
+          color: #606266;
+          line-height: 40px;
+          margin-bottom: 22px;
+          font-weight: bold;
+        }
+        .caseInfo{
+          border: 1px solid #eee;
+          margin: 0 0 10px 0;
+          white-space: pre-wrap;
+        }
+        .checkBox{
+          margin: 20px 0 0 0;
+          .el-checkbox{
+             display: block;
+            position: relative;
+            margin: 0 30px  0 0px;
+            line-height: 30px;
+           
+            .el-checkbox__input{
+              position: absolute;
+              top: 9px;
+            }
+            .el-checkbox__label{
+              padding: 0 0 0 20px;
+              white-space: normal;
+              line-height: 30px;
+            }
+          }
+        }
+        .right{
+          width: 45%;
+          margin-left: 5%;
+          .el-select{
+            width: 80%;
+          }
+        }
+        .contentBox{
+          margin: 20px 0 0 0;
+        }
+        .casesEntryList{
+          margin-top: 20px;
+          padding: 10px 0;
+          width: 80%;
+          border: 1px solid #dcdfe6;
+          height: 410px;
+          overflow-y: auto;
+          .el-checkbox{
+            position: relative;
+            display: block;
+            width: calc(100% - 60px);
+            margin-left: 30px;
+            line-height: 30px;
+            .el-checkbox__input{
+              position: absolute;
+              top: 9px;
+            }
+            .el-checkbox__label{
+              padding: 0 0 0 20px;
+              white-space: normal;
+              line-height: 30px;
+            }
+          }
+        }
+        .short-inp{
+            width: 200px;
+        }
+        .sub-title{
+            font-weight: bold;
+            font-size: 16px;
+            margin-bottom: 20px;
+        }
+        .oper{
+          margin: 30px 0 0 0;
+            padding-right: 80px;
+            text-align: right;
+        }
+        .treatments{
+          .el-input{
+              width:200px;
+              display: inline-block;
+          }
+        }
+        .el-checkbox{
+          margin: 0 30px 0 0;
+          display: block;
+        }
+        .recordInfoBox{
+          height: 650px;
+          overflow-y: auto;
+        }
+        .rightContentBox{
+          height: 650px;
+          overflow-y: auto;
+        }
+    }
+
+</style>

+ 424 - 0
src/components/recordInput/AddRecordCopy.vue

@@ -0,0 +1,424 @@
+<template>
+    <div>
+        <crumbs :title="title" :param="$route.params" linkTo="RecordInput"></crumbs>
+        <div class="contents">
+            <div class="content ">
+                <el-form ref="form" :label-position="labelPosition" label-width="90px" class="add-record-form clearfix" :model="form">
+                    <div class="contentBox clearfix">
+                        <div class="left fl clearfix">
+                            <div class="selectHospital">
+                               <el-select v-model="form.hospitalCode" placeholder="请选择医院">
+                                  <el-option
+                                    v-for="item in hospitalList"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id">
+                                  </el-option>
+                              </el-select>
+                            </div>
+                            <div class="checkBox">
+                              <el-checkbox-group v-model="checkList"  @change="changeCheck">
+                                <el-checkbox v-for="item in casesEntryListSelect" :label="item.id" :disabled="item.disabled" :key="item.id">{{item.name}}</el-checkbox>
+                              </el-checkbox-group>
+                            </div>
+                            <div class="contentBox">
+                              <el-form-item v-for="item in textList" :label="item.label+':'" :key="item.id" prop="recordInfo">
+                                  <el-input
+                                        v-model.trim="item.recordInfo"
+                                        type="textarea"
+                                        :rows="12"
+                                        placeholder="请输入内容">
+                                  </el-input>
+                              </el-form-item>
+                            </div>
+                            
+                        </div>
+                        <div class="right fr clearfix">
+                            <el-select v-model="form.casesId" placeholder="请选择" @change="changeSelectCase">
+                              <el-option
+                                v-for="item in caseLIst"
+                                :key="item.id"
+                                :label="item.name"
+                                :value="item.id">
+                              </el-option>
+                            </el-select>
+                            <div class="casesEntryList">
+                                <el-checkbox-group v-model="form.checkedcasesEntrys" >
+                                    <el-checkbox v-for=" casesEntry in casesEntryList" :label="casesEntry.id" :key="casesEntry.id">{{casesEntry.name}}</el-checkbox>
+                                </el-checkbox-group>
+                            </div>
+                        </div>
+                    </div>
+                    <p class="oper">
+                        <el-button style="margin-right: 30px" size="small" type="primary" :disabled="!canSumbit" @click="confirm('form')">确定</el-button>
+                        <el-button size="small" @click="cancel">取消</el-button>
+                    </p>
+                </el-form>
+               
+            </div>
+        </div>
+    </div>
+</template>
+<script type="text/javascript">
+  import api from '@api/records.js';
+  export default {
+    name:'AddRecord',
+    data(){
+      return{
+        // data:{},
+        labelPosition:'left',
+        /*zybljlList:[
+          {name:'aaa',content:'333333'},
+          {name:'vvv',content:'333sa'}
+        ],*/
+        caseLIst:[],
+        caseRemarkList:[],
+        hospitalList:[],
+        casesEntryList:[],
+        textList:[],
+        casesEntryListSelect:[],
+        checkList:[],
+        title:'病例录入-添加病例',
+        form:{
+          casesId:'',
+          checkedcasesEntrys:[],
+          hospitalCode:'',
+        },
+        id:null,
+        modifier:'',
+        canSumbit: true
+
+      }
+    },
+    created(){
+      
+      const userLoginDTO = JSON.parse(localStorage.getItem('userLoginDTO'));
+      this.modifier = userLoginDTO && userLoginDTO.linkman;
+      const { isEdit, data } = this.$route.params;
+      this.getRecordHopitalList();
+      if(isEdit) {
+          this.title = '病例录入-修改病例';
+          this.id= data.id
+          this.form.casesId = data.qcInputcasesMapping[0].casesId
+          this.form.hospitalCode = data.hospitalId
+          // this.form.recordInfo = data.text
+          let checkedcasesEntrys = []
+           Promise.all([this.getRecordInpModule(), this.getRecordCases()])
+          //  this.getRecordInpModule()
+           .then(()=>{
+             console.log(' this.caseRemarkList', this.caseRemarkList)
+            // this.changeSelectCase(this.form.casesId)
+            this.casesEntryList = this.caseLIst.filter(item => item.id === this.form.casesId)[0].qcCasesEntry
+            const caseListCopy =JSON.parse(JSON.stringify(this.caseLIst)) 
+             const casesEntryListSelect = []
+            for(let i = 0; i < caseListCopy.length; i++){
+              if(caseListCopy[i].id != this.form.casesId) {
+                casesEntryListSelect.push({
+                  id: caseListCopy[i].id,
+                  name: caseListCopy[i].name, 
+                  disabled: false
+                })
+              }else{
+                casesEntryListSelect.push({
+                  id: caseListCopy[i].id,
+                  name: caseListCopy[i].name, 
+                  disabled: true
+                })
+              }
+            }
+            this.casesEntryListSelect = casesEntryListSelect
+
+           
+            let casesEntryIdList = this.getIdList(this.casesEntryList)
+            for(let i = 0; i <  data.qcInputcasesMapping.length; i++) {
+              if( data.qcInputcasesMapping[i].pass == '-1'){
+              checkedcasesEntrys.push(data.qcInputcasesMapping[i].casesEntryId)
+              } 
+            }
+            this.form.checkedcasesEntrys = checkedcasesEntrys
+            const keys = Object.keys(data)
+            for(let i = 0; i < keys.length; i++){
+              const hasItem = this.caseRemarkList.find(item => item.remark == keys[i])
+              if(hasItem&&data[hasItem.remark]){
+                this.checkList.push(hasItem.id)
+                this.textList.push({
+                  id: hasItem.id,
+                  label: hasItem.name,
+                  remark: hasItem.remark,
+                  recordInfo: data[hasItem.remark]
+                })
+              }
+            }
+          })
+      }else {
+        this.getRecordCases();
+        this.getRecordInpModule()
+      }
+
+    },
+    methods:{
+      getRecordInpModule(){
+        return api.getRecordInpModule({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.caseLIst = result.data
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning'
+            });
+          }
+        })
+      },
+      getRecordHopitalList(){
+        return api.getRecordHopitalList({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.hospitalList = result.data
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning'
+            });
+          }
+        })
+      },
+      getRecordCases(){
+         return api.getRecordCases({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.caseRemarkList = result.data
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning'
+            });
+          }
+        })
+      },
+      changeSelectCase(value){
+        this.form.checkedcasesEntrys = []
+        this.casesEntryList = this.caseLIst.filter(item => item.id === value)[0].qcCasesEntry
+        const casesEntryListSelect = []
+        const caseListCopy =JSON.parse(JSON.stringify(this.caseLIst)) 
+        this.checkList = []
+        this.textList= []
+        for(let i = 0; i < caseListCopy.length; i++){
+          if(caseListCopy[i].id !=value) {
+            casesEntryListSelect.push({
+              id: caseListCopy[i].id,
+              name: caseListCopy[i].name, 
+              disabled: false
+            })
+          }else{
+            casesEntryListSelect.push({
+              id: caseListCopy[i].id,
+              name: caseListCopy[i].name, 
+              disabled: true
+            })
+          }
+        }
+        this.casesEntryListSelect = casesEntryListSelect
+        this.checkList.push(value)
+        const selectCase = this.caseRemarkList.find(item => item.id == value)
+        this.textList.push({
+          id: selectCase.id,
+          label: selectCase.name,
+          remark: selectCase.remark,
+          recordInfo: ''
+        })
+        
+      },
+      changeCheck(value){
+        let textListId = []
+        for(let i = 0; i < this.textList.length; i++){
+          textListId.push(this.textList[i].id)
+        }
+        let noId = this.getArrDifference(textListId,value)[0]
+        const noIndex = this.textList.findIndex(item => item.id == noId)
+        if(noIndex > -1){
+          this.textList.splice(noIndex,1)
+        }else{
+          const selectCase = this.caseRemarkList.find(item => item.id == noId)
+            this.textList.push({
+              id: selectCase.id,
+              label: selectCase.name,
+              remark: selectCase.remark,
+              recordInfo: ''
+            })
+        }
+      },
+      cancel(){
+        this.$router.push({
+          name: 'RecordInput',
+          params: Object.assign({}, this.$route.params)
+        });
+      },
+      getArrDifference(arr1, arr2) {
+          return arr1.concat(arr2).filter(function(v, i, arr) {
+              return arr.indexOf(v) === arr.lastIndexOf(v);
+          });
+      },
+      getIdList(arr){
+        let  casesEntryIdList = []
+        for(let i = 0; i < arr.length; i++){
+          casesEntryIdList.push( arr[i].id)
+        }
+        return casesEntryIdList
+      },
+      confirm(form){
+        const {hospitalCode, casesId, checkedcasesEntrys} = this.form
+         if(!hospitalCode){
+            this.warning('请选择医院')
+           return
+         }
+         if(casesId === '') {
+          this.warning('请选择模块ID')
+           return
+        }
+        let qcInputMappingSaveVO = []
+        let casesEntryIdList = this.getIdList(this.casesEntryList)
+        let  noCheckList = this.getArrDifference(casesEntryIdList,checkedcasesEntrys)
+        for(let i = 0; i < noCheckList.length; i++) {
+          qcInputMappingSaveVO.push({
+            casesEntryId: noCheckList[i],
+            casesId: casesId,
+            pass: 0
+          })
+        }
+        for(let i = 0; i < checkedcasesEntrys.length; i++) {
+          qcInputMappingSaveVO.push({
+            casesEntryId: checkedcasesEntrys[i],
+            casesId: casesId,
+            pass: -1
+          })
+        }
+        let param = {
+          creator: this.modifier,
+          hospitalId: this.form.hospitalCode,
+          qcInputMappingSaveVO,
+        }
+        for(let i = 0; i < this.textList.length; i++){
+          param[this.textList[i].remark] = this.textList[i].recordInfo
+        }
+        if(this.id){
+          param = Object.assign(param,{id: this.id})
+        }
+        this.canSumbit = false
+        api.addRecordInp(param).then((res)=>{
+            this.canSumbit = true
+            if(res.data.code==0){
+                if(this.id){
+                  this.warning('修改成功', 'success')
+                }else{
+                  this.warning('添加成功', 'success')
+                }
+                //返回带搜索条件的首页
+                this.$router.push({
+                  name: 'RecordInput',
+                  // params: Object.assign({}, this.$route.params)
+                });
+            }else{
+                this.warning(res.data.msg)
+               
+            }
+        })
+      },
+      warning(msg,type){
+        this.$message({
+          showClose: true,
+          message:msg,
+          type:type||'warning'
+        })
+      },
+    }
+  }
+</script>
+<style lang="less">
+    @import "../../less/admin.less";
+    .content{
+        background: #fff;
+        padding: 20px 20px 50px;
+        color: #545455;
+        min-width: 980px;
+        position: relative;
+        .left,.right{
+          width: 50%;
+          // height: 450px;
+          .el-select{
+            width: 100%;
+          }
+        }
+        .checkBox{
+          margin: 20px 0 0 0;
+          .el-checkbox{
+            position: relative;
+            margin: 0 30px  0 0px;
+            line-height: 30px;
+            .el-checkbox__input{
+              position: absolute;
+              top: 9px;
+            }
+            .el-checkbox__label{
+              padding: 0 0 0 20px;
+              white-space: normal;
+              line-height: 30px;
+            }
+          }
+        }
+        .right{
+          width: 45%;
+          margin-left: 5%;
+          .el-select{
+            width: 80%;
+          }
+        }
+        .contentBox{
+          margin: 20px 0 0 0;
+        }
+        .casesEntryList{
+          margin-top: 20px;
+          padding: 10px 0;
+          width: 80%;
+          border: 1px solid #dcdfe6;
+          height: 410px;
+          overflow-y: auto;
+          .el-checkbox{
+            position: relative;
+            display: block;
+            width: calc(100% - 60px);
+            margin-left: 30px;
+            line-height: 30px;
+            .el-checkbox__input{
+              position: absolute;
+              top: 9px;
+            }
+            .el-checkbox__label{
+              padding: 0 0 0 20px;
+              white-space: normal;
+              line-height: 30px;
+            }
+          }
+        }
+        .short-inp{
+            width: 200px;
+        }
+        .sub-title{
+            font-weight: bold;
+            font-size: 16px;
+            margin-bottom: 20px;
+        }
+        .oper{
+          margin: 30px 0 0 0;
+            padding-right: 80px;
+            text-align: right;
+        }
+        .treatments{
+          .el-input{
+              width:200px;
+              display: inline-block;
+          }
+        }
+    }
+
+</style>

+ 453 - 0
src/components/recordInput/AddRecordItem.vue

@@ -0,0 +1,453 @@
+<template>
+    <div class="addRecordItemWrapper">
+        <crumbs :title="title" :param="$route.params" linkTo="RecordItemList"></crumbs>
+        <div class="contents">
+            <div class="content">
+                <el-form ref="form" :label-position="labelPosition" label-width="125px" class="add-record-form" :model="form">
+                    <el-form-item label="条目名称:" prop="itemName">
+                      <el-input v-model="form.itemName" placeholder="请输入条目名称"></el-input>
+                    </el-form-item>
+                    <el-form-item label="所属模块:" prop="brbaxx">
+                        <el-select v-model="form.casesId"
+                                   placeholder="请选择模块"
+                                   @change="changeModule"
+                                   >
+                            <el-option
+                                    v-for="item in caseLIst"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <!-- <el-form-item label="条目编码:" prop="brbarh">
+                         <el-input v-model="form.itemCode" placeholder="请输入条目编码"></el-input>
+                    </el-form-item> -->
+                    <!-- <el-form-item label="层级定义:" prop="remark">
+                         <el-input v-model="form.levelNo" placeholder="请输入层级定义"></el-input>
+                    </el-form-item> -->
+                    <el-form-item label="医院数据模块:" prop="remark">
+                        <el-select v-model="form.hospitalModuleId"
+                                   placeholder="请选择模块"
+                                   >
+                            <el-option
+                                    v-for="item in hospitalModuleList"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="备注:" prop="remark">
+                         <el-input v-model="form.remark" placeholder="请输入备注"></el-input>
+                    </el-form-item>
+                     <el-form-item label="前置条件:" prop="remark" class="procent">
+                         <el-input v-model="form.precond" placeholder="请输入前置条件"></el-input>
+                    </el-form-item>
+                    
+                    <el-form-item label="医院列表:" prop="hospitalList">
+                      <div>
+                          <el-table
+                            ref="multipleTable"
+                            :data="tableData"
+                            tooltip-effect="light"
+                            style="width: 100%"
+                            @selection-change="handleSelectionChange">
+                            <el-table-column
+                              type="selection"
+                              width="120">
+                            </el-table-column>
+                            <el-table-column
+                              label="医院名称"
+                              prop="hospitalName"
+                              width="240">
+                             
+                            </el-table-column>
+                            <el-table-column
+                              prop="name"
+                              label="扣分值"
+                              width="120">
+                                 <template slot-scope="scope">
+                                  <el-input  class="scoreInp" v-model="scope.row.value" placeholder="请输入扣分值"></el-input>
+                                 </template>
+                            </el-table-column>
+                            <el-table-column
+                              prop="address"
+                              label="提示语"
+                              width="240"
+                              show-overflow-tooltip>
+                               <template slot-scope="scope">
+                                  <el-input class="tipsMsg" v-model="scope.row.tipMsg" placeholder="请输入提示语"></el-input>
+                                 </template>
+                            </el-table-column>
+                            <el-table-column
+                              prop="address"
+                              label="是否启用"
+                              width="120"
+                              show-overflow-tooltip>
+                               <template slot-scope="scope">
+                                   <el-checkbox v-model="scope.row.isUsed" :checked="scope.row.isUsed=='1'" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0"></el-checkbox>
+                                </template>
+                            </el-table-column>
+                          </el-table>
+                      </div>
+                         
+                    </el-form-item>
+                    <p class="oper">
+                        <el-button style="margin-right: 30px" size="small" type="primary" @click="comfirn('form')">确定</el-button>
+                        <el-button size="small" @click="cancel">取消</el-button>
+                    </p>
+                </el-form>
+            </div>
+        </div>
+    </div>
+</template>
+<script type="text/javascript">
+  import api from '@api/records.js';
+  export default {
+    name:'AddRecordItem',
+    data(){
+      return{
+        // data:{},
+        labelPosition:'left',
+        /*zybljlList:[
+          {name:'aaa',content:'333333'},
+          {name:'vvv',content:'333sa'}
+        ],*/
+        modifier:'',
+        hospitalList:[],
+        caseLIst:[],
+        hospitalModuleList:[], //医院数据模块列表
+        title:'病例条目-新增',
+        form:{
+          itemName:'',
+          casesId:'',
+          itemCode:'',
+          remark:'',
+          levelNo:'',
+          precond:'',
+          hospitalModuleId:''
+        },
+        tableData:[],
+        selectHospital:[],
+        multipleSelection: [],
+        id:null,
+        isEdit: false
+      }
+    },
+    created(){
+      let {isEdit, data} = this.$route.params;
+      const userLoginDTO = JSON.parse(localStorage.getItem('userLoginDTO'))
+      this.modifier = userLoginDTO && userLoginDTO.linkman
+     
+      if(isEdit){
+        this.title = '病例条目-修改'
+        this.isEdit = isEdit
+        this.id = data.id
+        this.form.itemName = data.name
+        this.form.itemCode = data.code
+        this.form.casesId = data.casesId
+        this.form.remark = data.remark
+        // this.form.levelNo = data.levelNo
+          this.form.hospitalModuleId = data.modeId
+        this.form.precond = data.precond
+        this.selectHospital = data.getUpdateInfoDetialDTOS || []
+      }
+       this.getRecordInpModule()
+      this.getRecordHopitalList()
+      this.gethospitalModuleList()
+    },
+    methods:{
+      handleSelectionChange(val) {
+        this.multipleSelection = val;
+      },
+      toggleSelection(rows) {
+        setTimeout(()=>{
+          if (rows) {
+          rows.forEach(row => {
+            this.$refs.multipleTable.toggleRowSelection(row);
+          });
+        } else {
+          this.$refs.multipleTable.clearSelection();
+        }
+        })
+        
+      },
+      getIsUsed(row){
+        if(this.multipleSelection.findIndex(it => it.hospitalId ==row.hospitalId) > -1){
+          return false
+        } else{
+           return true
+        }
+        
+      },
+      changeModule(val){
+        this.form.itemCode = this.caseLIst.find(item => item.id === val).prefix
+      },
+       getRecordHopitalList(){
+        return api.getRecordHopitalList({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.hospitalList = result.data
+            const tableData = []
+            for(let i = 0; i < this.hospitalList.length; i++){
+              tableData.push({
+                hospitalId: this.hospitalList[i].id,
+                hospitalName:  this.hospitalList[i].name,
+                value: '',
+                tipMsg:'',
+                isUsed: '0'
+              })
+            }
+            for(let i = 0; i < this.selectHospital.length; i++){
+              const selectItem = this.selectHospital[i]
+              let item = tableData.find(item => item.hospitalName === selectItem.hospitalName)
+              item.value = selectItem.score
+              item.tipMsg = selectItem.msg
+              item.isUsed = selectItem.isUsed
+              this.multipleSelection.push(item)
+            }
+            this.tableData = tableData
+            this.toggleSelection(this.multipleSelection)
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      gethospitalModuleList(){
+        return api.gethospitalModuleList({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.hospitalModuleList = result.data
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      getRecordInpModule(){
+        return api.getRecordCases({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.caseLIst = result.data
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      cancel(){
+        this.$router.push({
+          name: 'RecordItemList',
+          params: Object.assign({}, this.$route.params)
+        });
+      },
+      comfirn(form){
+          const {itemName,casesId,itemCode,remark,levelNo,precond,hospitalModuleId} = this.form
+          if(!itemName){
+            this.$message({
+              message:"请输入条目名称",
+              type:'warning',
+              showClose: true
+            })
+            return
+          }
+          if(!itemCode){
+            this.$message({
+              message:"请输入条目编码",
+              type:'warning',
+              showClose: true
+            })
+            return
+          }
+          let  casesEntryHospitals = []
+          for(let i = 0; i < this.multipleSelection.length; i++){
+            const item = this.multipleSelection[i]
+            if(item.value ===''){
+              this.$message({
+                message:"请填写所选医院扣分项",
+                type:'warning',
+                showClose: true
+              })
+              return
+            }
+            if(item.tipMsg ===''){
+              this.$message({
+                message:"请填写所选医院提示语",
+                type:'warning',
+                showClose: true
+              })
+              return
+            }
+            casesEntryHospitals.push({
+              creator: '0',
+              score: item.value,
+              remark: '',
+              modifier:this.modifier,
+              hospitalId: item.hospitalId,
+              msg: item.tipMsg,
+              isUsed: item.isUsed
+            })
+          }
+           let params = {
+            id:this.id,
+            name:itemName,
+            modeId: hospitalModuleId,
+            remark: remark,
+            code: itemCode,
+            precond:precond,
+            casesId: casesId,
+            casesName:  this.caseLIst.find(item => item.id === casesId).name,
+            modifier:this.modifier,
+            creator: '0',
+            casesEntryHospitals:casesEntryHospitals
+          }
+           api.addRecordItem(params).then((res)=>{
+              if(res.data.code==0){
+                this.$message({
+                  message:"添加成功",
+                  type:'success',
+                  showClose: true
+                })
+                // this.$router.push({path: 'LT-GBBXXWH-BBXXWH'});
+                this.$router.push({name: 'RecordItemList'});
+              }else{
+                this.$message({
+                  message:res.data.msg,
+                  type:'warning',
+                  showClose: true
+                });
+              }
+            })
+          // return
+          // if(this.basyid){//修改
+          //   const param = Object.assign({},this.form,{basyid:this.basyid,brzyid:this.brzyid});
+          //   api.saveRecord(param).then((res)=>{
+          //     if(res.data.code==0){
+          //       this.$message({
+          //         message:"修改成功",
+          //         type:'success'
+          //       });
+          //       //返回带搜索条件的首页
+          //       this.$router.push({
+          //         name: 'RecordManager',
+          //         params: Object.assign({}, this.$route.params)
+          //       });
+          //     }else{
+          //       this.$message({
+          //         message:res.data.msg,
+          //         type:'warning'
+          //       });
+          //     }
+          //   })
+          // }else{//添加
+          //   // 复制时把list多余字段过滤掉,如id等
+          //   const detail = this.list;
+          //   let copyDetail=[];
+          //   let item={};
+          //   if(detail && detail.length>0){
+          //     for(let i=0; i<detail.length; i++){
+          //       item.title = detail[i].title;
+          //       item.description = detail[i].description;
+          //       copyDetail.push(item);
+          //       item={};
+          //     }
+          //   }
+          //   const params = Object.assign({},this.form);
+          //   // api.addVersInfo(this.form).then((res)=>{
+          //   api.saveRecord(params).then((res)=>{
+          //     if(res.data.code==0){
+          //       this.$message({
+          //         message:"添加成功",
+          //         type:'success'
+          //       })
+          //       // this.$router.push({path: 'LT-GBBXXWH-BBXXWH'});
+          //       this.$router.push({name: 'RecordManager'});
+          //     }else{
+          //       this.$message({
+          //         message:res.data.msg,
+          //         type:'warning'
+          //       });
+          //     }
+          //   })
+          // }
+          
+      },
+    }
+  }
+</script>
+<style lang="less" scoped>
+    @import "../../less/admin.less";
+    .addRecordItemWrapper{
+        .content{                                         
+            background: #fff;
+            padding: 20px 20px 50px;
+            color: #545455;
+            min-width: 980px;
+            position: relative;
+            .short-inp{
+                width: 200px;
+            }
+            .sub-title{
+                font-weight: bold;
+                font-size: 16px;
+                margin-bottom: 20px;
+            }
+            .oper{
+                text-align: right;
+            }
+            /deep/.el-input{
+              width: 200px;
+              .el-input__inner{
+                    border: 1px solid #333;
+                    color: #000;
+              }
+            }
+            .procent{
+                /deep/.el-input{
+                width: 800px;
+              }
+            }
+            /deep/.el-form-item{
+              margin: 20px 0 0 0;
+
+            }
+            /deep/.el-checkbox__inner{
+                  border: 1px solid #333;
+            }
+            /deep/.el-table{
+              min-width: 0;
+            }
+            /deep/.el-input.tipsMsg{
+                .el-input__inner{
+                    width:200px;
+                    height: 30px;
+                    display: inline-block;
+                }
+            }
+            /deep/.scoreInp.el-input{
+              width:50px;
+              .el-input__inner{
+                    width:50px;
+                    height: 30px;
+                    display: inline-block;
+                }
+            }
+        
+      }
+  
+
+
+    }
+    
+</style>

+ 487 - 0
src/components/recordInput/ManageItemBatch.vue

@@ -0,0 +1,487 @@
+<template>
+    <div class="ManageItemBatchWrapper">
+        <crumbs :title="title" :param="$route.params" linkTo="RecordItemList"></crumbs>
+        <div class="contents">
+            <div class="content">
+                <el-form ref="form" :label-position="labelPosition" label-width="125px" class="add-record-form" >
+                    
+                    <el-form-item label="选择医院:" prop="brbaxx">
+                        <el-select v-model="hospitalId"
+                                   placeholder="请选择医院"
+                                   size="small"
+                                   @change="changeHospital">
+                            <el-option
+                                    v-for="item in hospitalList"
+                                    :key="item.id"
+                                    :label="item.name"
+                                    :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    
+                    <el-form-item label="条目列表:" prop="hospitalList">
+                        <!-- <el-table
+                            ref="multipleTable"
+                            :data="tableData"
+                            tooltip-effect="light"
+                            style="width: 100%"
+                            @selection-change="handleSelectionChange">
+                            <el-table-column
+                              type="selection"
+                              width="120">
+                            </el-table-column>
+                            <el-table-column
+                              label="医院名称"
+                              prop="hospitalName"
+                              width="240">
+                             
+                            </el-table-column>
+                            <el-table-column
+                              prop="name"
+                              label="扣分值"
+                              width="240">
+                                 <template slot-scope="scope">
+                                  <el-input  class="tipsMsg" v-model="scope.row.value" placeholder="请输入扣分值"></el-input>
+                                 </template>
+                            </el-table-column>
+                            <el-table-column
+                              prop="address"
+                              label="提示语"
+                              width="240"
+                              show-overflow-tooltip>
+                               <template slot-scope="scope">
+                                  <el-input class="tipsMsg" v-model="scope.row.tipMsg" placeholder="请输入提示语"></el-input>
+                                 </template>
+                            </el-table-column>
+                          </el-table> -->
+                          <el-collapse v-model="activeLeftNames" @change="handleChange" v-if="caseLIst.length > 0">
+                                <el-collapse-item v-for="(item, index) in caseLIst" :title="item.name" :name="item.id" :key="item.id">
+                                    <!-- <el-checkbox-group v-model="checkAllMap[item.remark]" >
+                                      <el-checkbox v-for=" casesEntry in item.qcCasesEntry" :label="casesEntry.id" :key="casesEntry.id">{{casesEntry.name}}
+                                        <el-input placeholder="请输入扣分值"></el-input>
+                                      </el-checkbox>
+                                  </el-checkbox-group> -->
+                                  <el-table
+                                    ref="multipleTable"
+                                    :data="item.qcCasesEntry"
+                                    tooltip-effect="light"
+                                    style="width: 100%"
+                                    @selection-change="handleSelectionChange($event,item.remark)">
+                                    <el-table-column
+                                      type="selection"
+                                      width="60">
+                                    </el-table-column>
+                                     <el-table-column
+                                      label="条目编码"
+                                      prop="code"
+                                      width="120">
+                                    </el-table-column>
+                                    <el-table-column
+                                      label="条目名称"
+                                      prop="name"
+                                      width="240">
+                                    </el-table-column>
+                                    <el-table-column
+                                      label="医院数据模块"
+                                      prop="modeName"
+                                      width="120">
+                                    </el-table-column>
+                                    <el-table-column
+                                      prop=""
+                                      label="扣分值"
+                                      width="120">
+                                        <template slot-scope="scope">
+                                          <el-input  class="scoreInp" v-model="scope.row.score" placeholder="请输入扣分值"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column
+                                      prop="address"
+                                      label="提示语"
+                                      width="240"
+                                      show-overflow-tooltip>
+                                      <template slot-scope="scope">
+                                          <el-input class="tipsMsg" v-model="scope.row.msg" placeholder="请输入提示语"></el-input>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column
+                                    prop="address"
+                                    label="是否启用"
+                                    width="120"
+                                    show-overflow-tooltip>
+                                    <template slot-scope="scope">
+                                        <el-checkbox v-model="scope.row.isUsed" :checked="scope.row.isUsed == '1'" :disabled="getIsUsed(scope.row)" true-label="1" false-label="0"></el-checkbox>
+                                      </template>
+                                  </el-table-column>
+                                  </el-table>
+                                </el-collapse-item>
+                              </el-collapse>
+                    </el-form-item>
+                    <p class="oper">
+                        <el-button style="margin-right: 30px" size="small" type="primary" @click="comfirn('form')">确定</el-button>
+                        <el-button size="small" @click="cancel">取消</el-button>
+                    </p>
+                </el-form>
+            </div>
+        </div>
+    </div>
+</template>
+<script type="text/javascript">
+ import api from '@api/records.js';
+ import config from '@api/config.js';
+  import utils from '@api/utils.js';
+
+  export default {
+    name:'ManageItemBatch',
+    data(){
+      return{
+        // data:{},
+        labelPosition:'left',
+        /*zybljlList:[
+          {name:'aaa',content:'333333'},
+          {name:'vvv',content:'333sa'}
+        ],*/
+        hospitalList:[],
+        caseLIst:[],
+        sexType:[],
+        bloodType:[],
+        rhType:[],
+        title:'批量管理',
+        hospitalId:'',
+        tableData:[],
+        checkAllMap:{
+
+        },
+        multipleSelection: [],
+        id:null,
+        activeLeftNames: ['1'],
+        modifier:''
+      }
+    },
+    created(){
+      const userLoginDTO = JSON.parse(localStorage.getItem('userLoginDTO'))
+      this.modifier = userLoginDTO && userLoginDTO.linkman
+     
+      this.getRecordHopitalList()
+      // this.getRecordInpModule()
+    },
+    methods:{
+      toggleSelection(values) {
+        setTimeout(()=>{
+          //  this.$refs.multipleTable[6].toggleRowSelection(this.caseLIst[6].qcCasesEntry[0]);
+          //  this.$refs.multipleTable[6].toggleRowSelection(this.caseLIst[6].qcCasesEntry[1]);
+          for(let i = 0; i < values.length; i++){
+            if(values[i].length > 0){
+              values[i].forEach(value=>{
+                const index = this.caseLIst[i].qcCasesEntry.findIndex(item =>item.id === value.id)
+                this.$refs.multipleTable[i].toggleRowSelection(this.caseLIst[i].qcCasesEntry[index]);
+              })
+            }
+          }
+          // if (rows) {
+          // rows.forEach(row => {
+          //   this.$refs.multipleTable.toggleRowSelection(row);
+          //   // console.log('this.$refs.multipleTabl',this.$refs.multipleTable)
+          //   // const domLen = this.$refs.multipleTable.length
+          //   // const values = Object.values(this.checkAllMap)
+          //   // console.log('values,',values)
+          //   // for(let i = 0; i < values.length; i++){
+          //   //   if(values[i].length > 0){
+          //   //     console.length('aaaaaaaaaaa')
+          //   //     this.$refs.multipleTable[i].toggleRowSelection(value[i]);
+          //   //   }
+          //   // }
+          // });
+        // } else {
+        //   console.log('bbbb')
+        //    const domLen = this.$refs.multipleTabl.length
+        //     for(let i = 0; i < domLen; i++){
+        //       // this.$refs.multipleTable[i].clearSelection();
+        //     }
+        // }
+        })
+        
+      },
+      handleSelectionChange(val,remark) {
+        this.checkAllMap[remark] = val;
+      },
+      getIsUsed(row){
+        // if(this.multipleSelection.findIndex(it => it.hospitalId ==row.hospitalId) > -1){
+        //   return false
+        // } else{
+        //    return true
+        // }
+        
+      },
+       handleChange(val) {
+      },
+      changeHospital(val){
+        this.getRecordInpModule().then(()=>{
+          this.getRecordByHospital(val)
+         }
+        )
+        
+      },
+      getRecordInpModule(){
+        return api.getRecordInpModule({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            let  caseLIst = result.data
+          
+            this.caseLIst = caseLIst  //提醒每项加分值和备注
+
+             const checkAllMap = {}
+            for(let i = 0; i < this.caseLIst.length; i++){
+              checkAllMap[this.caseLIst[i].remark] = []
+            }
+            this.checkAllMap = checkAllMap
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      getRecordHopitalList(){
+        return api.getRecordHopitalList({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.hospitalList = result.data
+            const tableData = []
+            for(let i = 0; i < this.hospitalList.length; i++){
+              tableData.push({
+                hospitalId: this.hospitalList[i].id,
+                hospitalName:  this.hospitalList[i].name,
+                value: '',
+                tipMsg:''
+              })
+            }
+            this.tableData = tableData
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      getRecordByHospital(hospitalId){
+        const param = {
+          hospitalId: hospitalId
+        }
+        return api.getRecordByHospital(param).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.hospitalItemList =  result.data
+            for (let i = 0; i< this.hospitalItemList.length; i++){
+              const hospitalItem = this.hospitalItemList[i]
+              let caseItem = this.caseLIst.find(item =>item.id === hospitalItem.casesId)
+              for(let j = 0; j < hospitalItem.getAllByHospitalDetialDTOS.length; j++){
+               
+                const checkedItem = hospitalItem.getAllByHospitalDetialDTOS[j]
+                let recordItem = caseItem.qcCasesEntry.find(item => item.id === checkedItem.casesEntryId)
+                recordItem.score = checkedItem.score
+                recordItem.msg = checkedItem.msg
+                recordItem.isUsed = checkedItem.isUsed
+                recordItem.modeName = checkedItem.modeName
+                this.checkAllMap[caseItem.remark].push(recordItem)
+              }
+            }
+            this.caseLIst = JSON.parse(JSON.stringify(this.caseLIst))
+             const values = Object.values(this.checkAllMap)
+            this.toggleSelection(values)
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      cancel(){
+        this.$router.push({
+          name: 'RecordItemList',
+          params: Object.assign({}, this.$route.params)
+        });
+      },
+      comfirn(form){
+        if(!this.hospitalId){
+          this.$message({
+                    message:"请选择医院",
+                    type:'warning',
+                    showClose: true
+                  });
+        }
+        const values = Object.values(this.checkAllMap)
+        let casesEntryHospitals = []
+        for(let i = 0; i < values.length; i++){
+          for(let j = 0; j < values[i].length;j++){
+            const value = values[i][j]
+            let item = {
+              "casesEntryId": value.id,
+              "creator": "0",
+              "hospitalId": this.hospitalId,
+              "modifier": this.modifier,
+              "msg": value.msg,
+              "remark": value.remark,
+              "score": value.score,
+              "isUsed":value.isUsed
+            }
+            casesEntryHospitals.push(item)
+          }
+        }
+        let param = {
+          "casesEntryHospitals": casesEntryHospitals,
+          "hospitalIds": [
+           this.hospitalId
+          ]
+        }
+        api.updateRecordByHospital(param).then((res)=>{
+                if(res.data.code==0){
+                  this.$message({
+                    message:"修改成功",
+                    type:'success',
+                    showClose: true
+                  });
+                  //返回带搜索条件的首页
+                  this.$router.push({
+                    name: 'RecordItemList',
+                    params: Object.assign({}, this.$route.params)
+                  });
+                }else{
+                  this.$message({
+                    message:res.data.msg,
+                    type:'warning',
+                    showClose: true
+                  });
+                }
+              })
+        return
+        /*if(!this.form.name.trim() || !this.form.refreshTime.trim()){
+          this.$message({
+            message:'请填写相关内容',
+            type:'warning'
+          });
+          return
+        }*/
+        /*this.$refs[form].validate((valid) => {
+          if (valid) {*/
+            // if(this.basyid){//修改
+            //   const param = Object.assign({},this.form,{basyid:this.basyid,brzyid:this.brzyid});
+            //   api.saveRecord(param).then((res)=>{
+            //     if(res.data.code==0){
+            //       this.$message({
+            //         message:"修改成功",
+            //         type:'success'
+            //       });
+            //       //返回带搜索条件的首页
+            //       this.$router.push({
+            //         name: 'RecordManager',
+            //         params: Object.assign({}, this.$route.params)
+            //       });
+            //     }else{
+            //       this.$message({
+            //         message:res.data.msg,
+            //         type:'warning'
+            //       });
+            //     }
+            //   })
+            // }else{//添加
+            //   // 复制时把list多余字段过滤掉,如id等
+            //   const detail = this.list;
+            //   let copyDetail=[];
+            //   let item={};
+            //   if(detail && detail.length>0){
+            //     for(let i=0; i<detail.length; i++){
+            //       item.title = detail[i].title;
+            //       item.description = detail[i].description;
+            //       copyDetail.push(item);
+            //       item={};
+            //     }
+            //   }
+            //   const params = Object.assign({},this.form);
+            //   // api.addVersInfo(this.form).then((res)=>{
+            //   api.saveRecord(params).then((res)=>{
+            //     if(res.data.code==0){
+            //       this.$message({
+            //         message:"添加成功",
+            //         type:'success'
+            //       })
+            //       // this.$router.push({path: 'LT-GBBXXWH-BBXXWH'});
+            //       this.$router.push({name: 'RecordManager'});
+            //     }else{
+            //       this.$message({
+            //         message:res.data.msg,
+            //         type:'warning'
+            //       });
+            //     }
+            //   })
+            // }
+          /*} else {
+            return false;
+          }
+        });*/
+      },
+    }
+  }
+</script>
+<style lang="less">
+    @import "../../less/admin.less";
+    .ManageItemBatchWrapper{
+      .container{
+        min-width: 1050px;
+      }
+      .content{
+        background: #fff;
+        padding: 20px 20px 50px;
+        color: #545455;
+        min-width: 1040pxpx;
+        position: relative;
+        .short-inp{
+            width: 200px;
+        }
+        .sub-title{
+            font-weight: bold;
+            font-size: 16px;
+            margin-bottom: 20px;
+        }
+        .oper{
+            text-align: right;
+        }
+        /deep/.el-table__row td:nth-child(3){
+          text-align: left;
+        }
+        /deep/.el-input{
+              .el-input__inner{
+                    border: 1px solid #333;
+                    color: #000;
+              }
+            }
+        /deep/.el-checkbox__inner{
+                  border: 1px solid #333;
+            }
+        /deep/.tipsMsg{
+            .el-input__inner{
+                width:200px;
+                height: 30px;
+                display: inline-block;
+                border: 1px solid #333;
+                color: #000;
+            }
+        }
+        /deep/.scoreInp.el-input{
+              width:50px;
+              .el-input__inner{
+                    width:50px;
+                    height: 30px;
+                    display: inline-block;
+                }
+            }
+      }
+    }
+    
+
+</style>

+ 320 - 0
src/components/recordInput/RecordItemList.vue

@@ -0,0 +1,320 @@
+<template>
+    <div>
+        <crumbs title="病例条目" style="min-width: 980px" class="recordItemTitle">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="条目名称:">
+                   <el-input size="mini" v-model.trim="filter.itemName" placeholder="条目名称" clearable></el-input>
+               </el-form-item>
+                <el-form-item label="所属模块:">
+                   <!-- <el-input size="mini" v-model.trim="filter.module" placeholder="所属模块" clearable></el-input> -->
+                   <el-select v-model="filter.module"  
+                      clearable 
+                      filterable 
+                      placeholder="请选择模块" 
+                      size="mini">
+                    <el-option
+                      v-for="item in caseLIst"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id">
+                    </el-option>
+                  </el-select>
+               </el-form-item>
+               <!-- <el-form-item label="层级定义:">
+                   <el-input size="mini" v-model.trim="filter.level" placeholder="层级定义" clearable></el-input>
+               </el-form-item> -->
+               <el-form-item label="条目编码:">
+                   <el-input size="mini" v-model.trim="filter.itemCode" placeholder="条目编码" clearable></el-input>
+               </el-form-item>
+               <el-form-item>
+                   <el-button size="mini" @click="filterDatas">查找</el-button>
+                   <el-button size="mini" type="warning" @click="AddRecordItem">新增条目</el-button>
+                   <el-button size="mini" type="warning" @click="manageBatch">批量管理</el-button>
+               </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table
+                    :data="list"
+                    border
+                    style="width: 100%">
+                <el-table-column
+                        :resizable = "false"
+                        prop="id"
+                        label="条目ID"
+                      >
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="name"
+                        label="条目名称"
+                >
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="casesName"
+                        label="所属模块"
+                        width="">
+                  
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="code"
+                        label="条目编码"
+                        width="180">
+                    <!-- <template slot-scope="scope">
+                        <el-button  @click="editRecord(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>
+                <el-table-column
+                        :resizable = "false"
+                        prop="modeName"
+                        label="医院数据模块"
+                        width="">
+                  
+                </el-table-column>
+                 <el-table-column
+                        :resizable = "false"
+                        prop=""
+                        label="操作"
+                        width="180">
+                    <template slot-scope="scope">
+                        <el-button  @click="editRecord(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>
+            </el-table>
+            <div class="pagination">
+                <el-pagination :current-page.sync="currentPage"
+                               @current-change="currentChange"
+                               background
+                               :page-size="pageSize"
+                               :page-sizes="pageSizeArr"
+                               @size-change="handleSizeChange"
+                               :layout="pageLayout"
+                               :total="total">
+                </el-pagination>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+  import api from '@api/records.js';
+ import config from '@api/config.js';
+  import utils from '@api/utils.js';
+
+  export default {
+    name: 'RecordItemList',   //慢病指标值关联维护
+    data: function() {
+      return {
+        list: [],
+        searched: false,
+        caseLIst:[],
+        filter:{
+          itemName:'',
+          module:'',
+          level:'',
+          itemCode:''
+        },
+        currentPage: 1,
+        pageSize: config.pageSize,
+        pageSizeArr:config.pageSizeArr,
+        pageLayout:config.pageLayout,
+        total: 0,
+      }
+    },
+    created() {
+      const that = this;
+      //返回时避免参数未赋值就获取列表
+      setTimeout(function(){
+        that.getDataList();
+      });
+      this.getRecordInpModule()
+    },
+    watch: {
+      'filter': {
+        handler: function () {
+          this.searched = false;
+        },
+        deep: true
+      }
+    },
+    beforeRouteEnter(to, from, next) {
+      next(vm => {
+        const pm = to.param;
+        Object.assign(vm, to.params);
+        vm.inCurrentPage=to.params.currentPage;
+      })
+    },
+    methods: {
+     handleSizeChange(val){
+        this.pageSize = val;
+        this.currentPage = utils.getCurrentPage(this.currentPage, this.total, this.pageSize);
+        this.getDataList();
+      },
+      indexMethod(index) {
+            return   index + 1;
+        },
+      AddRecordItem(){
+         const pam = this.searched?{currentPage:this.currentPage,
+          pageSize:this.pageSize,
+          filter:this.filter}:{currentPage:this.currentPage,
+          pageSize:this.pageSize};
+        this.$router.push({
+          name:'AddRecordItem',
+          params:pam
+        })
+      },
+      manageBatch(){
+         const pam = this.searched?{currentPage:this.currentPage,
+          pageSize:this.pageSize,
+          filter:this.filter}:{currentPage:this.currentPage,
+          pageSize:this.pageSize};
+        this.$router.push({
+          name:'ManageItemBatch',
+          params:pam
+        })
+      },
+       getRecordInpModule(){
+        return api.getRecordCases({}).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.caseLIst = result.data
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      getDataList(isTurnPage) {
+        const param = this.getFilterItems(isTurnPage);
+        this.searched = true;
+        const loading = this.$loading({
+          lock: true,
+          text: 'Loading',
+          spinner: 'el-icon-loading',
+          background: 'rgba(0, 0, 0, 0.7)'
+        });
+        api.getRecordIremList(param).then((res) => {
+          loading.close();
+          if(res.data.code == '0') {
+            this.list = res.data.data.records;
+            this.total = res.data.data.total;
+           if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
+          }
+        })
+      },
+      filterDatas() {
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      editRecord(row,isShow) {
+        // this.$router.push({
+        //   name: 'AddRecordInput',
+        //  params: {isEdit: true, data: row}
+        // });
+        const param = {
+          id: row.id
+        }
+       api.getRecordItemDetail(param).then(res =>{
+         if(res.data.code == '0'){
+          const item = res.data.data[0]
+          const pam = this.searched ? {
+            currentPage: this.currentPage,
+            pageSize:this.pageSize,
+            filter: this.filter,
+          } : {
+            currentPage: this.currentPage,
+            pageSize:this.pageSize};
+          this.$router.push({
+            name:'AddRecordItem',
+            params: Object.assign(pam, {isEdit: true, data: item})
+          })
+         }
+       })
+            
+        
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        this.getDataList(true);
+      },
+      getFilterItems(isTurnPage) {
+        //翻页时筛选条件没点确定则清空
+        if(isTurnPage&&!this.searched){
+        };
+        const param = {
+          casesId:this.filter.module,
+          code: this.filter.itemCode.trim(),
+          levelNo:this.filter.level.trim(),
+          name: this.filter.itemName.trim(),
+          current: this.inCurrentPage||this.currentPage,
+          size: this.pageSize,
+       
+        };
+        return param;
+      },
+     warning(msg,type){
+        this.$message({
+          showClose: true,
+          message:msg,
+          type:type||'warning'
+        })
+      },
+      showConfirmDialog(msg,resolve){
+        this.$alert(msg, '提示', {
+          confirmButtonText: '确定',
+          type: 'warning'
+        }).then(() => {
+          resolve();
+        }).catch(() => {});
+      },
+      showDelDialog(row){
+        const param = {
+         id: row.id 
+        };
+        const txt ='是否删除该病例?';
+        this.showConfirmDialog(txt,()=>{
+          api.delRecordItem(param).then((res)=>{
+            if(res.data.code=='0'){
+              this.getDataList();
+              this.warning(res.data.msg || '操作成功','success');
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+
+<style lang="less">
+    @import "../../less/admin.less";
+    
+    .delete{
+        color: red;
+    }
+    .delete:hover {
+        color: red;
+    }
+    .review{
+        color: #22ccc8;
+    }
+    .pagination {
+        min-width: 1010px;
+    }
+</style>

+ 278 - 0
src/components/recordInput/RecordList.vue

@@ -0,0 +1,278 @@
+<template>
+    <div>
+        <crumbs title="病例入录" style="min-width: 980px">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="医院:">
+                   <el-input size="mini" v-model="filter.hospitalName" placeholder="医院" clearable></el-input>
+               </el-form-item>
+                <el-form-item label="病人案例号:">
+                   <el-input size="mini" v-model="filter.brzyid" placeholder="病人案例号" clearable></el-input>
+               </el-form-item>
+               <el-form-item>
+                   <el-button size="mini" @click="filterDatas">查找</el-button>
+                   <!-- <el-button size="mini" type="warning" @click="addRecord">添加测试病例</el-button> -->
+               </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table
+                    :data="list"
+                    border
+                    style="width: 100%">
+                <el-table-column
+                  :resizable = "false"
+                  prop="id"
+                  label="ID"
+                >
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="caseNumber"
+                        label="病案号"
+                      >
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="hospitalName"
+                        label="医院"
+                >
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="creator"
+                        label="是否标注"
+                        width="">
+                    <template slot-scope="scope">
+                        <span style="margin:0 3px;" :class="scope.row.isTag?'colorBlue':''">{{scope.row.isTag ? "是":"否"}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                        :resizable = "false"
+                        prop="operate"
+                        label="操作"
+                        width="180">
+                    <template slot-scope="scope">
+                        <el-button  @click="editRecord(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>
+            </el-table>
+            <!--<div class="pagination">
+                <el-pagination :current-page.sync="currentPage"
+                               @current-change="currentChange"
+                               background
+                               :page-size="pageSize"
+                               :page-sizes="pageSizeArr"
+                               @size-change="handleSizeChange"
+                               :layout="pageLayout"
+                               :total="total">
+                </el-pagination>
+            </div>-->
+        </div>
+    </div>
+</template>
+
+<script>
+  import api from '@api/records.js';
+  /*import config from '@api/config.js';
+  import utils from '@api/utils.js';*/
+
+  export default {
+    name: 'RecordInput',   //慢病指标值关联维护
+    data: function() {
+      return {
+        list: [],
+        searched: false,
+        filter:{
+          brzyid:'',
+          hospitalName:''
+        },
+        /*currentPage: 1,
+        pageSize: config.pageSize,
+        pageSizeArr:config.pageSizeArr,
+        pageLayout:config.pageLayout,
+        total: 0,*/
+      }
+    },
+    created() {
+      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);
+        //vm.inCurrentPage=to.params.currentPage;
+      })
+    },
+    methods: {
+      /*handleSizeChange(val){
+        this.pageSize = val;
+        this.currentPage = utils.getCurrentPage(this.currentPage, this.total, this.pageSize);
+        this.getDataList();
+      },*/
+      indexMethod(index) {
+            return   index + 1;
+        },
+      addRecord(){
+        this.$router.push({
+          name:'AddRecordInput',
+        })
+      },
+      getDataList(isTurnPage) {
+        const param = this.getFilterItems(isTurnPage);
+        this.searched = true;
+        const loading = this.$loading({
+          lock: true,
+          text: 'Loading',
+          spinner: 'el-icon-loading',
+          background: 'rgba(0, 0, 0, 0.7)'
+        });
+        api.getRecordInpList(param).then((res) => {
+          loading.close();
+          if(res.data.code == '0') {
+            this.list = res.data.data;
+            this.total = res.data.data.length;
+            /*if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }*/
+          }else{
+            this.$message({
+              message:result.msg,
+              type:'warning',
+              showClose: true
+            });
+          }
+        })
+      },
+      filterDatas() {
+        //this.currentPage = 1;
+        this.getDataList();
+      },
+      editRecord(row,isShow) {
+        const param = {
+          caseNumber:  row.caseNumber
+        }
+       
+         const loading = this.$loading({
+          lock: true,
+          text: 'Loading',
+          spinner: 'el-icon-loading',
+          background: 'rgba(0, 0, 0, 0.7)'
+        });
+         api.getInputcasesDetial(param).then((res) => {
+          loading.close();
+          if(res.data.code == '0') {
+            const data = res.data.data
+           this.$router.push({
+              name: 'AddRecordInput',
+              params: {isEdit: true, data: data[0]}
+            });
+            /*if(this.inCurrentPage!==undefined){
+              this.currentPage=this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }*/
+          }
+        })
+        
+
+            
+        // const pam = this.searched ? {
+        //   /*currentPage: this.currentPage,
+        //   pageSize:this.pageSize,*/
+        //   filter: this.filter,
+          
+        // } : {
+        //   /*currentPage: this.currentPage,
+        //   pageSize:this.pageSize*/};
+        // this.$router.push({
+        //   name:isShow?'ShowRecord':'AddRecordInput',
+        //   params: pam
+        // })
+      },
+      /*currentChange(next) {
+        this.currentPage = next;
+        this.getDataList(true);
+      },*/
+      getFilterItems(isTurnPage) {
+        //翻页时筛选条件没点确定则清空
+        if(isTurnPage&&!this.searched){
+        };
+        const param = {
+          /*current: this.inCurrentPage||this.currentPage,
+          size: this.pageSize,*/
+          // textId:
+          caseNumber:this.filter.brzyid.trim(),
+          hospitalName: this.filter.hospitalName.trim()
+        };
+        return param;
+      },
+     warning(msg,type){
+        this.$message({
+          showClose: true,
+          message:msg,
+          type:type||'warning'
+        })
+      },
+      showConfirmDialog(msg,resolve){
+        this.$alert(msg, '提示', {
+          confirmButtonText: '确定',
+          type: 'warning'
+        }).then(() => {
+          resolve();
+        }).catch(() => {});
+      },
+      showDelDialog(row){
+        const param = {
+         textId: row.id 
+        };
+        const txt ='是否删除该病例?';
+        this.showConfirmDialog(txt,()=>{
+          api.removeRecordInpById(param).then((res)=>{
+            if(res.data.code=='0'){
+              this.getDataList();
+              this.warning(res.data.msg || '操作成功','success');
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+
+<style lang="less">
+    @import "../../less/admin.less";
+    .delete{
+        color: red;
+    }
+    .delete:hover {
+        color: red;
+    }
+    .colorBlue{
+      color:blue;
+    }
+    .review{
+        color: #22ccc8;
+    }
+    .pagination {
+        min-width: 1010px;
+    }
+</style>

+ 15 - 0
src/routes.js

@@ -117,6 +117,7 @@ import RuleApply from '@components/RuleManager/RuleApply.vue';
 import AddRule from '@components/RuleManager/AddRule.vue';
 import AddRuleApply from '@components/RuleManager/AddRuleApply.vue';
 
+//病历管理
 import RecordManager from '@components/recordManager/recordList.vue';
 import AddRecord from '@components/recordManager/addRecord.vue';
 import ShowRecord from '@components/recordManager/showRecord.vue';
@@ -128,6 +129,14 @@ import CombineFeild from '@components/qualityControl/CombineFeildList.vue';
 import AddCombineFeild from '@components/qualityControl/AddCombineFeild.vue';
 import QualityControlTemp from '@components/qualityControl/QualityControlTemp.vue';
 import AddQualityControlTemp from '@components/qualityControl/AddQualityControlTemp.vue';
+//病历录入
+import RecordInput from '@components/recordInput/RecordList.vue';
+import AddRecordInput from '@components/recordInput/AddRecord.vue';
+
+//病历条目
+import RecordItemList from '@components/recordInput/RecordItemList.vue';
+import AddRecordItem from '@components/recordInput/AddRecordItem.vue';
+import ManageItemBatch from '@components/recordInput/ManageItemBatch.vue';
 
 export default [
   {
@@ -314,6 +323,12 @@ export default [
       {path:'LT-ZKYMSJWH-TJZHDYWH',name:'AddCombineFeild',component: AddCombineFeild},  //添加组合字段
       {path:'LT-ZKYMSJWH-MBWH',name:'QualityControlTemp',component: QualityControlTemp},  //模板维护
       {path:'LT-ZKYMSJWH-TJMBWH',name:'AddQualityControlTemp',component: AddQualityControlTemp},  //添加模板维护
+      {path: 'LT-BLZK-BLRl',name:'RecordInput', component: RecordInput},//病例录入
+      {path: 'LT-BLZK-TJBLRl',name:'AddRecordInput', component: AddRecordInput},//病例录入
+      {path: 'LT-BLZK-BLTM',name:'RecordItemList', component: RecordItemList},//病例条目
+      {path: 'LT-BLZK-TJBLTM',name:'AddRecordItem', component: AddRecordItem},//病例条目
+      {path: 'LT-BLZK-PLGLBLTM',name:'ManageItemBatch', component: ManageItemBatch},//病例条目
+
     ]
   }
 ]

+ 2 - 3
vue.config.js

@@ -1,11 +1,10 @@
 const path = require('path');
 const proxy_path = 'http://192.168.2.236:80';
 // const proxy_path = 'http://192.168.2.241:88';
-// const proxy_path = 'http://223.93.170.82:23650';
-//  const proxy_path = 'http://192.168.2.236: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';//周铁刚
-// const proxy_path = 'http://192.168.3.115:5050';
+// const proxy_path = 'http://192.168.3.113:5050'; //王峰
 
 module.exports = {
     lintOnSave: false,