diff --git a/src/assets/img/icon-voice.png b/src/assets/img/icon-voice.png new file mode 100644 index 00000000..73e2416e Binary files /dev/null and b/src/assets/img/icon-voice.png differ diff --git a/src/assets/scss/modules/management/list-main.scss b/src/assets/scss/modules/management/list-main.scss index 3711e9a4..a2af675a 100644 --- a/src/assets/scss/modules/management/list-main.scss +++ b/src/assets/scss/modules/management/list-main.scss @@ -1,6 +1,5 @@ - .div_main { width: 100%; @@ -10,6 +9,16 @@ padding: 20px 20px 5px 15px; box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); } + .data-tag{ + margin-left:10px; + } + + .item_width_1{ + width: 260px; + } + .item_width_2{ + width: 160px; + } .list_item_width_1 { width: 165px; @@ -39,6 +48,11 @@ } .table { margin-top: 20px; + + .img-voice{ + width:30px; + height:30px; + } } .div_notice { diff --git a/src/assets/scss/modules/shequzhili/event-info.scss b/src/assets/scss/modules/shequzhili/event-info.scss new file mode 100644 index 00000000..21cde303 --- /dev/null +++ b/src/assets/scss/modules/shequzhili/event-info.scss @@ -0,0 +1,368 @@ +@import "../../c/config"; +@import "../../c/function"; + +.g-add{ + + + .g-add-page{ + display: flex; + .g-left { + box-sizing: border-box; + width:40%; + padding: 5px 10px; + } + .g-right { + box-sizing: border-box; + width: 60%; + padding: 5px 10px; + } + + .form{ + .cell-width-1{ + width: 250px + } + + + .div_map { + position: relative; + } + .div_searchmap { + z-index: 1000; + position: absolute; + top: 5px; + left: 5px; + } + } + } +} + +.g-page { + display: flex; + .g-left { + box-sizing: border-box; + width: 65%; + padding: 5px 10px; + } + .g-right { + box-sizing: border-box; + width: 35%; + padding: 5px 10px; + } +} + +.g-process-info{ + .cell-width-area{ + width: 450px + } +} + +.div-btn{ + margin-top:50px; + display: flex; + justify-content: center; +} +.cell-width-1{ + width: 250px +} +.cell-width-2{ + width: 350px +} + +.cell-width-map { + width: 200px; +} +.item_width_3 { + margin-left: 10px; + width: 150px; +} + +.process-form{ + margin-top:20px; +} + +.m-card { + overflow-x: auto; +} + + + + +.m-btns { + display: flex; + justify-content: center; +} + +.m-info { + padding-left: 10px; + font-size: 14px; + font-family: PingFang SC; + font-weight: 400; + color: #333; + line-height: 24px; + // width: 500px; + + .info-title { + margin-top: 30px; + font-size: 20px; + font-family: PingFang SC; + font-weight: bold; + color: #333; + line-height: 30px; + } + .info-content { + margin: 20px 0; + } + .info-pics { + display: flex; + margin: 20px 0; + img { + display: block; + width: 32%; + height: 90px; + margin-right: 9px; + object-fit: cover; + } + } + + .info-prop { + position: relative; + margin: 10px 0; + display: flex; + padding-left: 15px; + .info-title-2 { + width: 70px; + flex: 0 0 1; + font-size: 14px; + } + + > span, + > div { + display: block; + // max-width: 300px; + } + + &::before { + content: ""; + display: block; + position: absolute; + top: 9px; + left: 0; + width: 7px; + height: 7px; + background: #0c81fe; + border-radius: 3px; + margin-right: 10px; + } + } +} + +.m-case { + height: 600px; + padding: 20px 0 20px 0; + overflow-y: auto; +} + +.m-row { + display: flex; + justify-content: space-between; +} + +.m-hint { + position: relative; + height: 300px; + + // 暂无数据 + img { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + } +} + +.m-line { + min-width: 400px; + + .stat { + margin: 20px 0 10px; + display: flex; + .stat-item { + width: 33%; + text-align: center; + + div { + font-size: 17px; + font-family: Source Han Serif SC; + font-weight: 500; + color: rgba(#000, 0.5); + line-height: 24px; + &.z-weak { + font-size: 12px; + font-family: Source Han Serif SC; + font-weight: 500; + color: rgba(#000, 0.5); + line-height: 24px; + } + } + } + } +} + +.m-tb { + padding-left: 62px; + padding-right: 40px; +} + + + +.m-process { + margin-top: 30px; + margin-left: 15px; + // min-width: 400px; + + .process-title { + margin-bottom: 25px; + margin-left: -5px; + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333; + line-height: 18px; + } + + .list { + position: relative; + box-sizing: border-box; + margin-top: 30px/2; + margin-left: 50px/2; + padding: 0 0 0 30px/2; + width: 680px/2; + border-left: 3px solid #0c81fe; + padding-right: 10px; + + &::before { + content: ""; + position: absolute; + z-index: 1; + display: block; + top: -2px/2; + left: -2px/2; + width: 5px/2; + height: 20px/2; + background-color: #333; + } + + .item { + position: relative; + z-index: 2; + margin-bottom: 8px; + padding-bottom: 8px; + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #333; + line-height: 24px; + padding-left: 20px; + padding-top: 1px; + + &::before { + content: ""; + display: block; + position: absolute; + top: -5px; + left: -11px; + width: 18px; + height: 18px; + background: #0c81fe; + border: 4px solid lighten(#0c81fe, 15); + border-radius: 100%; + } + + &.z-on { + &::before { + background: #e08400; + border-color: lighten(#e08400, 15); + } + } + + &:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; + } + + .item-row { + margin-top: -10px; + margin-bottom: 10px; + display: flex; + } + + .name { + position: relative; + padding: 0 10px; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #fff; + line-height: 22px; + height: 22px; + border-radius: 10px 0 10px 0; + background-color: #0c81fe; + // background-color: #e08400; + } + + .date { + margin-left: 10px; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #7ca1d2; + line-height: 25px; + } + + .detail { + @include cs; + font-size: 14px; + line-height: 20px; + margin-bottom: 5px; + display: flex; + + .detail-field { + width: 80px; + text-align: justify; + text-align-last: justify; + } + .detail-value { + // width: 78%; + .detail-link { + display: inline; + } + } + } + + .attachement-list { + padding-left: 80px; + a { + display: block; + cursor: pointer; + color: #4df0ff; + font-size: 14px; + + i { + color: #333; + } + } + } + } + } +} + +.m-top { + display: flex; +} + +.m-chart { + min-height: 200px; +} diff --git a/src/views/modules/communityService/sqzzz/cpts/edit.vue b/src/views/modules/communityService/sqzzz/cpts/edit.vue index f68176ee..b75f9346 100644 --- a/src/views/modules/communityService/sqzzz/cpts/edit.vue +++ b/src/views/modules/communityService/sqzzz/cpts/edit.vue @@ -24,7 +24,21 @@ > - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 选择图片 + 最多上传3张图片,图片支持jpg、jpeg、bmp、git或png格式 + + + + + + + + + + + + + + + + + + + + 查询 + + + + + 经度 + + + 纬度 + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/event-info.vue b/src/views/modules/shequzhili/event/cpts/event-info.vue new file mode 100644 index 00000000..548cb667 --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/event-info.vue @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + 关闭 + 确定 + + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/event-info1.vue b/src/views/modules/shequzhili/event/cpts/event-info1.vue new file mode 100644 index 00000000..72c04623 --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/event-info1.vue @@ -0,0 +1,152 @@ + + + + + + 事件详情 + + + + 事件内容 + {{ info.eventContent }} + + + + + 提交时间: + {{ info.eventTime }} + + + 报事人: + {{ info.eventPeopleName }} + + + 所属网格: + {{ info.gridName }} + + + 提报给: + + {{ info.eventPersonShow }} + {{ info.eventOrgShow }} + + + + + + + + + 关闭 + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/issue-info.vue b/src/views/modules/shequzhili/event/cpts/issue-info.vue new file mode 100644 index 00000000..2be1ffeb --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/issue-info.vue @@ -0,0 +1,288 @@ + + + + + + 议题详情 + + + + + 议题标题: + {{ issueInfo.issueTitle }} + + + 议题建议: + {{ issueInfo.issueSuggestion }} + + + 所属网格: + {{ issueInfo.belongsGridName || "--" }} + + + 议题发起人: + {{ issueInfo.issueInitiator }} + + + 议题来源: + {{ issueInfo.topicInfo.groupName }} + + + 转议题时间: + {{ issueInfo.shiftIssueTime }} + + + + + + + + {{ issueTrend.realityVoteCount }}/{{ + issueTrend.shouldVoteCount + }} + + 已表决/应表决 + + + {{ issueTrend.supportAmount }} + 支持 + + + {{ issueTrend.oppositionAmount }} + 反对 + + + + + + + + + + + 关闭 + + + + + + 处理进展 + + + + + {{ item.processName }} + + {{ item.processTime }} + + + + + 处理部门: + {{ item.departmentName }} + + + + 说 明: + + {{ item.publicReply }} + + + + + 内部备注: + + {{ item.internalRemark }} + + + + + + + {{ att.name }} + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/issue-suggest.vue b/src/views/modules/shequzhili/event/cpts/issue-suggest.vue new file mode 100644 index 00000000..a4cf9f03 --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/issue-suggest.vue @@ -0,0 +1,154 @@ + + + 项目评价 + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/process-form-replay.vue b/src/views/modules/shequzhili/event/cpts/process-form-replay.vue new file mode 100644 index 00000000..1320d10d --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/process-form-replay.vue @@ -0,0 +1,137 @@ + + + + + + + + + 已完成 + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/process-form.vue b/src/views/modules/shequzhili/event/cpts/process-form.vue new file mode 100644 index 00000000..a989bb16 --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/process-form.vue @@ -0,0 +1,248 @@ + + + + + + + + + + + 回复 + 立项 + 转需求 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/project-evaluation.vue b/src/views/modules/shequzhili/event/cpts/project-evaluation.vue new file mode 100644 index 00000000..a4cf9f03 --- /dev/null +++ b/src/views/modules/shequzhili/event/cpts/project-evaluation.vue @@ -0,0 +1,154 @@ + + + 项目评价 + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequzhili/event/cpts/project-info.vue b/src/views/modules/shequzhili/event/cpts/project-info.vue deleted file mode 100644 index 7cbc9989..00000000 --- a/src/views/modules/shequzhili/event/cpts/project-info.vue +++ /dev/null @@ -1,703 +0,0 @@ - - - - - - - 项目详情 - - - - - - - - - 项目标题: - {{ projectInfo.projectTitle }} - - - 项目背景: - {{ projectInfo.backGround }} - - - 项目方案: - {{ projectInfo.publicReply }} - - - 内部备注: - {{ projectInfo.internalRemark || "--" }} - - - 当前处理部门: - {{ projectInfo.departmentNameList.join("、") }} - - - 分类: - - - {{ item.name }} - - - - - 标签: - - - {{ item.name }} - - - - - - - 处理进展 - - - - {{ item.processName }} - - {{ item.processTime }} - - - - - 处理部门: - {{ item.departmentName }} - - - - 说 明: - - {{ item.publicReply }} - - - - - 内部备注: - - {{ item.internalRemark }} - - - - - - - {{ att.name }} - - - - - - - - - - - - - {{ item.label }} - - - - - - - - - - 加载中 - - - - - - - - - - - - 议题标题: - {{ issueInfo.issueTitle }} - - - 议题建议: - {{ issueInfo.issueSuggestion }} - - - 所属网格: - {{ issueInfo.belongsGridName || "--" }} - - - 议题发起人: - {{ issueInfo.issueInitiator }} - - - 议题来源: - {{ issueInfo.topicInfo.groupName }} - - - 转议题时间: - {{ issueInfo.shiftIssueTime }} - - - - 事件内容 - {{ info.eventContent }} - - - - - 提交时间: - {{ info.eventTime }} - - - 报事人: - {{ info.eventPeopleName }} - - - 所属网格: - {{ info.gridName }} - - - 提报给: - - {{ info.eventPersonShow }} - {{ info.eventOrgShow }} - - - - - - - - - - - {{ issueTrend.realityVoteCount }}/{{ - issueTrend.shouldVoteCount - }} - - 已表决/应表决 - - - {{ issueTrend.supportAmount }} - 支持 - - - {{ issueTrend.oppositionAmount }} - 反对 - - - - - - - - - - - - - - - - - - - diff --git a/src/views/modules/shequzhili/event/eventList.vue b/src/views/modules/shequzhili/event/eventList.vue index b76c8096..a8a44bea 100644 --- a/src/views/modules/shequzhili/event/eventList.vue +++ b/src/views/modules/shequzhili/event/eventList.vue @@ -1,235 +1,283 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 至 + + + + + + + + + + + + - - - - - - - 查询 + - - - - - - - - + class="diy-button--reset" + @click="resetSearch">重置 + + + - + - - - - - - - 查询 - + 新增 + + 重置 + size="small">导出 - - - - - - 新增 - - 导出 - - - - - - - - - {{ scope.row.name }} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 查看 - - 处理 + + + + + + + + + + + + + + -- + + + + + + + -- + + + + + + + + + + + + + + + + + + + + + + + + + + 处理中 + 已办结 + -- + + + + + + 查看 - - 删除 - - - - - - - - + class="div-table-button--edit">处理 + + + 删除 + + + + + + + + + + - - - + + @@ -238,32 +286,41 @@ import { requestPost } from "@/js/dai/request"; import nextTick from "dai-js/tools/nextTick"; import { mapGetters } from "vuex"; -import projectInfo from "./cpts/project-info"; +import eventInfo from "./cpts/event-info"; import axios from "axios"; export default { - components: { projectInfo }, + components: { eventInfo }, data () { - return { - pageType: "list", // 列表list 处理dispose 详情info 议题详情issue-info + let endDisabledDate = (time) => {//这个关键属性我们一定要写在data的里面并且return的外面,这是动态改变区间的关键 + let nowData = Date.now() + if (this.formData.startTime) { + let startTime = new Date(this.formData.startTime) + return time.getTime() > nowData || time.getTime() < startTime || time.getTime() === startTime + } else { + return time.getTime() > nowData + } - pageNo: 1, - pageSize: window.localStorage.getItem("pageSize") || 20, - total: 1, + } + let startDisabledDate = (time) => {//这个关键属性我们一定要写在data的里面并且return的外面,这是动态改变区间的关键 + let nowData = Date.now() + return time.getTime() > nowData + } + return { + pageType: "list", // 列表list 新增add 处理dispose 详情info 议题详情issue-info agencyId: '', gridList: [],//所属网格list--场所区域 - tableData: [], statusArray: [ { - value: "1", + value: "processing", label: "处理中", }, { - value: "0", + value: "closed_case", label: "已完成", }, ], @@ -290,19 +347,29 @@ export default { }, ], - gridId: '', - qudao: '', - content: '', - fmData: { - title: "", - status: "", - birthdayStart: "", - birthdayEnd: "", - birthdayTime: ["", ""], - }, + formData: { + gridId: '', + sourceType: '', + eventContent: '', + name: '', + mobile: '', + startTime: '', + endTime: '', + status: '', + }, + pageNo: 1, + pageSize: window.localStorage.getItem("pageSize") || 20, + total: 1, + endPickerOptions: { + disabledDate: endDisabledDate + }, + startPickerOptions: { + disabledDate: startDisabledDate + }, + eventId: '', currentProject: { - projectId: "", + eventId: "", userId: "", categoryCodes: [], }, @@ -311,20 +378,15 @@ export default { computed: { maxTableHeight () { return this.$store.state.inIframe - ? this.clientHeight - 360 + this.iframeHeigh - : this.clientHeight - 360; + ? this.clientHeight - 400 + this.iframeHeigh + : this.clientHeight - 400; }, ...mapGetters(["clientHeight", "iframeHeight"]), }, watch: { - "fmData.birthdayTime": function (val) { - if (Array.isArray(val) && val.length == 2) { - this.fmData.birthdayStart = val[0]; - this.fmData.birthdayEnd = val[1]; - } else { - this.fmData.birthdayStart = ""; - this.fmData.birthdayEnd = ""; - } + "formData.endTime": function (val) { + let arrayTemp = val.split(' ') + this.formData.endTime = arrayTemp[0] + ' 23:59:59' }, }, mounted () { @@ -336,7 +398,7 @@ export default { methods: { handleSearch (val) { - console.log(this.fmData); + console.log(this.formData); this.pageNo = 1; this.getTableData(); }, @@ -359,40 +421,16 @@ export default { }, - - - - - - - handleSizeChange (val) { - console.log(`每页 ${val} 条`); - this.pageSize = val; - window.localStorage.setItem("pageSize", val); - this.getTableData(); - }, - handleCurrentChange (val) { - console.log(`当前页: ${val}`); - this.pageNo = val; - this.getTableData(); - }, - - - resetForm (formName) { - this.$refs[formName].resetFields(); - this.handleSearch(); - }, - async handleExport () { const url = "/epmetuser/icBirthRecord/export"; - const { pageSize, pageNo, fmData } = this; + const { pageSize, pageNo, formData } = this; axios({ url: window.SITE_CONFIG["apiURL"] + url, method: "post", data: { pageSize, pageNo, - ...fmData, + ...formData, }, responseType: "blob", }) @@ -418,11 +456,15 @@ export default { }); }, - async handleAdd () { }, + async handleAdd () { + + this.pageType = "add"; + }, + async handleWatch (rowIndex) { let item = this.tableData[rowIndex]; this.currentProject = { - projectId: item.projectId, + eventId: item.eventId, }; this.pageType = "info"; }, @@ -430,16 +472,16 @@ export default { async handleEdit (rowIndex) { let item = this.tableData[rowIndex]; this.currentProject = { - projectId: item.projectId, + eventId: item.eventId, }; this.pageType = "edit"; }, handleClose () { this.pageType = "list"; - this.currentProject = { - projectId: "", - }; + + this.eventId = "" + }, handleEditSuccess () { @@ -466,15 +508,16 @@ export default { }, async getTableData () { - const url = "/epmetuser/icBirthRecord/page"; - const { pageSize, pageNo, fmData } = this; + // const url = "/gov/project/icEvent/list"; + const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/list"; + const { pageSize, pageNo, formData } = this; const { data, code, msg } = await requestPost(url, { pageSize, pageNo, - ...fmData, + ...formData, }); if (code === 0) { - console.log("列表请求成功!!!!!!!!!!!!!!"); + this.total = data.total || 0; this.tableData = data.list ? data.list.map((item) => { @@ -484,6 +527,35 @@ export default { } else { } }, + + handleSizeChange (val) { + + this.pageSize = val; + window.localStorage.setItem("pageSize", val); + this.getTableData(); + }, + handleCurrentChange (val) { + + this.pageNo = val; + this.getTableData(); + }, + + resetSearch () { + this.formData = { + gridId: '', + sourceType: '', + eventContent: '', + name: '', + mobile: '', + startTime: '', + endTime: '', + status: '', + } + + + // this.pageNo = 1 + // this.loadTable() + }, }, }; @@ -491,8 +563,4 @@ export default {