소스 검색

Merge branch 'termLink0615' into test

# Conflicts:
#	vue.config.js
wyq 4 년 전
부모
커밋
66e859c9c9

+ 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);
+  },
+  
 };

+ 113 - 110
src/api/config.js

@@ -366,116 +366,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',   //医院信息——修改医院信息

+ 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';
 

+ 342 - 0
src/components/base/LinkContent.vue

@@ -0,0 +1,342 @@
+<!----关联维护弹窗内容组件---->
+<template>
+    <el-form
+            :model="form"
+            :rules="rules"
+            label-position="right"
+            label-width="110px"
+            ref="innerForm"
+    >
+        <div class="AddChemicalAndCommonMappingBox clearfix">
+            <div class="titleBox clearfix">
+                <p class="title">医院术语</p>
+                <p class="title">标准术语</p>
+            </div>
+            <div class="leftBox clearfix">
+                <el-form-item :label="labelName+':'" prop="hisName">
+                    <el-input v-model.trim="form.hisName" clearable></el-input>
+                </el-form-item>
+                <el-form-item :label="labelName+'预览:'">
+                    <span class="previewInfo">{{form.hisName}}</span>
+                </el-form-item>
+            </div>
+            <div class="midBox">
+                <img class="midLogo" src="../../images/relation.png" alt />
+                <p class="midTitle">相互关联</p>
+            </div>
+            <div class="rightBox">
+                <el-form-item :label="labelName+':'" class="top-label" prop="searchText">
+                    <el-select
+                            v-model="form.searchText"
+                            filterable
+                            remote
+                            clearable
+                            :loading="showDrop"
+                            loading-text="加载中..."
+                            @change="changeWord"
+                            @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>
+                <div v-if="similarWords.length" class="similar-term">
+                    <table>
+                        <thead>
+                            <th>词名</th>
+                            <th>来源</th>
+                        </thead>
+                        <tbody>
+                            <tr v-for="word in similarWords">
+                                <td>{{word.name}}</td>
+                                <td>{{word.source}}</td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </div>
+                <el-form-item :label="labelName+'预览:'">
+                    <!-- <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编码:">
+                    <span class="previewInfo" style="minWidth: 240px">{{form.icdCode}}</span>
+                </el-form-item>
+            </div>
+        </div>
+        <div class="linked-words">
+            <label>已关联术语:</label>
+            <span>{{linkedWords}}</span>
+        </div>
+    </el-form>
+</template>
+<style lang="less" scoped>
+    .AddChemicalAndCommonMappingBox{
+    /deep/ .el-form-item{
+        /*height: 30px;*/
+        margin-bottom: 18px;
+    .el-form-item__content,.el-form-item__label,.el-input,.el-input__inner{
+        height: 30px;
+        line-height: initial;
+        border-radius: 0;
+    }
+    .el-form-item__label[for]{
+        line-height: 30px;
+    }
+    .el-form-item__content{
+        color: #333;
+    }
+    }
+    /deep/ .top-label{
+        .el-form-item__label,.el-form-item__content{
+            float: none;
+        }
+        .el-form-item__content,.el-select{
+            margin-left:0!important;
+            width: 314px;
+        }
+    }
+    .leftBox /deep/ .el-input__suffix{
+        top:-4px;
+    }
+    .rightBox /deep/ .el-input__suffix{
+        top:5px;
+    }
+    }
+
+    .topBack {
+        top: 0;
+    }
+    .titleBox {
+        padding: 0 0 10px 0px;
+    }
+    .title {
+        width: 50%;
+        float: left;
+        font-size: 14px;
+    }
+    .leftBox,
+    .midBox,
+    .rightBox {
+        width: 336px;
+        float: left;
+        height: 330px;
+        font-size: 14px;
+    }
+    .midBox {
+        width: 59px;
+        padding: 50px 0 0 0;
+        text-align: center;
+    }
+    .midTitle {
+        width: 40px;
+        margin: 0 auto;
+        color: #8B8B8B;
+    }
+    .midLogo {
+        margin: 0 auto;
+    }
+    .leftBox,
+    .rightBox {
+        border: 1px solid #dcdfe6;
+        padding: 20px;
+    }
+    .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;
+        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;
+    }
+    }
+    }
+    .linked-words{
+        font-size: 14px;
+        color: #333;
+        font-weight: bold;
+    }
+    .similar-term{
+        width: 314px;
+        border: 1px solid #DCDFE6;
+        margin-bottom: 7px;
+        table{
+            width: 100%;
+            border-collapse: collapse;
+        }
+        thead{
+            background: #F7F7F7;
+        }
+        tr{
+            cursor: pointer;
+            &.active{
+                background: #ECF9FB;
+            }
+        }
+        th,td{
+            height: 34px;
+            line-height: 34px;
+            text-align: center;
+            &:first-child{
+                border-right: 1px solid #DCDFE6;
+
+            }
+        }
+    }
+</style>
+<script>
+    import api from '@api/cdss.js';
+    export default {
+        props:['labelName','form','termType','valName'],
+        data:function () {
+            return {
+                linkedWords:'',   //已关联术语
+                isEdit: false,
+                editId: '',
+                uniqueNameList: [],
+                similarWords:[{name:'aaa',source:'sss'}],
+                /*form: {
+                    searchText: '', //搜索字段
+                    hisName: '',
+                    icdCode: ''
+                },*/
+
+                rules: {
+                    hisName: [
+                        { required: true, message: '请输入诊断名称', trigger: 'change' },
+                        { max: 80, message: '诊断名称最多80字', trigger: 'change' }
+                    ],
+                    searchText: [
+                        { required: true, message: '请选择诊断名称', trigger: 'change' }
+                    ]
+                },
+                saveDisable: false, //保存按钮禁止点击
+                showDrop: false, //下拉框显示文字
+            }
+        },
+        methods:{
+
+            // 搜索列表
+            searchTerms(query) {
+                if (!query) {
+                    this.uniqueNameList = [];
+                    return;
+                }
+                this.showDrop = true;
+                let params = {
+                    type: this.termType, //诊断
+                    inputStr: query,
+                    sex: 3,
+                    age: 0
+                };
+                api.retrievalSearch(params).then(res => {
+                    this.showDrop = false;
+                    if (res.data.code === '0') {
+                        this.uniqueNameList = res.data.data[this.valName];
+                    }
+                });
+            },
+            changeWord(newValue) {
+                this.form.searchText = newValue.name;
+                this.form.icdCode = newValue.icd10Code;
+            },
+
+            handleVisible(flag) {
+                if (!flag) {
+                    this.uniqueNameList = [];
+                }
+            },
+            warning(msg, type) {
+                this.$message({
+                    showClose: true,
+                    message: msg,
+                    type: type || 'warning'
+                });
+            }
+        }
+    }
+</script>

+ 720 - 0
src/components/base/LtModal.vue

@@ -0,0 +1,720 @@
+<template>
+  <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="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="midBox">
+              <img class="midLogo" src="../../images/relation.png" alt />
+              <p class="midTitle">相互关联</p>
+            </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>
+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;
+            }
+          }
+          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;
+  width: 100%;
+  height: 100%;
+  z-index: 21;
+  .cover {
+    background: #000;
+    opacity: 0.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;
+      }
+    }
+    .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();
+      }
     }
   }
 };

+ 0 - 17
src/components/cdssManage/disease/AddDisease.vue

@@ -229,23 +229,6 @@ export default {
         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,

+ 66 - 14
src/components/cdssManage/disease/Disease.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="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">
@@ -61,6 +71,15 @@
         ></el-pagination>
       </div>
     </div>
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'诊断名称'"
+      :standard="'诊断名称'"
+      :type="4"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -68,16 +87,23 @@
 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: 'Disease', //化验大小项和公表维护
   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,
@@ -87,9 +113,16 @@ export default {
       uploadInfo: '导入',
       title: '诊断关联维护 | ',
       hospitaiName: '',
-      hospitalId: ''
+      hospitalId: '',
+      isEdit: false,
+      editId: '',
+      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', 4);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -215,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;
     },
@@ -232,14 +268,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
+        this.data={}
+      this.showModal();
+      /*this.$router.push({
         name: 'AddDisease',
         params: Object.assign(pam, {
           isEdit: false,
           data: { hospitalId: this.hospitalId },
           hospitaiName: this.hospitaiName
         })
-      });
+      });*/
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -251,14 +289,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
+      /*this.$router.push({
         name: 'AddDisease',
         params: Object.assign(pam, {
           isEdit: true,
           data: { ...item, hospitalId: this.hospitalId },
           hospitaiName: this.hospitaiName
         })
-      });
+      });*/
+      this.data = item;
+      this.showModal();
     },
     currentChange(next) {
       this.currentPage = next;
@@ -346,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');
@@ -381,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'
@@ -438,16 +480,26 @@ 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();
+      }
+    },
   }
 };
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 @import '../../../less/admin.less';
-</style>
 
-<style lang="less" scoped>
 .delete {
   color: red;
 }

+ 74 - 21
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,6 +71,16 @@
         ></el-pagination>
       </div>
     </div>
+
+    <LtModal
+      v-if="modalVisiable"
+      @func="getMsgFormSon"
+      :meal="'药品名称'"
+      :standard="'药品名称'"
+      :type="5"
+      :hospitalId="hospitalId"
+      :data="data"
+    ></LtModal>
   </div>
 </template>
 
@@ -68,16 +88,23 @@
 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: 'DrugManage', //化验大小项和公表维护
   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,
@@ -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', 5);
       const header = {
         headers: {
           'Content-Type': 'multipart/form-data'
@@ -216,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;
     },
@@ -233,14 +268,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddDrug',
-        params: Object.assign(pam, {
-          isEdit: false,
-          data: { hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // this.$router.push({
+      //   name: 'AddDrug',
+      //   params: Object.assign(pam, {
+      //     isEdit: false,
+      //     data: { hospitalId: this.hospitalId },
+      //     hospitaiName: this.hospitaiName
+      //   })
+      // });
+      this.data={}
+      this.showModal()
     },
     // 修改诊断关联-跳转至编辑页面
     modifyRelation(row) {
@@ -252,14 +289,16 @@ export default {
             filter: this.filter
           }
         : { currentPage: this.currentPage, pageSize: this.pageSize };
-      this.$router.push({
-        name: 'AddDrug',
-        params: Object.assign(pam, {
-          isEdit: true,
-          data: { ...item, hospitalId: this.hospitalId },
-          hospitaiName: this.hospitaiName
-        })
-      });
+      // 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;
@@ -362,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');
@@ -397,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'
@@ -455,6 +496,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();
+      }
     }
   }
 };

+ 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>

+ 1 - 1
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.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'; //王峰