瀏覽代碼

术语映射接口修改

wyq 4 年之前
父節點
當前提交
aed7c59242

+ 12 - 0
src/api/cdss.js

@@ -711,4 +711,16 @@ export default {
   updateRunningStatus(param) {
     return axios.post(urls.updateRunningStatus, param);
   },
+
+
+
+  getRelatedMapping(param) {
+    //查询已映射关系
+    return axios.post(urls.getRelatedMapping, param);
+  },
+  getTermMatching(param) {
+    //推荐匹配
+    return axios.post(urls.getTermMatching, param);
+  },
+  
 };

+ 127 - 124
src/api/config.js

@@ -4,7 +4,7 @@ const testUrl = ''
 export default {
   host: 'http://192.168.2.121:5050',
   // imgHost: 'http://192.168.2.121:82',      //富文本编辑器图片回传地址
-  imgHost:'http://192.168.2.241:82',      //富文本编辑器图片回传地址
+  imgHost: 'http://192.168.2.241:82',      //富文本编辑器图片回传地址
   delayTime: 500,
   urls: {
     /* 登录注册相关接口 */
@@ -365,116 +365,119 @@ export default {
     'getMappingListPageCDSS': '/api/cdssman/hospitalInfo/getMappingListPage',  //获取术语映射统计列表
 
     'retrievalSearchCDSS': '/api/cdssman/demo/retrieval/index',   //术语检索
-    'getLisMappingPageCDSS': '/api/cdssman/tran/diseaseConfig/getPage', //诊断列表
-    'diseaseIsExistRecordCDSS': '/api/cdssman/tran/diseaseConfig/isExistRecord',   //诊断-映射关系是否已存在
-    'saveOrUpdateDiseaseRecordCDSS': '/api/cdssman/tran/diseaseConfig/saveOrUpdateRecord',   //诊断-保存或修改映射关系
-    'deleteDiseaseRecordCDSS': '/api/cdssman/tran/diseaseConfig/deleteRecord',   //诊断-删除映射关系
-    'exportDiseaseRecordCDSS': '/api/cdssman/tran/diseaseConfig/exportExcel',   //诊断-数据导出
-    'importDiseaseRecordCDSS': '/api/cdssman/tran/diseaseConfig/importExcel',   //诊断-数据导入
-    'exportDiseaseModuleCDSS': '/api/cdssman/tran/diseaseConfig/exportExcelModule',
-    'precDiseaseDataMatch': '/api/cdssman/tran/diseaseConfig/precDataMatch',
-    'dataDiseaseVerify': '/api/cdssman/tran/diseaseConfig/dataVerify',
-
-    'getLisPageCDSS': '/api/cdssman/tran/lisConfig/getPage',   //检验列表
-    'lisIsExistRecordCDSS': '/api/cdssman/tran/lisConfig/isExistRecord',   //检验-映射关系是否已存在
-    'saveOrUpdateLisRecordCDSS': '/api/cdssman/tran/lisConfig/saveOrUpdateRecord',   //检验-保存或修改映射关系
-    'deleteLisRecordCDSS': '/api/cdssman/tran/lisConfig/deleteRecord',   //检验-删除映射关系
-    'exportLisRecordCDSS': '/api/cdssman/tran/lisConfig/exportExcel',   //检验-数据导出
-    'importLisRecordCDSS': '/api/cdssman/tran/lisConfig/importExcel',   //检验-数据导入
-    'exportLisModuleCDSS': '/api/cdssman/tran/lisConfig/exportExcelModule',
-    'precLisDataMatch': '/api/cdssman/tran/lisConfig/precDataMatch',
-    'dataLisVerify': '/api/cdssman/tran/lisConfig/dataVerify',
-
-    'getpacsPageCDSS': '/api/cdssman/tran/pacsConfig/getPage',   //检查列表
-    'pacsIsExistRecordCDSS': '/api/cdssman/tran/pacsConfig/isExistRecord',   //检查-映射关系是否已存在
-    'saveOrUpdatePacsRecordCDSS': '/api/cdssman/tran/pacsConfig/saveOrUpdateRecord',   //检查-保存或修改映射关系
-    'deletePacsRecordCDSS': '/api/cdssman/tran/pacsConfig/deleteRecord',   //检查-删除映射关系
-    'exportPacsRecordCDSS': '/api/cdssman/tran/pacsConfig/exportExcel',   //检查-数据导出
-    'importPacsRecordCDSS': '/api/cdssman/tran/pacsConfig/importExcel',   //检查-数据导入
-    'exportPacsModuleCDSS': '/api/cdssman/tran/pacsConfig/exportExcelModule',
-    'precPacsDataMatch': '/api/cdssman/tran/pacsConfig/precDataMatch',
-    'dataPacsVerify': '/api/cdssman/tran/pacsConfig/dataVerify',
-
-    'getDrugPageCDSS': '/api/cdssman/tran/drugConfig/getPage',   //药品列表
-    'drugIsExistRecordCDSS': '/api/cdssman/tran/drugConfig/isExistRecord',   //药品-映射关系是否已存在
-    'saveOrUpdateDrugRecordCDSS': '/api/cdssman/tran/drugConfig/saveOrUpdateRecord',   //药品-保存或修改映射关系
-    'deleteDrugRecordCDSS': '/api/cdssman/tran/drugConfig/deleteRecord',   //药品-删除映射关系
-    'exportDrugRecordCDSS': '/api/cdssman/tran/drugConfig/exportExcel',   //药品-数据导出
-    'importDrugRecordCDSS': '/api/cdssman/tran/drugConfig/importExcel',   //药品-数据导入
-    'exportDrugModuleCDSS': '/api/cdssman/tran/drugConfig/exportExcelModule',
-    'precDrugDataMatch': '/api/cdssman/tran/drugConfig/precDataMatch',
-    'dataDrugVerify': '/api/cdssman/tran/drugConfig/dataVerify',
-
-      'getScalePageCDSS': '/api/cdssman/tran/scaleConfig/getPage',   //量表列表
-      'scaleIsExistRecordCDSS': '/api/cdssman/tran/scaleConfig/isExistRecord',   //量表-映射关系是否已存在
-      'saveOrUpdateScaleRecordCDSS': '/api/cdssman/tran/scaleConfig/saveOrUpdateRecord',   //量表-保存或修改映射关系
-      'deleteScaleRecordCDSS': '/api/cdssman/tran/scaleConfig/deleteRecord',   //量表-删除映射关系
-      'exportScaleRecordCDSS': '/api/cdssman/tran/scaleConfig/exportExcel',   //量表-数据导出
-      'importScaleRecordCDSS': '/api/cdssman/tran/scaleConfig/importExcel',   //量表-数据导入
-      'exportScaleModuleCDSS': '/api/cdssman/tran/scaleConfig/exportExcelModule',
-      'precScaleDataMatch': '/api/cdssman/tran/scaleConfig/precDataMatch',
-      'dataScaleVerify': '/api/cdssman/tran/scaleConfig/dataVerify',
-
-    'getOperationPageCDSS': '/api/cdssman/tran/operationConfig/getPage',   //手术/操作列表
-    'operationIsExistRecordCDSS': '/api/cdssman/tran/operationConfig/isExistRecord',   //手术/操作-映射关系是否已存在
-    'saveOrUpdateOperationRecordCDSS': '/api/cdssman/tran/operationConfig/saveOrUpdateRecord',   //手术/操作-保存或修改映射关系
-    'deleteOperationRecordCDSS': '/api/cdssman/tran/operationConfig/deleteRecord',   //手术/操作-删除映射关系
-    'exportOperationRecordCDSS': '/api/cdssman/tran/operationConfig/exportExcel',   //手术/操作-数据导出
-    'importOperationRecordCDSS': '/api/cdssman/tran/operationConfig/importExcel',   //手术/操作-数据导入
-    'exportOperationModuleCDSS': '/api/cdssman/tran/operationConfig/exportExcelModule',
-    'precOperationDataMatch': '/api/cdssman/tran/operationConfig/precDataMatch',
-    'dataOperationVerify': '/api/cdssman/tran/operationConfig/dataVerify',
-
-    'getFusionPageCDSS': '/api/cdssman/tran/transfusionConfig/getPage',   //输血列表
-    'fusionIsExistRecordCDSS': '/api/cdssman/tran/transfusionConfig/isExistRecord',   //输血-映射关系是否已存在
-    'saveOrUpdateFusionRecordCDSS': '/api/cdssman/tran/transfusionConfig/saveOrUpdateRecord',   //输血-保存或修改映射关系
-    'deleteFusionRecordCDSS': '/api/cdssman/tran/transfusionConfig/deleteRecord',   //输血-删除映射关系
-    'exportFusionRecordCDSS': '/api/cdssman/tran/transfusionConfig/exportExcel',   //输血-数据导出
-    'importFusionRecordCDSS': '/api/cdssman/tran/transfusionConfig/importExcel',   //输血-数据导入
-    'exportFusionModuleCDSS': '/api/cdssman/tran/transfusionConfig/exportExcelModule',
-    'precFusionDataMatch': '/api/cdssman/tran/transfusionConfig/precDataMatch',
-    'dataFusionVerify': '/api/cdssman/tran/transfusionConfig/dataVerify',
-
-    'getDeptPageCDSS': '/api/cdssman/tran/deptConfig/getPage',   //科室列表
-    'deptIsExistRecordCDSS': '/api/cdssman/tran/deptConfig/isExistRecord',   //科室-映射关系是否已存在
-    'saveOrUpdateDeptRecordCDSS': '/api/cdssman/tran/deptConfig/saveOrUpdateRecord',   //科室-保存或修改映射关系
-    'deleteDeptRecordCDSS': '/api/cdssman/tran/deptConfig/deleteRecord',   //科室-删除映射关系
-    'exportDeptRecordCDSS': '/api/cdssman/tran/deptConfig/exportExcel',   //科室-数据导出
-    'importDeptRecordCDSS': '/api/cdssman/tran/deptConfig/importExcel',   //科室-数据导入
-    'exportDeptModuleCDSS': '/api/cdssman/tran/deptConfig/exportExcelModule',   //科室-数据导入模板导出
-    'precDeptDataMatch': '/api/cdssman/tran/deptConfig/precDataMatch',
-    'dataDeptVerify': '/api/cdssman/tran/deptConfig/dataVerify',
-    
-    'getNursePage': '/api/cdssman/tran/nurseConfig/getPage',   //护理列表
-    'nurseIsExistRecord': '/api/cdssman/tran/nurseConfig/isExistRecord',   //护理-映射关系是否已存在
-    'saveOrUpdateRecord': '/api/cdssman/tran/nurseConfig/saveOrUpdateRecord',   //护理列表添加
-    'deleteNurseRecord': '/api/cdssman/tran/nurseConfig/deleteRecord',   //护理-删除映射关系
-    'exportNurseRecord': '/api/cdssman/tran/nurseConfig/exportExcel',   //护理-数据导出
-    'importNurseRecord': '/api/cdssman/tran/nurseConfig/importExcel',   //检验-数据导入
-    'exportNurseModule': '/api/cdssman/tran/nurseConfig/exportExcelModule',   //护理-数据导入模板导出
-    'precNurseDataMatch': '/api/cdssman/tran/nurseConfig/precDataMatch',
-    'dataNurseVerify': '/api/cdssman/tran/nurseConfig/dataVerify',
-
-
-    'getTcmdiseasePage': '/api/cdssman/tran/tcmdiseaseConfig/getPage',   //中医疾病列表
-    'tcmIsExistRecord': '/api/cdssman/tran/tcmdiseaseConfig/isExistRecord',   //中医疾病-映射关系是否已存在
-    'saveOrUpdateRecordTcm': '/api/cdssman//tran/tcmdiseaseConfig/saveOrUpdateRecord',   //护理列表添加
-    'deleteTcmRecord': '/api/cdssman/tran/tcmdiseaseConfig/deleteRecord',   //中医疾病-删除映射关系
-    'exportTcmRecord': '/api/cdssman/tran/tcmdiseaseConfig/exportExcel',   //中医疾病-数据导出
-    'importTcmRecord': '/api/cdssman/tran/tcmdiseaseConfig/importExcel',   //检验-数据导入
-    'exportTcmModule': '/api/cdssman/tran/tcmdiseaseConfig/exportExcelModule',   //护理-数据导入模板导出
-    'precTcmDataMatch': '/api/cdssman/tran/tcmdiseaseConfig/precDataMatch',
-    'dataTcmVerify': '/api/cdssman/tran/tcmdiseaseConfig/dataVerify',
-
-    'getTcmsyndromePage': '/api/cdssman/tran/tcmsyndromeConfig/getPage',   //中医证候列表
-    'tcmdromeIsExistRecord': '/api/cdssman/tran/tcmsyndromeConfig/isExistRecord',   //中医证候-映射关系是否已存在
-    'saveOrUpdateRecordTcmdrome': '/api/cdssman//tran/tcmsyndromeConfig/saveOrUpdateRecord',   //中医证候列表添加
-    'deleteTcmdromeRecord': '/api/cdssman/tran/tcmsyndromeConfig/deleteRecord',
-    'exportTcmdromeRecord': '/api/cdssman/tran/tcmsyndromeConfig/exportExcel',   //中医证候-数据导出
-    'importTcmdromeRecord': '/api/cdssman/tran/tcmsyndromeConfig/importExcel',   //中医证候-数据导入
-    'exportTcmdromeModule': '/api/cdssman/tran/tcmsyndromeConfig/exportExcelModule',   //中医证候-数据导入模板导出
-    'precTcmdromeDataMatch': '/api/cdssman/tran/tcmsyndromeConfig/precDataMatch',
-    'dataTcmdromeVerify': '/api/cdssman/tran/tcmsyndromeConfig/dataVerify',
+    'getLisMappingPageCDSS': '/api/cdssman/tran/mappingConfig/getPage', //诊断列表
+    'diseaseIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //诊断-映射关系是否已存在
+    'saveOrUpdateDiseaseRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //诊断-保存或修改映射关系
+    'deleteDiseaseRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //诊断-删除映射关系
+    'exportDiseaseRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //诊断-数据导出
+    'importDiseaseRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //诊断-数据导入
+    'exportDiseaseModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precDiseaseDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataDiseaseVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getLisPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //检验列表
+    'lisIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //检验-映射关系是否已存在
+    'saveOrUpdateLisRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //检验-保存或修改映射关系
+    'deleteLisRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //检验-删除映射关系
+    'exportLisRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //检验-数据导出
+    'importLisRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //检验-数据导入
+    'exportLisModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precLisDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataLisVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getpacsPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //检查列表
+    'pacsIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //检查-映射关系是否已存在
+    'saveOrUpdatePacsRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //检查-保存或修改映射关系
+    'deletePacsRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //检查-删除映射关系
+    'exportPacsRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //检查-数据导出
+    'importPacsRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //检查-数据导入
+    'exportPacsModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precPacsDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataPacsVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getDrugPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //药品列表
+    'drugIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //药品-映射关系是否已存在
+    'saveOrUpdateDrugRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //药品-保存或修改映射关系
+    'deleteDrugRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //药品-删除映射关系
+    'exportDrugRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //药品-数据导出
+    'importDrugRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //药品-数据导入
+    'exportDrugModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precDrugDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataDrugVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getScalePageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //量表列表
+    'scaleIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //量表-映射关系是否已存在
+    'saveOrUpdateScaleRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //量表-保存或修改映射关系
+    'deleteScaleRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //量表-删除映射关系
+    'exportScaleRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //量表-数据导出
+    'importScaleRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //量表-数据导入
+    'exportScaleModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precScaleDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataScaleVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getOperationPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //手术/操作列表
+    'operationIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //手术/操作-映射关系是否已存在
+    'saveOrUpdateOperationRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //手术/操作-保存或修改映射关系
+    'deleteOperationRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //手术/操作-删除映射关系
+    'exportOperationRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //手术/操作-数据导出
+    'importOperationRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //手术/操作-数据导入
+    'exportOperationModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precOperationDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataOperationVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getFusionPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //输血列表
+    'fusionIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //输血-映射关系是否已存在
+    'saveOrUpdateFusionRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //输血-保存或修改映射关系
+    'deleteFusionRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //输血-删除映射关系
+    'exportFusionRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //输血-数据导出
+    'importFusionRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //输血-数据导入
+    'exportFusionModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',
+    'precFusionDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataFusionVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getDeptPageCDSS': '/api/cdssman/tran/mappingConfig/getPage',   //科室列表
+    'deptIsExistRecordCDSS': '/api/cdssman/tran/mappingConfig/isExistRecord',   //科室-映射关系是否已存在
+    'saveOrUpdateDeptRecordCDSS': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //科室-保存或修改映射关系
+    'deleteDeptRecordCDSS': '/api/cdssman/tran/mappingConfig/deleteRecord',   //科室-删除映射关系
+    'exportDeptRecordCDSS': '/api/cdssman/tran/mappingConfig/exportExcel',   //科室-数据导出
+    'importDeptRecordCDSS': '/api/cdssman/tran/mappingConfig/importExcel',   //科室-数据导入
+    'exportDeptModuleCDSS': '/api/cdssman/tran/mappingConfig/exportExcelModule',   //科室-数据导入模板导出
+    'precDeptDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataDeptVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getNursePage': '/api/cdssman/tran/mappingConfig/getPage',   //护理列表
+    'nurseIsExistRecord': '/api/cdssman/tran/mappingConfig/isExistRecord',   //护理-映射关系是否已存在
+    'saveOrUpdateRecord': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //护理列表添加
+    'deleteNurseRecord': '/api/cdssman/tran/mappingConfig/deleteRecord',   //护理-删除映射关系
+    'exportNurseRecord': '/api/cdssman/tran/mappingConfig/exportExcel',   //护理-数据导出
+    'importNurseRecord': '/api/cdssman/tran/mappingConfig/importExcel',   //检验-数据导入
+    'exportNurseModule': '/api/cdssman/tran/mappingConfig/exportExcelModule',   //护理-数据导入模板导出
+    'precNurseDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataNurseVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+
+    'getTcmdiseasePage': '/api/cdssman/tran/mappingConfig/getPage',   //中医疾病列表
+    'tcmIsExistRecord': '/api/cdssman/tran/mappingConfig/isExistRecord',   //中医疾病-映射关系是否已存在
+    'saveOrUpdateRecordTcm': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //护理列表添加
+    'deleteTcmRecord': '/api/cdssman/tran/mappingConfig/deleteRecord',   //中医疾病-删除映射关系
+    'exportTcmRecord': '/api/cdssman/tran/mappingConfig/exportExcel',   //中医疾病-数据导出
+    'importTcmRecord': '/api/cdssman/tran/mappingConfig/importExcel',   //检验-数据导入
+    'exportTcmModule': '/api/cdssman/tran/mappingConfig/exportExcelModule',   //护理-数据导入模板导出
+    'precTcmDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataTcmVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getTcmsyndromePage': '/api/cdssman/tran/mappingConfig/getPage',   //中医证候列表
+    'tcmdromeIsExistRecord': '/api/cdssman/tran/mappingConfig/isExistRecord',   //中医证候-映射关系是否已存在
+    'saveOrUpdateRecordTcmdrome': '/api/cdssman/tran/mappingConfig/saveOrUpdateRecord',   //中医证候列表添加
+    'deleteTcmdromeRecord': '/api/cdssman/tran/mappingConfig/deleteRecord',
+    'exportTcmdromeRecord': '/api/cdssman/tran/mappingConfig/exportExcel',   //中医证候-数据导出
+    'importTcmdromeRecord': '/api/cdssman/tran/mappingConfig/importExcel',   //中医证候-数据导入
+    'exportTcmdromeModule': '/api/cdssman/tran/mappingConfig/exportExcelModule',   //中医证候-数据导入模板导出
+    'precTcmdromeDataMatch': '/api/cdssman/tran/mappingConfig/precDataMatch',
+    'dataTcmdromeVerify': '/api/cdssman/tran/mappingConfig/dataVerify',
+
+    'getRelatedMapping': '/api/cdssman/tran/mappingConfig/getRelatedMapping',//查询映射关联
+    'getTermMatching': '/api/cdssman/term/termMatching',//查询推荐匹配
 
 
     // 'saveHospitalInfoRecordCDSS': '/api/cdssman/tran/hospitalInfo/saveRecord',   //医院信息——修改医院信息
@@ -528,11 +531,11 @@ export default {
     'getKlmEnumsDataCDSS': '/api/cdssman/getKlmEnumsData',   //枚举数据获取
 
 
-    'getCaseResultList': '/api/cdssman/test/rule/getCaseResultList', 
-    'billRuleTest': '/api/cdssman/test/rule/billRuleTest',   
-    'getResultBillPage': '/api/cdssman/test/rule/getResultBillPage', 
-    'exportRuleExcel': '/api/cdssman/test/rule/exportExcel', 
-    'ruleAllTest': '/api/cdssman/test/rule/ruleTest', 
+    'getCaseResultList': '/api/cdssman/test/rule/getCaseResultList',
+    'billRuleTest': '/api/cdssman/test/rule/billRuleTest',
+    'getResultBillPage': '/api/cdssman/test/rule/getResultBillPage',
+    'exportRuleExcel': '/api/cdssman/test/rule/exportExcel',
+    'ruleAllTest': '/api/cdssman/test/rule/ruleTest',
     'getResultCriticalPage': '/api/cdssman/test/rule/getResultCriticalPage',   //危急值测试列表
     'criticalRuleTest': '/api/cdssman/test/rule/criticalRuleTest',   //危急值规则测试
     'getResultHighriskDrugPage': '/api/cdssman/test/rule/getResultHighriskDrugPage',   //高危药品测试列表
@@ -542,7 +545,7 @@ export default {
     'getResultOtherPacsPage': '/api/cdssman/test/rule/getResultOtherPacsPage',   //其他值提醒(辅检)测试列表
     'getResultOtherTransfusionPage': '/api/cdssman/test/rule/getResultOtherTransfusionPage',   //其他值提醒(输血)测试列表
     'otherRuleTest': '/api/cdssman/test/rule/otherRuleTest',   //其他值提醒规则测试
-    
+
     'billExportExcel': '/api/cdssman/test/rule/billExportExcel',   //开单合理性规则测试结果导出
     'criticalExportExcel': '/api/cdssman/test/rule/criticalExportExcel',   //危急值规则测试结果导出
     'highriskDrugExportExcel': '/api/cdssman/test/rule/highriskDrugExportExcel',   //高危药品规则测试结果导出
@@ -602,13 +605,13 @@ export default {
     'saveBaseOrUpdateRecord': '/api/cdssman/kl/conceptInfo/saveOrUpdateRecord',
     'staticKnowledgeBaseInfo': '/api/cdssman/kl/conceptInfo/staticKnowledgeIndexWithoutInfo',
     //规则测试相关
-    'allRuleTest':'/api/cdssman/test/rule/allRuleTest',
-    'autoGetCaseResultList':'/api/cdssman/test/rule/getCaseResultList',
-    'getDroplistData':'/api/cdssman/test/rule/getDroplistData',
-    'getResultRulePage':'/api/cdssman/test/rule/getResultRulePage',
-    'ruleExportExcel':'/api/cdssman/test/rule/ruleExportExcel',
-    'autoRuleTest':'/api/cdssman/test/rule/ruleTest',
-    'clearDrug':'/api/cdssman/cache/clearDrug',
+    'allRuleTest': '/api/cdssman/test/rule/allRuleTest',
+    'autoGetCaseResultList': '/api/cdssman/test/rule/getCaseResultList',
+    'getDroplistData': '/api/cdssman/test/rule/getDroplistData',
+    'getResultRulePage': '/api/cdssman/test/rule/getResultRulePage',
+    'ruleExportExcel': '/api/cdssman/test/rule/ruleExportExcel',
+    'autoRuleTest': '/api/cdssman/test/rule/ruleTest',
+    'clearDrug': '/api/cdssman/cache/clearDrug',
     //药品维护
     'getPageList': '/api/cdssman/klDrugRegister/getPage',
     'getsearchDrug': '/api/cdssman/klDrugRegister/searchDrug',

+ 1 - 1
src/api/index.js

@@ -3,7 +3,7 @@ import config from './config.js';
 
 axios.default.timeout = 500000;
 axios.defaults.headers.post['Content-Type'] = "application/json;charset=utf-8";
- //axios.defaults.baseURL = 'http://192.168.2.236:5050';
+ axios.defaults.baseURL = 'http://192.168.2.236:5050';
 // axios.defaults.baseURL = 'http://192.168.2.241';
 // axios.defaults.baseURL = 'http://192.168.3.117:5050';
 

+ 701 - 79
src/components/base/LtModal.vue

@@ -1,98 +1,720 @@
-<!----通用弹窗组件---->
 <template>
-    <div class="modal-container">
-        <div class="cover"></div>
-        <div class="modal-box">
-            <div class="modal-title">
-                <a class="close" @click="close()">×</a>
+  <div class="modal-container">
+    <div class="cover"></div>
+    <div class="modal-box">
+      <div class="modal-title">
+        <a class="close" @click="closeModal()">×</a>
+      </div>
+      <div class="modal-body">
+        <el-form
+          :model="form"
+          :rules="rules"
+          label-position="right"
+          label-width="145px"
+          ref="relationForm"
+        >
+          <div class="AddChemicalAndCommonMappingBox clearfix">
+            <div class="titleBox clearfix">
+              <p class="title">医院术语</p>
+              <p class="title">标准术语</p>
             </div>
-            <div class="modal-body">
-                <slot></slot>
+            <div class="leftBox clearfix">
+              <el-row>
+                <el-col :span="16">
+                  <el-form-item :label="meal+':'" prop="hisName">
+                    <el-input
+                      v-model.trim="form.hisName"
+                      clearable
+                      style="minWidth: 240px"
+                      @input="onchange"
+                      @blur="onblur"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item :label="meal+'预览:'">
+                    <span class="previewInfo" style="minWidth: 240px">{{form.hisName}}</span>
+                  </el-form-item>
+                  <el-form-item label="科室编码:" prop="hisCode" v-if="type==7">
+                    <el-input v-model.trim="form.hisCode" clearable style="minWidth: 240px"></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="16" v-if="type == 1">
+                  <el-form-item :label="detail+':'" prop="hisDetailName">
+                    <el-input
+                      v-model.trim="form.hisDetailName"
+                      clearable
+                      style="minWidth: 240px"
+                      @input="onchange"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item :label="detail+'预览:'">
+                    <span class="previewInfo" style="minWidth: 240px">{{form.hisDetailName}}</span>
+                  </el-form-item>
+                </el-col>
+              </el-row>
             </div>
-            <div class="modal-footer">
-                <a class="confirm btn" @click="confirm()">确定</a>
-                <a class="cancel btn" @click="close()">取消</a>
+            <div class="midBox">
+              <img class="midLogo" src="../../images/relation.png" alt />
+              <p class="midTitle">相互关联</p>
             </div>
-        </div>
+            <div class="rightBox">
+              <el-row>
+                <el-col :span="16">
+                  <el-form-item :label="standard+':'" prop="searchText">
+                    <el-select
+                      style="width:100%;minWidth: 240px"
+                      v-model="form.searchText"
+                      filterable
+                      remote
+                      clearable
+                      :loading="showDrop"
+                      loading-text="加载中..."
+                      @change="changeWord"
+                      @focus="handleFocus"
+                      @visible-change="handleVisible"
+                      placeholder="搜索"
+                      :remote-method="searchTerms"
+                      reserve-keyword
+                    >
+                      <el-option
+                        v-for="item in uniqueNameList"
+                        :key="item.icd10Code"
+                        :label="item.name"
+                        :value="item"
+                        :title="item.name"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item v-if="tableData.length >0">
+                    <el-table
+                      :row-class-name="tableRowClassName"
+                      :row-style="selectedstyle"
+                      :data="tableData"
+                      @row-click="btn"
+                      size="mini"
+                      :class="{tabs:uniqueNameList}"
+                      class="tab"
+                    >
+                      <el-table-column prop="name" :show-overflow-tooltip="true" label="词名"></el-table-column>
+                      <el-table-column prop="address" :show-overflow-tooltip="true" label="来源">
+                        <template slot-scope="scope">
+                          <span>{{scope.row.source == 1?'标准词匹配':scope.row.source == 2?'同义词匹配':scope.row.source == 5?'相似词匹配':''}}</span>
+                        </template>
+                      </el-table-column>
+                    </el-table>
+                  </el-form-item>
+
+                  <el-form-item :label="standard+'预览:'">
+                    <!-- <span class="previewInfo">{{!isEdit ? form.searchText.name : form.searchText}}</span> -->
+                    <span class="previewInfo" style="minWidth: 240px">{{form.searchText}}</span>
+                  </el-form-item>
+                  <el-form-item label="ICD编码:" v-if="type == 4">
+                    <span class="previewInfo" style="minWidth: 240px">{{form.icdCode}}</span>
+                  </el-form-item>
+                  <el-form-item :label="detail+':'" v-if="type == 12 || type == 13">
+                    <span class="previewInfo" style="minWidth: 240px">{{form.icdCode}}</span>
+                  </el-form-item>
+                  <el-form-item label="药品剂型:" v-if="type == 5">
+                    <el-select
+                      style="width:100%;minWidth: 240px"
+                      v-model="form.form"
+                      filterable
+                      remote
+                      clearable
+                      :loading="showDrop"
+                      loading-text="加载中..."
+                      @change="drugchangeWord"
+                      @focus="handleFocus"
+                      @visible-change="handleVisible"
+                      placeholder="搜索"
+                      :remote-method="searchDrug"
+                      reserve-keyword
+                    >
+                      <el-option
+                        v-for="item in drugList"
+                        :key="item.icd10Code"
+                        :label="item.name"
+                        :value="item"
+                        :title="item.name"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </div>
+          </div>
+        </el-form>
+      </div>
+      <div class="mapList">
+        已关联标准术语:
+        <span v-for="item in mapList" :key="item.id">{{item.hisName}};</span>
+      </div>
+      <div class="modal-footer">
+        <button class="confirm btns" :disabled="saveDisable" @click="submitForm">确定</button>
+        <button class="cancel btns" @click="closeModal">取消</button>
+      </div>
     </div>
+  </div>
 </template>
 <script>
-    export default {
-        name:'lt-modal',
-        data:function(){
-            return{
+import api from '@api/cdss.js';
+import config from '@api/config.js';
+import utils from '@api/utils.js';
+export default {
+  name: 'lt-modal',
+  props: [
+    'modalVisiable',
+    'meal',
+    'detail',
+    'standard',
+    'type',
+    'data',
+    'hospitalId'
+  ],
+  data() {
+    return {
+      form: {
+        searchText: '', //搜索字段
+        hisName: '',
+        icdCode: '',
+        hisDetailName: '',
+        formConceptId: '',
+        conceptId: '',
+        form: '',
+        hisCode: ''
+      },
+      showDrop: false, //下拉框显示文字
+      saveDisable: false, //保存按钮禁止点击
+      uniqueNameList: [],
+      rules: {
+        hisName: [
+          { required: true, message: '请输入' + this.meal, trigger: 'change' },
+          { max: 80, message: this.meal + '最多80字', trigger: 'change' }
+        ],
+        searchText: [
+          { required: true, message: '请选择' + this.meal, trigger: 'change' }
+        ]
+      },
+      ty: this.type,
+      searchType: '',
+      isEdit: false,
+      editId: '',
+      drugList: [],
+      tableData: [],
+      mapList: [],
+      getIndex: 6
+    };
+  },
+  created() {
+    //修改
+    if (this.data != {}) {
+      this.isEdit = true;
+      this.editId = this.data.id;
+      this.form.hisName = this.data.hisName;
+      this.form.searchText = this.data.uniqueName;
+      this.form.icdCode = this.data.icdCode;
+      this.form.conceptId = this.data.conceptId;
+      this.form.formConceptId = this.data.formConceptId;
+      this.form.form = this.data.form;
+      this.getTermMatching();
+      this.getRelatedMapping();
+    }
+  },
+  methods: {
+    selectedstyle({ row, rowIndex }) {
+      if (this.getIndex === rowIndex) {
+        return {
+          'background-color': '#EBEEF5'
+        };
+      }
+    },
+    tableRowClassName({ row, rowIndex }) {
+      row.index = rowIndex;
+    },
+    btn(row) {
+      if (this.getIndex == row.index) {
+        this.getIndex = 6;
+        this.form.searchText = '';
+        this.form.conceptId = '';
+        this.form.icdCode = '';
+      } else {
+        this.getIndex = row.index;
+        this.form.searchText = row.name;
+        this.form.conceptId = row.id;
+        this.form.icdCode = row.code;
+      }
+    },
+    // 搜索列表
+    searchTerms(query) {
+      if (!query) {
+        this.uniqueNameList = [];
+        return;
+      }
+      if (this.type == 1) {
+        const { hisName, hisDetailName } = this.form;
+        this.ty = 2; // 1-化验大项、2-化验小项
+        if (hisName !== '' && hisDetailName === '') {
+          this.ty = 1;
+        }
+        this.searchType = this.ty;
+      }
+      this.showDrop = true;
+      let params = {
+        type: this.ty ? this.ty : this.type,
+        inputStr: query,
+        sex: 3,
+        age: 0
+      };
+      api.retrievalSearch(params).then(res => {
+        this.showDrop = false;
+        if (res.data.code === '0') {
+          if (this.ty == 2 && this.ty) {
+            this.uniqueNameList = res.data.data.lisDetailNames;
+          } else {
+            this.uniqueNameList = res.data.data.nameList;
+          }
+        }
+      });
+    },
+    searchDrug(query) {
+      if (!query) {
+        this.drugList = [];
+        return;
+      }
+      this.showDrop = true;
+      let params = {
+        type: 15,
+        inputStr: query,
+        sex: 3,
+        age: 0
+      };
+      api.retrievalSearch(params).then(res => {
+        this.showDrop = false;
+        if (res.data.code === '0') {
+          this.drugList = res.data.data.nameList;
+        }
+      });
+    },
+    onchange() {
+      this.getRelatedMapping();
+    },
+    getRelatedMapping() {
+      const { hisName, hisDetailName } = this.form;
+      if (this.type == 1) {
+        this.ty = 2; // 1-化验大项、2-化验小项
+        if (hisName !== '' && hisDetailName === '') {
+          this.ty = 1;
+        }
+      }
+      let params = {
+        type: this.ty ? this.ty : this.type,
+        hisDetailName: hisDetailName,
+        hisName: hisName,
+        hospitalId: this.hospitalId
+      };
+      api.getRelatedMapping(params).then(res => {
+        this.showDrop = false;
+        if (res.data.code === '0') {
+          this.mapList = res.data.data;
+        }
+      });
+    },
+    changeWord(newValue) {
+      this.form.searchText = newValue.name;
+      this.form.icdCode = newValue.code;
+      this.form.conceptId = newValue.id;
+      this.getIndex = 6;
+    },
+    drugchangeWord(newValue) {
+      this.form.formConceptId = newValue.id;
+      this.form.form = newValue.name;
+    },
+    handleVisible(flag) {
+      if (!flag) {
+        this.uniqueNameList = [];
+      }
+    },
+    // 获取焦点
+    handleFocus() {},
+    onblur() {
+      this.getTermMatching();
+    },
+    getTermMatching() {
+      let params = {
+        type: this.ty ? this.ty : this.type,
+        inputStr: this.form.hisName
+      };
+      api.getTermMatching(params).then(res => {
+        this.showDrop = false;
+        if (res.data.code === '0') {
+          this.tableData = res.data.data;
+        }
+      });
+    },
+    // 建立关联-参数处理
+    submitForm() {
+      this.$refs.relationForm.validate(valid => {
+        if (valid) {
+          const {
+            searchText,
+            hisName,
+            hisDetailName,
+            icdCode,
+            conceptId,
+            formConceptId,
+            hisCode
+          } = this.form;
+          // 当标准术语是套餐时,细项必须为空
+          if (this.searchType === 1 && hisDetailName !== '') {
+            this.warning('医院术语与标准术语类型不匹配,请修改');
+            return;
+          }
+
+          // 当标准术语是细项时,医院术语套餐和细项均不能为空
+          if (this.searchType === 2) {
+            if (hisName === '') {
+              this.warning('医院术语与标准术语类型不匹配,请修改');
+              return;
+            } else if (hisDetailName === '') {
+              this.warning('医院术语与标准术语类型不匹配,请修改');
+              return;
             }
-        },
-        methods:{
-            close(){
-                this.$emit("close");
-            },
-            confirm(){
-                this.$emit("confirm");
+          }
+          let params = {
+            hisName: hisName,
+            uniqueName: searchText,
+            hisDetailName: hisDetailName,
+            type: this.type,
+            conceptId: conceptId,
+            formConceptId: formConceptId,
+            hospitalId: this.hospitalId,
+            hisCode: hisCode
+          };
+          this.showSaveDialog(params);
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    // 建立关联-映射关系是否已存在
+    showSaveDialog(params) {
+      this.saveDisable = true; //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
+      api
+        .diseaseIsExistRecord(params)
+        .then(res => {
+          if (!res.data.data) {
+            // 不存在,创建新的关联
+            // 如果是编辑时,需要携带id
+            if (this.isEdit) {
+              params = { ...params, id: this.editId };
             }
+            this.saveLisMapping(params, '保存成功', 'success');
+          } else {
+            // 已存在,提示修改
+            this.warning('该条关联已存在,无法添加');
+            this.saveDisable = false;
+          }
+        })
+        .catch(err => {
+          if (err.code === '900010001') {
+            return false;
+          }
+          this.warning(err);
+        });
+    },
+    // 初始化表单数据
+    initForm() {
+      this.form.hisName = '';
+      this.form.searchText = '';
+      this.form.icdCode = '';
+      this.form.hisDetailName = '';
+      this.form.form = '';
+      this.form.conceptId = '';
+    },
+    // 映射关系不存在-建立关联
+    saveLisMapping(params, msg, type) {
+      api.saveOrUpdateDiseaseRecord(params).then(res => {
+        if (res.data.code === '0') {
+          this.warning(res.data.msg || msg, type);
+          this.initForm();
+          this.$emit('func', 'updata');
+        } else {
+          this.warning(res.data.msg);
         }
+        this.saveDisable = false;
+      });
+    },
+    // 关联已存在模态框
+    showConfirmDialog(msg, resolve) {
+      this.$alert(msg, '提示', {
+        // customClass: 'confirmRealation',
+        confirmButtonText: '是',
+        // cancelButtonText: '否',
+        // cancelButtonClass: 'cancelButton',
+        type: 'warning'
+      })
+        .then(() => {
+          resolve();
+        })
+        .catch(() => {
+          this.saveDisable = false;
+          this.warning('建立失败', 'error');
+        });
+    },
+    warning(msg, type) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || 'warning'
+      });
+    },
+    closeModal() {
+      this.$emit('func', 'close');
     }
+  }
+};
 </script>
 <style lang="less" scoped>
-.modal-container{
-    position: fixed;
-    top:0;
-    left: 0;
+.modal-container {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 21;
+  .cover {
+    background: #000;
+    opacity: 0.2;
     width: 100%;
     height: 100%;
-    z-index: 21;
-    .cover{
-        background: #000;
-        opacity: .2;
-        width: 100%;
-        height: 100%;
+  }
+  .modal-box {
+    width: 900px;
+    background: #fff;
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+    .modal-title {
+      height: 40px;
+      background: #e3eaf4;
+      .close {
+        float: right;
+        margin: 3px 13px 0 0;
+        font-size: 22px;
+        color: #979797;
+        cursor: pointer;
+      }
     }
-    .modal-box{
-        width: 860px;
-        height: 564px;
-        background: #fff;
-        position: absolute;
-        left: 50%;
-        top:50%;
-        margin-left: -430px;
-        margin-top: -282px;
-        .modal-title{
-            height: 40px;
-            background: #E3EAF4;
-            .close{
-                float: right;
-                margin:3px 13px 0 0;
-                font-size: 22px;
-                color: #979797;
-                cursor: pointer;
-            }
-        }
-        .btn{
-            display: inline-block;
-            width: 70px;
-            height: 34px;
-            line-height: 34px;
-            background: #48C5D7;
-            border-radius: 4px;
-            color: #fff;
-            text-align: center;
-            cursor: pointer;
-        }
-        .cancel{
-            background: #fff;
-            color: #48C5D7;
-            border:1px #48C5D7 solid;
-            margin-left: 40px;
-        }
-        .modal-body{
-            padding:20px 22px ;
-        }
-        .modal-footer{
-            /*position: absolute;
-            bottom: 32px;*/
-            width: 100%;
-            text-align: center;
-        }
+    .btns {
+      display: inline-block;
+      width: 70px;
+      height: 34px;
+      line-height: 34px;
+      background: #48c5d7;
+      border-radius: 4px;
+      color: #fff;
+      text-align: center;
+      cursor: pointer;
+      outline: none;
+      border: none;
+    }
+    .cancel {
+      background: #fff;
+      color: #48c5d7;
+      border: 1px #48c5d7 solid;
+      margin-left: 40px;
+    }
+    .modal-body {
+      padding: 34px 22px;
+    }
+    .modal-footer {
+      margin-bottom: 60px;
+      width: 100%;
+      text-align: center;
+    }
+  }
+}
+.tab {
+  max-width: 240px;
+  min-width: 240px;
+  //   position: absolute;
+  //   top: 0;
+  z-index: 999;
+  margin-bottom: 15px;
+  margin-top: -40px;
+}
+// .tabs {
+//   max-width: 240px;
+//   min-width: 240px;
+//   position: absolute;
+//   top: 0;
+//   left: 250px;
+// }
+.mapList {
+  width: 380px;
+  padding: 0 20px 20px;
+  font-size: 14px;
+  line-height: 24px;
+  & span {
+    padding: 0 3px;
+  }
+}
+.el-select-dropdown__list,
+.el-select-dropdown__item {
+  width: 219px;
+  cursor: pointer;
+}
+.el-dropdown-menu__item:focus,
+.el-checkbox__input.is-checked + .el-checkbox__label,
+.el-dropdown-menu__item:not(.is-disabled):hover,
+.el-button--text,
+.el-date-table td.today span,
+.el-radio__input.is-checked + .el-radio__label,
+.el-pagination.is-background .el-pager li:not(.disabled):hover,
+.el-select-dropdown__item.selected {
+  font-size: 14px;
+  padding: 0 20px;
+  position: relative;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  color: #606266;
+  height: 34px;
+  line-height: 34px;
+  -webkit-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 219px;
+  cursor: pointer;
+}
+/deep/ .el-form-item__error {
+  width: 150px;
+}
+/*********新增编辑***********/
+.topBack {
+  top: 0;
+}
+.titleBox {
+  padding: 0 0 10px 0px;
+}
+.title {
+  width: 50%;
+  float: left;
+  font-size: 14px;
+}
+.leftBox,
+.midBox,
+.rightBox {
+  width: 380px;
+  float: left;
+  min-height: 200px;
+  font-size: 14px;
+}
+.midBox {
+  width: 6%;
+  padding: 50px 0 0 0;
+  text-align: center;
+}
+.midTitle {
+  width: 40px;
+  margin: 0 auto;
+}
+.midLogo {
+  margin: 0 auto;
+}
+.leftBox,
+.rightBox {
+  border: 1px solid #dcdfe6;
+  padding: 20px 10px;
+}
+.itemLabel {
+  width: 100%;
+  min-height: 50px;
+  line-height: 50px;
+  position: relative;
+}
+.itemLabelName,
+.searchInput,
+.searchName {
+  float: left;
+  color: #606266;
+}
+.itemLabelName {
+  width: 150px;
+}
+.isRequired::before {
+  content: '*';
+  color: red;
+}
+.searchInput,
+.mealNameItem {
+  padding: 0 5px;
+}
+.searchInput,
+.searchName {
+  display: inline-block;
+  height: 32px;
+  line-height: 32px;
+  border: 1px solid #a9a9a9;
+  margin: 8px 0 0 0;
+}
+
+.searchName {
+  text-align: center;
+  border-left: none;
+  cursor: pointer;
+  padding: 0 12px;
+  font-size: 16px;
+}
+.itemList {
+  position: absolute;
+  background: #fff;
+  width: 162px;
+  max-height: 150px;
+  border: 1px solid #a9a9a9;
+  left: 150px;
+  top: 42px;
+  z-index: 2;
+  overflow-y: auto;
+}
+.itemList {
+  width: calc(100% - 131px);
+}
+.mealNameItem {
+  height: 30px;
+  line-height: 30px;
+  font-size: 14px;
+  cursor: pointer;
+}
+.mealNameItem:hover {
+  background: #f5f7fa;
+}
+.previewInfo {
+  padding-left: 4px;
+  display: inline-block;
+  margin-top: 8px;
+  // width: calc(100% - 160px);s
+  line-height: 24px;
+  overflow: hidden;
+  word-wrap: break-word;
+  word-break: break-all;
+}
+.sumbit {
+  position: absolute;
+  display: inline-block;
+  width: 80px;
+  height: 30px;
+  line-height: 30px;
+  border: 1px solid #a9a9a9;
+  text-align: center;
+  right: 100px;
+}
+.confirmRealation {
+  .cancelButton {
+    border: 1px solid #a9a9a9;
+    span {
+      color: #606266;
     }
+  }
 }
 </style>

+ 70 - 26
src/components/cdssManage/dept/DeptManage.vue

@@ -61,6 +61,15 @@
         ></el-pagination>
       </div>
     </div>
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'科室名称'"
+      :standard="'科室名称'"
+      :type="7"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -68,7 +77,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'DeptManage',
   data: function() {
@@ -77,8 +86,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match: ''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -90,9 +106,14 @@ export default {
       uploadInfo: '导入',
       title: '科室关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -134,6 +155,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 7);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -219,7 +241,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 7,
+        isMatch: this.filter.match
       };
       return param;
     },
@@ -236,14 +260,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddDept',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddDept',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = {};
+      this.showModal();
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -255,14 +281,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddDept',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddDept',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item;
+      this.showModal();
     },
     currentChange(next) {
       this.currentPage = next;
@@ -366,12 +394,14 @@ export default {
         // }
       })
         .then(() => {
-          api.exportDeptRecord({ hospitalId: this.hospitalId }).then(res => {
-            if (res.status === 200) {
-              this.$message({ message: '导出成功', type: 'success' });
-              utils.downloadExportedData(res.data, '科室关联数据.xls');
-            }
-          });
+          api
+            .exportDeptRecord({ hospitalId: this.hospitalId, type: 7 })
+            .then(res => {
+              if (res.status === 200) {
+                this.$message({ message: '导出成功', type: 'success' });
+                utils.downloadExportedData(res.data, '科室关联数据.xls');
+              }
+            });
         })
         .catch(() => {});
     },
@@ -400,6 +430,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 7);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -445,6 +477,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 51 - 94
src/components/cdssManage/disease/Disease.vue

@@ -15,13 +15,13 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
-          <el-form-item label="" class="selectMedicine">
+          <el-form-item label class="selectMedicine">
             <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
               <el-option
-                      v-for="item in matchList"
-                      :label="item.name"
-                      :value="item.name"
-                      :key="item.id"
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
               ></el-option>
             </el-select>
           </el-form-item>
@@ -43,7 +43,7 @@
         <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院诊断名称" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="icdCode" label="ICD-10编码" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="code" label="ICD-10编码" 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="operate" label="操作">
           <template slot-scope="scope">
@@ -71,9 +71,15 @@
         ></el-pagination>
       </div>
     </div>
-    <LtModal v-if="modalVisiable" :disabled="saveDisable" @confirm="submitForm" @close="closeModal">
-      <LinkContent :form="form" ref="relationForm" labelName="诊断名称" termType="4" valName="diseaseNames"/>
-    </LtModal>
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'诊断名称'"
+      :standard="'诊断名称'"
+      :type="4"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -82,18 +88,22 @@ import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
 import LtModal from '@base/LtModal';
-import LinkContent from '@base/LinkContent';
-
 export default {
   name: 'Disease', //化验大小项和公表维护
   data: function() {
     return {
-      matchList:[{id:-1,name:'全部'},{id:1,name:'已匹配'},{id:2,name:'未匹配'},{id:3,name:'多项匹配'}],
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       list: [],
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '',//标准诊断名称
+        match: ''
       },
       currentPage: 1,
       pageSize: config.pageSize,
@@ -102,18 +112,16 @@ export default {
       total: 0,
       uploadInfo: '导入',
       title: '诊断关联维护 | ',
-      modalVisiable:false,  //弹窗显示状态
-      saveDisable:false,    //确定按钮禁用状态
-      form:{
-          searchText: '', //搜索字段
-          hisName: '',
-          icdCode: ''
-      }
+      hospitaiName: '',
+      hospitalId: '',
+      isEdit: false,
+      editId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
-  components:{
-      LtModal,
-      LinkContent
+  components: {
+    LtModal
   },
   created() {
     const { data } = this.$route.params;
@@ -156,6 +164,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 4);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -240,7 +249,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         icdCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 4,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -257,7 +268,8 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.showModal()
+        this.data={}
+      this.showModal();
       /*this.$router.push({
         name: 'AddDisease',
         params: Object.assign(pam, {
@@ -285,6 +297,7 @@ export default {
           hospitaiName: this.hospitaiName
         })
       });*/
+      this.data = item;
       this.showModal();
     },
     currentChange(next) {
@@ -373,7 +386,7 @@ export default {
         type: 'warning'
       })
         .then(() => {
-          api.exportDiseaseRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportDiseaseRecord({ hospitalId: this.hospitalId,type:4 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '诊断关联数据.xls');
@@ -408,6 +421,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 4);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -466,76 +481,18 @@ export default {
       let inp = document.getElementById('upFile');
       inp.value = '';
     },
-    showModal(){
-        this.modalVisiable=true
-    },
-    closeModal(){
-        this.modalVisiable=false
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
     },
-    // 建立关联-参数处理
-    submitForm() {
-        console.log(this.$refs)
-        this.$refs.relationForm.$refs.innerForm.validate(valid => {
-            if (valid) {
-                const { searchText, hisName, icdCode } = this.form;
-                let params = {
-                    hisName: hisName,
-                    uniqueName: searchText,
-                    icdCode: icdCode,
-                    hospitalId: this.hospitalId
-                };
-                this.showSaveDialog(params);
-            } else {
-                console.log('error submit!!');
-                return false;
-            }
-        });
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     },
-      // 建立关联-映射关系是否已存在
-      showSaveDialog(params) {
-          this.saveDisable = true; //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
-          api
-              .diseaseIsExistRecord(params)
-              .then(res => {
-                  if (!res.data.data) {
-                      // 不存在,创建新的关联
-                      // 如果是编辑时,需要携带id
-                      if (this.isEdit) {
-                          params = { ...params, id: this.editId };
-                      }
-                      this.saveLisMapping(params, '保存成功', 'success');
-                  } else {
-                      // 已存在,提示修改
-                      this.warning('该条关联已存在,无法添加');
-                      this.saveDisable = false;
-                  }
-              })
-              .catch(err => {
-                  if (err.code === '900010001') {
-                      return false;
-                  }
-                  this.warning(err);
-              });
-      },
-
-      // 映射关系不存在-建立关联
-      saveLisMapping(params, msg, type) {
-          api.saveOrUpdateDiseaseRecord(params).then(res => {
-              if (res.data.code === '0') {
-                  this.warning(res.data.msg || msg, type);
-                  this.initForm();
-                  this.$router.push({
-                      name: 'Disease',
-                      params: Object.assign({}, this.$route.params, {
-                          currentPage: 1
-                      })
-                  });
-              } else {
-                  this.warning(res.data.msg);
-              }
-              this.saveDisable = false;
-          });
-      },
   }
 };
 </script>

+ 71 - 89
src/components/cdssManage/drug/DrugManage.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院药品名称:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -61,9 +71,16 @@
         ></el-pagination>
       </div>
     </div>
-    <LtModal v-if="modalVisiable" :disabled="saveDisable" @confirm="submitForm" @close="closeModal">
-      <LinkContent :form="form" ref="relationForm" labelName="药品名称" termType="5" valName="drugNames"/>
-    </LtModal>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'药品名称'"
+      :standard="'药品名称'"
+      :type="5"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -72,21 +89,22 @@ import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
 import LtModal from '@base/LtModal';
-import LinkContent from '@base/LinkContent';
-
 export default {
   name: 'DrugManage', //化验大小项和公表维护
-  components:{
-      LtModal,
-      LinkContent
-  },
   data: function() {
     return {
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       list: [],
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
       currentPage: 1,
       pageSize: config.pageSize,
@@ -97,15 +115,13 @@ export default {
       title: '药品关联维护 | ',
       hospitaiName: '',
       hospitalId: '',
-      modalVisiable:false,  //弹窗显示状态
-      saveDisable:false,    //确定按钮禁用状态
-      form:{
-          searchText: '', //搜索字段
-          hisName: '',
-          icdCode: ''
-      }
+      modalVisiable: false,
+      data: {}
     };
   },
+  components:{
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -147,6 +163,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 5);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -232,7 +249,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 5,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -249,7 +268,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-        this.showModal()
+      // this.$router.push({
+      //   name: 'AddDrug',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data={}
+      this.showModal()
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -261,7 +289,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-        this.showModal()
+      // this.$router.push({
+      //   name: 'AddDrug',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -364,7 +401,7 @@ export default {
         // }
       })
         .then(() => {
-          api.exportDrugRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportDrugRecord({ hospitalId: this.hospitalId,type:5 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '药品关联数据.xls');
@@ -399,6 +436,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 5);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -458,75 +497,18 @@ export default {
       let inp = document.getElementById('upFile');
       inp.value = '';
     },
-    showModal(){
-        this.modalVisiable=true
-    },
-    closeModal(){
-        this.modalVisiable=false
-    },
-    // 建立关联-参数处理
-    submitForm() {
-        this.$refs.relationForm.$refs.innerForm.validate(valid => {
-            if (valid) {
-                const { searchText, hisName, form } = this.form;
-                let params = {
-                    hisName: hisName,
-                    uniqueName: searchText,
-                    form: form,
-                    hospitalId: this.hospitalId
-                };
-                this.showSaveDialog(params);
-            } else {
-                console.log('error submit!!');
-                return false;
-            }
-        });
-    },
-    // 建立关联-映射关系是否已存在
-    showSaveDialog(params) {
-        this.saveDisable = true; //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
-        api
-            .drugIsExistRecord(params)
-            .then(res => {
-                if (!res.data.data) {
-                    // 不存在,创建新的关联
-                    // 如果是编辑时,需要携带id
-                    if (this.isEdit) {
-                        params = { ...params, id: this.editId };
-                    }
-                    this.saveLisMapping(params, '保存成功', 'success');
-                } else {
-                    // 已存在,提示修改
-                    this.warning('该条关联已存在,无法添加');
-                    this.saveDisable = false;
-                }
-            })
-            .catch(err => {
-                if (err.code === '900010001') {
-                    return false;
-                }
-                this.warning(err);
-            });
-    },
-
-    // 映射关系不存在-建立关联
-    saveLisMapping(params, msg, type) {
-        api.saveOrUpdateDrugRecord(params).then(res => {
-            if (res.data.code === '0') {
-                this.warning(res.data.msg || msg, type);
-                this.initForm();
-                this.$router.push({
-                    name: 'DrugManage',
-                    params: Object.assign({}, this.$route.params, {
-                        currentPage: 1
-                    })
-                });
-            } else {
-                this.warning(res.data.msg);
-            }
-            this.saveDisable = false;
-        });
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
     },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
+    }
   }
 };
 </script>

+ 73 - 20
src/components/cdssManage/fusion/Fusion.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院输血类型:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -60,6 +70,16 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'输血类型'"
+      :standard="'输血类型'"
+      :type="8"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -67,7 +87,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Fusion', //化验大小项和公表维护
   data: function() {
@@ -76,8 +96,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -86,9 +113,14 @@ export default {
       uploadInfo: '导入',
       title: '输血关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -130,6 +162,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 8);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -214,7 +247,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 8,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -231,14 +266,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddFusion',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddFusion',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data={}
+      this.showModal()
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -250,14 +287,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddFusion',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddFusion',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -394,6 +433,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 8);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -451,6 +492,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 74 - 21
src/components/cdssManage/lis/Lis.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="检验套餐:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -64,6 +74,16 @@
         ></el-pagination>
       </div>
     </div>
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'检验套餐'"
+      :detail="'检验细项'"
+      :standard="'检验标准术语'"
+      :type="1"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -71,7 +91,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Lis', //化验大小项和公表维护
   data: function() {
@@ -81,8 +101,15 @@ export default {
       filter: {
         hisName: '', // 检验套餐
         hisDetailName: '', //检验细项
-        uniqueName: '' //标准检验项
+        uniqueName: '', //标准检验项
+        match: ''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -91,9 +118,14 @@ export default {
       uploadInfo: '导入',
       title: '检验关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -135,6 +167,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 1);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -220,7 +253,9 @@ export default {
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
         hisDetailName: this.filter.hisDetailName.trim(),
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 1,
+        isMatch: this.filter.match
       };
       return param;
     },
@@ -237,14 +272,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddLis',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      this.data = {};
+      this.showModal();
+      // this.$router.push({
+      //   name: 'AddLis',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -256,14 +293,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddLis',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddLis',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item;
+      this.showModal();
     },
     currentChange(next) {
       this.currentPage = next;
@@ -367,7 +406,7 @@ export default {
         // }
       })
         .then(() => {
-          api.exportLisRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportLisRecord({ hospitalId: this.hospitalId,type:1 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '检验数据.xls');
@@ -401,6 +440,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 1);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -458,6 +499,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 68 - 21
src/components/cdssManage/nursing/nursing.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院护理名称:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -60,6 +70,16 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'护理名称'"
+      :standard="'护理名称'"
+      :type="11"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -67,7 +87,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Nursing', //化验大小项和公表维护
   data: function() {
@@ -76,7 +96,8 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
       currentPage: 1,
       pageSize: config.pageSize,
@@ -86,9 +107,14 @@ export default {
       uploadInfo: '导入',
       title: '护理关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -130,6 +156,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 11);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -214,7 +241,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 11,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -231,14 +260,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddNursing',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddNursing',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data={}
+      this.showModal()
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -250,14 +281,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddNursing',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddNursing',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -360,7 +393,7 @@ export default {
         // }
       })
         .then(() => {
-          api.exportNurseRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportNurseRecord({ hospitalId: this.hospitalId,type:11 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '护理关联数据.xls');
@@ -394,6 +427,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 11);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -451,6 +486,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 74 - 21
src/components/cdssManage/operation/Operation.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院手术/操作名称:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -65,6 +75,16 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'手术/操作名称'"
+      :standard="'手术/操作名称'"
+      :type="6"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -72,7 +92,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Operation', //化验大小项和公表维护
   data: function() {
@@ -81,8 +101,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -91,9 +118,14 @@ export default {
       uploadInfo: '导入',
       title: '手术/操作关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -135,6 +167,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 6);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -219,7 +252,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 6,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -236,14 +271,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddOperation',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddOperation',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data={}
+      this.showModal()
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -255,14 +292,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddOperation',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddOperation',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -366,7 +405,7 @@ export default {
       })
         .then(() => {
           api
-            .exportOperationRecord({ hospitalId: this.hospitalId })
+            .exportOperationRecord({ hospitalId: this.hospitalId,type:6 })
             .then(res => {
               if (res.status === 200) {
                 this.$message({ message: '导出成功', type: 'success' });
@@ -402,6 +441,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 6);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -459,6 +500,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 74 - 21
src/components/cdssManage/pacs/Pacs.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院检查项目:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -60,6 +70,16 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'检查项目'"
+      :standard="'检查项目'"
+      :type="3"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -67,7 +87,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Pacs', //化验大小项和公表维护
   data: function() {
@@ -76,8 +96,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match: ''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -86,9 +113,14 @@ export default {
       uploadInfo: '导入',
       title: '检查关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -130,6 +162,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 3);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -214,7 +247,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 3,
+        isMatch: this.filter.match
       };
       return param;
     },
@@ -231,14 +266,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddPacs',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      this.data = {};
+      this.showModal();
+      // this.$router.push({
+      //   name: 'AddPacs',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -250,14 +287,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddPacs',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      this.data = item;
+      this.showModal();
+      // this.$router.push({
+      //   name: 'AddPacs',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
     },
     currentChange(next) {
       this.currentPage = next;
@@ -360,7 +399,7 @@ export default {
         // }
       })
         .then(() => {
-          api.exportPacsRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportPacsRecord({ hospitalId: this.hospitalId,type:3 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '检查关联数据.xls');
@@ -394,6 +433,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 3);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -452,6 +493,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 74 - 21
src/components/cdssManage/scale/ScaleManage.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院量表名称:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -60,6 +70,16 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'量表名称'"
+      :standard="'量表名称'"
+      :type="10"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -67,7 +87,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'ScaleManage', //化验大小项和公表维护
   data: function() {
@@ -76,8 +96,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -86,9 +113,14 @@ export default {
       uploadInfo: '导入',
       title: '量表关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components:{
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -130,6 +162,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 10);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -215,7 +248,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 10,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -232,14 +267,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddScale',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddScale',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data={}
+      this.showModal()
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -251,14 +288,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddScale',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddScale',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -342,7 +381,7 @@ export default {
         type: 'warning'
       })
         .then(() => {
-          api.exportScaleRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportScaleRecord({ hospitalId: this.hospitalId,type:10 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '量表关联数据.xls');
@@ -377,6 +416,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 10);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -435,6 +476,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 76 - 23
src/components/cdssManage/tcmdisease/tcmdisease.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院中医疾病名称:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -33,7 +43,7 @@
         <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院中医疾病名称" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueCode" label="中医疾病代码" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="code" 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="operate" label="操作">
           <template slot-scope="scope">
@@ -61,6 +71,17 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'中医疾病名称'"
+      :standard="'中医疾病名称'"
+      :detail="'中医疾病代码'"
+      :type="12"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -68,7 +89,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Tcmdisease', //化验大小项和公表维护
   data: function() {
@@ -77,8 +98,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -87,9 +115,14 @@ export default {
       uploadInfo: '导入',
       title: '中医疾病关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -131,6 +164,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 12);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -215,7 +249,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 12,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -225,7 +261,6 @@ export default {
       this.getDataList();
     },
     addRelation() {
-      console.log(11)
       const pam = this.searched
         ? {
             currentPage: this.currentPage,
@@ -233,14 +268,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddTcmdisease',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+        this.data={}
+        this.showModal()
+      // this.$router.push({
+      //   name: 'AddTcmdisease',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -252,14 +289,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddTcmdisease',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddTcmdisease',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -362,7 +401,7 @@ export default {
         // }
       })
         .then(() => {
-          api.exportTcmRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportTcmRecord({ hospitalId: this.hospitalId,type:12 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '中医疾病关联数据.xls');
@@ -396,6 +435,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 12);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -453,6 +494,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 75 - 22
src/components/cdssManage/tcmdrome/tcmdrome.vue

@@ -15,6 +15,16 @@
     <div class="searchBar">
       <div class="searchContent">
         <el-form :inline="true" class="demo-form-inline">
+          <el-form-item label class="selectMedicine">
+            <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in matchList"
+                :label="item.name"
+                :value="item.id"
+                :key="item.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="医院中医证候名称:">
             <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
           </el-form-item>
@@ -33,7 +43,7 @@
         <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></el-table-column>
         <el-table-column :resizable="false" prop="gmtModified" label="操作时间" width="180"></el-table-column>
         <el-table-column :resizable="false" prop="hisName" label="医院中医证候名称" show-overflow-tooltip></el-table-column>
-        <el-table-column :resizable="false" prop="uniqueCode" label="中医证候代码" show-overflow-tooltip></el-table-column>
+        <el-table-column :resizable="false" prop="code" 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="operate" label="操作">
           <template slot-scope="scope">
@@ -61,6 +71,16 @@
         ></el-pagination>
       </div>
     </div>
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'中医证候名称'"
+      :standard="'中医证候名称'"
+      :detail="'中医证候代码'"
+      :type="13"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -68,7 +88,7 @@
 import api from '@api/cdss.js';
 import config from '@api/config.js';
 import utils from '@api/utils.js';
-
+import LtModal from '@base/LtModal';
 export default {
   name: 'Tcmdrome', //化验大小项和公表维护
   data: function() {
@@ -77,8 +97,15 @@ export default {
       searched: false,
       filter: {
         hisName: '', // 医院诊断名称
-        uniqueName: '' //标准诊断名称
+        uniqueName: '', //标准诊断名称
+        match:''
       },
+      matchList: [
+        { id: '', name: '全部' },
+        { id: 1, name: '已匹配' },
+        { id: 0, name: '未匹配' },
+        { id: 2, name: '多项匹配' }
+      ],
       currentPage: 1,
       pageSize: config.pageSize,
       pageSizeArr: config.pageSizeArr,
@@ -87,9 +114,14 @@ export default {
       uploadInfo: '导入',
       title: '中医证候关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      modalVisiable: false,
+      data: {}
     };
   },
+  components: {
+    LtModal
+  },
   created() {
     const { data } = this.$route.params;
     this.hospitaiName = (data && data.name) || '';
@@ -131,6 +163,7 @@ export default {
       e.preventDefault();
       let formData = new FormData();
       formData.append('file', fileInfo);
+      formData.append('type', 13);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -215,7 +248,9 @@ export default {
         hisName: this.filter.hisName.trim(),
         uniqueName: this.filter.uniqueName.trim(),
         uniqueCode: '',
-        hospitalId: data && data.hospitalId
+        hospitalId: data && data.hospitalId,
+        type: 13,
+        isMatch:this.filter.match
       };
       return param;
     },
@@ -233,14 +268,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddTcmdrome',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+        this.data={}
+        this.showModal()
+      // this.$router.push({
+      //   name: 'AddTcmdrome',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -252,14 +289,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddTcmdrome',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddTcmdrome',
+      //   params: Object.assign(pam, {
+      //     isEdit: true,
+      //     data: { ...item, hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data = item
+      this.showModal()
     },
     currentChange(next) {
       this.currentPage = next;
@@ -362,7 +401,7 @@ export default {
         // }
       })
         .then(() => {
-          api.exportTcmdromeRecord({ hospitalId: this.hospitalId }).then(res => {
+          api.exportTcmdromeRecord({ hospitalId: this.hospitalId,type:13 }).then(res => {
             if (res.status === 200) {
               this.$message({ message: '导出成功', type: 'success' });
               utils.downloadExportedData(res.data, '中医证候关联数据.xls');
@@ -396,6 +435,8 @@ export default {
       let formData = new FormData();
       formData.append('file', fileInfo);
       formData.append('hospitalId', this.hospitalId);
+      formData.append('type', 13);
+      formData.append('uesrId', localStorage.getItem('uesrId'));
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -453,6 +494,18 @@ export default {
       //解决上传相同文件不触发change
       let inp = document.getElementById('upFile');
       inp.value = '';
+    },
+    /********新增编辑弹窗**********/
+    showModal() {
+      this.modalVisiable = true;
+    },
+    getMsgFormSon(data) {
+      if (data == 'close') {
+        this.modalVisiable = false;
+      } else {
+        this.modalVisiable = false;
+        this.getDataList();
+      }
     }
   }
 };

+ 196 - 167
src/components/login/Login.vue

@@ -1,177 +1,203 @@
 <template>
-    <div class="login-container">
-        <banner></banner>
-        <div class="login-img fl"><img src="../../images/loginImg.png"/></div>
-        <div class="login-box">
-            <!-- <div class="box-le"><img src="../../images/left.jpg"/></div> -->
-            <div class="box-ri">
-                <div class="title-box clearfix"> <h3 class="login-title fl">登录</h3> <h4 class="num fr" @click="toRegister">立即注册</h4></div>
-               
-                <div class="ri-center">
-                    <el-form :model="ruleForm2" :rules="rules2" ref="ruleFormReg">
-                        <el-form-item prop="tel">
-                            <el-input v-model="ruleForm2.tel" name="username" autocomplete="off" maxlength="11"
-                                      placeholder="请输入用户名或手机号"
-                                      clearable class="ri-tel" @keyup.enter.native="submitForm('ruleForm2')"
-                                      ref="username"></el-input>
-                        </el-form-item>
-                        <div style="height: 20px;"></div>
-                        <el-form-item prop="pwd">
-                            <el-input v-model="ruleForm2.pwd" name="password" autocomplete="off" maxlength="16"
-                                      placeholder="请输入密码"
-                                      clearable type="password" class="ri-pwd"
-                                      @keyup.enter.native="submitForm('ruleForm2')" ref="password"></el-input>
-                        </el-form-item>
-                        <el-form-item>
-                            <!-- <span class="num" @click="toRegister">注册账号</span> -->
-                            <span class="pwd" @click="toForgetPsw">忘记密码?</span>
-                        </el-form-item>
-                        <el-form-item>
-                            <el-button plain v-if="otherCor" >登录</el-button>
-                            <el-button ref="btn" v-else class="otherCor" plain @click="submitForm('ruleForm2')">登录
-                            </el-button>
-                        </el-form-item>
-                    </el-form>
-                </div>
-            </div>
+  <div class="login-container">
+    <banner></banner>
+    <div class="login-img fl">
+      <img src="../../images/loginImg.png" />
+    </div>
+    <div class="login-box">
+      <!-- <div class="box-le"><img src="../../images/left.jpg"/></div> -->
+      <div class="box-ri">
+        <div class="title-box clearfix">
+          <h3 class="login-title fl">登录</h3>
+          <h4 class="num fr" @click="toRegister">立即注册</h4>
+        </div>
+
+        <div class="ri-center">
+          <el-form :model="ruleForm2" :rules="rules2" ref="ruleFormReg">
+            <el-form-item prop="tel">
+              <el-input
+                v-model="ruleForm2.tel"
+                name="username"
+                autocomplete="off"
+                maxlength="11"
+                placeholder="请输入用户名或手机号"
+                clearable
+                class="ri-tel"
+                @keyup.enter.native="submitForm('ruleForm2')"
+                ref="username"
+              ></el-input>
+            </el-form-item>
+            <div style="height: 20px;"></div>
+            <el-form-item prop="pwd">
+              <el-input
+                v-model="ruleForm2.pwd"
+                name="password"
+                autocomplete="off"
+                maxlength="16"
+                placeholder="请输入密码"
+                clearable
+                type="password"
+                class="ri-pwd"
+                @keyup.enter.native="submitForm('ruleForm2')"
+                ref="password"
+              ></el-input>
+            </el-form-item>
+            <el-form-item>
+              <!-- <span class="num" @click="toRegister">注册账号</span> -->
+              <span class="pwd" @click="toForgetPsw">忘记密码?</span>
+            </el-form-item>
+            <el-form-item>
+              <el-button plain v-if="otherCor">登录</el-button>
+              <el-button ref="btn" v-else class="otherCor" plain @click="submitForm('ruleForm2')">登录</el-button>
+            </el-form-item>
+          </el-form>
         </div>
-        <copy-right-info></copy-right-info>
+      </div>
     </div>
+    <copy-right-info></copy-right-info>
+  </div>
 </template>
 
 <script>
-  import Vue from 'vue';
-  import banner from '../common/Banner.vue';
-  import copyRightInfo from '../common/CopyRightInfo.vue';
-  import api from '../../api/index.js';
-  import './login.less';
-  import md5 from 'js-md5'
-	
-  export default {
-    name: 'Login',
-    data() {
-      //手机号码验证
-      var myreg = /^1[0-9]{10}$/;
-      //密码验证 纯字母纯英文
-      var numreg = /^(?![0-9]+$)(?![a-zA-Z]+$)/;
-      //密码验证 密码长度
-      var lengreg = /^[0-9A-Za-z]{6,16}$/;
-      var validatePass = (rule, value, callback) => {
-        // if(isNaN(value) == false){   //手机号
-        // 正常情况
+import Vue from 'vue';
+import banner from '../common/Banner.vue';
+import copyRightInfo from '../common/CopyRightInfo.vue';
+import api from '../../api/index.js';
+import './login.less';
+import md5 from 'js-md5';
 
-        if (value.trim() == '') {
-          callback(new Error('用户名不能为空'));
-          this.$refs.username.value = "";
-        }
-        // 手机号
-        if (isNaN(value) == false) {
-          if (value.length !== 11 || !myreg.test(value)) {
-            callback(new Error('手机号格式有误'));
-          } else {
-            callback();
-          }
-        } else if (isNaN(value) == true) {
-          callback();
-        }
-      };
-      var validatePass2 = (rule, value, callback) => {
-        if (value.trim() == '') {
-          callback(new Error('密码不能为空'));
-          this.$refs.password.value = "";
-        } else if (value.length < 6) {
-          callback(new Error('密码长度应为6位至16位之间'));
-        } else if (!numreg.test(value)) {
-          callback(new Error('密码不能为纯数字或纯英文'));
+export default {
+  name: 'Login',
+  data() {
+    //手机号码验证
+    var myreg = /^1[0-9]{10}$/;
+    //密码验证 纯字母纯英文
+    var numreg = /^(?![0-9]+$)(?![a-zA-Z]+$)/;
+    //密码验证 密码长度
+    var lengreg = /^[0-9A-Za-z]{6,16}$/;
+    var validatePass = (rule, value, callback) => {
+      // if(isNaN(value) == false){   //手机号
+      // 正常情况
+
+      if (value.trim() == '') {
+        callback(new Error('用户名不能为空'));
+        this.$refs.username.value = '';
+      }
+      // 手机号
+      if (isNaN(value) == false) {
+        if (value.length !== 11 || !myreg.test(value)) {
+          callback(new Error('手机号格式有误'));
         } else {
           callback();
         }
-      };
-      return {
-        otherCor: true,
-        ruleForm2: {
-          tel: '',
-          pwd: ''
-        },
-        rules2: {
-          tel: [{
+      } else if (isNaN(value) == true) {
+        callback();
+      }
+    };
+    var validatePass2 = (rule, value, callback) => {
+      if (value.trim() == '') {
+        callback(new Error('密码不能为空'));
+        this.$refs.password.value = '';
+      } else if (value.length < 6) {
+        callback(new Error('密码长度应为6位至16位之间'));
+      } else if (!numreg.test(value)) {
+        callback(new Error('密码不能为纯数字或纯英文'));
+      } else {
+        callback();
+      }
+    };
+    return {
+      otherCor: true,
+      ruleForm2: {
+        tel: '',
+        pwd: ''
+      },
+      rules2: {
+        tel: [
+          {
             required: true,
             validator: validatePass,
             trigger: 'blur'
-          }],
-          pwd: [{
+          }
+        ],
+        pwd: [
+          {
             required: true,
             validator: validatePass2,
             trigger: 'blur'
-          }],
-        }
-      };
-    },
-    mounted() {
-      if (window.history && window.history.pushState) {
-        history.pushState(null, null, document.URL);
-        window.addEventListener('popstate', function () {
-            history.pushState(null, null, document.URL);
-        });
-      }
-    },
-    computed: {
-      nextButton() {
-        const {
-          tel,
-          pwd
-        } = this.ruleForm2;
-        return {
-          tel,
-          pwd
-        }
-      }
-    },
-    watch: {
-      nextButton: {
-        handler: function (val) {
-          if (val.tel.trim() && val.pwd.trim()) {
-            this.otherCor = false;
-          } else {
-            this.otherCor = true;
           }
-        },
-        deep: true
+        ]
       }
-    },
-    methods: {
-      CalcuMD5(password){
-        // password = password.toUpperCase();
-        password = md5(password);
-        return password;
-      },
-      submitForm: function () {
-        const username = this.ruleForm2.tel;
-        const password = this.CalcuMD5(this.ruleForm2.pwd);
-        let params = {
-          "username": username,
-          "password": password
+    };
+  },
+  mounted() {
+    if (window.history && window.history.pushState) {
+      history.pushState(null, null, document.URL);
+      window.addEventListener('popstate', function() {
+        history.pushState(null, null, document.URL);
+      });
+    }
+  },
+  computed: {
+    nextButton() {
+      const { tel, pwd } = this.ruleForm2;
+      return {
+        tel,
+        pwd
+      };
+    }
+  },
+  watch: {
+    nextButton: {
+      handler: function(val) {
+        if (val.tel.trim() && val.pwd.trim()) {
+          this.otherCor = false;
+        } else {
+          this.otherCor = true;
         }
-        //重新登录清空原有token;
-        localStorage.removeItem('token');
-        this.$refs.ruleFormReg.validate((valid) => {
-          if (valid) {
-            api.loginMess(params).then((res) => {
+      },
+      deep: true
+    }
+  },
+  methods: {
+    CalcuMD5(password) {
+      // password = password.toUpperCase();
+      password = md5(password);
+      return password;
+    },
+    submitForm: function() {
+      const username = this.ruleForm2.tel;
+      const password = this.CalcuMD5(this.ruleForm2.pwd);
+      let params = {
+        username: username,
+        password: password
+      };
+      //重新登录清空原有token;
+      localStorage.removeItem('token');
+      this.$refs.ruleFormReg.validate(valid => {
+        if (valid) {
+          api
+            .loginMess(params)
+            .then(res => {
               if (res.status == 200) {
-								// console.log(res)
-                if (res.data.code == '10020000') { //未注册
+                // console.log(res)
+                if (res.data.code == '10020000') {
+                  //未注册
                   // this.$message.error(res.data.msg);
-									this.$message.error("该账号或手机号未注册!")
-                } else if (res.data.code == '10020001') { //密码错误
+                  this.$message.error('该账号或手机号未注册!');
+                } else if (res.data.code == '10020001') {
+                  //密码错误
                   this.$message.error(res.data.msg);
                 } else if (res.data.code == '0') {
                   const token = JSON.stringify(res.data.data);
-                  localStorage.setItem("token", token);
+                  localStorage.setItem('token', token);
+                  const uesrId = JSON.stringify(res.data.data.type);
+                  localStorage.setItem('uesrId', uesrId);
                   this.$message({
                     message: '登录成功!',
                     type: 'success',
                     duration: 1000,
-                    onClose: function () {
+                    onClose: function() {
                       const type = res.data.data.type;
                       if (type == 0) {
                         this.$router.push({
@@ -186,29 +212,32 @@
                   });
                 }
               }
-            }).catch((err) => {
-              console.log(err);
             })
-          } else {
-            console.log('faild')
-            return false;
-          }
-        });
-      },
-      toRegister() { //点击注册
-        this.$router.push({
-          path: '/register'
-        });
-      },
-      toForgetPsw() {//忘记密码
-        this.$router.push({
-          path: '/forgetPassword'
-        });
-      }
+            .catch(err => {
+              console.log(err);
+            });
+        } else {
+          console.log('faild');
+          return false;
+        }
+      });
     },
-    components: {
-      'banner': banner,
-      'copyRightInfo': copyRightInfo
+    toRegister() {
+      //点击注册
+      this.$router.push({
+        path: '/register'
+      });
     },
+    toForgetPsw() {
+      //忘记密码
+      this.$router.push({
+        path: '/forgetPassword'
+      });
+    }
+  },
+  components: {
+    banner: banner,
+    copyRightInfo: copyRightInfo
   }
+};
 </script>

+ 2 - 2
vue.config.js

@@ -1,6 +1,6 @@
 const path = require('path');
-const proxy_path = 'http://192.168.2.241:88';
-// const proxy_path = 'http://192.168.2.236:88';
+// const proxy_path = 'http://192.168.2.241:88';
+const proxy_path = 'http://192.168.2.236:5050';
 // 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.113:5050'; //王峰