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-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
label="创建时间"
prop="organizationCreatedTime"
@ -207,6 +190,23 @@
</div>
</div>
</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>
</div>
<div class="div_btn resi-btns">

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

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

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

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

Loading…
Cancel
Save