Morphone0429 4 роки тому
батько
коміт
2669b7d670

+ 16 - 0
src/api/cdss.js

@@ -460,4 +460,20 @@ export default {
   getResultHighriskDrugPage(param) {
     return axios.post(urls.getResultHighriskDrugPage, param);
   },
+  otherRuleTest(param) {
+    return axios.post(urls.otherRuleTest, param, { timeout: 30 * 60 * 1000 });
+  },
+  getResultHighriskOperationPage(param) {
+    return axios.post(urls.getResultHighriskOperationPage, param);
+  },
+  getResultOtherLisPage(param) {
+    return axios.post(urls.getResultOtherLisPage, param);
+  },
+  getResultOtherPacsPage(param) {
+    return axios.post(urls.getResultOtherPacsPage, param);
+  },
+  getResultOtherTransfusionPage(param) {
+    return axios.post(urls.getResultOtherTransfusionPage, param);
+  },
+  
 };

+ 5 - 0
src/api/config.js

@@ -494,6 +494,11 @@ export default {
     'criticalRuleTest': '/api/cdssman/test/rule/criticalRuleTest',   //危急值规则测试
     'getResultHighriskDrugPage': '/api/cdssman/test/rule/getResultHighriskDrugPage',   //高危药品测试列表
     'highRiskRuleTest': '/api/cdssman/test/rule/highRiskRuleTest',   //高危药品、手术规则测试
+    'getResultHighriskOperationPage': '/api/cdssman/test/rule/getResultHighriskOperationPage',   //高危手术测试列表
+    'getResultOtherLisPage': '/api/cdssman/test/rule/getResultOtherLisPage',   //其他值提醒(化验)测试列表
+    'getResultOtherPacsPage': '/api/cdssman/test/rule/getResultOtherPacsPage',   //其他值提醒(辅检)测试列表
+    'getResultOtherTransfusionPage': '/api/cdssman/test/rule/getResultOtherTransfusionPage',   //其他值提醒(输血)测试列表
+    'otherRuleTest': '/api/cdssman/test/rule/otherRuleTest',   //其他值提醒规则测试
 
   },
   menuIconList: { //菜单对应图标

+ 0 - 8
src/components/testManager/knowledgeMapRule/HighRiskDrugTest.vue

@@ -110,7 +110,6 @@ export default {
   },
   beforeRouteEnter(to, from, next) {
     next(vm => {
-      //const pm = to.param;
       Object.assign(vm, to.params);
       vm.inCurrentPage = to.params.currentPage;
     });
@@ -119,14 +118,7 @@ export default {
     handleInitData() {
       const { data, type } = this.$route.params;
       this.type = type;
-      let highriskType; // 开单合理性规则类型  1  通用  2 输血
-      if (data && data.caseName === '高风险提醒_高危药品规则') {
-        highriskType = 1;
-      } else if (data && data.caseName === '高风险提醒_高危手术规则') {
-        highriskType = 2;
-      }
       return {
-        highriskType,
         resultId: data && data.resultId,
         success: type === 'success' ? 1 : 0
       };

+ 40 - 20
src/components/testManager/knowledgeMapRule/HighRiskOperationTest.vue

@@ -20,37 +20,65 @@
       <el-table :data="list" border>
         <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
         <el-table-column :resizable="false" prop="gmtModified" label="测试时间"></el-table-column>
-        <el-table-column :resizable="false" prop="hisName" label="手术名称(标准术语)" show-overflow-tooltip></el-table-column>
         <el-table-column
           :resizable="false"
-          prop="uniqueName"
+          prop="highriskItemName"
+          label="手术名称(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="highriskItemHisName"
           label="手术名称(医院术语)"
           show-overflow-tooltip
         ></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="手术级别" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项类型" show-overflow-tooltip></el-table-column>
         <el-table-column
           :resizable="false"
-          prop="uniqueName"
+          prop="level"
+          label="手术级别"
+          show-overflow-tooltip
+        ></el-table-column>
+         <el-table-column
+          :resizable="false"
+          prop="factorItemType"
+          label="禁忌项类型"
+          show-overflow-tooltip
+        ></el-table-column>
+         <el-table-column
+          :resizable="false"
+          prop="factorItemName"
           label="禁忌项(标准术语)"
           show-overflow-tooltip
         ></el-table-column>
         <el-table-column
           :resizable="false"
-          prop="uniqueName"
+          prop="factorItemHisName"
           label="禁忌项(医院术语)"
           show-overflow-tooltip
         ></el-table-column>
         <el-table-column
           :resizable="false"
-          prop="uniqueName"
+          prop="inputValue"
           label="禁忌项输入值/结果"
           show-overflow-tooltip
         ></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实际结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="预期结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="测试结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="失败原因" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="output" label="实际结果" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="expectedOutput"
+          label="预期结果"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column label="测试结果">
+          <template slot-scope="scope">{{ scope.row.success === 1 ? '成功' : '失败' }}</template>
+        </el-table-column>
+        <el-table-column
+          v-if="type !== 'success'"
+          :resizable="false"
+          prop="message"
+          label="失败原因"
+          show-overflow-tooltip
+        ></el-table-column>
       </el-table>
       <div class="pagination pagepage">
         <el-pagination
@@ -94,7 +122,6 @@ export default {
   },
   beforeRouteEnter(to, from, next) {
     next(vm => {
-      //const pm = to.param;
       Object.assign(vm, to.params);
       vm.inCurrentPage = to.params.currentPage;
     });
@@ -103,14 +130,7 @@ export default {
     handleInitData() {
       const { data, type } = this.$route.params;
       this.type = type;
-      let highriskType; // 开单合理性规则类型  1  通用  2 输血
-      if (data && data.caseName === '高风险提醒_高危药品规则') {
-        highriskType = 1;
-      } else if (data && data.caseName === '高风险提醒_高危手术规则') {
-        highriskType = 2;
-      }
       return {
-        highriskType,
         resultId: data && data.resultId,
         success: type === 'success' ? 1 : 0
       };
@@ -141,7 +161,7 @@ export default {
         spinner: 'el-icon-loading',
         background: 'rgba(0, 0, 0, 0.7)'
       });
-      api.getResultHighriskDrugPage(params).then(res => {
+      api.getResultHighriskOperationPage(params).then(res => {
         loading.close();
         if (res.data.code === '0') {
           this.list = res.data.data && res.data.data.records;

+ 80 - 31
src/components/testManager/knowledgeMapRule/KnowledgeMapRuleTest.vue

@@ -3,7 +3,12 @@
     <crumbs title="知识图谱规则测试" class="topBack">
       <el-form :inline="true" class="demo-form-inline">
         <el-form-item label class="selectMedicine" style="marginbottom: -1px">
-          <el-select size="mini" v-model="hospitalId" placeholder="选择医院" @change="handleChange">
+          <el-select
+            size="mini"
+            v-model="hospitalId"
+            placeholder="选择医院"
+            @change="handleChange"
+          >
             <el-option
               v-for="item in hospitalData"
               :label="item.name"
@@ -13,7 +18,9 @@
           </el-select>
         </el-form-item>
         <el-form-item style="marginbottom: 0px">
-          <el-button size="mini" @click="exportData">导出图谱中规则未涉及到的医院术语</el-button>
+          <el-button size="mini" @click="exportData"
+            >导出图谱中规则未涉及到的医院术语</el-button
+          >
         </el-form-item>
         <el-form-item style="marginbottom: 0px">
           <el-button size="mini" @click="handleAllTest">所有规则测试</el-button>
@@ -22,18 +29,39 @@
     </crumbs>
     <div style="margin: 60px 20px 0">
       <el-table :data="list" border>
-        <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
-        <el-table-column :resizable="false" prop="caseName" label="规则类型" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="gmtModified" label="测试时间"></el-table-column>
+        <el-table-column
+          :resizable="false"
+          type="index"
+          :index="indexMethod"
+          label="编号"
+          width="80"
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="caseName"
+          label="规则类型"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="gmtModified"
+          label="测试时间"
+        ></el-table-column>
 
-        <el-table-column :resizable="false" prop="ruleNum" label="总条数" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="ruleNum"
+          label="总条数"
+          show-overflow-tooltip
+        ></el-table-column>
         <el-table-column label="成功条数">
           <template slot-scope="scope">
             <el-button
               type="text"
               size="small"
               @click="goToFailedOrSuccessPage(scope.row, 'success')"
-            >{{ scope.row.ruleSuccessNum }}</el-button>
+              >{{ scope.row.ruleSuccessNum }}</el-button
+            >
           </template>
         </el-table-column>
         <el-table-column label="失败条数">
@@ -42,12 +70,15 @@
               type="text"
               size="small"
               @click="goToFailedOrSuccessPage(scope.row, 'failed')"
-            >{{ scope.row.ruleFailedNum }}</el-button>
+              >{{ scope.row.ruleFailedNum }}</el-button
+            >
           </template>
         </el-table-column>
         <el-table-column label="操作">
           <template slot-scope="scope">
-            <el-button type="text" size="small" @click="handleTest(scope.row)">执行测试</el-button>
+            <el-button type="text" size="small" @click="handleTest(scope.row)"
+              >执行测试</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
@@ -65,17 +96,17 @@ export default {
     return {
       list: [],
       hospitalData: [],
-      hospitalId: '' //选中医院
+      hospitalId: '', //选中医院
     };
   },
   created() {
     this._getHospitalInfoCDSS();
     // this.getDataList();
   },
-   beforeRouteEnter(to, from, next) {
-    next(vm => {
-      Object.assign(vm, to.params);     
-      vm.getDataList(to.params.hospitalId)
+  beforeRouteEnter(to, from, next) {
+    next((vm) => {
+      Object.assign(vm, to.params);
+      vm.getDataList(to.params.hospitalId);
       // vm.hospitalId = to.params.hospitalId;
     });
   },
@@ -88,12 +119,13 @@ export default {
       const { caseName, caseId } = row;
       let params = {
         caseId,
-        hospitalId: this.hospitalId
+        hospitalId: this.hospitalId,
       };
       let requestAjax;
       let billType; // 开单合理性规则类型  1  通用  2 输血
       let criticalType; //危急值测试规则类型(1:检验,2:检查)
       let highriskType; //高危测试规则类型(1:药品,2:手术)
+      let otherType; // 其他提醒测试规则类型(1:化验,2:辅检,3:输血)
       if (caseName === '开单合理性提醒_通用规则') {
         billType = 1;
         params = { ...params, billType };
@@ -118,15 +150,26 @@ export default {
         highriskType = 2;
         params = { ...params, highriskType };
         requestAjax = 'highRiskRuleTest';
+      } else if (caseName === '其他提醒_化验规则') {
+        otherType = 1;
+        params = { ...params, otherType };
+        requestAjax = 'otherRuleTest';
+      } else if (caseName === '其他提醒_输血规则') {
+        otherType = 3;
+        params = { ...params, otherType };
+        requestAjax = 'otherRuleTest';
+      } else if (caseName === '其他提醒_辅检规则') {
+        otherType = 2;
+        params = { ...params, otherType };
+        requestAjax = 'otherRuleTest';
       }
 
-      api[requestAjax](params).then(res => {
-        // console.log(res, '测试结果');
+      api[requestAjax](params).then((res) => {
         if (res.data.code === '0' && res.data.data) {
           this.getDataList(this.hospitalId);
           this.$message({
             message: '测试成功',
-            type: 'success'
+            type: 'success',
           });
         } else {
           this.$message.error('测试失败');
@@ -139,16 +182,16 @@ export default {
       if (this.hospitalId === '') {
         this.$message({
           message: '请先选择医院',
-          type: 'warning'
+          type: 'warning',
         });
         return;
       }
-      api.ruleAllTest({ hospitalId: this.hospitalId }).then(res => {
+      api.ruleAllTest({ hospitalId: this.hospitalId }).then((res) => {
         if (res.data.code === '0' && res.data.data) {
           this.getDataList(this.hospitalId);
           this.$message({
             message: '所有规则测试成功',
-            type: 'success'
+            type: 'success',
           });
         } else {
           this.$message.error('所有规则测试失败');
@@ -162,7 +205,7 @@ export default {
       const page = this.handleGoPage(row.caseName);
       this.$router.push({
         name: page,
-        params: { data: { ...row }, type,  hospitalId: this.hospitalId }
+        params: { data: { ...row }, type, hospitalId: this.hospitalId },
       });
     },
     // 处理跳转到的页面
@@ -180,6 +223,12 @@ export default {
           return 'HighRiskDrugTest';
         case '高风险提醒_高危手术规则':
           return 'HighRiskOperationTest';
+        case '其他提醒_化验规则':
+          return 'OtherAssayRuleTest';
+        case '其他提醒_输血规则':
+          return 'OtherFusionRuleTest';
+        case '其他提醒_辅检规则':
+          return 'OtherAuxRuleTest';
         default:
           return null;
       }
@@ -187,7 +236,7 @@ export default {
 
     // 获取医院信息
     _getHospitalInfoCDSS() {
-      api.getHospitalInfo().then(res => {
+      api.getHospitalInfo().then((res) => {
         if (res.data.code === '0') {
           this.hospitalData = res.data && res.data.data;
         }
@@ -203,16 +252,16 @@ export default {
     // 获取列表数据
     getDataList(id) {
       const params = {
-        hospitalId: id
+        hospitalId: id,
       };
       this.searched = true;
       const loading = this.$loading({
         lock: true,
         text: 'Loading',
         spinner: 'el-icon-loading',
-        background: 'rgba(0, 0, 0, 0.7)'
+        background: 'rgba(0, 0, 0, 0.7)',
       });
-      api.getCaseResultList(params).then(res => {
+      api.getCaseResultList(params).then((res) => {
         loading.close();
         if (res.data.code === '0') {
           this.list = res.data && res.data.data;
@@ -224,17 +273,17 @@ export default {
       if (this.hospitalId === '') {
         this.$message({
           message: '请先选择医院',
-          type: 'warning'
+          type: 'warning',
         });
         return;
       }
       this.$alert('确定要导出规则未使用映射关系吗?', '', {
         confirmButtonText: '确定',
         title: '提示',
-        type: 'warning'
+        type: 'warning',
       })
         .then(() => {
-          api.exportRuleExcel({ hospitalId: this.hospitalId }).then(res => {
+          api.exportRuleExcel({ hospitalId: this.hospitalId }).then((res) => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '规则未使用映射关系.xls');
@@ -242,8 +291,8 @@ export default {
           });
         })
         .catch(() => {});
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 91 - 17
src/components/testManager/knowledgeMapRule/OtherAssayRuleTest.vue

@@ -1,7 +1,11 @@
 <template>
   <div>
     <crumbs
-      title="其他提醒-化验规则测试-失败条数"
+      :title="
+        type === 'success'
+          ? '其他提醒-化验规则测试-成功条数'
+          : '其他提醒-化验规则测试-失败条数'
+      "
       class="topBack"
       :param="$route.params"
       linkTo="KnowledgeMapRuleTest"
@@ -13,19 +17,62 @@
       </el-form>
     </crumbs>
     <div style="margin: 60px 20px 0">
-      <el-table :data="list" border >
+      <el-table :data="list" border>
         <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
         <el-table-column :resizable="false" prop="gmtModified" label="测试时间"></el-table-column>
-        <el-table-column :resizable="false" prop="hisName" label="实验室检查名称(标准术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实验室检查名称(医院术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实验室检查数值" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项类型" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项(标准术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项(医院术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实际结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="预期结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="测试结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="失败原因" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="otherItemName"
+          label="实验室检查名称(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="otherItemHisName"
+          label="实验室检查名称(医院术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="otherItemRange"
+          label="实验室检查数值"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="remindItemType"
+          label="禁忌项类型"
+          show-overflow-tooltip
+        ></el-table-column>
+         <el-table-column
+          :resizable="false"
+          prop="remindItemName"
+          label="禁忌项(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="remindItemHisName"
+          label="禁忌项(医院术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column :resizable="false" prop="output" label="实际结果" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="expectedOutput"
+          label="预期结果"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column label="测试结果">
+          <template slot-scope="scope">{{ scope.row.success === 1 ? '成功' : '失败' }}</template>
+        </el-table-column>
+        <el-table-column
+          v-if="type !== 'success'"
+          :resizable="false"
+          prop="message"
+          label="失败原因"
+          show-overflow-tooltip
+        ></el-table-column>
       </el-table>
       <div class="pagination pagepage">
         <el-pagination
@@ -55,11 +102,13 @@ export default {
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
       pageLayout: config.pageLayout,
-      total: 0
+      total: 0,
+      type: ''
     };
   },
   created() {
-    this.getDataList()
+    const params = this.handleInitData();
+    this.getDataList();
     // 非首页 编辑页返回 设置 this.currentPage
     if (Object.keys(this.$route.params).length !== 0) {
       this.currentPage = this.$route.params.currentPage;
@@ -67,12 +116,19 @@ export default {
   },
   beforeRouteEnter(to, from, next) {
     next(vm => {
-      //const pm = to.param;
       Object.assign(vm, to.params);
       vm.inCurrentPage = to.params.currentPage;
     });
   },
   methods: {
+    handleInitData() {
+      const { data, type } = this.$route.params;
+      this.type = type;
+      return {
+        resultId: data && data.resultId,
+        success: type === 'success' ? 1 : 0
+      };
+    },
     indexMethod(index) {
       return (this.currentPage - 1) * this.pageSize + index + 1;
     },
@@ -90,8 +146,26 @@ export default {
       this.getDataList();
     },
 
-    getDataList(){
-
+    getDataList() {
+      const params = this.handleInitData();
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      api.getResultOtherLisPage(params).then(res => {
+        loading.close();
+        if (res.data.code === '0') {
+          this.list = res.data.data && res.data.data.records;
+        }
+        this.total = res.data.data && res.data.data.total;
+        if (this.inCurrentPage !== undefined) {
+          this.currentPage = this.inCurrentPage;
+          this.inCurrentPage = undefined;
+        }
+      });
     },
     // 导出
     exportData() {}

+ 114 - 23
src/components/testManager/knowledgeMapRule/OtherAuxRuleTest.vue

@@ -1,31 +1,95 @@
 <template>
   <div>
     <crumbs
-      title="其他提醒-辅检规则测试-失败条数"
+      :title="
+        type === 'success'
+          ? '其他提醒-辅检规则测试-成功条数'
+          : '其他提醒-辅检规则测试-失败条数'
+      "
       class="topBack"
       :param="$route.params"
       linkTo="KnowledgeMapRuleTest"
     >
       <el-form :inline="true" class="demo-form-inline">
-        <el-form-item style="marginBottom: 0px">
+        <el-form-item style="marginbottom: 0px">
           <el-button size="mini" @click="exportData">导出</el-button>
         </el-form-item>
       </el-form>
     </crumbs>
     <div style="margin: 60px 20px 0">
-      <el-table :data="list" border >
-        <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
-        <el-table-column :resizable="false" prop="gmtModified" label="测试时间"></el-table-column>
-        <el-table-column :resizable="false" prop="hisName" label="检查结果描述(标准术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="检查结果描述(医院术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项类型" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项(标准术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项(医院术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项输入值/结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实际结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="预期结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="测试结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="失败原因" show-overflow-tooltip></el-table-column>
+      <el-table :data="list" border>
+        <el-table-column
+          :resizable="false"
+          type="index"
+          :index="indexMethod"
+          label="编号"
+          width="80"
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="gmtModified"
+          label="测试时间"
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="remindItemName"
+          label="检查结果描述(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+         <el-table-column
+          :resizable="false"
+          prop="gender"
+          label="性别"
+          show-overflow-tooltip
+        ></el-table-column>
+         <el-table-column
+          :resizable="false"
+          prop="ageRange"
+          label="年龄"
+          show-overflow-tooltip
+        ></el-table-column>
+       
+        <el-table-column
+          :resizable="false"
+          prop="remindItemType"
+          label="禁忌项类型"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="remindItemName"
+          label="禁忌项(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="remindItemHisName"
+          label="禁忌项(医院术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="inputAge"
+          label="禁忌项输入值/结果"
+          show-overflow-tooltip
+        ></el-table-column>
+       <el-table-column :resizable="false" prop="output" label="实际结果" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="expectedOutput"
+          label="预期结果"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column label="测试结果">
+          <template slot-scope="scope">{{ scope.row.success === 1 ? '成功' : '失败' }}</template>
+        </el-table-column>
+        <el-table-column
+          v-if="type !== 'success'"
+          :resizable="false"
+          prop="message"
+          label="失败原因"
+          show-overflow-tooltip
+        ></el-table-column>
       </el-table>
       <div class="pagination pagepage">
         <el-pagination
@@ -55,24 +119,33 @@ export default {
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
       pageLayout: config.pageLayout,
-      total: 0
+      total: 0,
+      type: '',
     };
   },
   created() {
-    this.getDataList()
+    const params = this.handleInitData();
+    this.getDataList();
     // 非首页 编辑页返回 设置 this.currentPage
     if (Object.keys(this.$route.params).length !== 0) {
       this.currentPage = this.$route.params.currentPage;
     }
   },
   beforeRouteEnter(to, from, next) {
-    next(vm => {
-      //const pm = to.param;
+    next((vm) => {
       Object.assign(vm, to.params);
       vm.inCurrentPage = to.params.currentPage;
     });
   },
   methods: {
+    handleInitData() {
+      const { data, type } = this.$route.params;
+      this.type = type;
+      return {
+        resultId: data && data.resultId,
+        success: type === 'success' ? 1 : 0,
+      };
+    },
     indexMethod(index) {
       return (this.currentPage - 1) * this.pageSize + index + 1;
     },
@@ -90,12 +163,30 @@ export default {
       this.getDataList();
     },
 
-    getDataList(){
-
+    getDataList() {
+      const params = this.handleInitData();
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)',
+      });
+      api.getResultOtherPacsPage(params).then((res) => {
+        loading.close();
+        if (res.data.code === '0') {
+          this.list = res.data.data && res.data.data.records;
+        }
+        this.total = res.data.data && res.data.data.total;
+        if (this.inCurrentPage !== undefined) {
+          this.currentPage = this.inCurrentPage;
+          this.inCurrentPage = undefined;
+        }
+      });
     },
     // 导出
-    exportData() {}
-  }
+    exportData() {},
+  },
 };
 </script>
 

+ 91 - 17
src/components/testManager/knowledgeMapRule/OtherFusionRuleTest.vue

@@ -1,7 +1,11 @@
 <template>
   <div>
     <crumbs
-      title="其他提醒-输血规则测试-失败条数"
+      :title="
+        type === 'success'
+          ? '其他提醒-输血规则测试-成功条数'
+          : '其他提醒-输血规则测试-失败条数'
+      "
       class="topBack"
       :param="$route.params"
       linkTo="KnowledgeMapRuleTest"
@@ -13,19 +17,62 @@
       </el-form>
     </crumbs>
     <div style="margin: 60px 20px 0">
-      <el-table :data="list" border >
+      <el-table :data="list" border>
         <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
         <el-table-column :resizable="false" prop="gmtModified" label="测试时间"></el-table-column>
-        <el-table-column :resizable="false" prop="hisName" label="实验室检查名称(标准术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实验室检查名称(医院术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实验室检查数值" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项类型" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项(标准术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="禁忌项(医院术语)" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="实际结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="预期结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="测试结果" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueName" label="失败原因" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="otherItemName"
+          label="实验室检查名称(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="otherItemHisName"
+          label="实验室检查名称(医院术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="otherItemInputValue"
+          label="实验室检查数值"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="conflictItemType"
+          label="禁忌项类型"
+          show-overflow-tooltip
+        ></el-table-column>
+         <el-table-column
+          :resizable="false"
+          prop="conflictItemName"
+          label="禁忌项(标准术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="conflictItemHisName"
+          label="禁忌项(医院术语)"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column :resizable="false" prop="output" label="实际结果" show-overflow-tooltip></el-table-column>
+        <el-table-column
+          :resizable="false"
+          prop="expectedOutput"
+          label="预期结果"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column label="测试结果">
+          <template slot-scope="scope">{{ scope.row.success === 1 ? '成功' : '失败' }}</template>
+        </el-table-column>
+        <el-table-column
+          v-if="type !== 'success'"
+          :resizable="false"
+          prop="message"
+          label="失败原因"
+          show-overflow-tooltip
+        ></el-table-column>
       </el-table>
       <div class="pagination pagepage">
         <el-pagination
@@ -55,11 +102,13 @@ export default {
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
       pageLayout: config.pageLayout,
-      total: 0
+      total: 0,
+      type: ''
     };
   },
   created() {
-    this.getDataList()
+    const params = this.handleInitData();
+    this.getDataList();
     // 非首页 编辑页返回 设置 this.currentPage
     if (Object.keys(this.$route.params).length !== 0) {
       this.currentPage = this.$route.params.currentPage;
@@ -67,12 +116,19 @@ export default {
   },
   beforeRouteEnter(to, from, next) {
     next(vm => {
-      //const pm = to.param;
       Object.assign(vm, to.params);
       vm.inCurrentPage = to.params.currentPage;
     });
   },
   methods: {
+    handleInitData() {
+      const { data, type } = this.$route.params;
+      this.type = type;
+      return {
+        resultId: data && data.resultId,
+        success: type === 'success' ? 1 : 0
+      };
+    },
     indexMethod(index) {
       return (this.currentPage - 1) * this.pageSize + index + 1;
     },
@@ -90,8 +146,26 @@ export default {
       this.getDataList();
     },
 
-    getDataList(){
-
+    getDataList() {
+      const params = this.handleInitData();
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      api.getResultOtherTransfusionPage(params).then(res => {
+        loading.close();
+        if (res.data.code === '0') {
+          this.list = res.data.data && res.data.data.records;
+        }
+        this.total = res.data.data && res.data.data.total;
+        if (this.inCurrentPage !== undefined) {
+          this.currentPage = this.inCurrentPage;
+          this.inCurrentPage = undefined;
+        }
+      });
     },
     // 导出
     exportData() {}