diff --git a/src/App.vue b/src/App.vue index f472317a4..f743cc405 100644 --- a/src/App.vue +++ b/src/App.vue @@ -135,10 +135,11 @@ export default { position: relative; max-height: 82vh; box-sizing: border-box; - padding: 0 10px 20px !important; + padding: 0 0 20px !important; .dialog-h-content { max-height: calc(82vh - 80px); box-sizing: border-box; + padding: 0 10px; overflow: auto; } } diff --git a/src/assets/scss/modules/management/epidemic.scss b/src/assets/scss/modules/management/epidemic.scss index d5d2be8c5..c79f9efe0 100644 --- a/src/assets/scss/modules/management/epidemic.scss +++ b/src/assets/scss/modules/management/epidemic.scss @@ -1,6 +1,14 @@ .epidemic-form { .item_width_1 { width: 560px; + + ::v-deep .el-textarea__inner { + padding-bottom: 20px; + } + ::v-deep .el-input__count { + right: 20px; + line-height: 12px; + } } .item_width_2 { width: 220px; @@ -109,3 +117,10 @@ margin-top: 20px; } } + +.twoline { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; +} diff --git a/src/assets/scss/modules/visual/basicInfoMain.scss b/src/assets/scss/modules/visual/basicInfoMain.scss index 72c37bd1c..8d0f82176 100644 --- a/src/assets/scss/modules/visual/basicInfoMain.scss +++ b/src/assets/scss/modules/visual/basicInfoMain.scss @@ -105,8 +105,8 @@ .div_info { box-sizing: border-box; width: 100%; - margin-top: 21px; - height: calc(88vh - 87px); + + height: calc(88vh - 10px); color: #fff; background: url('../../../img/modules/visual/warning-box.png') no-repeat center; diff --git a/src/router/index.js b/src/router/index.js index 9712a81a9..e77263d4b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -233,36 +233,15 @@ router.beforeEach((to, from, next) => { }, { icon: "icon-setting", - id: "3", - name: "人员预警", - url: "visual/warning/index", + id: "2", + name: "人员图谱", + url: "visual/basicinfo/peopleSearch", }, { icon: "icon-setting", - id: "6", - name: "社区治理", - children: [ - { - url: "visual/communityGovern/processAnalyze", - name: "项目处理分析", - id: "processAnalyze", - }, - { - url: "/visual/communityGovern/typeAnalyze", - name: "项目分类分析", - id: "typeAnalyze", - }, - { - url: "/visual/communityGovern/resibuzz", - name: "居民热议", - id: "resibuzz", - }, - { - url: "/visual/communityGovern/distributionAnalyze", - name: "项目分布分析", - id: "distributionAnalyze", - }, - ], + id: "3", + name: "人员预警", + url: "visual/warning/index", }, { icon: "icon-setting", @@ -282,7 +261,7 @@ router.beforeEach((to, from, next) => { }, { url: "/visual/communityParty/elegant", - name: "党员风采", + name: "党员风采榜", id: "5fwaefwaefawef589", }, ], @@ -290,21 +269,50 @@ router.beforeEach((to, from, next) => { { icon: "icon-setting", id: "2221321123", - name: "措施清单", + name: "社区服务", // url: "visual/basicinfo/basicInfoMain", children: [ { url: "/visual/measure/service", - name: "服务措施分析", + name: "需求服务分析", id: "5feawfwaefwa57", }, { url: "/visual/measure/volunteer", - name: "志愿者服务分析", + name: "志愿服务分析", id: "5fwaefwaefawef58", }, ], }, + { + icon: "icon-setting", + id: "6", + name: "社区治理", + children: [ + { + url: "visual/communityGovern/processAnalyze", + name: "事件处置分析", + id: "processAnalyze", + }, + { + url: "/visual/communityGovern/typeAnalyze", + name: "事件分类分析", + id: "typeAnalyze", + }, + { + url: "/visual/communityGovern/resibuzz", + name: "居民热议分析", + id: "resibuzz", + }, + { + url: "/visual/communityGovern/distributionAnalyze", + name: "事件分布分析", + id: "distributionAnalyze", + }, + ], + }, + + { icon: "icon-setting", id: "2221321fefefaewfa123", @@ -315,7 +323,7 @@ router.beforeEach((to, from, next) => { { icon: "icon-setting", id: "44rq22222q2222", - name: "AI安防", + name: "智慧安防", // url: "visual/basicinfo/basicInfoMain", children: [ { diff --git a/src/views/modules/base/epidemic/antiInfo.vue b/src/views/modules/base/epidemic/antiInfo.vue index 8388bc4d8..b7c209cfb 100644 --- a/src/views/modules/base/epidemic/antiInfo.vue +++ b/src/views/modules/base/epidemic/antiInfo.vue @@ -119,7 +119,7 @@ size="small" class="list_item_width_1" clearable - placeholder="请输入身份证"> + placeholder="请输入手机号"> @@ -135,22 +135,22 @@ - + + placeholder="请输入接种针次"> - + + placeholder="请输入检测次数"> @@ -181,23 +181,25 @@ type="index" width="50"> - - - + label="所属房屋" + show-overflow-tooltip + width="240"> - + + - - +
+ +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+
+ + + + + + + + + + + + + + + + +
+
+
+ 取消 +
+ @@ -285,10 +505,10 @@ export default { return { loading: false, total: 0, - pageSize: 10, + pageSize: 20, pageNo: 0, tableLoading: false, - + activeName: 'second', agencyId: '', sHeight: 0, timeRange: [], @@ -302,16 +522,22 @@ export default { name: '', mobile: '', idCard: '', - vaccinateCount: '', - testCount: '' + vaccineCount: '', + natCount: '' }, - formData: { - personInCharge: '',//负责人 - mobile: '',//联系电话 - gridId: '',//负责区域【网格Id】 - ninePlaceVal: '',//场所类型【九小场所Value值】 - isPage: true,//是否分页(是:true 否:false) 有这个参数是给新增巡查记录时用的,默认是 + formDetail: { + name: '', + gridName: '', + houseName: '', + mobile: '', + idCard: '', + vaccineCount: '', + natCount: '' }, + vaccineList: [], // 疫苗接种 + natList: [], // 核酸检测 + tripList: [], // 行程信息 + optionsV: [], optionsB: [], optionsH: [], @@ -345,6 +571,14 @@ export default { }, methods: { + handleCnalceForm() { + this.$refs.detail_form.resetFields() + this.vaccineList = [] + this.natList = [] + this.tripList = [] + this.formShow = false + + }, handleSearch () { this.loadTable() }, @@ -474,16 +708,15 @@ export default { }) }, - async loadTable () { this.tableLoading = true - const url = "/gov/org/placepatrolteam/getlist" + const url = "/epmetuser/epidemicPrevention/page" // const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placeorg/getlist" let params = { pageSize: this.pageSize, pageNo: this.pageNo, - ...this.formData + ...this.searchForm } const { data, code, msg } = await requestPost(url, params) @@ -504,31 +737,54 @@ export default { } this.tableLoading = false }, + async getDetailInfo (id) { - handleScheduledTimeChange (time) { - if (time) { - this.formData.scheduledStartTime = time[0] - this.formData.scheduledEndTime = time[1] + const url = "/epmetuser/epidemicPrevention/detail" + let params = { + id + } + const { data, code, msg } = await requestPost(url, params) + + if (code === 0) { + this.formDetail = data } else { - this.formData.scheduledStartTime = '' - this.formData.scheduledEndTime = '' + this.$message.error(msg) + } + }, + async getDetailList (id) { + const url = "/epmetuser/epidemicPrevention/info" + let params = { + id } - }, + const { data, code, msg } = await requestPost(url, params) + if (code === 0) { + const { vaccineList, natList, tripList } = data + this.vaccineList = vaccineList + this.natList = natList + this.tripList = tripList + } else { + this.$message.error(msg) + } + }, diaClose () { - this.$refs.ref_form.resetData() + // this.$refs.ref_form.resetData() this.formShow = false }, - handleDetail (row) { + + async handleDetail (row) { + + await this.getDetailInfo(row.id) + await this.getDetailList(row.id) this.formTitle = '详情' this.formShow = true - this.$nextTick(() => { - this.$refs.ref_form.initForm('detail', row.natId, this.agencyId) - }) + // this.$nextTick(() => { + // this.$refs.ref_form.initForm('detail', row.natId, this.agencyId) + // }) }, addFormCancle () { @@ -586,7 +842,7 @@ export default { this.searchForm.buildingId = '' this.searchForm.unitId = '' this.searchForm.houseId = '' - this.pageSize = 10 + this.pageSize = 20 this.pageNo = 1 this.loadTable() }, @@ -638,6 +894,9 @@ export default { .resi-cell-select:last-child { margin-right: 0; } + .min-w180 { + min-width: 170px; + } diff --git a/src/views/modules/base/epidemic/natFocus/natFocusAdd.vue b/src/views/modules/base/epidemic/natFocus/natFocusAdd.vue new file mode 100644 index 000000000..49d2df70a --- /dev/null +++ b/src/views/modules/base/epidemic/natFocus/natFocusAdd.vue @@ -0,0 +1,742 @@ + + + + + + + + diff --git a/src/views/modules/base/epidemic/natFocus/natFocusEdit.vue b/src/views/modules/base/epidemic/natFocus/natFocusEdit.vue new file mode 100644 index 000000000..0c12d5e0a --- /dev/null +++ b/src/views/modules/base/epidemic/natFocus/natFocusEdit.vue @@ -0,0 +1,300 @@ + + + + + + + + diff --git a/src/views/modules/base/epidemic/natFocus/natFocusList.vue b/src/views/modules/base/epidemic/natFocus/natFocusList.vue new file mode 100644 index 000000000..087c6fe72 --- /dev/null +++ b/src/views/modules/base/epidemic/natFocus/natFocusList.vue @@ -0,0 +1,775 @@ + + + + + + + + diff --git a/src/views/modules/base/epidemic/natFocus/nfNoticeList.vue b/src/views/modules/base/epidemic/natFocus/nfNoticeList.vue new file mode 100644 index 000000000..7b7fb33ca --- /dev/null +++ b/src/views/modules/base/epidemic/natFocus/nfNoticeList.vue @@ -0,0 +1,171 @@ + + + + + + diff --git a/src/views/modules/base/epidemic/natFocus/nfSendNotice.vue b/src/views/modules/base/epidemic/natFocus/nfSendNotice.vue new file mode 100644 index 000000000..9274d9286 --- /dev/null +++ b/src/views/modules/base/epidemic/natFocus/nfSendNotice.vue @@ -0,0 +1,240 @@ + + + + + + + + diff --git a/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue b/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue new file mode 100644 index 000000000..67448435e --- /dev/null +++ b/src/views/modules/base/epidemic/natFocus/nfVisiteList.vue @@ -0,0 +1,324 @@ + + + + + + \ No newline at end of file diff --git a/src/views/modules/base/epidemic/natInfo/natForm.vue b/src/views/modules/base/epidemic/natInfo/natForm.vue index 8d1b761ee..4307a74eb 100644 --- a/src/views/modules/base/epidemic/natInfo/natForm.vue +++ b/src/views/modules/base/epidemic/natInfo/natForm.vue @@ -1,6 +1,7 @@ + + + + + + + + + + diff --git a/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue b/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue index ba00652e4..1c53f8e17 100644 --- a/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue +++ b/src/views/modules/base/epidemic/veroFocus/veroFocusAdd.vue @@ -64,13 +64,16 @@ prop="channel" label-width="150px" style="display: block"> - + 小程序通知 + + 短信通知 - + -->
- - + 小程序通知 + { + if (!valid) { + app.util.validateRule(messageObj) + + } else { + this.handleVero() + } + + }) + } else { + this.handleVero() + } + + }, - async handleComfirm () { + async handleVero () { let list = [] if (this.activeName === 'first') { list.push(this.formData1) @@ -513,28 +539,41 @@ export default { return false; } - if (this.formData1.channel.length > 0 && !this.formData1.content) { - this.$message({ - type: 'warning', - message: '请填写通知内容' - }) - return false; + if (this.formData1.isSelChannel) { + if (!this.formData1.content) { + this.$message({ + type: 'warning', + message: '请填写通知内容' + }) + return false; + } else { + this.formData1.channel = ['0'] + } + + } else { + this.formData1.channel = [] } } else { - if (this.selectionAll.length === 0) { this.$message.info('请选择批量添加的人员') return false } - if (this.formData2.channel.length > 0 && !this.formData2.content) { - this.$message({ - type: 'warning', - message: '请填写通知内容' - }) - return false; + if (this.formData2.isSelChannel) { + if (!this.formData2.content) { + this.$message({ + type: 'warning', + message: '请填写通知内容' + }) + return false; + } else { + this.formData2.channel = ['0'] + } + + } else { + this.formData2.channel = [] } this.selectionAll.forEach(element => { @@ -559,7 +598,10 @@ export default { let url = '/epmetuser/icEpidemicSpecialAttention/vaccination-add' // url = "http://yapi.elinkservice.cn/mock/245/gov/project/memoConcern/save" - const { data, code, msg } = await requestPost(url, this.formData) + let params = { + list: list + } + const { data, code, msg } = await requestPost(url, params) if (code === 0) { this.$message({ @@ -604,6 +646,7 @@ export default { idCard: '', mobile: '', remark: '', + isSelChannel: false, channel: [], content: '', attentionType: 1, @@ -612,6 +655,7 @@ export default { this.formData2 = { attentionType: 1, remark: '', + isSelChannel: false, channel: [], content: '', } diff --git a/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue b/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue index 19297662c..2fe5f77d4 100644 --- a/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue +++ b/src/views/modules/base/epidemic/veroFocus/veroFocusEdit.vue @@ -63,13 +63,16 @@ prop="channel" label-width="150px" style="display: block"> - + 小程序通知 + + 短信通知 - + --> 0 && !this.formData.content) { - this.$message({ - type: 'warning', - message: '请填写通知内容' - }) - return false; + if (this.formData.isSelChannel) { + if (!this.formData.content) { + this.$message({ + type: 'warning', + message: '请填写通知内容' + }) + return false; + } else { + this.formData.channel = ['0'] + } + + } else { + this.formData.channel = [] } this.btnDisable = true @@ -202,6 +215,7 @@ export default { idCard: '', mobile: '', remark: '', + isSelChannel: false, channel: [], content: '', diff --git a/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue b/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue index f1090c1e0..3150e8747 100644 --- a/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue +++ b/src/views/modules/base/epidemic/veroFocus/veroFocusList.vue @@ -69,7 +69,7 @@
新增 + @click="handleAdd">新增 @@ -303,7 +303,7 @@ export default { return { loading: false, total: 0, - pageSize: 20, + pageSize: 5, pageNo: 1, tableLoading: false, @@ -356,6 +356,7 @@ export default { methods: { handleSearch () { + this.selectionAll = [] this.loadTable() }, @@ -602,19 +603,13 @@ export default { //导出表格 async handleExport () { - let title = this.agencyObj.label - title = title + '—房屋列表' + let title = '疫苗接种关注名单' - const url = "/gov/org/house/exporthouseinfo" - let params = { - ownerName: this.ownerName, - ownerPhone: this.ownerPhone, - buildingId: this.agencyObj.id - } + const url = "/epmetuser/icEpidemicSpecialAttention/vaccination-export" app.ajax.exportFilePost( url, - params, + this.formData, (data, rspMsg) => { this.download(data, title + '.xlsx') @@ -653,10 +648,12 @@ export default { }, handleExportModule () { - let title = '疫苗接种关注名单' + let title = '疫苗接种关注名单模板' - const url = "/gov/org/house/exporttemplate" - let params = {} + const url = "/epmetuser/icEpidemicSpecialAttention/export-template" + let params = { + attentionType: '1' + } app.ajax.exportFilePost( url, @@ -708,13 +705,11 @@ export default { //清空上传列表 this.$refs['upload'].clearFiles() - var url = '/gov/org/house/houseimport' + var url = '/epmetuser/icEpidemicSpecialAttention/vaccination-import' let fileFormData = new FormData(); fileFormData.append('file', this.files);//filename是键,file是值,就是要传的文件,test.zip是要传的文件名 - fileFormData.append('orgId', this.agencyObj.id);//filename是键,file是值,就是要传的文件,test.zip是要传的文件名 - fileFormData.append('orgType', this.agencyObj.level);//filename是键,file是值,就是要传的文件,test.zip是要传的文件名 - + fileFormData.append('attentionType', '1');//filename是键,file是值,就是要传的文件,test.zip是要传的文件名 window.app.ajax.post2(url, fileFormData, (data, rspMsg) => { diff --git a/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue b/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue index 7b7fb33ca..99ec32267 100644 --- a/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue +++ b/src/views/modules/base/epidemic/veroFocus/vfNoticeList.vue @@ -89,8 +89,8 @@ export default { //加载form async loadTable () { this.tableLoading = true - // const url = "/epmetuser/icNotice/page" - const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNotice/page" + const url = "/epmetuser/icNotice/page" + // const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icNotice/page" let params = { idCard: this.idCard, pageNo: this.pageNo, diff --git a/src/views/modules/base/epidemic/veroFocus/vfSendNotice.vue b/src/views/modules/base/epidemic/veroFocus/vfSendNotice.vue index e341a6d52..c90b525e8 100644 --- a/src/views/modules/base/epidemic/veroFocus/vfSendNotice.vue +++ b/src/views/modules/base/epidemic/veroFocus/vfSendNotice.vue @@ -12,13 +12,16 @@ prop="channel" label-width="150px" style="display: block"> - + 小程序通知 + + 短信通知 - + --> { @@ -148,6 +163,7 @@ export default { idCard: '', phone: '', remark: '', + isSelChannel: false, channel: [], content: '', diff --git a/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue b/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue index 524cc20b4..cfabc4cba 100644 --- a/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue +++ b/src/views/modules/base/epidemic/veroFocus/vfVisiteList.vue @@ -34,7 +34,10 @@ align="center" label="随访内容" min-width="280"> + @@ -68,9 +71,10 @@ label-width="150px"> @@ -84,9 +88,9 @@ type="textarea" maxlength="1000" show-word-limit - :autosize="{ minRows: 4, maxRows: 10 }" + :autosize="{ minRows: 10, maxRows: 15 }" clearable - placeholder="请输入通知内容" + placeholder="请输入随访内容" v-model="formData.content"> @@ -120,6 +124,12 @@ export default { pageSize: 20, pageNo: 1, + pickerOptions: { //控制时间范围 + disabledDate (time) { + return time.getTime() > (Date.now()) + } + }, + formData: { visitTime: '',//随访时间 content: '',//内容 @@ -152,10 +162,12 @@ export default { //加载form async loadTable () { + this.tableLoading = true - // const url = '/epmetuser/followup/page' - const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/followup/page' + const url = '/epmetuser/followup/page' + // const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/followup/page' let params = { + name: this.formData.name, idCard: this.formData.idCard, pageNo: this.pageNo, pageSize: this.pageSize, @@ -167,7 +179,9 @@ export default { if (code === 0) { this.total = data.total this.tableData = data.list - + this.tableData.forEach(element => { + element.visitTime = element.visitTime.slice(0, element.visitTime.length - 3) + }); } else { this.$message.error(msg) @@ -180,9 +194,9 @@ export default { async handleComfirm () { - - // let url = "/epmetuser/followup/save" - let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save" + this.formData.visitTime = this.formData.visitTime + ':00' + let url = "/epmetuser/followup/save" + // let url = "http://yapi.elinkservice.cn/mock/245/epmetuser/followup/save" const { data, code, msg } = await requestPost(url, this.formData) @@ -202,12 +216,17 @@ export default { //导出表格 async handleExport () { - let title = this.formData.name + '—随访记录' + let today = new Date() + + + console.log(today.getMonth() + 1, today.getDate()) + let title = this.formData.name + (today.getMonth() + 1) + '月' + today.getDate() + '日' + '随访记录' const url = "/epmetuser/followup/export" let params = { idCard: this.formData.idCard, - + name: this.formData.name, + origin: '1' } app.ajax.exportFilePost( diff --git a/src/views/modules/visual/basicinfo/basicInfoMain.vue b/src/views/modules/visual/basicinfo/basicInfoMain.vue index d85baf72b..abc3a874a 100644 --- a/src/views/modules/visual/basicinfo/basicInfoMain.vue +++ b/src/views/modules/visual/basicinfo/basicInfoMain.vue @@ -14,14 +14,11 @@
- -
-
@@ -74,7 +71,7 @@
- +
-->
@@ -328,9 +325,6 @@ const vueGis = { }, - handleSearch () { - this.toSubAgency('search') - }, //获取右侧infolist数据 async loadList () { @@ -390,7 +384,7 @@ const vueGis = { this.toSubAgency('polygon', e) }, - //下钻到下一级 type点击的类型:polygon 点击多边形(分为点击组织/小区) search 点击搜索 people 点击详情 + //下钻到下一级 type点击的类型:polygon 点击多边形(分为点击组织/小区) people 点击详情 async toSubAgency (type, e, searchName) { //点击小区neighborHood显示楼栋,点击非小区,进入下一级地图 @@ -407,20 +401,6 @@ const vueGis = { } this.searchName = searchName - } else if (type === 'search') { - this.runNum++ - this.runAgencyArray.push(this.orgData) - this.orgLevel = 'search' - this.orgId = '' - this.orgData = { - id: '', - level: 'search', - name: '搜索' - } - this.$nextTick(() => { - this.$refs.ref_search.reset(); - }); - } else { if (!e) { @@ -552,12 +532,9 @@ const vueGis = { if (this.orgLevel === 'people') { - } else if (this.orgLevel === 'search') { - this.$nextTick(() => { - this.$refs.ref_search.loadByName(this.searchName); - }); + } - } else if (this.orgLevel === 'neighborHood') {//显示小区 + else if (this.orgLevel === 'neighborHood') {//显示小区 } else { diff --git a/src/views/modules/visual/basicinfo/peopleSearch.vue b/src/views/modules/visual/basicinfo/peopleSearch.vue index 7e44c6d3b..19c2d9bcd 100644 --- a/src/views/modules/visual/basicinfo/peopleSearch.vue +++ b/src/views/modules/visual/basicinfo/peopleSearch.vue @@ -92,9 +92,9 @@ export default { loadByName (searchName) { this.searchName = searchName - if (this.searchName) { - this.loadList() - } + // if (this.searchName) { + this.loadList() + // } }, reset () { @@ -120,7 +120,7 @@ export default { this.$message.error(msg) } } else { - + this.$message.info('请输入姓名') } },