diff --git a/README.md b/README.md index 65517dfa0a75be91aef5c65df08ae6ee56e59b42..838e8d072f53ca59a1179cae441a26572c18d77e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -<<<<<<< HEAD -运营管理系统前端 -======= # comp-engines ## 配置node的npmrc @@ -106,7 +103,7 @@ socialMediaMonitor.feature.vue //其他待定 }) export default class extends Vue { - @Prop private name! = string + @Prop() private string !: any; private name = 'abc' @provide @model @@ -132,4 +129,3 @@ export default class extends Vue { ->>>>>>> 运营管理系统前端 diff --git a/package-lock.json b/package-lock.json index 55ab129417bcf475b084680c14e3bfe2f4c66089..b0b7c904d1706190e4974554de0c1b89a73778ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9820,6 +9820,11 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.24.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.24.0.tgz", + "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s=" + }, "move-concurrently": { "version": "1.0.1", "resolved": "http://172.18.7.25:8081/nexus/repository/npm-gsafety/move-concurrently/-/move-concurrently-1.0.1.tgz", diff --git a/package.json b/package.json index be2fff7ef123e6c17966ab77007b7c88b73b6efc..b2a31524e220b7976a42e620484161a024e8cf26 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "httpserver": "^0.3.0", "jquery": "^3.4.1", "lodash": "^4.17.15", + "moment": "^2.24.0", "qs": "^6.7.0", "uuid": "^3.3.2", "vue": "^2.6.10", diff --git a/public/index.html b/public/index.html index 9a1331a2b67b57b5ad7d79c61db2128f2e0e3bdd..58312d7f559f4850341cd168997fa5389a1527e1 100644 --- a/public/index.html +++ b/public/index.html @@ -2,33 +2,34 @@ - - - - - comp-engines - - - - - - - - - - - - - - + + + + + 病患溯源管理系统 + + + + + + + + + + + + + - -
- + +
+ \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 44f753144e133b67cdc6010ed9a3aa048d4165be..33100cc72439dedaab0d9133f4b3db27bc0cc38f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,6 +12,8 @@ // text-align: center; color: #2c3e50; height: 100%; + overflow: hidden; + transform-origin: 0 0; } // #nav { // padding: 30px; diff --git a/src/api/feature/accumulativeStatistics.ts b/src/api/feature/accumulativeStatistics.ts new file mode 100644 index 0000000000000000000000000000000000000000..8f51d6d5e8807de2dacc17f343c98b9281fda9a3 --- /dev/null +++ b/src/api/feature/accumulativeStatistics.ts @@ -0,0 +1,38 @@ +import { RequestServerClass } from '../../util/request'; +import { DownloadRequestServer } from '../../util/downRequest'; +export class AccumulativeStatistics { + public rSerivce: any; + public downService: any; + constructor(opt: any, axiosFilterFn?: any) { + this.rSerivce = new RequestServerClass(opt); + this.downService = new DownloadRequestServer(opt); + } + public getTotal(time: any) { + const url = `infection/analysis/cdc/total?date=${time}`; + return this.rSerivce.serverObj.post(url); + } + public getList(opts: any) { + const url = `infection/cdc/suffererinfo/newlyPage`; + return this.rSerivce.serverObj.post(url, opts); + } + public getNewAdd(time: any) { + const url = `infection/cdc/suffererinfo/statisticsNewly?dataDate=${time}`; + return this.rSerivce.serverObj.get(url); + } + // 新增数据导出 + public downloadList(time: any) { + const url = `infection/cdc/suffererinfo/newlyExport?date=${time}`; + return this.downService.downloadRequest.post(url); + } + + // 密接人员分页查询 + public closeContact(opts: any) { + const url = '/infection/closeContact/page'; + return this.rSerivce.serverObj.post(url, opts); + } + // cdc溯源 + public suffererinfoTrace(opts: any) { + const url = `/infection/cdc/suffererinfo/trace?suffererIdNo=${opts.suffererIdNo}&suffererName=${opts.suffererName}`; + return this.rSerivce.serverObj.get(url); + } +} diff --git a/src/api/feature/diseaseInfoServer.ts b/src/api/feature/diseaseInfoServer.ts index ac5bf784bd0b091af4e57621dffd2238070ed716..b567d0dbf6052cfa314228c055d0df6421715638 100644 --- a/src/api/feature/diseaseInfoServer.ts +++ b/src/api/feature/diseaseInfoServer.ts @@ -1,10 +1,13 @@ import { RequestServerClass } from '../../util/request'; +import { DownloadRequestServer } from '../../util/downRequest'; export class DiseaseInfoServer { public rSerivce: any; + public downService: any; constructor(opt: any, axiosFilterFn?: any) { this.rSerivce = new RequestServerClass(opt); + this.downService = new DownloadRequestServer(opt); } // 获取列表数据 @@ -31,13 +34,18 @@ export class DiseaseInfoServer { return this.rSerivce.serverObj.get(url); } - // 病情状态下拉框 public getIllnessStateList() { const url = 'key/v1/patient/findIllnessState'; return this.rSerivce.serverObj.get(url); } + // 状态下拉框 + public getSuffererStatus() { + const url = 'key/v1/patient/findSuffererStatus'; + return this.rSerivce.serverObj.get(url); + } + // 删除病患信息 public deleteInfo(id: string) { const url = `virus/v1/sufferer/delete/${id}`; @@ -46,19 +54,154 @@ export class DiseaseInfoServer { // 病患信息添加 public addInfo(opts: any) { - const url = `/virus/v1/sufferer/save`; + const url = `virus/v1/sufferer/save`; return this.rSerivce.serverObj.post(url, opts); } // 病患信息获取 public getInfoById(id: string) { - const url = `/virus/v1/sufferer/${id}`; + const url = `virus/v1/sufferer/${id}`; return this.rSerivce.serverObj.get(url); } // 病患信息编辑保存 public editSave(opts: any) { - const url = `/virus/v1/sufferer/update`; + const url = `virus/v1/sufferer/update`; + return this.rSerivce.serverObj.post(url, opts); + } + + // 转出位置下拉列表 + public getTurnOutPlace() { + const url = `infectionweb/site/select/query`; + return this.rSerivce.serverObj.post(url); + } + + // 获取武汉市内所有区 + public getAreaOptions() { + const url = `infectionweb/sufferer/area/selected`; + return this.rSerivce.serverObj.post(url); + } + + // 获取疫情人员列表 + public getSufferersList(opts: any) { + const url = `infectionweb/sufferer/search`; + return this.rSerivce.serverObj.post(url, opts); + } + + // 隔离点病患信息追溯 + public getSuffererHistory(id: any) { + const url = `infection/sufferer/trace/${id}`; + return this.rSerivce.serverObj.get(url); + } + + // cdc疫情网病患溯源 + public getCDCSuffererHistory(id: any) { + const url = `infection/cdc/suffererinfo/trace?suffererIdNo=${id}`; + return this.rSerivce.serverObj.get(url); + } + + // 新建病患信息 + public saveSuffererInfo(opts: any) { + const url = 'infectionweb/sufferer/save'; + return this.rSerivce.serverObj.post(url, opts); + } + + // 更新病患信息 + public updateSuffererInfo(opts: any) { + const url = 'infectionweb/sufferer/update'; + return this.rSerivce.serverObj.post(url, opts); + } + + // 查询病患信息 + public searchSuffererInfo(id: any) { + const url = `infectionweb/sufferer/detail?id=${id}`; + return this.rSerivce.serverObj.get(url); + } + // 通过身份证号获取患者信息 + public getSuffererInfoByIDCard(id: any) { + const url = `infectionweb/sufferer/check/suffererinfo?suffererCard=${id}`; + return this.rSerivce.serverObj.post(url); + } + // 文件下载 + public downloadList(dto: any) { + const url = `/infectionweb/sufferer/export/v1`; + return this.downService.downloadRequest.post(url, dto); + } + // 获取疫情网疫情人员列表 + public getEpidemicList(opts: any) { + const url = '/infection/cdc/list'; return this.rSerivce.serverObj.post(url, opts); } + // 获取疫情网疫情病例分类 + public getSickTypeist() { + const url = '/infection/cdc/findClinicalSeverity'; + return this.rSerivce.serverObj.get(url); + } + // 获取疫情网疫病情程度 + public getIllssDegreeneList() { + const url = '/infection/cdc/findCaseType'; + return this.rSerivce.serverObj.get(url); + } + // 获取疫情网疫当前状态 + public getCurrentStatusList() { + const url = '/infection/cdc/findCurStatus'; + return this.rSerivce.serverObj.get(url); + } + // 定点医院信息分页查询接口 + public getHospitalList(opts: any) { + const url = '/infection/point/hospital/list'; + return this.rSerivce.serverObj.post(url, opts); + } + // 定点医院病患信息详情 + public searchPointInfo(id: any) { + const url = `/infection/point/hospital/detail?id=${id}`; + return this.rSerivce.serverObj.get(url); + } + // 病情下拉框 + public findPointIllnessState() { + const url = '/infection/point/hospital/findPointIllnessState'; + return this.rSerivce.serverObj.get(url); + } + // 状态下拉框 + public findPointSuffererStatus() { + const url = '/infection/point/hospital/findPointSuffererStatus'; + return this.rSerivce.serverObj.get(url); + } + // 类型下拉框 + public findPointSuffererType() { + const url = '/infection/point/hospital/findPointSuffererType'; + return this.rSerivce.serverObj.get(url); + } + + // 获取放舱医院列表数据 + public getFCHospitalList(opts: any) { + const url = '/infection/fangcang/sufferer/page'; + return this.rSerivce.serverObj.post(url, opts); + } + + // 方舱医院信息详情接口 + public getFCHospitalEditData(id: any) { + const url = `/infection/fangcang/sufferer/one?id=${id}`; + return this.rSerivce.serverObj.get(url); + } + + // 疫情医院人员详情 + public getDDHospitalEditData(id: any) { + const url = `/infection/cdc/suffererinfo/one?id=${id}`; + return this.rSerivce.serverObj.get(url); + } + + // 隔离点数据对比 + public dataCompare() { + const url = `infectionweb/sufferer/trace/v1`; + return this.rSerivce.serverObj.post(url); + } + + // 疫情网数据对比 + public dataCompareCDC() { + const url = `infection/cdc/compareData`; + return this.rSerivce.serverObj.post(url); + } + + // } diff --git a/src/api/feature/isolationService.ts b/src/api/feature/isolationService.ts new file mode 100644 index 0000000000000000000000000000000000000000..df5017ca32b79d5a968fcabce92f207661d76897 --- /dev/null +++ b/src/api/feature/isolationService.ts @@ -0,0 +1,32 @@ +import { RequestServerClass } from '../../util/request'; +import { DownloadRequestServer } from '../../util/downRequest'; +export class IsolationService { + public rSerivce: any; + public downService: any; + constructor(opt: any, axiosFilterFn?: any) { + this.rSerivce = new RequestServerClass(opt); + this.downService = new DownloadRequestServer(opt); + } + public getTotal() { + const url = 'infection/analysis/jx/suffererCensus'; + return this.rSerivce.serverObj.post(url); + } + public getList(opts: any) { + const url = `infection/analysis/jx/suffererNewsPage?page=${opts.page}&size=${opts.size}&type=${opts.type}&totalDate=${opts.totalDate}`; + return this.rSerivce.serverObj.post(url); + } + public getNewAdd(time: any) { + const url = `infection/analysis/jx/suffererNewCensus?totalDate=${time}`; + return this.rSerivce.serverObj.post(url); + } + // 新增数据导出 + public downloadList(time: any) { + const url = `infection/analysis/jx/export?totalDate=${time}`; + return this.downService.downloadRequest.post(url); + } + // 统计数据获取 + public getStaticData() { + const url = `sufferer/site/tjj/isolate`; + return this.rSerivce.serverObj.post(url); + } +} diff --git a/src/api/feature/loginServer.ts b/src/api/feature/loginServer.ts new file mode 100644 index 0000000000000000000000000000000000000000..54fbf7cc922829e0dd66c4d1c0856d1764e07891 --- /dev/null +++ b/src/api/feature/loginServer.ts @@ -0,0 +1,24 @@ +import { RequestServerClass } from '../../util/request'; + +export class LoginServer { + public rSerivce: any; + + constructor(opt: any, axiosFilterFn?: any) { + this.rSerivce = new RequestServerClass(opt); + } + + // 获取列表数据 + public loginIn(opts: any) { + const url = 'sys/login'; + return this.rSerivce.serverObj.post(url, opts); + } + + // 病患类型下拉框 + public loginOut() { + const opts = { + token: localStorage.getItem('token'), + }; + const url = 'sys/logout'; + return this.rSerivce.serverObj.post(url, opts); + } +} diff --git a/src/api/installServer.ts b/src/api/installServer.ts index d7a9f9d46d6b76f38f793bb2a141a78b1fca133b..ae29ff3c6f5d3c691de62c33ba410c315f59fe41 100644 --- a/src/api/installServer.ts +++ b/src/api/installServer.ts @@ -4,8 +4,28 @@ const serverPath = require('../config/index').servePath; import { RequestServerClass } from '../util/request'; import { DizhenServer } from './feature/dizhenServer'; import { DiseaseInfoServer } from './feature/diseaseInfoServer'; +import { LoginServer } from './feature/loginServer'; +import { AccumulativeStatistics } from './feature/accumulativeStatistics'; +import { IsolationService } from './feature/isolationService'; const dizhenServer = new DizhenServer({ baseURL: publicPath }); -const diseaseInfoServer = new DiseaseInfoServer({ baseURL: '/virusapi' }); // 病患信息接口 +const diseaseInfoServer = new DiseaseInfoServer({ + baseURL: serverPath, +}); // 病患信息接口 +const loginServer = new LoginServer({ + baseURL: serverPath, +}); +const accumulativeStatistics = new AccumulativeStatistics({ + baseURL: serverPath, +}); +const isolationService = new IsolationService({ + baseURL: serverPath, +}); -export { dizhenServer, diseaseInfoServer }; +export { + dizhenServer, + diseaseInfoServer, + loginServer, + accumulativeStatistics, + isolationService, +}; diff --git a/src/assets/css/global.less b/src/assets/css/global.less index 1bdba5323e92842f33dd82e32c6b0d38d7279dd4..2212f7cbf9798001449d794d6b05e3b6ef83127b 100644 --- a/src/assets/css/global.less +++ b/src/assets/css/global.less @@ -20,3 +20,21 @@ body { width: calc(100% + 17px); height: calc(100% + 17px) !important; } + +.background-yellow { + background: #ffff4c !important; +} + +.background-red { + background: #ff6655 !important; +} + +.el-input.is-disabled .el-input__inner { + color: #606266 !important; + cursor: default !important; +} + +.el-textarea.is-disabled .el-textarea__inner { + color: #606266 !important; + cursor: default !important; +} \ No newline at end of file diff --git a/src/assets/image/active.png b/src/assets/image/active.png new file mode 100644 index 0000000000000000000000000000000000000000..31d412000a7e629856bdc615edac1bd113757270 Binary files /dev/null and b/src/assets/image/active.png differ diff --git a/src/assets/image/back-btn.png b/src/assets/image/back-btn.png new file mode 100644 index 0000000000000000000000000000000000000000..631f3116158ef3794388e4d00b39944983415ce4 Binary files /dev/null and b/src/assets/image/back-btn.png differ diff --git a/src/assets/image/bg.png b/src/assets/image/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca469acfd93a9d00e5e04c7a9144d0dfe460455 Binary files /dev/null and b/src/assets/image/bg.png differ diff --git a/src/assets/image/defined-photo-bg.png b/src/assets/image/defined-photo-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..38eceb049fb2567e08e03078a564a916b1f06171 Binary files /dev/null and b/src/assets/image/defined-photo-bg.png differ diff --git a/src/assets/image/defined.png b/src/assets/image/defined.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba10b3cd283b08000151a7dacd48826207e883d Binary files /dev/null and b/src/assets/image/defined.png differ diff --git a/src/assets/image/dingwei.png b/src/assets/image/dingwei.png new file mode 100644 index 0000000000000000000000000000000000000000..8812394acc308a848ac38de4d5bcaecd08557c77 Binary files /dev/null and b/src/assets/image/dingwei.png differ diff --git a/src/assets/image/jiantou.png b/src/assets/image/jiantou.png new file mode 100644 index 0000000000000000000000000000000000000000..97c834f15fe21051a27b15915319f8edd75a87f9 Binary files /dev/null and b/src/assets/image/jiantou.png differ diff --git a/src/assets/image/last-page.png b/src/assets/image/last-page.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6cee235f2c8b53196c63b51b431b433ccb6ea4 Binary files /dev/null and b/src/assets/image/last-page.png differ diff --git a/src/assets/image/left-bottom.png b/src/assets/image/left-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..245f31053b7e14b5f2ed28f7402e766283b664ae Binary files /dev/null and b/src/assets/image/left-bottom.png differ diff --git a/src/assets/image/left-center.png b/src/assets/image/left-center.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3c43dfaa809dc8518faeb3feff7bd1424f56b1 Binary files /dev/null and b/src/assets/image/left-center.png differ diff --git a/src/assets/image/left-top.png b/src/assets/image/left-top.png new file mode 100644 index 0000000000000000000000000000000000000000..f8226fe1d4e27fd4af6ef1800a23f3adef8e0373 Binary files /dev/null and b/src/assets/image/left-top.png differ diff --git a/src/assets/image/miqie-adopt.png b/src/assets/image/miqie-adopt.png new file mode 100644 index 0000000000000000000000000000000000000000..09f44cf667f836a9ddf99cd346b9c9897757b398 Binary files /dev/null and b/src/assets/image/miqie-adopt.png differ diff --git a/src/assets/image/miqie-defined.png b/src/assets/image/miqie-defined.png new file mode 100644 index 0000000000000000000000000000000000000000..7b006a04e9673a9ee481480ca8eb5e6b4017a95e Binary files /dev/null and b/src/assets/image/miqie-defined.png differ diff --git a/src/assets/image/miqie-photo-bg.png b/src/assets/image/miqie-photo-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..342a3fcd3b7961fb3687061e26381fd59ced8395 Binary files /dev/null and b/src/assets/image/miqie-photo-bg.png differ diff --git a/src/assets/image/miqie.png b/src/assets/image/miqie.png new file mode 100644 index 0000000000000000000000000000000000000000..b311daf455fc5e61c36858e7ea8d0906b0643b3a Binary files /dev/null and b/src/assets/image/miqie.png differ diff --git a/src/assets/image/next-page.png b/src/assets/image/next-page.png new file mode 100644 index 0000000000000000000000000000000000000000..d31d40c4908a08975e1410ff3b33c4f6bfefd21a Binary files /dev/null and b/src/assets/image/next-page.png differ diff --git a/src/assets/image/right-bottom.png b/src/assets/image/right-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..56eacf155cc0c78b0ab5cc0f5b2b89e45ec1dc5b Binary files /dev/null and b/src/assets/image/right-bottom.png differ diff --git a/src/assets/image/right-center.png b/src/assets/image/right-center.png new file mode 100644 index 0000000000000000000000000000000000000000..e634c68f8651c6718a85618482d399e4e16abf30 Binary files /dev/null and b/src/assets/image/right-center.png differ diff --git a/src/assets/image/right-top.png b/src/assets/image/right-top.png new file mode 100644 index 0000000000000000000000000000000000000000..b432176cac64e6fbb826fbee8a3615f5c9056b26 Binary files /dev/null and b/src/assets/image/right-top.png differ diff --git a/src/assets/image/shijianzhou.png b/src/assets/image/shijianzhou.png new file mode 100644 index 0000000000000000000000000000000000000000..a5753cc9b61c8d398c6830cb8e7a88a4b01c5778 Binary files /dev/null and b/src/assets/image/shijianzhou.png differ diff --git a/src/assets/image/top-left.png b/src/assets/image/top-left.png new file mode 100644 index 0000000000000000000000000000000000000000..89c449df781a1398f5e2af726fdb82224eb63c7b Binary files /dev/null and b/src/assets/image/top-left.png differ diff --git a/src/assets/image/viewbg.png b/src/assets/image/viewbg.png new file mode 100644 index 0000000000000000000000000000000000000000..522abd01518bc67156d9aaa1ff4aa19e7c2a9791 Binary files /dev/null and b/src/assets/image/viewbg.png differ diff --git a/src/assets/img/background.png b/src/assets/img/background.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca3d0c6b466b81310f859a33190cf5ec4e990a9 Binary files /dev/null and b/src/assets/img/background.png differ diff --git a/src/assets/img/ico-admin.png b/src/assets/img/ico-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..5232def4b68718f1b8d36331d2bed87d32d93232 Binary files /dev/null and b/src/assets/img/ico-admin.png differ diff --git a/src/assets/img/ico-back.png b/src/assets/img/ico-back.png new file mode 100644 index 0000000000000000000000000000000000000000..ff037f35163523796365cede175c49b3d28d4c0e Binary files /dev/null and b/src/assets/img/ico-back.png differ diff --git a/src/assets/img/ico-close.png b/src/assets/img/ico-close.png new file mode 100644 index 0000000000000000000000000000000000000000..c41e07cd648b6d4b200f4c82f027a602b0212cd4 Binary files /dev/null and b/src/assets/img/ico-close.png differ diff --git a/src/assets/img/ico-down.png b/src/assets/img/ico-down.png new file mode 100644 index 0000000000000000000000000000000000000000..3878fbbeeaf4d5f3169ceb7e1be62a707385f7b1 Binary files /dev/null and b/src/assets/img/ico-down.png differ diff --git a/src/assets/img/ico-exit (1).png b/src/assets/img/ico-exit (1).png new file mode 100644 index 0000000000000000000000000000000000000000..d17cc8f107c31802c9506a62ac27aa1361ac1e8b Binary files /dev/null and b/src/assets/img/ico-exit (1).png differ diff --git a/src/assets/img/ico-exit (12).png b/src/assets/img/ico-exit (12).png new file mode 100644 index 0000000000000000000000000000000000000000..c9a75cfd80f9ca90480cfe5f5c47f2a5638d8a17 Binary files /dev/null and b/src/assets/img/ico-exit (12).png differ diff --git a/src/assets/img/ico-exit (14).png b/src/assets/img/ico-exit (14).png new file mode 100644 index 0000000000000000000000000000000000000000..50de48efe424a80b88266641e46a7e5fa058e460 Binary files /dev/null and b/src/assets/img/ico-exit (14).png differ diff --git a/src/assets/img/ico-exit (15).png b/src/assets/img/ico-exit (15).png new file mode 100644 index 0000000000000000000000000000000000000000..25fc5c01e6d55b70160e852e8ecd5c2c6cc64fd4 Binary files /dev/null and b/src/assets/img/ico-exit (15).png differ diff --git a/src/assets/img/ico-exit (3).png b/src/assets/img/ico-exit (3).png new file mode 100644 index 0000000000000000000000000000000000000000..841e0f0a05acfbc4671aeef7198d95ec433a8394 Binary files /dev/null and b/src/assets/img/ico-exit (3).png differ diff --git a/src/assets/img/ico-search.png b/src/assets/img/ico-search.png new file mode 100644 index 0000000000000000000000000000000000000000..48996f9d3cee301b51ba27d3741be925aa7656ab Binary files /dev/null and b/src/assets/img/ico-search.png differ diff --git a/src/assets/img/ico-top.png b/src/assets/img/ico-top.png new file mode 100644 index 0000000000000000000000000000000000000000..0a06c0066e4cb00be1d98f514b1afe07d6495246 Binary files /dev/null and b/src/assets/img/ico-top.png differ diff --git a/src/assets/img/icon-home.png b/src/assets/img/icon-home.png new file mode 100644 index 0000000000000000000000000000000000000000..0825b9ac46e3d2b8b4f5ea5edee0e163f2b81461 Binary files /dev/null and b/src/assets/img/icon-home.png differ diff --git a/src/assets/img/icon-menu.png b/src/assets/img/icon-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd66fefdc8e69d36f92c060d8b2e5b772fbb881 Binary files /dev/null and b/src/assets/img/icon-menu.png differ diff --git a/src/assets/img/icon-more.png b/src/assets/img/icon-more.png new file mode 100644 index 0000000000000000000000000000000000000000..e8dcce7c945e83e08cb8c24b688a680448d1849d Binary files /dev/null and b/src/assets/img/icon-more.png differ diff --git a/src/assets/img/icon-people.png b/src/assets/img/icon-people.png new file mode 100644 index 0000000000000000000000000000000000000000..ec196b891cb0a4d0defdb0839ca157941dcd3cae Binary files /dev/null and b/src/assets/img/icon-people.png differ diff --git a/src/assets/img/login1.png b/src/assets/img/login1.png new file mode 100644 index 0000000000000000000000000000000000000000..b95bfcdfc3826b6bc30d24298f5562ff3fa68c41 Binary files /dev/null and b/src/assets/img/login1.png differ diff --git a/src/assets/img/login2.png b/src/assets/img/login2.png new file mode 100644 index 0000000000000000000000000000000000000000..e696ad8142c67624ccee68745b392a8fd999fd58 Binary files /dev/null and b/src/assets/img/login2.png differ diff --git a/src/components/common/DiseaseInfo/DiseaseAdd.vue b/src/components/common/DiseaseInfo/DiseaseAdd.vue deleted file mode 100644 index 01131d295b350eb0084ff86cdb5d182abecc3386..0000000000000000000000000000000000000000 --- a/src/components/common/DiseaseInfo/DiseaseAdd.vue +++ /dev/null @@ -1,516 +0,0 @@ - - - - - - - diff --git a/src/components/common/DiseaseInfo/DiseaseEdit.vue b/src/components/common/DiseaseInfo/DiseaseEdit.vue deleted file mode 100644 index aada28896f4c7845df78670ef17e4f48ee7d0754..0000000000000000000000000000000000000000 --- a/src/components/common/DiseaseInfo/DiseaseEdit.vue +++ /dev/null @@ -1,537 +0,0 @@ - - - - - - - diff --git a/src/components/feature/AccumulativeStatistics/AccuItem.vue b/src/components/feature/AccumulativeStatistics/AccuItem.vue new file mode 100644 index 0000000000000000000000000000000000000000..e875bb29d0926b411e2322579b198f4488360d52 --- /dev/null +++ b/src/components/feature/AccumulativeStatistics/AccuItem.vue @@ -0,0 +1,83 @@ + + + + diff --git a/src/components/feature/AccumulativeStatistics/AccumulativeStatistics.vue b/src/components/feature/AccumulativeStatistics/AccumulativeStatistics.vue new file mode 100644 index 0000000000000000000000000000000000000000..ed1a1d6e4ec1b43f2eb7a1a22dfc7406d8f71ac0 --- /dev/null +++ b/src/components/feature/AccumulativeStatistics/AccumulativeStatistics.vue @@ -0,0 +1,439 @@ + + + + diff --git a/src/components/feature/DataCompare/DataCompare.vue b/src/components/feature/DataCompare/DataCompare.vue new file mode 100644 index 0000000000000000000000000000000000000000..308236c5a0ec4966256f3e6175c7da8d96e87505 --- /dev/null +++ b/src/components/feature/DataCompare/DataCompare.vue @@ -0,0 +1,78 @@ + + + + + + + diff --git a/src/components/feature/DiseaseInfoGL/DiseaseInfoGL.vue b/src/components/feature/DiseaseInfoGL/DiseaseInfoGL.vue new file mode 100644 index 0000000000000000000000000000000000000000..e9315f5eaae2dc7a9ecabba1334546183fd04a4b --- /dev/null +++ b/src/components/feature/DiseaseInfoGL/DiseaseInfoGL.vue @@ -0,0 +1,21 @@ + + + + diff --git a/src/components/common/DiseaseInfo/DiseaseList.vue b/src/components/feature/DiseaseInfoGL/DiseaseList.vue similarity index 31% rename from src/components/common/DiseaseInfo/DiseaseList.vue rename to src/components/feature/DiseaseInfoGL/DiseaseList.vue index bab84f558bec92de8a02523b86dbb6a3adb67202..f67b48e60b8cef5b6a61123a9ff7a67cc59f2383 100644 --- a/src/components/common/DiseaseInfo/DiseaseList.vue +++ b/src/components/feature/DiseaseInfoGL/DiseaseList.vue @@ -1,20 +1,77 @@ + // 疫情网下载 + private downloadYQ() { + const params = { + illnessState: '', + page: 1, + size: 10, + suffererCard: '', + suffererName: '', + suffererStatus: '', + suffererTel: '', + suffererType: '', + }; + diseaseInfoServer.downloadList(params).then((res: any) => { + this.downloadFun(res); + }); + } - + + diff --git a/src/components/feature/DiseaseInfoGL/PeopleInfoAdd.vue b/src/components/feature/DiseaseInfoGL/PeopleInfoAdd.vue new file mode 100644 index 0000000000000000000000000000000000000000..2358b37c22f888abae344ce3abf0bac007fa2797 --- /dev/null +++ b/src/components/feature/DiseaseInfoGL/PeopleInfoAdd.vue @@ -0,0 +1,659 @@ + + + + diff --git a/src/components/feature/DiseaseInfoGL/PeopleInfoDetail.vue b/src/components/feature/DiseaseInfoGL/PeopleInfoDetail.vue new file mode 100644 index 0000000000000000000000000000000000000000..f783cd9f6c633623b5f87430906874b626975089 --- /dev/null +++ b/src/components/feature/DiseaseInfoGL/PeopleInfoDetail.vue @@ -0,0 +1,101 @@ + + + + diff --git a/src/components/feature/DiseaseInfoGL/PeopleInfoEdit.vue b/src/components/feature/DiseaseInfoGL/PeopleInfoEdit.vue new file mode 100644 index 0000000000000000000000000000000000000000..b49ed91a7e29aa6a1488bdae844c1cf7236d3bfc --- /dev/null +++ b/src/components/feature/DiseaseInfoGL/PeopleInfoEdit.vue @@ -0,0 +1,690 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalDD/DiseaseInfoHospitalDD.vue b/src/components/feature/DiseaseInfoHospitalDD/DiseaseInfoHospitalDD.vue new file mode 100644 index 0000000000000000000000000000000000000000..dbe75aa186e4159fcfc4b6310898eadb458d946e --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalDD/DiseaseInfoHospitalDD.vue @@ -0,0 +1,21 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalDD/DiseaseList.vue b/src/components/feature/DiseaseInfoHospitalDD/DiseaseList.vue new file mode 100644 index 0000000000000000000000000000000000000000..8ddd9873c7df15c8cf92bcc30707832c21c1fb1c --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalDD/DiseaseList.vue @@ -0,0 +1,580 @@ + + + + + + diff --git a/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoAdd.vue b/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoAdd.vue new file mode 100644 index 0000000000000000000000000000000000000000..2358b37c22f888abae344ce3abf0bac007fa2797 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoAdd.vue @@ -0,0 +1,659 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoDetail.vue b/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoDetail.vue new file mode 100644 index 0000000000000000000000000000000000000000..a2a3b7c8f0b37648cbacc0b152d7a8abb8b2f864 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoDetail.vue @@ -0,0 +1,101 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoEdit.vue b/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoEdit.vue new file mode 100644 index 0000000000000000000000000000000000000000..a906ea7b3074f03d686f96ad56ced07e6f52bbc4 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalDD/PeopleInfoEdit.vue @@ -0,0 +1,594 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalFC/DiseaseInfoHospitalFC.vue b/src/components/feature/DiseaseInfoHospitalFC/DiseaseInfoHospitalFC.vue new file mode 100644 index 0000000000000000000000000000000000000000..06cd8568fe655c5ccbde525b331bd8854d6d1cee --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalFC/DiseaseInfoHospitalFC.vue @@ -0,0 +1,21 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalFC/DiseaseList.vue b/src/components/feature/DiseaseInfoHospitalFC/DiseaseList.vue new file mode 100644 index 0000000000000000000000000000000000000000..44faa3bd30e980d98b193360c27bb5bf7b52bab3 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalFC/DiseaseList.vue @@ -0,0 +1,552 @@ + + + + + + diff --git a/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoAdd.vue b/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoAdd.vue new file mode 100644 index 0000000000000000000000000000000000000000..2358b37c22f888abae344ce3abf0bac007fa2797 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoAdd.vue @@ -0,0 +1,659 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoDetail.vue b/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoDetail.vue new file mode 100644 index 0000000000000000000000000000000000000000..a2a3b7c8f0b37648cbacc0b152d7a8abb8b2f864 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoDetail.vue @@ -0,0 +1,101 @@ + + + + diff --git a/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoEdit.vue b/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoEdit.vue new file mode 100644 index 0000000000000000000000000000000000000000..fa2d4cc751a9f22424daee397fd52ce47293bd38 --- /dev/null +++ b/src/components/feature/DiseaseInfoHospitalFC/PeopleInfoEdit.vue @@ -0,0 +1,616 @@ + + + + diff --git a/src/components/feature/DiseaseInfoYQ/DiseaseInfoYQ.vue b/src/components/feature/DiseaseInfoYQ/DiseaseInfoYQ.vue new file mode 100644 index 0000000000000000000000000000000000000000..de396090235987ec770b356c7fe75c51a472ffe2 --- /dev/null +++ b/src/components/feature/DiseaseInfoYQ/DiseaseInfoYQ.vue @@ -0,0 +1,21 @@ + + + + diff --git a/src/components/feature/DiseaseInfoYQ/DiseaseList.vue b/src/components/feature/DiseaseInfoYQ/DiseaseList.vue new file mode 100644 index 0000000000000000000000000000000000000000..ab106c60aeea90da916a4ce0e7d14d667a748169 --- /dev/null +++ b/src/components/feature/DiseaseInfoYQ/DiseaseList.vue @@ -0,0 +1,598 @@ + + + + + diff --git a/src/components/feature/DiseaseInfoYQ/PeopleInfoAdd.vue b/src/components/feature/DiseaseInfoYQ/PeopleInfoAdd.vue new file mode 100644 index 0000000000000000000000000000000000000000..2358b37c22f888abae344ce3abf0bac007fa2797 --- /dev/null +++ b/src/components/feature/DiseaseInfoYQ/PeopleInfoAdd.vue @@ -0,0 +1,659 @@ + + + + diff --git a/src/components/feature/DiseaseInfoYQ/PeopleInfoDetail.vue b/src/components/feature/DiseaseInfoYQ/PeopleInfoDetail.vue new file mode 100644 index 0000000000000000000000000000000000000000..a2a3b7c8f0b37648cbacc0b152d7a8abb8b2f864 --- /dev/null +++ b/src/components/feature/DiseaseInfoYQ/PeopleInfoDetail.vue @@ -0,0 +1,101 @@ + + + + diff --git a/src/components/feature/DiseaseInfoYQ/PeopleInfoEdit.vue b/src/components/feature/DiseaseInfoYQ/PeopleInfoEdit.vue new file mode 100644 index 0000000000000000000000000000000000000000..fa3fdab0d537b57edde6067aab898b8acc5a9ca5 --- /dev/null +++ b/src/components/feature/DiseaseInfoYQ/PeopleInfoEdit.vue @@ -0,0 +1,819 @@ + + + + diff --git a/src/components/feature/IsolationPointStatistics/IsolateItem.vue b/src/components/feature/IsolationPointStatistics/IsolateItem.vue new file mode 100644 index 0000000000000000000000000000000000000000..2e2944690d9f5aaef73968a6e673a9599f4f59bd --- /dev/null +++ b/src/components/feature/IsolationPointStatistics/IsolateItem.vue @@ -0,0 +1,65 @@ + + + + diff --git a/src/components/feature/IsolationPointStatistics/IsolationPointStatistics.vue b/src/components/feature/IsolationPointStatistics/IsolationPointStatistics.vue new file mode 100644 index 0000000000000000000000000000000000000000..d2164a4eab72b6f3ecc9b91c6a79a2a30ec997be --- /dev/null +++ b/src/components/feature/IsolationPointStatistics/IsolationPointStatistics.vue @@ -0,0 +1,215 @@ + + + + diff --git a/src/components/feature/IsolationPointStatistics/IsolationPointStatisticsOLDDER.vue b/src/components/feature/IsolationPointStatistics/IsolationPointStatisticsOLDDER.vue new file mode 100644 index 0000000000000000000000000000000000000000..0937181c2c51fc02cab8c726ad5e7c546597a50d --- /dev/null +++ b/src/components/feature/IsolationPointStatistics/IsolationPointStatisticsOLDDER.vue @@ -0,0 +1,261 @@ + + + + diff --git a/src/config/build.js b/src/config/build.js index c0de7539a578663da7367a907c2b7412b0caa171..d48bac4c42e4b7c3c67d7b5bd78add7ccecbebb6 100644 --- a/src/config/build.js +++ b/src/config/build.js @@ -1,9 +1,9 @@ // 部署环境配置项 const globalPath = { - jsonPath: '/yqt_web', - servePath: "http://114.67.117.97:3001/", - webSocketServer : "http://114.67.117.97:3001/" -} + jsonPath: '/yqt_web', + servePath: 'https://ncp.gsafety.com/cdcapi/', + webSocketServer: 'http://114.67.117.97:3001/', +}; -module.exports = globalPath \ No newline at end of file +module.exports = globalPath; diff --git a/src/config/env.js b/src/config/env.js index 808dbbe78c4f4fea3eaecc4c05a41567a70f94dd..0ceb582c48074e7e367ba0d3b69fa76d171b418e 100644 --- a/src/config/env.js +++ b/src/config/env.js @@ -1,6 +1,7 @@ // 开发环境配置项 module.exports = { - jsonPath: '/', - servePath: '/', - webSocketServer: 'ws://172.17.38.202:8080/ws' -}; \ No newline at end of file + jsonPath: '/', + servePath: 'https://ncp.gsafety.com/cdcapi', + // servePath: 'http://16957179rs.51mypc.cn', + webSocketServer: 'ws://172.17.38.202:8080/ws', +}; diff --git a/src/main.ts b/src/main.ts index 0b9bb98b8a88d1de9de0c8a3c1f24d269dacf526..f33575416cac18f04587b347223f472162084b5e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,6 +2,7 @@ import Vue from 'vue'; import App from './App.vue'; import router from './router/router'; import store from './store/index'; +import moment from 'moment'; import './assets/css/global.less'; import 'element-ui/packages/theme-chalk/lib/index.css'; @@ -11,9 +12,10 @@ Vue.config.productionTip = false; import * as ElementUI from 'element-ui'; Vue.use(ElementUI); +Vue.prototype.$moment = moment; new Vue({ router, store, - render: (h) => h(App), + render: (h: any) => h(App), }).$mount('#app'); diff --git a/src/router/router.ts b/src/router/router.ts index 4c0e70f21ae39ffec3354ce70cfb073056e3b3ff..441ef0951a441be32c619da004a4086ba6207495 100644 --- a/src/router/router.ts +++ b/src/router/router.ts @@ -1,38 +1,196 @@ import Vue from 'vue'; -import Router from 'vue-router'; +import Router, { Route } from 'vue-router'; // import Home from '../views/common/Home.vue'; -import LayoutHome from '../views/theme/classic/LayoutHome.vue'; -import DiseaseList from '../components/common/DiseaseInfo/DiseaseList.vue'; // 疫情信息列表页面 -import DiseaseAdd from '../components/common/DiseaseInfo/DiseaseAdd.vue'; // 疫情信息列表页面 -import DiseaseEdit from '../components/common/DiseaseInfo/DiseaseEdit.vue'; // 疫情信息编辑页面 +// import LayoutHome from '../views/theme/classic/LayoutHome.vue'; +import Login from '../views/Login.vue'; // 登录页面 +import DiseaseList from '../components/feature/DiseaseInfoGL/DiseaseList.vue'; // 疫情信息列表页面 +import PeopleInfoAdd from '../components/feature/DiseaseInfoGL/PeopleInfoAdd.vue'; // 人员新增/转入 +import PeopleInfoEdit from '../components/feature/DiseaseInfoGL/PeopleInfoEdit.vue'; // 人员编辑 +import PeopleInfoDetail from '../components/feature/DiseaseInfoGL/PeopleInfoDetail.vue'; // 病情追溯 +import DiseaseInfoGL from '../components/feature/DiseaseInfoGL/DiseaseInfoGL.vue'; // 统计局人员列表 + +import DiseaseInfoYQ from '../components/feature/DiseaseInfoYQ/DiseaseInfoYQ.vue'; // 疫情网人员列表 +import DiseaseListYQ from '../components/feature/DiseaseInfoYQ/DiseaseList.vue'; // 疫情信息列表页面 +import PeopleInfoAddYQ from '../components/feature/DiseaseInfoYQ/PeopleInfoAdd.vue'; // 人员新增/转入 +import PeopleInfoEditYQ from '../components/feature/DiseaseInfoYQ/PeopleInfoEdit.vue'; // 人员编辑 +import PeopleInfoDetailYQ from '../components/feature/DiseaseInfoYQ/PeopleInfoDetail.vue'; // 病情追溯 + +import DiseaseInfoHospitalDD from '../components/feature/DiseaseInfoHospitalDD/DiseaseInfoHospitalDD.vue'; // 定点医院人员列表 +import DiseaseListDD from '../components/feature/DiseaseInfoHospitalDD/DiseaseList.vue'; // 疫情信息列表页面 +import PeopleInfoAddDD from '../components/feature/DiseaseInfoHospitalDD/PeopleInfoAdd.vue'; // 人员新增/转入 +import PeopleInfoEditDD from '../components/feature/DiseaseInfoHospitalDD/PeopleInfoEdit.vue'; // 人员编辑 +import PeopleInfoDetailDD from '../components/feature/DiseaseInfoHospitalDD/PeopleInfoDetail.vue'; // 病情追溯 + +import DiseaseInfoHospitalFC from '../components/feature/DiseaseInfoHospitalFC/DiseaseInfoHospitalFC.vue'; // 方舱医院人员列表 +import DiseaseListFC from '../components/feature/DiseaseInfoHospitalFC/DiseaseList.vue'; // 疫情信息列表页面 +import PeopleInfoAddFC from '../components/feature/DiseaseInfoHospitalFC/PeopleInfoAdd.vue'; // 人员新增/转入 +import PeopleInfoEditFC from '../components/feature/DiseaseInfoHospitalFC/PeopleInfoEdit.vue'; // 人员编辑 +import PeopleInfoDetailFC from '../components/feature/DiseaseInfoHospitalFC/PeopleInfoDetail.vue'; // 病情追溯 + +import IsolationStatistics from '../components/feature/IsolationPointStatistics/IsolationPointStatistics.vue'; // 隔离点 +import AccumulativeStatistics from '../components/feature/AccumulativeStatistics/AccumulativeStatistics.vue'; // 累计统计 +import PatientPortrayal from '../views/PatientPortrayal.vue'; // 患者画像 +import LayoutHome from '../views/LayoutHome.vue'; // 首页 +import DataCompare from '../components/feature/DataCompare/DataCompare.vue'; // 数据对比 Vue.use(Router); -export default new Router({ +const router = new Router({ mode: 'hash', base: process.env.BASE_URL, routes: [ { path: '/', - redirect: '/DiseaseList', + redirect: '/Login', + }, + { + path: '/Login', + name: 'Login', + component: Login, }, { - // 疫情信息列表页面 - path: '/DiseaseList', - name: 'DiseaseList', - component: DiseaseList, + path: '/PatientPortrayal', + name: 'PatientPortrayal', + component: PatientPortrayal, }, { - // 疫情信息添加页面 - path: '/DiseaseAdd', - name: 'DiseaseAdd', - component: DiseaseAdd, + path: '/LayoutHome', + name: 'LayoutHome', + component: LayoutHome, + children: [ + { + path: 'DiseaseInfoYQ', + redirect: '/LayoutHome/DiseaseInfoYQ/DiseaseList', + name: 'DiseaseInfoYQ', + component: DiseaseInfoYQ, + children: [ + { + path: 'DiseaseList', + name: 'DiseaseListYQ', + component: DiseaseListYQ, + }, + { + path: 'PeopleInfoAdd', + name: 'PeopleInfoAddYQ', + component: PeopleInfoAddYQ, + }, + { + path: 'PeopleInfoEdit/:id', + name: 'PeopleInfoEditYQ', + component: PeopleInfoEditYQ, + }, + { + path: 'PeopleInfoDetail/:id', + name: 'PeopleInfoDetailYQ', + component: PeopleInfoDetailYQ, + }, + ], + }, + { + path: 'DiseaseInfoGL', + redirect: '/LayoutHome/DiseaseInfoGL/DiseaseList', + name: 'DiseaseInfoGL', + component: DiseaseInfoGL, + children: [ + { + path: 'DiseaseList', + name: 'DiseaseList', + component: DiseaseList, + }, + { + path: 'PeopleInfoAdd', + name: 'PeopleInfoAdd', + component: PeopleInfoAdd, + }, + { + path: 'PeopleInfoEdit/:id', + name: 'PeopleInfoEdit', + component: PeopleInfoEdit, + }, + { + path: 'PeopleInfoDetail/:id', + name: 'PeopleInfoDetail', + component: PeopleInfoDetail, + }, + ], + }, + { + path: 'DiseaseInfoHospitalDD', + redirect: '/LayoutHome/DiseaseInfoHospitalDD/DiseaseList', + name: 'DiseaseInfoHospitalDD', + component: DiseaseInfoHospitalDD, + children: [ + { + path: 'DiseaseList', + name: 'DiseaseListDD', + component: DiseaseListDD, + }, + { + path: 'PeopleInfoAdd', + name: 'PeopleInfoAddDD', + component: PeopleInfoAddDD, + }, + { + path: 'PeopleInfoEdit/:id', + name: 'PeopleInfoEditDD', + component: PeopleInfoEditDD, + }, + { + path: 'PeopleInfoDetail/:id', + name: 'PeopleInfoDetailDD', + component: PeopleInfoDetailDD, + }, + ], + }, + { + path: 'DiseaseInfoHospitalFC', + redirect: '/LayoutHome/DiseaseInfoHospitalFC/DiseaseList', + name: 'DiseaseInfoHospitalFC', + component: DiseaseInfoHospitalFC, + children: [ + { + path: 'DiseaseList', + name: 'DiseaseListFC', + component: DiseaseListFC, + }, + { + path: 'PeopleInfoAdd', + name: 'PeopleInfoAddFC', + component: PeopleInfoAddFC, + }, + { + path: 'PeopleInfoEdit/:id', + name: 'PeopleInfoEditFC', + component: PeopleInfoEditFC, + }, + { + path: 'PeopleInfoDetail/:id', + name: 'PeopleInfoDetailFC', + component: PeopleInfoDetailFC, + }, + ], + }, + { + path: 'AccumulativeStatistics', + name: 'AccumulativeStatistics', + component: AccumulativeStatistics, + }, + { + path: 'IsolationPointStatistics', + name: 'IsolationPointStatistics', + component: IsolationStatistics, + }, + ], }, { - // 疫情信息编辑页面 - path: '/DiseaseEdit/:id', - name: 'DiseaseEdit', - component: DiseaseEdit, - props: true, + path: '/dataCompare', + name: 'DataCompare', + component: DataCompare, }, ], }); +// router.beforeEach((to, from, next) => { +// // 登录校验 +// console.log(to); +// next(); +// }); +export default router; diff --git a/src/types/extend-vue.d.ts b/src/types/extend-vue.d.ts index 2efde4d276ba52972875105a78d39fcf99761c03..09814d95d6d576274280bca5043ade4b1cdea247 100644 --- a/src/types/extend-vue.d.ts +++ b/src/types/extend-vue.d.ts @@ -1,13 +1,14 @@ import Vue from 'vue'; declare module 'vue/types/vue' { - interface Vue { - onMapClick : any - } + interface Vue { + onMapClick: any; + $moment: any; + } } declare global { - interface Window { - G: any - } + interface Window { + G: any; + } } diff --git a/src/util/commonUtils.ts b/src/util/commonUtils.ts new file mode 100644 index 0000000000000000000000000000000000000000..8d1a2f71a863575ad8bc2a412d56d6efa1b4550e --- /dev/null +++ b/src/util/commonUtils.ts @@ -0,0 +1,51 @@ +// 同步资源导出的方法 +export const downloadFuncs = (obj: any) => { + // 兼容ie的文件下载方法 + const flag = + window.navigator.userAgent.indexOf('Trident') > -1 && + window.navigator.userAgent.indexOf('rv:11.0') > -1; + if (flag) { + try { + window.navigator.msSaveBlob(obj.blobStream, obj.filename); + } catch (e) { + throw Error; + // console.log(e); + } + } else { + // 谷歌的下载方法 + const downloadElement = document.createElement('a'); + downloadElement.href = obj.url; + downloadElement.target = '_blank'; + downloadElement.download = obj.filename; + document.body.appendChild(downloadElement); + downloadElement.click(); + document.body.removeChild(downloadElement); + window.URL.revokeObjectURL(obj.url); // 释放掉blob对象 + } +}; + +export const downloadFunc = (file: any) => { + const blob = new Blob([JSON.stringify(file, null, 2)], { + type: 'application/json', + }); + const href = window.URL.createObjectURL(blob); + // 兼容ie的文件下载方法 + if (window.navigator.msSaveBlob) { + try { + window.navigator.msSaveBlob(blob, file.name); + } catch (e) { + throw Error; + // console.log(e); + } + } else { + // 谷歌的下载方法 + const downloadElement = document.createElement('a'); + downloadElement.href = href; + downloadElement.target = '_blank'; + downloadElement.download = file.name; + document.body.appendChild(downloadElement); + downloadElement.click(); + document.body.removeChild(downloadElement); + window.URL.revokeObjectURL(href); // 释放掉blob对象 + } +}; diff --git a/src/util/downRequest.ts b/src/util/downRequest.ts new file mode 100644 index 0000000000000000000000000000000000000000..2035c534877c49cd225327033139fbb2121a21c7 --- /dev/null +++ b/src/util/downRequest.ts @@ -0,0 +1,19 @@ +import axios from 'axios'; + +export class DownloadRequestServer { + public downloadRequest: any; + constructor(opt: object) { + const obj = Object.assign( + { + headers: { client: 'Web' }, + responseType: 'blob', + }, + opt, + ); + this.downloadRequest = axios.create(obj); + this.downloadRequest.interceptors.request.use((item: any) => { + item.headers.token = localStorage.getItem('token'); + return item; + }); + } +} diff --git a/src/util/request.ts b/src/util/request.ts index 04ca949d4b200ee5c691e8e17cca7543d0ebfd41..01f82d5cff90c7948a85ded7aa9a98dc3773ce8e 100644 --- a/src/util/request.ts +++ b/src/util/request.ts @@ -1,14 +1,47 @@ - import axios from 'axios'; +import { config } from '@vue/test-utils'; +import { Message } from 'element-ui'; +import route from '../router/router'; +import _ from 'lodash'; +import { loginServer } from '@/api/installServer'; +// const aa = function alertTips(errorMessage: any) { +// Message.error(errorMessage); +// if (errorMessage === '用户已注销,请重新登录') { +// route.push('/Login'); +// } +// }; export class RequestServerClass { + public serverObj: any; + // private static login: any = true; - public serverObj: any; - - constructor(opt: object) { - const obj = Object.assign({}, opt); - this.serverObj = axios.create( - obj, - ); - } + constructor(opt: object) { + const obj = Object.assign( + { + headers: { client: 'Web' }, + }, + opt, + ); + this.serverObj = axios.create(obj); + this.serverObj.interceptors.request.use((item: any) => { + item.headers.token = localStorage.getItem('token'); + return item; + }); + this.serverObj.interceptors.response.use( + (response: any) => { + // 对响应数据做点什么 + return response; + }, + (error: any) => { + const errorMessage = error.response.data.message; + Message.error(errorMessage); + if (errorMessage === '用户已注销,请重新登录') { + route.push('/Login'); + } + // _.throttle(aa, 2000)(errorMessage); + // 对响应错误做点什么 + return Promise.reject(error); + }, + ); + } } diff --git a/src/views/LayoutHome.vue b/src/views/LayoutHome.vue new file mode 100644 index 0000000000000000000000000000000000000000..f505d8f1e391989e9c7c5695eaeb9ba17ce31432 --- /dev/null +++ b/src/views/LayoutHome.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/Login.vue b/src/views/Login.vue new file mode 100644 index 0000000000000000000000000000000000000000..5954db42f55f60e5e120650ec22484c8d640c85a --- /dev/null +++ b/src/views/Login.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/views/MenuList.vue b/src/views/MenuList.vue new file mode 100644 index 0000000000000000000000000000000000000000..44c3d06126aeff175dc13a3943429cb4fd37b9aa --- /dev/null +++ b/src/views/MenuList.vue @@ -0,0 +1,138 @@ + + + diff --git a/src/views/PatientPortrayal.vue b/src/views/PatientPortrayal.vue new file mode 100644 index 0000000000000000000000000000000000000000..c5026aed5da83904ac5196694738f808d58d544b --- /dev/null +++ b/src/views/PatientPortrayal.vue @@ -0,0 +1,756 @@ + + + + + diff --git a/vue.config.js b/vue.config.js index 601c4d25ff37fb8eac74cc5c2f7b65306b21c74e..dd92f6d06fb39ad41ef0624dc76b22e49245fc3e 100644 --- a/vue.config.js +++ b/vue.config.js @@ -5,28 +5,39 @@ const globalPath = require('./src/config/index.js'); * 配置前端代理,以及开发环境配置 */ module.exports = { - publicPath: globalPath.jsonPath, - pages : { - index : { - entry : ['node_modules/core-js' ,'src/main.ts'] - } + publicPath: globalPath.jsonPath, + pages: { + index: { + entry: ['node_modules/core-js', 'src/main.ts'], }, - devServer: { - port: "8888", - open: true, - proxy: { - '/apis/*': { - target: "http://172.17.38.202:8081", - pathRewrite: { - "/apis": "" - } - }, - '/virusapi': { - target: "http://114.67.117.97:3001", - pathRewrite: { - "/virusapi": "/" - } - } - } - } -} \ No newline at end of file + }, + devServer: { + port: '8888', + open: true, + proxy: { + '/apis/*': { + target: 'http://172.17.38.202:8081', + pathRewrite: { + '/apis': '', + }, + }, + '/virusapi': { + // target: 'http://114.67.117.97:3001', + // target: 'http://zxiao.vipgz2.idcfengye.com', + target: 'http://114.67.117.97:9090', + pathRewrite: { + '/virusapi': '/cdcapi', + }, + }, + '/cdcapi': { + // target: "http://114.67.117.97:3001", + // target: 'http://zxiao.vipgz2.idcfengye.com', + // target: 'https://ncp.gsafety.com', + target: 'http://114.67.117.97:9090', + pathRewrite: { + '/cdcapi': '/cdcapi', + }, + }, + }, + }, +};