jiangyy 3 years ago
parent
commit
3404235760
  1. 3
      src/views/modules/shequzhili/issue/cpts/issue-detail.vue
  2. 2
      src/views/modules/shequzhili/issue/issueAuditList.vue
  3. 21
      src/views/modules/shequzhili/issue/issueList.vue
  4. 432
      src/views/modules/shequzhili/xiangmu/index.vue

3
src/views/modules/shequzhili/issue/cpts/issue-detail.vue

@ -34,8 +34,7 @@
@click="handleToTopic">查看话题>--</div> @click="handleToTopic">查看话题>--</div>
</div> </div>
<div v-if="issueInfo.sourceType==='resi_topic'" <div :class="['info-prop',{'info-prop-vis':source==='visiual'}]">
:class="['info-prop',{'info-prop-vis':source==='visiual'}]">
<span class="info-title-2">意见和建议</span> <span class="info-title-2">意见和建议</span>
<div class="line" <div class="line"
@click="handleToSuggest">查看全部</div> @click="handleToSuggest">查看全部</div>

2
src/views/modules/shequzhili/issue/issueAuditList.vue

@ -434,7 +434,7 @@ export default {
async getTableData () { async getTableData () {
const url = "/gov/issue/issueaudit/auditList"; const url = "/gov/issue/issueaudit/auditList";
// const url = "http://yapi.elinkservice.cn/mock/102/gov/issue/issue/allIssueList";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
pageSize, pageSize,

21
src/views/modules/shequzhili/issue/issueList.vue

@ -134,17 +134,22 @@
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
label="转议题时间"> label="转议题时间">
</el-table-column> </el-table-column>
<el-table-column prop="sourceTypeName"
label="来源"
width="60"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="supportCount" <el-table-column prop="supportCount"
align="center" align="center"
width="80" width="60"
label="支持" label="支持"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="oppositionCount" <el-table-column prop="oppositionCount"
align="center" align="center"
width="80" width="60"
label="反对" label="反对"
:show-overflow-tooltip="true"> :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -456,7 +461,7 @@ export default {
async getTableData () { async getTableData () {
const url = "/gov/issue/issue/allIssueList"; const url = "/gov/issue/issue/allIssueList";
// const url = "http://yapi.elinkservice.cn/mock/102/gov/issue/issue/allIssueList";
const { pageSize, pageNo, formData } = this; const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
pageSize, pageSize,
@ -473,6 +478,14 @@ export default {
: []; : [];
this.tableData.forEach(item => { this.tableData.forEach(item => {
if (item.sourceType === 'ic_event') {
item.sourceTypeName = '事件'
} else if (item.sourceType === 'resi_topic') {
item.sourceTypeName = '话题'
} else {
item.sourceTypeName = '--'
}
if (item.operationType === '2') { if (item.operationType === '2') {
item.operationTypeShow = '已转服务' item.operationTypeShow = '已转服务'
} }

432
src/views/modules/shequzhili/xiangmu/index.vue

@ -1,80 +1,67 @@
<template> <template>
<div class="resi-container"> <div class="resi-container">
<div class="g-page" v-show="pageType == 'list'"> <div class="g-page"
<el-card ref="searchCard" class="search-card"> v-show="pageType == 'list'">
<el-form <el-card ref="searchCard"
ref="searchForm" class="search-card">
:inline="true" <el-form ref="searchForm"
:model="fmData" :inline="true"
:label-width="'100px'" :model="fmData"
class="demo-form-inline" :label-width="'100px'"
> class="demo-form-inline">
<div> <div>
<el-form-item label="项目标题" prop="title"> <el-form-item label="项目标题"
<el-input prop="title">
v-model="fmData.title" <el-input v-model="fmData.title"
class="resi-cell-input" class="resi-cell-input"
size="small" size="small"
clearable clearable
placeholder="请输入" placeholder="请输入">
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="转项目时间" prop="date"> <el-form-item label="转项目时间"
<el-date-picker prop="date">
v-model="fmData.startDate" <el-date-picker v-model="fmData.startDate"
size="small" size="small"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 150px" style="width: 150px"
placeholder="开始时间" placeholder="开始时间">
>
</el-date-picker> </el-date-picker>
<span style="margin:0 8px;"></span> <span style="margin:0 8px;"></span>
<el-date-picker <el-date-picker v-model="fmData.endDate"
v-model="fmData.endDate" size="small"
size="small" type="date"
type="date" style="width: 150px"
style="width: 150px" value-format="yyyy-MM-dd"
value-format="yyyy-MM-dd" placeholder="结束时间">
placeholder="结束时间"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态"
<el-select prop="status">
v-model.trim="fmData.status" <el-select v-model.trim="fmData.status"
placeholder="请选择" placeholder="请选择"
size="small" size="small"
clearable clearable
style="width: 150px" style="width: 150px"
class="resi-cell-select" class="resi-cell-select">
> <el-option v-for="item in optionsStatus"
<el-option :key="item.value"
v-for="item in optionsStatus" :label="item.label"
:key="item.value" :value="item.value">
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-left: 35px"> <el-form-item style="margin-left: 35px">
<el-button <el-button class="diy-button--search"
class="diy-button--search" size="small"
size="small" @click="handleSearch">查询</el-button>
@click="handleSearch" <el-button class="diy-button--reset"
>查询</el-button size="small"
> @click="resetForm('searchForm')">重置</el-button>
<el-button
class="diy-button--reset"
size="small"
@click="resetForm('searchForm')"
>重置</el-button
>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
@ -82,185 +69,147 @@
<el-card class="resi-card-table"> <el-card class="resi-card-table">
<div class="resi-row-btn"> <div class="resi-row-btn">
<el-button <el-button v-if="false"
v-if="false" class="diy-button--add"
class="diy-button--add" size="small"
size="small" @click="handleAdd">新增</el-button>
@click="handleAdd" <el-button v-if="false"
>新增</el-button class="diy-button--export"
> size="small"
<el-button @click="handleExportModule('room')">下载模板</el-button>
v-if="false" <el-upload :headers="$getElUploadHeaders()"
class="diy-button--export" v-if="false"
size="small" ref="upload"
@click="handleExportModule('room')" class="upload-btn"
>下载模板</el-button action="uploadUlr"
> :limit="1"
<el-upload :headers="$getElUploadHeaders()" :accept="'.xls,.xlsx'"
v-if="false" :with-credentials="true"
ref="upload" :show-file-list="false"
class="upload-btn" :auto-upload="true"
action="uploadUlr" :on-progress="handleProgress"
:limit="1" :on-success="handleExcelSuccess"
:accept="'.xls,.xlsx'" :before-upload="beforeExcelUpload"
:with-credentials="true" :http-request="uploadHttpRequest">
:show-file-list="false" <el-button size="small"
:auto-upload="true" class="diy-button--delete"
:on-progress="handleProgress" :loading="importLoading">{{ importBtnTitle }}</el-button>
:on-success="handleExcelSuccess"
:before-upload="beforeExcelUpload"
:http-request="uploadHttpRequest"
>
<el-button
size="small"
class="diy-button--delete"
:loading="importLoading"
>{{ importBtnTitle }}</el-button
>
</el-upload> </el-upload>
<el-button @click="handleChu" class="diy-button--reset" size="small" <el-button @click="handleChu"
>导出</el-button class="diy-button--reset"
> size="small">导出</el-button>
</div> </div>
<el-table <el-table :data="tableData"
:data="tableData" border
border style="width: 100%"
style="width: 100%" class="resi-table"
class="resi-table" :height="maxTableHeight">
:height="maxTableHeight" <el-table-column label="序号"
> fixed="left"
<el-table-column type="index"
label="序号" align="center"
fixed="left" width="50" />
type="index" <el-table-column prop="gridName"
align="center" align="center"
width="50" label="所属网格"
/> :show-overflow-tooltip="true">
<el-table-column
prop="gridName"
align="center"
label="所属网格"
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="title"
prop="title" label="项目标题"
label="项目标题" align="center"
align="center" :show-overflow-tooltip="true">
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="shiftProjectTime"
prop="shiftProjectTime" width="100"
width="100" align="center"
align="center" label="转项目时间"
label="转项目时间" :show-overflow-tooltip="true">
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="projectScheme"
prop="projectScheme" align="center"
align="center" label="项目方案"
label="项目方案" :show-overflow-tooltip="true">
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="internalRemark"
prop="internalRemark" align="center"
align="center" label="内部备注"
label="内部备注" :show-overflow-tooltip="true">
:show-overflow-tooltip="true" </el-table-column>
> <el-table-column prop="originName"
align="center"
label="来源"
width="100"
:show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="departmentNameList"
prop="departmentNameList" align="center"
align="center" label="当前处理部门 "
label="当前处理部门 " :show-overflow-tooltip="true">
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="detentionDays"
prop="detentionDays" align="center"
align="center" label="滞留工作日 "
label="滞留工作日 " :show-overflow-tooltip="true">
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column fixed="right"
fixed="right" label="操作"
label="操作" align="center"
align="center" width="100">
width="100"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button v-if="scope.row.status == 'pending' && scope.row.processable"
v-if="scope.row.status == 'pending' && scope.row.processable" @click="handleEdit(scope.$index)"
@click="handleEdit(scope.$index)" type="text"
type="text" size="small"
size="small" class="div-table-button--edit">处理</el-button>
class="div-table-button--edit"
>处理</el-button <el-button v-else
> @click="handleWatch(scope.$index)"
type="text"
<el-button size="small">查看</el-button>
v-else
@click="handleWatch(scope.$index)" <el-popconfirm v-if="false"
type="text" title="删除之后无法回复,确认删除?"
size="small" @onConfirm="handleDel(scope.row, scope.$index)"
>查看</el-button @confirm="handleDel(scope.row, scope.$index)">
> <el-button slot="reference"
type="text"
<el-popconfirm size="small"
v-if="false" class="div-table-button--delete"
title="删除之后无法回复,确认删除?" style="margin-left: 10px">删除</el-button>
@onConfirm="handleDel(scope.row, scope.$index)"
@confirm="handleDel(scope.row, scope.$index)"
>
<el-button
slot="reference"
type="text"
size="small"
class="div-table-button--delete"
style="margin-left: 10px"
>删除</el-button
>
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div> <div>
<el-pagination <el-pagination @size-change="handleSizeChange"
@size-change="handleSizeChange" @current-change="handleCurrentChange"
@current-change="handleCurrentChange" :current-page.sync="pageNo"
:current-page.sync="pageNo" :page-sizes="[20, 50, 100, 200]"
:page-sizes="[20, 50, 100, 200]" :page-size="parseInt(pageSize)"
:page-size="parseInt(pageSize)" layout="sizes, prev, pager, next, total"
layout="sizes, prev, pager, next, total" :total="total">
:total="total"
>
</el-pagination> </el-pagination>
</div> </div>
</el-card> </el-card>
</div> </div>
<div class="g-page" v-if="pageType == 'edit' || pageType == 'info'"> <div class="g-page"
<project-info v-if="pageType == 'edit' || pageType == 'info'">
ref="eleEditForm" <project-info ref="eleEditForm"
:type="pageType" :type="pageType"
:projectId="currentProject.projectId" :projectId="currentProject.projectId"
@close="handleClose" @close="handleClose"
@afterEdit="handleEditSuccess" @afterEdit="handleEditSuccess" />
/>
</div> </div>
</div> </div>
</template> </template>
@ -275,7 +224,7 @@ import axios from "axios";
export default { export default {
components: { projectInfo }, components: { projectInfo },
data() { data () {
return { return {
pageType: "list", // list dispose info issue-info pageType: "list", // list dispose info issue-info
@ -315,7 +264,7 @@ export default {
}; };
}, },
computed: { computed: {
maxTableHeight() { maxTableHeight () {
return this.$store.state.inIframe return this.$store.state.inIframe
? this.clientHeight - 360 + this.iframeHeigh ? this.clientHeight - 360 + this.iframeHeigh
: this.clientHeight - 360; : this.clientHeight - 360;
@ -333,11 +282,11 @@ export default {
} }
}, },
}, },
mounted() { mounted () {
this.getTableData(); this.getTableData();
}, },
methods: { methods: {
async handleExportModule() { async handleExportModule () {
let url = "/heart/iccommunityselforganization/import-template-download"; let url = "/heart/iccommunityselforganization/import-template-download";
let params = {}; let params = {};
@ -374,18 +323,18 @@ export default {
}); });
}, },
// //
handleExcelSuccess(res, file) { handleExcelSuccess (res, file) {
if (res.code === 0 && res.msg === "success") { if (res.code === 0 && res.msg === "success") {
console.log("resss---ppp", res); console.log("resss---ppp", res);
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
}, },
handleProgress(event, file, fileList) { handleProgress (event, file, fileList) {
console.log("percentage", file.percentage); console.log("percentage", file.percentage);
}, },
beforeExcelUpload(file) { beforeExcelUpload (file) {
console.log("file", file); console.log("file", file);
const isType = file.type === "application/vnd.ms-excel"; const isType = file.type === "application/vnd.ms-excel";
const isTypeComputer = const isTypeComputer =
@ -402,7 +351,7 @@ export default {
} }
return fileType && isLt1M; return fileType && isLt1M;
}, },
async uploadHttpRequest(file) { async uploadHttpRequest (file) {
this.importLoading = true; this.importLoading = true;
this.importBtnTitle = "正在上传中..."; this.importBtnTitle = "正在上传中...";
this.$message({ this.$message({
@ -457,29 +406,29 @@ export default {
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles();
}, },
handleSizeChange(val) { handleSizeChange (val) {
console.log(`每页 ${val}`); console.log(`每页 ${val}`);
this.pageSize = val; this.pageSize = val;
window.localStorage.setItem("pageSize", val); window.localStorage.setItem("pageSize", val);
this.getTableData(); this.getTableData();
}, },
handleCurrentChange(val) { handleCurrentChange (val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.pageNo = val; this.pageNo = val;
this.getTableData(); this.getTableData();
}, },
handleSearch(val) { handleSearch (val) {
console.log(this.fmData); console.log(this.fmData);
this.pageNo = 1; this.pageNo = 1;
this.getTableData(); this.getTableData();
}, },
resetForm(formName) { resetForm (formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.handleSearch(); this.handleSearch();
}, },
async handleChu() { async handleChu () {
const url = "/gov/project/project/project-list-export"; const url = "/gov/project/project/project-list-export";
const { pageSize, pageNo, fmData } = this; const { pageSize, pageNo, fmData } = this;
axios({ axios({
@ -514,8 +463,8 @@ export default {
}); });
}, },
async handleAdd() {}, async handleAdd () { },
async handleWatch(rowIndex) { async handleWatch (rowIndex) {
let item = this.tableData[rowIndex]; let item = this.tableData[rowIndex];
this.currentProject = { this.currentProject = {
projectId: item.projectId, projectId: item.projectId,
@ -523,7 +472,7 @@ export default {
this.pageType = "info"; this.pageType = "info";
}, },
async handleEdit(rowIndex) { async handleEdit (rowIndex) {
let item = this.tableData[rowIndex]; let item = this.tableData[rowIndex];
this.currentProject = { this.currentProject = {
projectId: item.projectId, projectId: item.projectId,
@ -531,19 +480,19 @@ export default {
this.pageType = "edit"; this.pageType = "edit";
}, },
handleClose() { handleClose () {
this.pageType = "list"; this.pageType = "list";
this.currentProject = { this.currentProject = {
projectId: "", projectId: "",
}; };
}, },
handleEditSuccess() { handleEditSuccess () {
this.handleClose(); this.handleClose();
this.getTableData(); this.getTableData();
}, },
async handleDel(rowData, rowIndex) { async handleDel (rowData, rowIndex) {
console.log(rowData, rowIndex); console.log(rowData, rowIndex);
const url = const url =
"/heart/iccommunityselforganization/delcommunityselforganization"; "/heart/iccommunityselforganization/delcommunityselforganization";
@ -561,7 +510,7 @@ export default {
} }
}, },
async getTableData() { async getTableData () {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list"; // const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list";
const url = "/gov/project/project/project-list"; const url = "/gov/project/project/project-list";
const { pageSize, pageNo, fmData } = this; const { pageSize, pageNo, fmData } = this;
@ -575,9 +524,28 @@ export default {
this.total = data.total || 0; this.total = data.total || 0;
this.tableData = data.list this.tableData = data.list
? data.list.map((item) => { ? data.list.map((item) => {
return item; return item;
}) })
: []; : [];
this.tableData.forEach(item => {
if (item.origin === 'issue') {
item.originName = '议题 '
} else if (item.origin === 'agency') {
item.originName = '项目立项'
} else if (item.origin === 'resi_event') {
item.originName = '旧版事件上报'
} else if (item.origin === 'work_event') {
item.originName = '巡查上报'
} else if (item.origin === 'ic_event') {
item.originName = '事件'
} else {
item.sourceTypeName = '--'
}
});
} else { } else {
} }
}, },

Loading…
Cancel
Save