Browse Source

优化11

shibei_master
dai 3 years ago
parent
commit
4e63fcd35b
  1. 34
      src/views/modules/communityService/sqzzz/cpts/edit.vue
  2. 234
      src/views/modules/visual/communityGovern/cpt/project-info.vue
  3. 6
      src/views/modules/visual/heart/index.vue

34
src/views/modules/communityService/sqzzz/cpts/edit.vue

@ -134,23 +134,6 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item
label="备注"
prop="remark"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
type="textarea"
maxlength="1000"
show-word-limit
:rows="3"
placeholder="请输入备注,不超过1000字"
v-model="dataForm.remark"
></el-input>
</el-form-item>
<el-form-item <el-form-item
label="创建时间" label="创建时间"
prop="organizationCreatedTime" prop="organizationCreatedTime"
@ -207,6 +190,23 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item
label="备注"
prop="remark"
label-width="150px"
style="display: block"
>
<el-input
class="item_width_1"
type="textarea"
maxlength="500"
show-word-limit
:rows="3"
placeholder="请输入备注,不超过500字"
v-model="dataForm.remark"
></el-input>
</el-form-item>
</el-form> </el-form>
</div> </div>
<div class="div_btn resi-btns"> <div class="div_btn resi-btns">

234
src/views/modules/visual/communityGovern/cpt/project-info.vue

@ -7,8 +7,7 @@
<span>项目详情</span> <span>项目详情</span>
</div> </div>
<div class="btn-close" <div class="btn-close" @click="handleClose">
@click="handleClose">
<img src="@/assets/img/shuju/people/close.png" /> <img src="@/assets/img/shuju/people/close.png" />
</div> </div>
<div class="m-top"> <div class="m-top">
@ -33,36 +32,33 @@
<span>当前处理部门</span> <span>当前处理部门</span>
<span>{{ projectInfo.departmentNameList.join("、") }}</span> <span>{{ projectInfo.departmentNameList.join("、") }}</span>
</div> </div>
<div class="info-prop" <div class="info-prop" v-if="projectCate.length > 0">
v-if="projectCate.length > 0">
<span>分类</span> <span>分类</span>
<fold-text :row="3"> <fold-text :row="3">
<div :key="item.name" <div :key="item.name" v-for="item in projectCate">
v-for="item in projectCate">
{{ item.name }} {{ item.name }}
</div> </div>
</fold-text> </fold-text>
</div> </div>
<div class="info-prop" <div class="info-prop" v-if="projectTag.length > 0">
v-if="projectTag.length > 0">
<span>标签</span> <span>标签</span>
<fold-text :row="3"> <fold-text :row="3">
<div :key="item.name" <div :key="item.name" v-for="item in projectTag">
v-for="item in projectTag">
{{ item.name }} {{ item.name }}
</div> </div>
</fold-text> </fold-text>
</div> </div>
</div> </div>
<div class="m-process" <div class="m-process" v-if="projectProcess.length > 0">
v-if="projectProcess.length > 0">
<div class="process-title">处理进展</div> <div class="process-title">处理进展</div>
<div class="list"> <div class="list">
<div class="item" <div
class="item"
:class="index === 0 ? 'z-on' : ''" :class="index === 0 ? 'z-on' : ''"
:key="item.processId" :key="item.processId"
v-for="(item, index) in projectProcess"> v-for="(item, index) in projectProcess"
>
<div class="item-row"> <div class="item-row">
<div class="name">{{ item.processName }}</div> <div class="name">{{ item.processName }}</div>
<div class="date"> <div class="date">
@ -75,29 +71,33 @@
<div class="detail-value">{{ item.departmentName }}</div> <div class="detail-value">{{ item.departmentName }}</div>
</div> </div>
<div class="detail" <div
v-if="item.processName != '转项目' && item.publicReply"> class="detail"
v-if="item.processName != '转项目' && item.publicReply"
>
<div class="detail-field"> </div> <div class="detail-field"> </div>
<div class="detail-value"> <div class="detail-value">
<fold-text :row="3">{{ item.publicReply }}</fold-text> <fold-text :row="3">{{ item.publicReply }}</fold-text>
</div> </div>
</div> </div>
<div class="detail" <div
v-if="item.processName != '转项目' && item.internalRemark"> class="detail"
v-if="item.processName != '转项目' && item.internalRemark"
>
<div class="detail-field">内部备注</div> <div class="detail-field">内部备注</div>
<div class="detail-value"> <div class="detail-value">
<fold-text :row="3">{{ <fold-text :row="3">{{ item.internalRemark }}</fold-text>
item.internalRemark
}}</fold-text>
</div> </div>
</div> </div>
<div class="detail"> <div class="detail">
<div class="attachement-list"> <div class="attachement-list">
<a :href="att.url" <a
:href="att.url"
target="_blank" target="_blank"
:key="att.url" :key="att.url"
v-for="att in item.internalFile"> v-for="att in item.internalFile"
>
<i class="el-icon-folder-opened"></i> <i class="el-icon-folder-opened"></i>
{{ att.name }} {{ att.name }}
</a> </a>
@ -107,56 +107,64 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="projectInfo.origin!=='agency'" <div v-if="projectInfo.origin !== 'agency'" class="tabs">
class="tabs"> <div
<div class="tab-btn" class="tab-btn"
@click="subStartGroupIndex" @click="subStartGroupIndex"
v-if="groupList.length > 9"> v-if="groupList.length > 9"
>
<img src="@/assets/img/shuju/people/arrow-double-left.png" /> <img src="@/assets/img/shuju/people/arrow-double-left.png" />
</div> </div>
<div v-show="index >= startGroupIndex && index < startGroupIndex + 9" <div
v-show="index >= startGroupIndex && index < startGroupIndex + 9"
class="tab" class="tab"
:class="groupIndex % groupList.length == index ? 'z-on' : ''" :class="groupIndex % groupList.length == index ? 'z-on' : ''"
:key="'tab' + index" :key="'tab' + index"
@click="groupIndex = index" @click="groupIndex = index"
v-for="(item, index) in groupList"> v-for="(item, index) in groupList"
>
{{ item.label }} {{ item.label }}
</div> </div>
<div class="tab-btn" <div
class="tab-btn"
@click="addStartGroupIndex" @click="addStartGroupIndex"
v-if="groupList.length > 9"> v-if="groupList.length > 9"
>
<img src="@/assets/img/shuju/people/arrow-double-right.png" /> <img src="@/assets/img/shuju/people/arrow-double-right.png" />
</div> </div>
</div> </div>
<div class="m-case" <div class="m-case" v-if="projectInfo.origin !== 'agency'">
v-if="projectInfo.origin!=='agency'"> <div class="m-yanpan" v-if="groupIndex == 0">
<div class="m-yanpan" <div v-if="projectId || true">
v-if="groupIndex == 0"> <screen-loading v-if="!yanPan.loading">加载中</screen-loading>
<div v-if="projectId"> <analyse
<analyse v-if="yanPan.loading" v-else-if="yanPan.singleTitle"
singleTitle="楼院小组" :singleTitle="yanPan.singleTitle"
:moreTitle="yanPan.moreTitle"
:userList="yanPan.homeUserList" :userList="yanPan.homeUserList"
:userName="yanPan.icUserName" :userName="yanPan.icUserName"
:singleList="yanPan.singleList" :singleList="yanPan.singleList"
:hasEvent="yanPan.hasEvent" :hasEvent="yanPan.hasEvent"
:moreList="yanPan.moreList" :moreList="yanPan.moreList"
@user="toUserInfo" @user="toUserInfo"
@project="toProjectInfo" /> @project="toProjectInfo"
<screen-loading v-else>加载中</screen-loading> />
<div v-else class="m-hint">
<img
src="@/assets/img/modules/visual/noData.png"
class="no-data-img"
/>
</div> </div>
<div v-else
class="m-hint">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div> </div>
</div> </div>
<div v-if="groupIndex == 1"> <div v-if="groupIndex == 1">
<div class="m-row" <div
v-if="projectInfo.originId"> class="m-row"
<div v-if="projectInfo.origin==='issue'" v-if="projectInfo.originId && projectInfo.origin !== 'work_event'"
class="m-info"> >
<div v-if="projectInfo.origin === 'issue'" class="m-info">
<div class="info-prop"> <div class="info-prop">
<span>议题标题</span> <span>议题标题</span>
<span>{{ issueInfo.issueTitle }}</span> <span>{{ issueInfo.issueTitle }}</span>
@ -173,8 +181,10 @@
<span>议题发起人</span> <span>议题发起人</span>
<span>{{ issueInfo.issueInitiator }}</span> <span>{{ issueInfo.issueInitiator }}</span>
</div> </div>
<div v-if="issueInfo.topicInfo&&issueInfo.topicInfo.groupName" <div
class="info-prop"> v-if="issueInfo.topicInfo && issueInfo.topicInfo.groupName"
class="info-prop"
>
<span>议题来源</span> <span>议题来源</span>
<span>{{ issueInfo.topicInfo.groupName }}</span> <span>{{ issueInfo.topicInfo.groupName }}</span>
</div> </div>
@ -183,15 +193,16 @@
<span>{{ issueInfo.shiftIssueTime }}</span> <span>{{ issueInfo.shiftIssueTime }}</span>
</div> </div>
</div> </div>
<div v-if="projectInfo.origin==='resi_event'" <div v-if="projectInfo.origin === 'resi_event'" class="m-info">
class="m-info">
<div class="info-title">事件内容</div> <div class="info-title">事件内容</div>
<div class="info-content">{{ info.eventContent }}</div> <div class="info-content">{{ info.eventContent }}</div>
<div class="info-pics"> <div class="info-pics">
<img :src="src" <img
:src="src"
:key="src" :key="src"
v-for="src in info.eventImgs" v-for="src in info.eventImgs"
@click="watchImg(src)" /> @click="watchImg(src)"
/>
</div> </div>
<div class="info-prop"> <div class="info-prop">
<span class="info-title-2">提交时间</span> <span class="info-title-2">提交时间</span>
@ -216,8 +227,7 @@
</div> </div>
</div> </div>
<div v-if="projectInfo.origin==='issue'" <div v-if="projectInfo.origin === 'issue'" class="m-line">
class="m-line">
<div class="stat"> <div class="stat">
<div class="stat-item"> <div class="stat-item">
<div> <div>
@ -237,17 +247,19 @@
</div> </div>
</div> </div>
<line-chart v-if="issueChartData.length > 0" <line-chart
:list="issueChartData" /> v-if="issueChartData.length > 0"
:list="issueChartData"
/>
</div> </div>
</div> </div>
<div v-else <div v-else class="m-hint">
class="m-hint"> <img
<img src="@/assets/img/modules/visual/noData.png" src="@/assets/img/modules/visual/noData.png"
class="no-data-img" /> class="no-data-img"
/>
</div> </div>
</div> </div>
</div> </div>
</cpt-card> </cpt-card>
</div> </div>
@ -267,10 +279,7 @@ import dateFormat from "dai-js/tools/dateFormat";
function iniData() { function iniData() {
return { return {
projectIdCopy: this.projectId, projectIdCopy: this.projectId,
groupList: [ groupList: [{ label: "研判分析" }, { label: "项目来源" }],
{ label: "研判分析" },
{ label: "项目来源" },
],
groupIndex: 0, groupIndex: 0,
startGroupIndex: 0, startGroupIndex: 0,
@ -352,7 +361,6 @@ function iniData () {
// icUserName: '', // icUserName: '',
// } // }
], ],
singleList: [],//
projectData: [ projectData: [
// { // {
// firstCategoryCode: '', // firstCategoryCode: '',
@ -361,8 +369,10 @@ function iniData () {
// } // }
], ],
hasEvent: false, hasEvent: false,
singleTitle: "",
moreTitle: "",
singleList: [], //
moreList: [], // moreList: [], //
}, },
}; };
} }
@ -382,7 +392,6 @@ export default {
type: Array, type: Array,
default: [], default: [],
}, },
}, },
components: { components: {
@ -408,12 +417,11 @@ export default {
}, },
// projectIdCopy () { // projectIdCopy () {
// }, // },
}, },
mounted() { mounted() {
console.log(this.projectIdCopy) console.log(this.projectIdCopy);
this.getApiData(); this.getApiData();
}, },
@ -443,25 +451,22 @@ export default {
}, },
async getApiData() { async getApiData() {
await this.getProjectInfo();
await this.getProjectInfo()
this.getProjectCate(); this.getProjectCate();
this.getProjectProcess(); this.getProjectProcess();
if (this.projectInfo.origin === 'issue') { if (this.projectInfo.origin === "issue") {
this.getIssueInfo(); this.getIssueInfo();
this.getIssueTrend(); this.getIssueTrend();
} else if (this.projectInfo.origin === 'resi_event') { } else if (this.projectInfo.origin === "resi_event") {
this.getEventInfo() this.getEventInfo();
} }
if (this.projectInfo.origin !== 'agency') { if (this.projectInfo.origin !== "agency") {
await this.getYanPan(); await this.getYanPan();
} }
}, },
// //
async getProjectInfo() { async getProjectInfo() {
const url = "/gov/project/trace/projectdetail"; const url = "/gov/project/trace/projectdetail";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
@ -470,8 +475,6 @@ export default {
if (code === 0) { if (code === 0) {
this.projectInfo = data; this.projectInfo = data;
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
@ -479,7 +482,6 @@ export default {
// //
async getIssueInfo() { async getIssueInfo() {
const url = "/resi/hall/issue/detail"; const url = "/resi/hall/issue/detail";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
@ -495,7 +497,6 @@ export default {
// //
async getIssueTrend() { async getIssueTrend() {
const url = "/resi/hall/issue/votingtrend"; const url = "/resi/hall/issue/votingtrend";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
@ -507,7 +508,7 @@ export default {
let chartData = []; let chartData = [];
data.polyLine.forEach((item) => { data.polyLine.forEach((item) => {
let date = dateFormat(new Date(item.voteDate * 1000), "yyyy-MM-dd"); let date = dateFormat(new Date(item.voteDate * 1000), "yyyy-MM-dd");
console.log("date:" + date); // console.log("date:" + date);
chartData.push( chartData.push(
{ {
date, date,
@ -536,15 +537,13 @@ export default {
}); });
if (code === 0) { if (code === 0) {
if (data.eventOrg && data.eventOrg.length > 0) { if (data.eventOrg && data.eventOrg.length > 0) {
data.eventOrgShow = data.eventOrg.join('、') data.eventOrgShow = data.eventOrg.join("、");
} }
if (data.eventPerson && data.eventPerson.length > 0) { if (data.eventPerson && data.eventPerson.length > 0) {
data.eventPersonShow = data.eventPerson.join('、') data.eventPersonShow = data.eventPerson.join("、");
} }
this.info = { ...data }; this.info = { ...data };
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
@ -552,7 +551,6 @@ export default {
// //
async getProjectProcess() { async getProjectProcess() {
const url = "/gov/project/trace/processlist-v2"; const url = "/gov/project/trace/processlist-v2";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
@ -573,7 +571,6 @@ export default {
}, },
async getProjectCate() { async getProjectCate() {
const url = "/gov/project/projectcategory/categorytaglist"; const url = "/gov/project/projectcategory/categorytaglist";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
@ -592,36 +589,49 @@ export default {
async getYanPan() { async getYanPan() {
const url = "/data/aggregator/project/projectanalysis"; const url = "/data/aggregator/project/projectanalysis";
if (!this.userId) return (this.yanPan.loading = true);
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
categoryCodeList: this.categoryCodes, categoryCodeList: this.categoryCodes,
userId: this.userId, userId: this.userId,
projectId: this.projectIdCopy projectId: this.projectIdCopy,
}); });
if (code === 0) { if (code === 0) {
data.icResiUserId = data.icUserId data.icResiUserId = data.icUserId;
data.homeUserList.forEach(item => { data.homeUserList.forEach((item) => {
item.icResiUserId = item.icUserId item.icResiUserId = item.icUserId;
}); });
let array1 = [] let array1 = [];
let array2 = [] let array2 = [];
// //
if (data.groupProjectList && data.groupProjectList.length > 0 && data.eventProjectList && data.eventProjectList.length > 0) { if (
this.yanPan.hasEvent = true data.groupProjectList &&
array1 = [...data.groupProjectList] data.groupProjectList.length > 0 &&
array2 = [...data.eventProjectList] data.eventProjectList &&
data.eventProjectList.length > 0
) {
this.yanPan.hasEvent = true;
this.yanPan.singleTitle = "楼院小组";
this.yanPan.moreTitle = "事件上报";
array1 = [...data.groupProjectList];
array2 = [...data.eventProjectList];
} else { } else {
this.yanPan.hasEvent = false this.yanPan.hasEvent = false;
if (data.groupProjectList && data.groupProjectList.length > 0) { if (data.groupProjectList && data.groupProjectList.length > 0) {
array1 = [...data.groupProjectList] array1 = [...data.groupProjectList];
} else if (data.eventProjectList && data.eventProjectList.length > 0) { this.yanPan.singleTitle = "楼院小组";
array1 = [...data.eventProjectList] } else if (
data.eventProjectList &&
data.eventProjectList.length > 0
) {
array1 = [...data.eventProjectList];
this.yanPan.singleTitle = "事件上报";
} else { } else {
array1 = [] array1 = [];
} }
} }
if (array1.length > 0) { if (array1.length > 0) {
@ -634,8 +644,7 @@ export default {
return { return {
title: subItem.title, title: subItem.title,
status: subItem.status, status: subItem.status,
statusName: statusName: subItem.status == "pending" ? "待处理" : "结案",
subItem.status == "pending" ? "待处理" : "结案",
projectId: subItem.projectId, projectId: subItem.projectId,
}; };
}), }),
@ -652,8 +661,7 @@ export default {
return { return {
title: subItem.title, title: subItem.title,
status: subItem.status, status: subItem.status,
statusName: statusName: subItem.status == "pending" ? "待处理" : "结案",
subItem.status == "pending" ? "待处理" : "结案",
projectId: subItem.projectId, projectId: subItem.projectId,
}; };
}), }),
@ -661,10 +669,8 @@ export default {
}); });
} }
this.yanPan = { ...this.yanPan, ...data }; this.yanPan = { ...this.yanPan, ...data };
console.log(this.yanPan) console.log(this.yanPan);
this.yanPan.loading = true; this.yanPan.loading = true;
} else { } else {
this.$message.error(msg); this.$message.error(msg);

6
src/views/modules/visual/heart/index.vue

@ -266,7 +266,8 @@ export default {
this.tb2.list = data.map((item) => { this.tb2.list = data.map((item) => {
return [ return [
{ type: "index" }, { type: "index" },
{ type: "people", name: item.userName, uid: item.userId }, item.userName,
// { type: "people", name: item.userName, uid: item.userId },
item.gridName, item.gridName,
item.pointTotal, item.pointTotal,
]; ];
@ -296,7 +297,8 @@ export default {
this.tb3.list = data.map((item) => { this.tb3.list = data.map((item) => {
return [ return [
{ type: "index" }, { type: "index" },
{ type: "people", name: item.userName, uid: item.userId }, item.userName,
// { type: "people", name: item.userName, uid: item.userId },
item.gridName, item.gridName,
item.pointTotal, item.pointTotal,
]; ];

Loading…
Cancel
Save