Browse Source

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

zhangxc 5 years ago
parent
commit
3585ace3ab

+ 4 - 0
src/api/config.js

@@ -288,6 +288,10 @@ export default {
       'getRecordDetail':'/api/mrman/arRechome/getBABLContent',//病历管理--病历详情
       'saveRecord':'/api/mrman/arRechome/saveBABLContent',  //保存病例
       'getTypes':'/api/mrman/getMrEnumsData',//枚举类型
+      'getFieldList':"/api/mrman/qc/qcQuestionInfo/page",    //获取字段映射列表
+      'addFieldMatch':"/api/mrman/qc/qcQuestionInfo/saveOrUpdate",    //添加字段映射
+      'getQcTypes':"/api/mrman/qc/dictionaryInfo/getList",    //添加字段映射
+      'delFieldMatch':"/api/mrman/qc/qcQuestionInfo/delete",    //删除字段映射
   },
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 1 - 1
src/api/index.js

@@ -3,7 +3,7 @@ import config from './config.js';
 
 axios.default.timeout = 5000;
 axios.defaults.headers.post['Content-Type'] = "application/json;charset=utf-8";
-//axios.defaults.baseURL = 'http://192.168.2.236:88';
+axios.defaults.baseURL = 'http://192.168.2.236:88';
 
 const urls = config.urls;
 export default {

+ 18 - 0
src/api/qualityControl.js

@@ -0,0 +1,18 @@
+import axios from 'axios';
+import config from '@api/config.js';
+
+const urls = config.urls;
+export default {
+  getFieldList(){
+    return axios.post(urls.getFieldList);
+  },
+  addFieldMatch(){
+    return axios.post(urls.addFieldMatch);
+  },
+  delFieldMatch(){
+    return axios.post(urls.delFieldMatch);
+  },
+  getQcTypes(){
+    return axios.post(urls.getQcTypes);
+  }
+}

+ 168 - 0
src/components/qualityControl/AddCombineFeild.vue

@@ -0,0 +1,168 @@
+<template>
+    <div>
+        <crumbs :title="title" :param="$route.params" linkTo="CombineFeild"></crumbs>
+        <div class="contents">
+            <div class="content">
+                <el-form ref="form" :label-position="labelPosition" label-width="118px" :model="form" :rules="rules">
+                    <el-form-item label="所属医院:" prop="hisName">
+                        <el-select v-model="form.hisName"
+                                   placeholder="请选择"
+                                   size="small"
+                                   :disabled="id && !copy?true:false">
+                            <el-option
+                                    v-for="item in typeList"
+                                    :key="item.key"
+                                    :label="item.name"
+                                    :value="item.key">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="所属模块:" prop="moduleName">
+                        <el-select v-model="form.moduleName"
+                                   placeholder="请选择"
+                                   size="small"
+                                   :disabled="id && !copy?true:false">
+                            <el-option
+                                    v-for="item in typeList"
+                                    :key="item.key"
+                                    :label="item.name"
+                                    :value="item.key">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="系统名称:" prop="tagName">
+                        <el-input type="text" placeholder="请输入显示名称" v-model="form.tagName"></el-input>
+                    </el-form-item>
+                    <el-form-item label="显示名称:" prop="name">
+                        <el-input type="text" placeholder="请输入显示名称" v-model="form.name"></el-input>
+                    </el-form-item>
+                    <el-form-item label="关联缺陷条目:" prop="flawId">
+                        <el-select filterable
+                                   v-model="form.flawId"
+                                   placeholder="请选择"
+                                   size="small"
+                                   :disabled="id && !copy?true:false">
+                            <el-option
+                                    v-for="item in flawList"
+                                    :key="item.key"
+                                    :label="item.name"
+                                    :value="item.key">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item>
+                        <el-checkbox v-model="form.intent">缩进</el-checkbox>
+                    </el-form-item>
+                    <el-button class="disclButn" size="small" type="primary" :disabled = 'saveDisable' @click="comfirn('form')">确定</el-button>
+                </el-form>
+            </div>
+        </div>
+    </div>
+</template>
+<script type="text/javascript">
+  import api from '@api/qualityControl.js';
+  export default {
+    name:'FieldMatch',
+    data(){
+      return{
+        // data:{},
+        list:[],
+        labelPosition:'left',
+        isFirst:true,
+        title:'组合字段维护-添加组合字段',
+        form:{
+          name:'',
+          refreshTime:'',
+          remark:'',
+          productType:null
+        },
+        id:null,
+        rules:{
+          hisName:{ required: true, message: '请选择所属医院', trigger: ['blur', 'change']},
+          moduleName:{ required: true, message: '请选择所属模块', trigger: ['blur', 'change']},
+          tagName:{ required: true, message: '请输入系统名称', trigger: ['blur', 'change']},
+          /*name:[{ required: true, message: '请输入显示名称',trigger: ['blur', 'change'] }],*/
+        },
+        copy:null,
+        saveDisable: false,  //保存按钮禁止点击
+        typeList:[]
+      }
+    },
+    created(){
+      let info = this.$route.params.info;
+      this.form = Object.assign({},info);
+      let typeList = JSON.parse(localStorage.getItem("knowledgeEnumsData"));
+      this.typeList = typeList.productTypeEnum;
+    },
+    methods:{
+      comfirn(form){
+        /*if(!this.form.name.trim() || !this.form.refreshTime.trim()){
+          this.$message({
+            message:'请填写相关内容',
+            type:'warning'
+          });
+          return
+        }*/
+        this.$refs[form].validate((valid) => {
+          if (valid) {
+            if(this.id && !this.copy){//修改
+              const param = Object.assign({},this.form,{id:this.id})
+              this.saveDisable = true  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+              api.updateFieldMatch(param).then((res)=>{
+                if(res.data.code==0){
+                  this.$message({
+                    message:"修改成功",
+                    type:'success'
+                  });
+                  //返回带搜索条件的首页
+                  this.$router.push({
+                    name: 'VersionInfo',
+                    params: Object.assign({}, this.$route.params, {currentPage: 1})
+                  });
+                }else{
+                  this.$message({
+                    message:res.data.msg,
+                    type:'warning'
+                  });
+                }
+                this.saveDisable = false
+              })
+            }else{//添加
+              const params = Object.assign({},this.form);
+              this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+              api.addFieldMatch(params).then((res)=>{
+                if(res.data.code==0){
+                  this.$message({
+                    message:"添加成功",
+                    type:'success'
+                  })
+                  this.$router.push({name: 'BaseField'});
+                }else{
+                  this.$message({
+                    message:res.data.msg,
+                    type:'warning'
+                  });
+                }
+                this.saveDisable = false
+              })
+            }
+          } else {
+            return false;
+          }
+        });
+      },
+    }
+  }
+</script>
+<style lang="less" scoped>
+    .content {
+        background: #fff;
+        padding: 20px 20px 50px;
+        color: #545455;
+        min-width: 980px;
+        position: relative;
+    }
+    .el-form-item{
+        width: 600px;
+    }
+</style>

+ 224 - 0
src/components/qualityControl/BaseFieldList.vue

@@ -0,0 +1,224 @@
+<template>
+    <div>
+        <crumbs title="字段映射维护">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="所属医院:">
+                    <el-select size="mini" v-model="filter.hisType" placeholder="所属医院" clearable>
+                        <el-option v-for="item in hisTypes" :label="item.name" :value="item.val" :key="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="所属模块:">
+                    <el-select size="mini" v-model="filter.moduleType" placeholder="所属模块" clearable>
+                        <el-option v-for="item in fieldTypes" :label="item.name" :value="item.val" :key="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="系统名称:">
+                    <el-input size="mini" v-model="filter.proName" placeholder="系统名称"></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <router-link to="/admin/LT-ZKYMSJWH-TJZDYSWH" style="margin:0 10px">
+                        <el-button size="mini" type="warning">添加映射</el-button>
+                    </router-link>
+                </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table :data="list"
+                      border
+                      style="width: 100%">
+                <!--<el-table-column
+                        type="index"
+                        :index="indexMethod"
+                        label="编号"
+                        width="60">
+                </el-table-column>-->
+                <el-table-column
+                        prop="gmtModified"
+                        label="所属医院"
+                        width="150"
+                        :show-overflow-tooltip="true">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="所属模块">
+                </el-table-column>
+                <el-table-column
+                        prop="userName"
+                        label="系统名称">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="显示名称">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="取值字段">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        width="200"
+                        label="关联缺陷条目">
+                </el-table-column>
+                <!--<el-table-column
+                        prop="name"
+                        width="60"
+                        label="换行">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        width="60"
+                        label="加粗">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        width="60"
+                        label="缩进">
+                </el-table-column>-->
+                <el-table-column
+                        label="操作" width="100">
+                    <template slot-scope="scope">
+                        <el-button type="text" size="small" @click="toEditField(scope.row)">修改</el-button>
+                        <span style="margin:0 3px;">|</span>
+                        <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row.id)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <el-pagination v-if="total>pageSize"
+                           :current-page.sync="currentPage"
+                           @current-change="currentChange"
+                           background
+                           :page-size="pageSize"
+                           layout="total,prev, pager, next, jumper"
+                           :total="total">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+
+<script>
+  import api from '@api/qualityControl.js';
+
+  export default {
+    name: 'BaseField',
+    data: function () {
+      return {
+        list: [],
+        cacheData: {},
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+        fieldTypes:[],
+        hisTypes:[],
+        filter: {
+          hisType:'',
+          moduleType:'',
+          proName: ''
+        }
+      }
+    },
+    created() {
+      this.getAllTypes();
+      this.getDataList();
+    },
+    methods: {
+      getAllTypes(){
+        if(localStorage.getItem("qcModuleTypes")){
+          this.hisTypes = JSON.parse(localStorage.getItem("qcHospitalTypes"));
+          this.fieldTypes = JSON.parse(localStorage.getItem("qcModuleTypes"));
+          return ;
+        }
+        //获取枚举信息
+        api.getQcTypes().then((res)=>{
+          if(res.data.code==="0"){
+            const data = res.data.data;
+            localStorage.setItem("qcFieldTypes",JSON.stringify(data[11]));
+            localStorage.setItem("qcModuleTypes",JSON.stringify(data[12]));
+            localStorage.setItem("qcHospitalTypes",JSON.stringify(data[13]));
+          }else{
+            this.warning("获取枚举信息失败");
+          }
+        });
+      },
+      toEditField(row){
+        this.$router.push({
+          name:'FieldMatch',
+          params: {info:row}
+        })
+      },
+      filterDatas(){
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      getDataList() {
+        const param = this.getFilterItems();
+        api.getDeptInfo(param).then((res) => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.list = data.records;
+            this.cacheData[param.current] = data.records;
+            this.total = data.total;
+          }
+        }).catch((error) => {
+          console.log(error);
+        });
+      },
+      getFilterItems() {
+        const param = {
+          name: this.filter.proName,
+          current: this.currentPage,
+          size: this.pageSize
+        };
+        return param;
+      },
+      indexMethod(index) {
+        return ((this.currentPage - 1) * this.pageSize) + index + 1;
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+          this.list = this.cacheData[next];
+        } else {
+          this.getDataList();
+        }
+      },
+      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(id){
+        this.showConfirmDialog('是否删除该字段映射?',()=>{
+          api.delFieldMatch({id}).then((res)=>{
+            if(res.data.code=='0'){
+              this.warning(res.data.msg||'操作成功','success');
+              this.getDataList();
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+<style lang="less">
+    @import "../../less/admin.less";
+    .delete{
+        color: red !important;
+    }
+</style>

+ 204 - 0
src/components/qualityControl/CombineFeildList.vue

@@ -0,0 +1,204 @@
+<template>
+    <div>
+        <crumbs title="组合字段维护">
+            <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="所属医院:">
+                    <el-select size="mini" v-model="filter.hisType" placeholder="所属医院" clearable>
+                        <el-option v-for="item in hisTypes" :label="item.name" :value="item.val" :key="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="所属模块:">
+                    <el-select size="mini" v-model="filter.moduleType" placeholder="所属模块" clearable>
+                        <el-option v-for="item in fieldTypes" :label="item.name" :value="item.val" :key="item.id"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="系统名称:">
+                    <el-input size="mini" v-model="filter.proName" placeholder="系统名称"></el-input>
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="mini" @click="filterDatas">确认</el-button>
+                    <router-link to="/admin/LT-ZKYMSJWH-TJZHDYWH" style="margin:0 10px">
+                        <el-button size="mini" type="warning">添加组合字段</el-button>
+                    </router-link>
+                </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table :data="list"
+                      border
+                      style="width: 100%">
+                <!--<el-table-column
+                        type="index"
+                        :index="indexMethod"
+                        label="编号"
+                        width="60">
+                </el-table-column>-->
+                <el-table-column
+                        prop="gmtModified"
+                        label="所属医院"
+                        width="150"
+                        :show-overflow-tooltip="true">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="所属模块">
+                </el-table-column>
+                <el-table-column
+                        prop="userName"
+                        label="系统名称">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="显示名称">
+                </el-table-column>
+                <el-table-column
+                        prop="name"
+                        label="包含字段">
+                </el-table-column>
+                <el-table-column
+                        label="操作" width="100">
+                    <template slot-scope="scope">
+                        <el-button type="text" size="small" @click="toEditField(scope.row)">修改</el-button>
+                        <span style="margin:0 3px;">|</span>
+                        <el-button type="text" size="small" class="delete" @click="showDelDialog(scope.row.id)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <el-pagination v-if="total>pageSize"
+                           :current-page.sync="currentPage"
+                           @current-change="currentChange"
+                           background
+                           :page-size="pageSize"
+                           layout="total,prev, pager, next, jumper"
+                           :total="total">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+
+<script>
+  import api from '@api/qualityControl.js';
+
+  export default {
+    name: 'BaseField',
+    data: function () {
+      return {
+        list: [],
+        cacheData: {},
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+        fieldTypes:[],
+        hisTypes:[],
+        filter: {
+          hisType:'',
+          moduleType:'',
+          proName: ''
+        }
+      }
+    },
+    created() {
+      this.getAllTypes();
+      this.getDataList();
+    },
+    methods: {
+      getAllTypes(){
+        if(localStorage.getItem("qcModuleTypes")){
+          this.hisTypes = JSON.parse(localStorage.getItem("qcHospitalTypes"));
+          this.fieldTypes = JSON.parse(localStorage.getItem("qcModuleTypes"));
+          return ;
+        }
+        //获取枚举信息
+        api.getQcTypes().then((res)=>{
+          if(res.data.code==="0"){
+            const data = res.data.data;
+            localStorage.setItem("qcFieldTypes",JSON.stringify(data[11]));
+            localStorage.setItem("qcModuleTypes",JSON.stringify(data[12]));
+            localStorage.setItem("qcHospitalTypes",JSON.stringify(data[13]));
+          }else{
+            this.warning("获取枚举信息失败");
+          }
+        });
+      },
+      toEditField(row){
+        this.$router.push({
+          name:'AddCombineFeild',
+          params: {info:row}
+        })
+      },
+      filterDatas(){
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      getDataList() {
+        const param = this.getFilterItems();
+        api.getDeptInfo(param).then((res) => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.list = data.records;
+            this.cacheData[param.current] = data.records;
+            this.total = data.total;
+          }
+        }).catch((error) => {
+          console.log(error);
+        });
+      },
+      getFilterItems() {
+        const param = {
+          name: this.filter.proName,
+          current: this.currentPage,
+          size: this.pageSize
+        };
+        return param;
+      },
+      indexMethod(index) {
+        return ((this.currentPage - 1) * this.pageSize) + index + 1;
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+          this.list = this.cacheData[next];
+        } else {
+          this.getDataList();
+        }
+      },
+      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(id){
+        this.showConfirmDialog('是否删除该组合字段?',()=>{
+          api.delFieldMatch({id}).then((res)=>{
+            if(res.data.code=='0'){
+              this.warning(res.data.msg||'操作成功','success');
+              this.getDataList();
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      }
+    }
+  }
+</script>
+
+<style lang="less">
+    @import "../../less/admin.less";
+    .delete{
+        color: red !important;
+    }
+</style>

+ 173 - 0
src/components/qualityControl/FieldMatch.vue

@@ -0,0 +1,173 @@
+<template>
+    <div>
+        <crumbs :title="title" :param="$route.params" linkTo="BaseField"></crumbs>
+        <div class="contents">
+            <div class="content">
+            <el-form ref="form" :label-position="labelPosition" label-width="118px" :model="form" :rules="rules">
+                <el-form-item label="所属医院:" prop="hisName">
+                    <el-select v-model="form.hisName"
+                               placeholder="请选择"
+                               size="small"
+                               :disabled="id && !copy?true:false">
+                        <el-option
+                                v-for="item in typeList"
+                                :key="item.key"
+                                :label="item.name"
+                                :value="item.key">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="所属模块:" prop="moduleName">
+                    <el-select v-model="form.moduleName"
+                               placeholder="请选择"
+                               size="small"
+                               :disabled="id && !copy?true:false">
+                        <el-option
+                                v-for="item in typeList"
+                                :key="item.key"
+                                :label="item.name"
+                                :value="item.key">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="系统名称:" prop="tagName">
+                    <el-input type="text" placeholder="请输入系统名称" v-model="form.tagName"></el-input>
+                </el-form-item>
+                <el-form-item label="显示名称:" prop="name">
+                    <el-input type="text" placeholder="请输入显示名称" v-model="form.name"></el-input>
+                </el-form-item>
+                <el-form-item label="取值字段:" prop="value">
+                    <el-input type="text" placeholder="请输入取值字段" v-model="form.value"></el-input>
+                </el-form-item>
+                <el-form-item label="关联缺陷条目:" prop="flawId">
+                    <el-select filterable
+                               v-model="form.flawId"
+                               placeholder="请选择"
+                               size="small"
+                               :disabled="id && !copy?true:false">
+                        <el-option
+                                v-for="item in flawList"
+                                :key="item.key"
+                                :label="item.name"
+                                :value="item.key">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-checkbox v-model="form.breakLine">换行</el-checkbox>
+                    <el-checkbox v-model="form.bold">内容加粗</el-checkbox>
+                    <el-checkbox v-model="form.intent">缩进</el-checkbox>
+                </el-form-item>
+                <el-button class="disclButn" size="small" type="primary" :disabled = 'saveDisable' @click="comfirn('form')">确定</el-button>
+            </el-form>
+        </div>
+        </div>
+    </div>
+</template>
+<script type="text/javascript">
+  import api from '@api/qualityControl.js';
+  export default {
+    name:'FieldMatch',
+    data(){
+      return{
+        // data:{},
+        list:[],
+        labelPosition:'left',
+        isFirst:true,
+        title:'字段映射维护-添加映射字段',
+        form:{
+          name:'',
+          refreshTime:'',
+          remark:'',
+          productType:null
+        },
+        id:null,
+        rules:{
+          hisName:{ required: true, message: '请选择所属医院', trigger: ['blur', 'change']},
+          moduleName:{ required: true, message: '请选择所属模块', trigger: ['blur', 'change']},
+          tagName:{ required: true, message: '请输入系统名称', trigger: ['blur', 'change']},
+          /*name:[{ required: true, message: '请输入显示名称',trigger: ['blur', 'change'] }],*/
+        },
+        copy:null,
+        saveDisable: false,  //保存按钮禁止点击
+        typeList:[]
+      }
+    },
+    created(){
+      let info = this.$route.params.info;
+      this.form = Object.assign({},info);
+      let typeList = JSON.parse(localStorage.getItem("knowledgeEnumsData"));
+      this.typeList = typeList.productTypeEnum;
+    },
+    methods:{
+      comfirn(form){
+        /*if(!this.form.name.trim() || !this.form.refreshTime.trim()){
+          this.$message({
+            message:'请填写相关内容',
+            type:'warning'
+          });
+          return
+        }*/
+        this.$refs[form].validate((valid) => {
+          if (valid) {
+            if(this.id && !this.copy){//修改
+              const param = Object.assign({},this.form,{id:this.id})
+              this.saveDisable = true  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+              api.updateFieldMatch(param).then((res)=>{
+                if(res.data.code==0){
+                  this.$message({
+                    message:"修改成功",
+                    type:'success'
+                  });
+                  //返回带搜索条件的首页
+                  this.$router.push({
+                    name: 'VersionInfo',
+                    params: Object.assign({}, this.$route.params, {currentPage: 1})
+                  });
+                }else{
+                  this.$message({
+                    message:res.data.msg,
+                    type:'warning'
+                  });
+                }
+                this.saveDisable = false
+              })
+            }else{//添加
+              const params = Object.assign({},this.form);
+              this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+              api.addFieldMatch(params).then((res)=>{
+                if(res.data.code==0){
+                  this.$message({
+                    message:"添加成功",
+                    type:'success'
+                  })
+                  this.$router.push({name: 'BaseField'});
+                }else{
+                  this.$message({
+                    message:res.data.msg,
+                    type:'warning'
+                  });
+                }
+                this.saveDisable = false
+              })
+            }
+          } else {
+            return false;
+          }
+        });
+      },
+    }
+  }
+</script>
+<style lang="less" scoped>
+    .content {
+        background: #fff;
+        padding: 20px 20px 50px;
+        color: #545455;
+        min-width: 980px;
+        position: relative;
+    }
+    .el-form-item{
+        width: 600px;
+    }
+</style>

+ 7 - 1
src/routes.js

@@ -122,7 +122,10 @@ import AddRecord from '@components/recordManager/addRecord.vue';
 import ShowRecord from '@components/recordManager/showRecord.vue';
 
 //质控页面数据维护
+import BaseField from '@components/qualityControl/BaseFieldList.vue';
 import FieldMatch from '@components/qualityControl/FieldMatch.vue';
+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';
 
@@ -305,7 +308,10 @@ export default [
       {path: 'LT-BLGL',name:'RecordManager', component: RecordManager},//病历管理
       {path: 'LT-BLGL-TJBLGL',name:'AddRecord', component: AddRecord},//添加病历
       {path: 'LT-BLGL-CKBLGL',name:'ShowRecord', component: ShowRecord},//添加病历
-      {path:'LT-ZKYMSJWH-ZDYSWH',name:'FieldMatch',component: FieldMatch},  //字段映射
+      {path:'LT-ZKYMSJWH-ZDYSWH',name:'BaseField',component: BaseField},  //字段映射
+      {path:'LT-ZKYMSJWH-TJZDYSWH',name:'FieldMatch',component: FieldMatch},  //添加字段映射
+      {path:'LT-ZKYMSJWH-ZHDYWH',name:'CombineFeild',component: CombineFeild},  //组合字段
+      {path:'LT-ZKYMSJWH-TJZHDYWH',name:'AddCombineFeild',component: AddCombineFeild},  //添加组合字段
       {path:'LT-ZKYMSJWH-MBWH',name:'QualityControlTemp',component: QualityControlTemp},  //模板维护
       {path:'LT-ZKYMSJWH-TJMBWH',name:'AddQualityControlTemp',component: AddQualityControlTemp},  //添加模板维护
     ]