Browse Source

Merge branch 'dev' into jw_feature_dev

V1.0
张若晨 2 years ago
parent
commit
ad8a979f93
  1. 2
      src/router/index.js
  2. 35
      src/views/components/resiForm.vue
  3. 34
      src/views/dataBoard/renfang/index.vue
  4. 13
      src/views/modules/base/community/communityForm.vue
  5. 16
      src/views/modules/base/resi.vue
  6. 1
      src/views/modules/base/virtualResi.vue
  7. 2
      src/views/modules/communityParty/partyOrg/update.vue
  8. 3
      src/views/modules/communityParty/regionalParty/unitsForm.vue
  9. 263
      src/views/modules/portrayal/jumin/cpts/rightTop.vue
  10. 28
      src/views/modules/portrayal/loudong/cpts/buildingTable.vue
  11. 28
      src/views/modules/portrayal/loudong/cpts/house.vue
  12. 28
      src/views/modules/portrayal/loudong/cpts/unit.vue
  13. 2
      src/views/modules/satisfaction/communitySelfInsp/index.vue
  14. 9
      src/views/modules/satisfaction/satisfactionProvince/formList.vue
  15. 2
      src/views/modules/shequzhili/event/cpts/event-info.vue
  16. 4
      src/views/modules/shequzhili/event/eventList.vue
  17. 180
      src/views/modules/shequzhili/eventOld/cpts/add.vue
  18. 2
      src/views/modules/shequzhili/eventOld/cpts/event-detail.vue
  19. 128
      src/views/modules/shequzhili/eventOld/cpts/event-info.vue
  20. 157
      src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue
  21. 37
      src/views/modules/shequzhili/eventOld/cpts/process-form-replay-end.vue
  22. 199
      src/views/modules/shequzhili/eventOld/cpts/process-form.vue
  23. 8
      src/views/modules/shequzhili/eventOld/eventList.vue

2
src/router/index.js

@ -539,7 +539,7 @@ export const dataBoardRoutes = {
component: () => import("@/views/dataBoard/satisfactionEval/index"),
name: "dataBoard-satisfactionEval-index",
meta: {
title: "满意度评价",
title: "群众满意度",
isTab: false,
},
},

35
src/views/components/resiForm.vue

@ -436,7 +436,7 @@ export default {
this.handleNextOrgTreeClick(node, resolve)
},
checkStrictly: true,
multiple: false
multiple: false,
},
activeName: 'groupeduInfoDto',
validateFlag: null,
@ -552,8 +552,9 @@ export default {
{ label: '残疾', value: '0', formName: "disabilityFlag" },
{ label: '大病', value: '0', formName: "seriousIllnessFlag" },
{ label: '慢病', value: '0', formName: "chronicDiseaseFlag" },
{ label: '公益岗人员', value: '0', formName: "publicWelfareFlag" }
{ label: '公益岗人员', value: '0', formName: "publicWelfareFlag" },
{ label: '楼长', value: '0', formName: "buildingChiefFlag" },
{ label: '单元长', value: '0', formName: "unitChiefFlag" }
]
}
],
@ -1398,6 +1399,8 @@ export default {
disabilityFlag: '0',//
seriousIllnessFlag: '0', //
chronicDiseaseFlag: '0', //
buildingChiefFlag: '0', //
unitChiefFlag: '0', //
eduInfoDto: { //
cultureLevel: '',
@ -1718,25 +1721,22 @@ export default {
})
},
async handleNextOrgTreeClick (node,resolve) {
console.log(node,resolve);
await this.getTreeChildenList(node,resolve)
},
async getTreeChildenList (node, resolve) {
if (node.data.partyOrgLevel === 7 ) {
resolve([]); //
resolve(null);
return;
}
const url = "/actual/base/party/org/listNextLevelPartyOrgTreeNodesByPid"
console.log('级联', node.value)
let params = {
partyOrgPid: node.data.id
}
const { data, code, msg } = await requestGet(url, params)
if (code === 0) {
data.forEach(item => {
if (item.partyOrgLevel === 7) {
item.children = null; // item.children = [];
}
item.children = null;
item.leaf = item.partyOrgLevel === 7 || item.childrenQty === 0
});
resolve(data)
} else {
@ -2312,7 +2312,8 @@ export default {
this.form.floatingFlag = data.categoryInfo.floatingFlag.toString()
this.form.liveAloneFlag = data.categoryInfo.liveAloneFlag.toString()
this.form.publicWelfareFlag = data.categoryInfo.publicWelfareFlag.toString()
this.form.publicWelfareFlag = data.categoryInfo.publicWelfareFlag.toString()
this.form.buildingChiefFlag = data.categoryInfo.buildingChiefFlag.toString()
this.form.unitChiefFlag = data.categoryInfo.unitChiefFlag.toString()
if (this.form.partyFlag == '1') this.tabsList.push({ label: '党员', id: '0', groupId: 'parymemberInfoDto' })
if (this.form.ensureHouseFlag == '1') this.tabsList.push({ label: '保障房信息', id: '1', groupId: 'ensureHouseDto' })
@ -2331,7 +2332,7 @@ export default {
villageId, birthday, gender, idType, idNum, localResidenceFlag, mobile, name, nation, nationality, remark,
partyFlag, subsistenceAllowanceFlag, ensureHouseFlag, unemployedFlag, fertileWomanFlag, veteranFlag, unitedFrontFlag,
petitionOfficerFlag, volunteerFlag, oldPeopleFlag, emptyNesterFlag, specialSupportFlag, disabledFlag,
dementedFlag, disabilityFlag, seriousIllnessFlag, chronicDiseaseFlag, specialCrowdFlag, tenantFlag, floatingFlag, liveAloneFlag, publicWelfareFlag } = this.form
dementedFlag, disabilityFlag, seriousIllnessFlag, chronicDiseaseFlag, specialCrowdFlag, tenantFlag, floatingFlag, liveAloneFlag, publicWelfareFlag,buildingChiefFlag, unitChiefFlag} = this.form
this.newForm = {
categoryId,
resiId,
@ -2375,7 +2376,8 @@ export default {
floatingFlag,
liveAloneFlag,
publicWelfareFlag,
buildingChiefFlag,
unitChiefFlag,
}
},
//
@ -2863,7 +2865,9 @@ export default {
this.newForm.disabilityFlag = this.form.disabilityFlag,
this.newForm.seriousIllnessFlag = this.form.seriousIllnessFlag,
this.newForm.chronicDiseaseFlag = this.form.chronicDiseaseFlag,
this.newForm.publicWelfareFlag = this.form.publicWelfareFlag
this.newForm.publicWelfareFlag = this.form.publicWelfareFlag,
this.newForm.buildingChiefFlag = this.form.buildingChiefFlag,
this.newForm.unitChiefFlag = this.form.unitChiefFlag
if (this.newForm.eduInfoDto) {
this.newForm.eduInfoDto = this.form.eduInfoDto
@ -2936,7 +2940,7 @@ export default {
this.newForm.specialSupportDto = this.form.specialSupportDto
}
}
},
}
}
</script>
@ -2979,4 +2983,7 @@ export default {
.item-agency {
width: 400px;
}
::v-deep .no-expand>:nth-child(1) .cell .el-table__expand-icon{
display: none;
}
</style>

34
src/views/dataBoard/renfang/index.vue

@ -722,31 +722,25 @@ export default {
//
async getResiCategoryData() {
const url = "resident_class_statics";
const { data, code, msg } = await requestPostBi(
url,
{
queryParam: {
org_id: this.orgId,
},
},
{
// mockId: 60031937,
}
);
const url = "/actual/base/resiCategory/categoryCountList";
let params = {
// id: this.orgData.id,
// level: "agency",
};
const { data, code, msg } = await requestGet(url, params);
if (code === 0) {
this.resiCategoryData = data.map((item) => {
if (data) {
this.resiCategoryData = data.categoryList.map((item) => {
return {
code: item.label_id,
name: item.label,
count: item.count,
ratio: item.ratio,
growth: item.growth,
code: item.categoryName,
name: resiCategoryMap[item.categoryName] || "",
count: item.categoryCount,
ratio: ((100 * item.categoryCount) / data.resiCount).toFixed(0),
growth: 0,
growthAbs: Math.abs(item.growth),
};
});
}
} else {
this.$message.error(msg);
}

13
src/views/modules/base/community/communityForm.vue

@ -168,7 +168,9 @@ export default {
// label: 'agencyName',
// value: 'agencyId',
lazy: true,
lazyLoad: this.lazyLoadAgency
lazyLoad:(node, resolve) => {
this.lazyLoadAgency(node, resolve)
},
},
userAgencyId: '',
}
@ -182,10 +184,8 @@ export default {
},
methods: {
lazyLoadAgency(node, resolve) {
setTimeout(() => {
this.getAgency(node, resolve)
}, 200)
async lazyLoadAgency(node, resolve) {
await this.getAgency(node, resolve)
},
async getAgency(node, resolve) {
const url = "/gov/org/agency/dynamicOrgTreeWithDepth"
@ -206,8 +206,9 @@ export default {
label: item.name,
level: item.agencyLevel,
orgType: item.orgType,
leaf: node.level >= 4 // 5
leaf: item.orgType == 'grid' // 5
}))
console.log(nodes);
resolve(nodes)
} else {
this.$message.error(msg)

16
src/views/modules/base/resi.vue

@ -210,6 +210,16 @@
? "志愿者 "
: ""
}}
{{
scope.row.categoryInfo.buildingChiefFlag == 1
? "楼长 "
: ""
}}
{{
scope.row.categoryInfo.unitChiefFlag == 1
? "单元长 "
: ""
}}
</div>
</template>
</div>
@ -975,6 +985,11 @@ export default {
_baseForm.disabledFlag = parseInt(_baseForm.disabledFlag); //
_baseForm.dementedFlag = parseInt(_baseForm.dementedFlag); //
_baseForm.disabilityFlag = parseInt(_baseForm.disabilityFlag); //
_baseForm.buildingChiefFlag = parseInt(_baseForm.buildingChiefFlag); //
_baseForm.unitChiefFlag = parseInt(_baseForm.unitChiefFlag); //
_baseForm.seriousIllnessFlag = parseInt(
_baseForm.seriousIllnessFlag
); //
@ -1092,7 +1107,6 @@ export default {
},
async getTableData(obj) {
console.log(this.currentPage);
let params = {
pageNo: this.currentPage,
pageSize: this.pageSize,

1
src/views/modules/base/virtualResi.vue

@ -1083,7 +1083,6 @@ export default {
},
async getTableData(obj) {
console.log(this.currentPage);
let params = {
pageNo: this.currentPage,
pageSize: this.pageSize,

2
src/views/modules/communityParty/partyOrg/update.vue

@ -168,12 +168,14 @@ export default {
this.dataForm.principalId = partyOrgInfo.principalId;
console.log(this.principals)
console.log(this.dataForm.principalId )
this.$nextTick(()=>{
if (!map) {
this.initMap(this.dataForm.latitude, this.dataForm.longitude);
} else {
map.setCenter(this.dataForm.latitude, this.dataForm.longitude);
map.setMarker(this.dataForm.latitude, this.dataForm.longitude);
}
})
},
//

3
src/views/modules/communityParty/regionalParty/unitsForm.vue

@ -480,6 +480,9 @@ export default {
longitude: [
{ required: true, message: "坐标不能为空", trigger: "blur" },
],
serviceMatterList:[
{ required: true, message: "服务事项不能为空", trigger: "blur" },
]
};
},
},

263
src/views/modules/portrayal/jumin/cpts/rightTop.vue

@ -1,88 +1,126 @@
<template>
<div class=''>
<div class="">
<el-tabs v-model="topTabs" @tab-click="tabClick">
<el-tab-pane :label="complainLabel" name="12345">
<complain :tableData="complainList" :key="resiId[0]" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ complainTotal }}</div>
<div style="margin-top: 25px">{{ complainTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="complainTotal">
</el-pagination></el-col>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="complainTotal"
>
</el-pagination
></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="shengLabel" name="sheng">
<sheng :tableData="shengList" :key="resiId[0]" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ shengTotal }}</div>
<div style="margin-top: 25px">{{ shengTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="shengTotal">
</el-pagination></el-col>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-size="pageSize"
layout="prev, pager, next,jumper"
:total="shengTotal"
>
</el-pagination
></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="shequLabel" name="shequ">
<shequ :tableData="shequList" :key="resiId[0]" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ shequTotal }}</div>
<div style="margin-top: 25px">{{ shequTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="shequTotal">
</el-pagination></el-col>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="shequTotal"
>
</el-pagination
></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="shijianLabel" name="shijian">
<shijian :tableData="shijianList" :key="resiId[0]" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ shijianTotal }}</div>
<div style="margin-top: 25px">{{ shijianTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="shijianTotal">
</el-pagination></el-col>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="shijianTotal"
>
</el-pagination
></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="xuqiuLabel" name="xuqiu">
<xuqiu :tableData="xuqiuList" :key="resiId[0]" />
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ xuqiuTotal }}</div>
<div style="margin-top: 25px">{{ xuqiuTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="xuqiuTotal">
</el-pagination></el-col>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="xuqiuTotal"
>
</el-pagination
></el-col>
</el-row>
</el-tab-pane>
<el-tab-pane :label="fuwuLabel" name="fuwu">
<div style="display: flex; flex-direction: column; height: 100%;">
<fuwu :tableData="fuwuList" :key="resiId[0]" style="flex: 1; overflow: auto;" />
<div style="display: flex; flex-direction: column; height: 100%">
<fuwu
:tableData="fuwuList"
:key="resiId[0]"
style="flex: 1; overflow: auto"
/>
<el-row type="flex">
<el-col :span="12" align="left">
<div style="margin-top: 25px;">{{ fuwuTotal }}</div>
<div style="margin-top: 25px">{{ fuwuTotal }}</div>
</el-col>
<el-col :span="12" align="right">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper"
:total="fuwuTotal">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-size="pageSize"
layout="prev, pager, next, jumper"
:total="fuwuTotal"
>
</el-pagination>
</el-col>
</el-row>
</div>
</el-tab-pane>
</el-tabs>
</div>
</template>
@ -98,90 +136,83 @@ export default {
//
data() {
return {
topTabs: '12345',
topTabs: "12345",
complainTotal: 0,
complainList: [],
complainLabel: '',
complainLabel: "",
shengLabel: '',
shengLabel: "",
shengList: [],
shengTotal: 0,
shequLabel: '',
shequLabel: "",
shequList: [],
shequTotal: 0,
shijianLabel: '',
shijianLabel: "",
shijianList: [],
shijianTotal: 0,
xuqiuLabel: '',
xuqiuLabel: "",
xuqiuList: [],
xuqiuTotal: 0,
fuwuLabel: '',
fuwuLabel: "",
fuwuList: [],
fuwuTotal: 0,
pageNo: 1,
pageSize: 20
pageSize: 20,
};
},
//
created() {
if (this.type == '0') {
this.resiId = [this.userInfo.resiId]
} else if (this.type == '1') {
this.resiId = this.familyResiList
if (this.type == "0") {
this.resiId = [this.userInfo.resiId];
} else if (this.type == "1") {
this.resiId = this.familyResiList;
}
},
async mounted() {
await this.getComplainList()
await this.getShengList()
await this.getShequList()
await this.getshijianList()
await this.getxuqiuList()
await this.getfuwuList()
await this.getComplainList();
await this.getShengList();
await this.getShequList();
await this.getshijianList();
await this.getxuqiuList();
await this.getfuwuList();
},
props: {
userInfo: {
type: Object,
default: () => { }
default: () => {},
},
familyResiList: {
type: Array,
default: () => []
default: () => [],
},
type: {
type: String,
default: '0'
}
default: "0",
},
},
//
methods: {
tabClick(index) {
},
handleSizeChange() {
},
handleCurrentChange() {
},
tabClick(index) {},
handleSizeChange() {},
handleCurrentChange() {},
getComplainList() {
if (this.resiId.length == 0) {
this.complainList = []
this.complainLabel = `12345投诉(0)`
return
this.complainList = [];
this.complainLabel = `12345投诉(0)`;
return;
}
let parm = {
residList: this.resiId,
pageNo: this.pageNo,
pageSize: this.pageSize,
eventType: "3",
}
};
const statusArr = {
processing: "处理中",
closed_case: "已办结",
@ -189,7 +220,9 @@ export default {
const marktypes = ["普通事件", "难点读点", "矛盾纠纷", "自身问题"];
//
this.$http.post("/actual/base/peopleRoomOverview/eventPageList", parm).then(({ data: res }) => {
this.$http
.post("/actual/base/peopleRoomOverview/eventPageList", parm)
.then(({ data: res }) => {
this.complainList = res.data.list.map((item) => {
return {
...item,
@ -199,45 +232,55 @@ export default {
});
this.complainTotal = res.data.total;
this.complainLabel = `12345投诉(${this.complainTotal}`
this.complainLabel = `12345投诉(${this.complainTotal}`;
});
},
getShengList() {
if (this.resiId.length == 0) {
this.shengList = []
this.shengLabel = `省满意度调查(0)`
return
this.shengList = [];
this.shengLabel = `省满意度调查(0)`;
return;
}
let parm = {
residList: this.resiId,
pageNo: this.pageNo,
pageSize: this.pageSize
}
pageSize: this.pageSize,
};
//
this.$http.post("/actual/base/peopleRoomOverview/provincialSatisfactionPageList", parm).then(({ data: res }) => {
this.$http
.post(
"/actual/base/peopleRoomOverview/provincialSatisfactionPageList",
parm
)
.then(({ data: res }) => {
this.shengList = res.data;
this.shengTotal = res.data.length;
this.shengLabel = `省满意度调查(${this.shengTotal}`
this.shengLabel = `省满意度调查(${this.shengTotal}`;
});
},
getShequList() {
if (this.resiId.length == 0) {
this.shequList = []
this.shequLabel = `社区满意度自查(0)`
return
this.shequList = [];
this.shequLabel = `社区满意度自查(0)`;
return;
}
let parm = {
residList: this.resiId,
pageNo: this.pageNo,
pageSize: this.pageSize
}
pageSize: this.pageSize,
};
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
this.$http.post("/actual/base/peopleRoomOverview/communitySatisfactionPageList", parm).then(({ data: res }) => {
this.$http
.post(
"/actual/base/peopleRoomOverview/communitySatisfactionPageList",
parm
)
.then(({ data: res }) => {
this.shequList = res.data.map((item) => {
return {
...item,
@ -245,26 +288,28 @@ export default {
};
});
this.shequTotal = this.shequList.length;
this.shequLabel = `社区满意度自查(${this.shequTotal}`
this.shequLabel = `社区满意度自查(${this.shequTotal}`;
});
},
getshijianList() {
if (this.resiId.length == 0) {
this.shijianList = []
this.shijianLabel = `上报事件(0)`
return
this.shijianList = [];
this.shijianLabel = `上报事件(0)`;
return;
}
let parm = {
residList: this.resiId,
pageNo: this.pageNo,
pageSize: this.pageSize
}
pageSize: this.pageSize,
};
const statusArr = {
processing: "处理中",
closed_case: "已办结",
};
const marktypes = ["普通事件", "难点读点", "矛盾纠纷", "自身问题"];
this.$http.post("/actual/base/peopleRoomOverview/eventPageList", parm).then(({ data: res }) => {
this.$http
.post("/actual/base/peopleRoomOverview/eventPageList", parm)
.then(({ data: res }) => {
this.shijianList = res.data.list.map((item) => {
return {
...item,
@ -273,50 +318,54 @@ export default {
};
});
this.shijianTotal = this.shijianList.length;
this.shijianLabel = `上报事件(${this.shijianTotal}`
this.shijianLabel = `上报事件(${this.shijianTotal}`;
});
},
getxuqiuList() {
if (this.resiId.length == 0) {
this.xuqiuList = []
this.xuqiuLabel = `居民需求(0)`
return
this.xuqiuList = [];
this.xuqiuLabel = `居民需求(0)`;
return;
}
let parm = {
residList: this.resiId,
pageNo: this.pageNo,
pageSize: this.pageSize
}
pageSize: this.pageSize,
};
//
this.$http.post("/actual/base/peopleRoomOverview/demandOfResidentsPageList", parm).then(({ data: res }) => {
this.$http
.post("/actual/base/peopleRoomOverview/demandOfResidentsPageList", parm)
.then(({ data: res }) => {
this.xuqiuList = res.data.map((item) => {
return {
...item,
};
});
this.xuqiuTotal = this.xuqiuList.length;
this.xuqiuLabel = `居民需求(${this.xuqiuTotal}`
this.xuqiuLabel = `居民需求(${this.xuqiuTotal}`;
});
},
getfuwuList() {
if (this.resiId.length == 0) {
this.fuwuList = []
this.fuwuLabel = `社区服务(0)`
return
this.fuwuList = [];
this.fuwuLabel = `社区服务(0)`;
return;
}
let parm = {
residList: this.resiId,
pageNo: this.pageNo,
pageSize: this.pageSize
}
this.$http.post("/actual/base/peopleRoomOverview/communityServicePageList", parm).then(({ data: res }) => {
pageSize: this.pageSize,
};
this.$http
.post("/actual/base/peopleRoomOverview/communityServicePageList", parm)
.then(({ data: res }) => {
this.fuwuList = res.data.map((item) => {
return {
...item,
};
});
this.fuwuTotal = this.fuwuList.length;
this.fuwuLabel = `社区服务(${this.fuwuTotal}`
this.fuwuLabel = `社区服务(${this.fuwuTotal}`;
});
},
},
@ -326,7 +375,7 @@ export default {
computed: {},
//
watch: {},
}
};
</script>
<style lang="less" scoped></style>

28
src/views/modules/portrayal/loudong/cpts/buildingTable.vue

@ -1,28 +0,0 @@
<template>
<div class=''>
</div>
</template>
<script>
export default {
//
data() {
return {};
},
//
created() { },
//
methods: {},
//
components: {},
//
computed: {},
//
watch: {},
}
</script>
<style lang="scss" scoped>
</style>

28
src/views/modules/portrayal/loudong/cpts/house.vue

@ -1,28 +0,0 @@
<template>
<div class=''>
</div>
</template>
<script>
export default {
//
data() {
return {};
},
//
created() { },
//
methods: {},
//
components: {},
//
computed: {},
//
watch: {},
}
</script>
<style lang="scss" scoped>
</style>

28
src/views/modules/portrayal/loudong/cpts/unit.vue

@ -1,28 +0,0 @@
<template>
<div class=''>
</div>
</template>
<script>
export default {
//
data() {
return {};
},
//
created() { },
//
methods: {},
//
components: {},
//
computed: {},
//
watch: {},
}
</script>
<style lang="scss" scoped>
</style>

2
src/views/modules/satisfaction/communitySelfInsp/index.vue

@ -344,7 +344,7 @@ export default {
this.option.series[2].data.push(item.badQty)
this.option.xAxis.data.push(item.satisfactionCategoryName)
this.satisfactionCategory.push(item.satisfactionCategory)
this.score.push({ score: item.score, satisfactionCategoryName: item.satisfactionCategoryName, imgUrl: require(`../../../../assets/img/satisfaction/${item.satisfactionCategory}.png`) });
this.score.push({ score: item.score, satisfactionCategoryName: item.satisfactionCategoryName, imgUrl: require(`@/assets/img/satisfaction/${item.satisfactionCategory}.png`) });
}
});
this.myChart.setOption(this.option);

9
src/views/modules/satisfaction/satisfactionProvince/formList.vue

@ -96,11 +96,9 @@ export default {
//
created() { },
async mounted() {
if (this.satisfactionCategoryStr) {
this.formData.scopeId = this.satisfactionCategoryStr
this.formData.scopeId = this.formObj.scopeId
this.formData.periodStart = this.formObj.periodStart
this.formData.orgCategoryCode = this.formObj.orgCategoryCode
}
await this.loadAgency();
await this.getDicts()
await this.getTableData()
@ -215,10 +213,7 @@ export default {
//
computed: {},
props: {
satisfactionCategoryStr: {
type: String,
default: ''
},
formObj: {
type: Object,
default: () => {}

2
src/views/modules/shequzhili/event/cpts/event-info.vue

@ -388,7 +388,7 @@ export default {
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
}
} else if (this.formData.operationType === '5') {
this.replayInfo = this.$refs.ref_process_form_designate.replayInfo;
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;

4
src/views/modules/shequzhili/event/eventList.vue

@ -309,10 +309,6 @@ export default {
{
value: "3",
label: "12345",
},
{
value: "5",
label: "北尚诉办",
}
],

180
src/views/modules/shequzhili/eventOld/cpts/add.vue

@ -103,71 +103,36 @@
</el-form>
</div>
<div class="g-right">
<el-form ref="ref_form2"
:inline="true"
:model="formData"
:rules="dataRule"
class="form">
<el-form-item label="图片"
label-width="150px"
style="display: block">
<el-upload :headers="$getElUploadHeaders()"
:class="['avatar-uploader', { hide: hideUploadBtn }]"
ref="uploadPic"
:action="uploadUlr"
:disabled="uploadStatus"
list-type="picture-card"
:on-exceed="exceedPic"
:on-remove="removePic"
:file-list="replayImgList"
:on-change="handleEditChange"
:on-success="handleSuccess"
:before-upload="handleBefore"
<el-form ref="ref_form2" :inline="true" :model="formData" :rules="dataRule" class="form">
<el-form-item label="图片" label-width="150px" style="display: block">
<el-upload :headers="$getElUploadHeaders()" :class="['avatar-uploader', { hide: hideUploadBtn }]"
ref="uploadPic" :action="uploadUlr" :disabled="uploadStatus" list-type="picture-card"
:on-exceed="exceedPic" :on-remove="removePic" :file-list="replayImgList"
:on-change="handleEditChange" :on-success="handleSuccess" :before-upload="handleBefore"
:limit="3">
<span class="font-14">选择图片</span>
<div slot="tip"
class="upload_tip">
<div slot="tip" class="upload_tip">
最多上传3张图片图片支持jpgjpegbmpgit或png格式
</div>
</el-upload>
</el-form-item>
<el-form-item label="地图位置"
prop="longitude"
label-width="150px"
style="display: block">
<el-form-item label="地图位置" prop="longitude" label-width="150px" style="display: block">
<div style="width: 500px">
<el-form-item prop="location" style="display: block">
<el-select
v-model="formData.location"
filterable
remote
:reserve-keyword="true"
placeholder="请输入关键词"
:remote-method="remoteMethod"
:loading="loading"
@keyup.enter.native="remoteMethod(formData.location)"
>
<el-option
v-for="(item, index) in searchOptions"
@click.native="handleClickKey(index)"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
<el-select v-model="formData.location" filterable remote :reserve-keyword="true"
placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading"
@keyup.enter.native="remoteMethod(formData.location)">
<el-option v-for="(item, index) in searchOptions" @click.native="handleClickKey(index)"
:key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<div id="app_event"
class="div_map"></div>
<div id="app_event" class="div_map"></div>
</div>
</el-form-item>
<el-form-item label="详细地址"
prop="address"
label-width="150px"
style="display: block">
<el-input class="cell-width-1"
v-model="formData.address">
<el-form-item label="详细地址" prop="address" label-width="150px" style="display: block">
<el-input class="cell-width-1" v-model="formData.address">
</el-input>
</el-form-item>
</el-form>
@ -175,57 +140,31 @@
</div>
<!-- 新增弹出框 -->
<el-dialog :visible.sync="personTableShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:destroy-on-close="true"
title="选择居民"
width="550px"
top="5vh"
class="dialog-h"
@closed="diaClose">
<!-- <el-dialog :visible.sync="personTableShow" :close-on-click-modal="false" :close-on-press-escape="false"
:destroy-on-close="true" title="选择居民" width="550px" top="5vh" class="dialog-h" @closed="diaClose">
<div style="padding: 10px 30px">
<el-form :inline="false"
ref="ref_formSearch"
:label-width="'90px'">
<el-form-item label="所属网格"
label-width="150px">
<el-select class="cell-width-1"
v-model.trim="selGridId"
placeholder="请选择"
clearable>
<el-option v-for="item in gridList"
@click.native="handleChangeGrid"
:key=`abc-${value}`
:label="item.label"
:value="item.value">
<el-form :inline="false" ref="ref_formSearch" :label-width="'90px'">
<el-form-item label="所属网格" label-width="150px">
<el-select class="cell-width-1" v-model.trim="selGridId" placeholder="请选择" clearable>
<el-option v-for="item in gridList" @click.native="handleChangeGrid" :key="`abc-${value}`"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="居民"
label-width="150px"
prop="selPersonIndex">
<el-select v-model="selPersonIndex"
class="cell-width-1"
filterable
placeholder="请选择"
clearable>
<el-option v-for="(item, index) in demandUserList"
:key="item.demandUserId"
:label="item.label"
<el-form-item label="居民" label-width="150px" prop="selPersonIndex">
<el-select v-model="selPersonIndex" class="cell-width-1" filterable placeholder="请选择" clearable>
<el-option v-for="(item, index) in demandUserList" :key="item.demandUserId" :label="item.label"
:value="index">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div class="div-btn">
<el-button style="margin-left: 20px"
type="primary"
size="small"
<el-button style="margin-left: 20px" type="primary" size="small"
@click="handleComfirmSelPerson">确定</el-button>
</div>
</div>
</el-dialog>
</el-dialog> -->
</div>
</template>
@ -244,11 +183,10 @@
function iniFmData() {
return {
gridId: "", //
reportUserId: "", // ID
name: "", //
mobile: "", //
name: "cc", //
mobile: "17637255555", //
idCard: "", //
sourceType: "", //
happenTime: "", //
@ -258,7 +196,7 @@
address: "", //
latitude: "", //
longitude: "", //
// operationType: '',//
// operationType: '0',//
// content: '',//
// status: '',// processingclosed_case
};
@ -272,10 +210,8 @@
searchValue: '',
resultList: [],
loading: false,
btnDisable: false,
gridList: [], //list--
qudaoArray: [
{
value: "1",
@ -327,17 +263,6 @@
components: {},
computed: {
dataRule() {
let checkIdCard = (rule, value, callback) => {
if (value === "") {
callback(new Error("请输入证件号"));
} else {
if (!isCard(value)) {
callback(new Error("证件号格式不正确"));
}
callback();
}
};
return {
gridId: [
{ required: true, message: "所属网格不能为空", trigger: "blur" },
@ -388,20 +313,14 @@
async mounted() {
const { user } = this.$store.state;
this.agencyId = user.agencyId;
let { latitude, longitude } = this.$store.state.user;
if (!latitude || latitude == "" || latitude == "0") {
latitude = 39.9088810666821;
longitude = 116.39743841556731;
}
this.formData.latitude = latitude;
this.formData.longitude = longitude;
this.initMap(this.formData.latitude, this.formData.longitude);
this.loadGrid();
this.getCategoryList();
},
@ -453,14 +372,11 @@
async loadGrid() {
const url = "/gov/org/customergrid/gridoption";
let params = {
agencyId: this.agencyId,
purpose: "addorupdate",
purpose: "query",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.gridList = data;
} else {
@ -468,20 +384,16 @@
}
},
async getCategoryList() {
const url = "/governance/issueprojectcategorydict/list";
const url = "/governance/icEvent/getCategoryTree";
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
let treeDataNew = this.filterTree(data);
let treeDataNew = this.deepTree(data, "children");
// this.categrayList = data
//
++this.iscascaderShow;
this.casOptions = [];
this.selCategoryArray = [];
this.casOptions = treeDataNew;
} else {
this.$message.error(msg);
@ -489,18 +401,19 @@
},
//
filterTree (arr) {
let childs = arr;
for (let i = childs.length; i--; i > 0) {
if (childs[i].subCategory) {
if (childs[i].subCategory.length) {
this.filterTree(childs[i].subCategory);
} else {
delete childs[i].subCategory;
}
}
deepTree(arr, children) {
if (Array.isArray(arr) && arr.length > 0) {
return arr.map((item) => {
return {
...item,
[children]:
(item[children] &&
item[children].length > 0 &&
this.deepTree(item[children], children)) ||
null,
};
});
}
return arr;
},
handleChangeAgency(value) {
@ -702,4 +615,3 @@
}
}
</style>

2
src/views/modules/shequzhili/eventOld/cpts/event-detail.vue

@ -446,7 +446,7 @@ export default {
satisfyLevel = "perfect";
}
}
const url = "/governance/icEvent/comment";
const url = "/governance/icEventOld/comment";
let params = {
icEventId: this.eventId,

128
src/views/modules/shequzhili/eventOld/cpts/event-info.vue

@ -2,7 +2,15 @@
<div class="">
<div v-if="pageTypeCopy == 'add'">
<el-card>
<h3 class="h3-title"><img src="../../../../../assets/images/index/title-icon-zntb.png" width="30px" height="30px" alt=""> 新增事件</h3>
<h3 class="h3-title">
<img
src="../../../../../assets/images/index/title-icon-zntb.png"
width="30px"
height="30px"
alt=""
/>
新增事件
</h3>
<event-add
ref="ref_add"
@changeName="changeName"
@ -14,7 +22,15 @@
<div class="process-form">
<el-card>
<h3 class="h3-title"><img src="../../../../../assets/images/index/title-icon-chuli.png" width="30px" height="30px" alt=""> 处理</h3>
<h3 class="h3-title">
<img
src="../../../../../assets/images/index/title-icon-chuli.png"
width="30px"
height="30px"
alt=""
/>
处理
</h3>
<process-form
ref="ref_processinfo_add"
:demandUserId="demandUserId"
@ -53,7 +69,15 @@
查看详情</el-button
>
</div>
<div :class="['g-total', { 'g-left': projectProcess.length > 0,'g-left-top40':pageType =='info' }]">
<div
:class="[
'g-total',
{
'g-left': projectProcess.length > 0,
'g-left-top40': pageType == 'info',
},
]"
>
<event-detail
ref="ref_detail"
:type="pageType"
@ -77,7 +101,13 @@
{ 'process-title-vis': source === 'visiual' },
]"
>
<img src="../../../../../assets/images/index/title-icon-chuli.png" width="30px" height="30px" alt=""> 处理
<img
src="../../../../../assets/images/index/title-icon-chuli.png"
width="30px"
height="30px"
alt=""
/>
处理
</div>
<process-form
ref="ref_processinfo_dispose"
@ -100,7 +130,10 @@
</div>
</div>
<div v-if="projectProcess.length > 0" :class="['g-right',pageType == 'info'?'g-right-top40':'']">
<div
v-if="projectProcess.length > 0"
:class="['g-right', pageType == 'info' ? 'g-right-top40' : '']"
>
<el-card
:class="{ 'box-card': source === 'visiual' }"
style="min-height: calc(88vh - 50px); overflow: auto"
@ -414,7 +447,7 @@ export default {
//
async getProjectProcess() {
const url = "/governance/icEvent/process";
const url = "/governance/icEventOld/process";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/process";
const { data, code, msg } = await requestPost(url, {
@ -463,68 +496,46 @@ export default {
} else {
return false;
}
console.log("eventInfo", this.eventInfoData);
this.$refs.ref_processinfo_add.getProcessInfo();
// if (this.$refs.ref_processinfo_add.okflag) {
// this.formData.operationType =
// this.$refs.ref_processinfo_add.operationType;
// this.eventInfoData.operationType =
// this.$refs.ref_processinfo_add.operationType;
this.$refs.ref_processinfo_add.getProcessInfo();
this.formData.operationType =
this.$refs.ref_processinfo_add.operationType;
this.eventInfoData.operationType =
this.$refs.ref_processinfo_add.operationType;
if (this.formData.operationType === "0") {
this.project = {};
this.demand = {};
if (
this.formData.operationType === "0" ||
this.formData.operationType === "2" ||
this.formData.operationType === "6"
) {
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
console.log("replayInfo", this.replayInfo);
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
}
} else if (this.formData.operationType === "1") {
this.replayInfo = {};
this.demand = {};
this.project = this.$refs.ref_processinfo_add.project;
//
this.project.gridId = this.eventInfoData.gridId;
if (this.project.categoryList && this.project.categoryList.length > 0) {
} else if (this.formData.operationType === "5") {
this.replayInfo = this.$refs.ref_processinfo_add.replayInfo;
//
this.eventInfoData.content = this.replayInfo.content;
this.eventInfoData.status = this.replayInfo.status;
this.eventInfoData.timeLimit = this.replayInfo.timeLimit;
if (this.replayInfo.categoryId) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(this.project.categoryList[0].id);
this.eventInfoData.categoryList.push(this.replayInfo.categoryId);
}
console.log("projectInfo", this.project);
} else if (this.formData.operationType === "2") {
this.replayInfo = {};
this.project = {};
this.demand = this.$refs.ref_processinfo_add.demand;
this.demand.gridId = this.eventInfoData.gridId;
//
// this.eventInfoData.categoryList = []
// this.eventInfoData.categoryList.push(this.demand.categoryId)
console.log("demond", this.demand);
} else if (this.formData.operationType === "3") {
this.project = {};
this.demand = {};
} else if (this.formData.operationType === "4") {
this.replayInfo = {};
this.issueInfo = this.$refs.ref_processinfo_add.issueInfo;
if (
this.issueInfo.categoryList &&
this.issueInfo.categoryList.length > 0
) {
this.eventInfoData.categoryList = [];
this.eventInfoData.categoryList.push(
this.issueInfo.categoryList[0].id
);
}
console.log("issueInfo", this.issueInfo);
}
// }
@ -542,14 +553,15 @@ export default {
},
async submit() {
// (this.formData.operationType == 2 && this.demand.demandUserName) ||(this.formData.operationType == 3 && this.issueInfo.issueTitle) || (this.formData.operationType == 1 && this.project.categoryList) ||(this.formData.operationType == 0 && this.eventInfoData.content) ||
if (
(this.formData.operationType == 3 && this.issueInfo.issueTitle) ||
(this.formData.operationType == 2 && this.demand.demandUserName) ||
(this.formData.operationType == 1 && this.project.categoryList) ||
(this.formData.operationType == 0 && this.eventInfoData.content) ||
this.formData.operationType == 4
this.formData.operationType == "4" ||
this.formData.operationType == "5" ||
this.formData.operationType == "6" ||
this.formData.operationType == "0" ||
this.formData.operationType == "2"
) {
const url = "/governance/icEvent/add";
const url = "/governance/icEventOld/add";
const { formData } = this;
const { data, code, msg } = await requestPost(url, {
...formData,
@ -582,7 +594,7 @@ export default {
this.replayInfo.icEventId = this.eventId;
console.log("replayInfo", this.replayInfo);
//
let url = "/governance/icEvent/reply";
let url = "/governance/icEventOld/reply";
await this.submitDispose(url, this.replayInfo);
} else if (this.formData.operationType === "1") {
this.replayInfo = {};
@ -591,7 +603,7 @@ export default {
//
this.project.icEventId = this.eventId;
console.log("projectInfo", this.project);
let url = "/governance/icEvent/icEventToProject";
let url = "/governance/icEventOld/icEventToProject";
await this.submitDispose(url, this.project);
} else if (this.formData.operationType === "2") {
this.replayInfo = {};
@ -600,7 +612,7 @@ export default {
//
this.demand.icEventId = this.eventId;
console.log("demond", this.demand);
let url = "/governance/icEvent/icEventToDemand";
let url = "/governance/icEventOld/icEventToDemand";
await this.submitDispose(url, this.demand);
} else if (this.formData.operationType === "3") {
this.replayInfo = {};
@ -610,7 +622,7 @@ export default {
//
console.log("issueInfo", this.issueInfo);
let url = "/governance/icEvent/icEventToIssue";
let url = "/governance/icEventOld/icEventToIssue";
await this.submitDispose(url, this.issueInfo);
} else {
this.$message.info("请选择一种处理方式");

157
src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue

@ -13,7 +13,7 @@
prop="categoryList">
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-cascader class="cell-width-2" ref="myCascader" v-model="selCategoryArray" :key="iscascaderShow"
:options="casOptions" :props="optionProps" :show-all-levels="false"
:options="casOptions" :props="optionProps" :show-all-levels="false" clearable
@change="handleChangeCate"></el-cascader>
</div>
</el-form-item>
@ -28,6 +28,15 @@
placeholder="请输入转办意见,不超过500字" v-model="formData.content"></el-input>
</div>
</el-form-item>
<el-form-item style="display: block" label="附件" label-width="150px" prop="attach">
<el-upload :headers="$getElUploadHeaders()" class="upload-demo" :action="uploadUlr"
accept=".doc,.pdf,.xls,.docx,.xlsx,.jpg,.png,.jpeg,.bmp,.mp4,.wma,.m4a,.mp3"
:on-success="handleFileSuccess" :on-remove="handleFileRemove" :on-preview="handleFileDownload"
:limit="3" :before-upload="beforeUpload" :file-list="fileList">
<el-button size="small" :disabled="fileList.length === 3" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持图片wordpdf</div>
</el-upload>
</el-form-item>
<el-form-item label="办结时限" prop="timeLimit" label-width="150px" :class="{ 'form-item': source === 'visiual' }"
style="display: block">
<div :class="{ 'visiual-form': source === 'visiual' }">
@ -55,7 +64,8 @@ export default {
categoryId: "",//
deptId: "", //
deptName: "",
categoryList: []
categoryList: [],
files: [] //
},
orgOptions: [],
orgOptionProps: {
@ -71,12 +81,15 @@ export default {
eventDetailCopy: {},
selCategoryArray: [],
casOptions: [],
fileList: [],
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadvariedfile",
iscascaderShow: 0,
optionProps: {
multiple: false,
value: "id",
label: "name",
children: "subCategory",
label: "categoryName",
children: "children",
checkStrictly: true
},
dataRule: {
content: [
@ -90,6 +103,9 @@ export default {
],
timeLimit: [
{ required: true, message: "办结时限不能为空", trigger: "blur" },
],
categoryList: [
{ required: true, message: '事件分类不能为空', trigger: 'blur' },
]
},
selCateObj: {
@ -126,12 +142,11 @@ export default {
this.getCategoryList();
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
console.log(this.eventDetailCopy);
// eventDetailCopy
if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) {
this.selCateObj.id = this.eventDetailCopy.categoryId
this.formData.categoryId = this.eventDetailCopy.categoryId
this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId, this.eventDetailCopy.categoryId)
this.selCategoryArray = this.eventDetailCopy.parentCategoryId.split(",");
this.selCategoryArray.push(this.eventDetailCopy.categoryId);
this.handleChangeCate(this.selCategoryArray)
}
}
},
@ -152,18 +167,40 @@ export default {
}
},
async getCategoryList() {
const url = "/governance/issueprojectcategorydict/list";
const url = '/governance/icEvent/getCategoryTree';
let params = {};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
let treeDataNew = this.filterTree(data);
//
let treeDataNew = this.deepTree(data, "children");
++this.iscascaderShow;
this.casOptions = [];
this.casOptions = treeDataNew;
} else {
this.$message.error(msg);
}
if (this.eventDetailCopy.parentCategoryId) {
const pids = this.eventDetailCopy.parentCategoryId.split(',');
pids.push(this.eventDetailCopy.categoryId);
let nodes = this.casOptions;
for (let i = 0; i < pids.length; i++) {
nodes = this.buildNode(nodes, pids[i])
}
if (nodes) {
this.formData.categoryList.push(nodes)
this.selCateObj = nodes
}
}
},
buildNode(nodes, treeId) {
for (let i = 0; i < nodes.length; i++) {
if (nodes[i].id === treeId) {
if (nodes[i].children) {
return nodes[i].children
} else {
return nodes[i]
}
}
}
},
handleChangeAgency(val) {
let obj = this.$refs["agencyIdArray"].getCheckedNodes()[0].data
@ -171,7 +208,6 @@ export default {
this.formData.orgType = obj.level === 'grid' ? 'grid' : 'agency'
this.formData.deptId = obj.agencyId
this.formData.deptName = obj.agencyName
} else {
this.form.orgType = ''
this.form.orgId = ''
@ -180,25 +216,26 @@ export default {
handleChangeCate() {
if (this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0]) {
this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0].data
this.formData.categoryList = this.selCateObj
this.formData.categoryId = this.selCateObj.id
console.log(this.formData.categoryId,'this.formData.categoryId');
} else {
this.selCateObj = {}
}
},
//
filterTree(arr) {
let childs = arr;
for (let i = childs.length; i--; i > 0) {
if (childs[i].subCategory) {
if (childs[i].subCategory.length) {
this.filterTree(childs[i].subCategory);
} else {
delete childs[i].subCategory;
}
}
deepTree(arr, children) {
if (Array.isArray(arr) && arr.length > 0) {
return arr.map((item) => {
return {
...item,
[children]:
(item[children] &&
item[children].length > 0 &&
this.deepTree(item[children], children)) ||
null,
};
});
}
return arr;
},
async getReplayInfo() {
this.okflag = false;
@ -206,11 +243,13 @@ export default {
if (!valid) {
app.util.validateRule(messageObj);
} else {
console.log(this.selCateObj);
if (!this.selCateObj || !this.selCateObj.id) {
this.$message.error("请选择事件分类");
return false;
}
if (this.fileList) {
this.formData.files = this.fileList
}
this.formData.status = "processing";
this.formData.categoryId = this.selCateObj.id;
this.formData.categoryList = [];
@ -222,6 +261,74 @@ export default {
resetData() {
this.agencyIdArray = []
},
beforeUpload(file) {
const array = file.name.split(".");
const extension = array[array.length - 1];
const formatarray = [
"jpg",
"png",
"jpeg",
"bmp",
"mp4",
"wma",
"m4a",
"mp3",
"doc",
"docx",
"xls",
"xlsx",
"pdf",
];
if (formatarray.indexOf(extension) === -1) {
this.$message.error("只支持图片、word、pdf");
return false;
}
},
handleFileRemove(file) {
if (file && file.status === "success") {
this.fileList.splice(
this.fileList.findIndex((item) => item.uid === file.uid),
1
);
}
},
handleFileSuccess(res, file) {
if (res.code === 0 && res.msg === "success") {
const array = file.name.split(".");
const fileType = array[array.length - 1];
const picArray = ["jpg", "png", "jpeg", "bmp"];
const videoarray = ["mp4", "wma", "m4a"];
const docArray = ["doc", "docx", "xls", "xlsx", "pdf"];
const mp3Array = ["mp3"];
if (picArray.indexOf(fileType) > -1) {
file.attachmentFormat = "image";
} else if (videoarray.indexOf(fileType) > -1) {
file.attachmentFormat = "video";
} else if (docArray.indexOf(fileType) > -1) {
file.attachmentFormat = "doc";
} else if (mp3Array.indexOf(fileType) > -1) {
file.attachmentFormat = "voice";
}
file.url = res.data.url;
file.type = fileType;
file.attachmentName = file.name;
file.attachmentType = file.type;
file.attachmentUrl = file.url;
this.fileList.push(file);
} else this.$message.error(res.msg);
},
//
handleFileDownload(file) {
var a = document.createElement("a");
var event = new MouseEvent("click");
a.download = file.name;
a.href = file.url;
a.dispatchEvent(event);
},
//
startLoading() {
loading = Loading.service({

37
src/views/modules/shequzhili/eventOld/cpts/process-form-replay-end.vue

@ -1,8 +1,8 @@
<!--
* @Author: yanLu xgktv007@163.com
* @Date: 2023-09-05 10:21:34
* @LastEditors: yanLu xgktv007@163.com
* @LastEditTime: 2023-09-05 10:21:34
* @LastEditors: mk 2403457699@qq.com
* @LastEditTime: 2023-11-02 18:42:22
* @Description: 事件回复
*
*
@ -14,7 +14,7 @@
prop="categoryList">
<div :class="{ 'visiual-form': source === 'visiual' }">
<el-cascader class="cell-width-2" ref="myCascader" v-model="selCategoryArray" :key="iscascaderShow"
:options="casOptions" :props="optionProps" :show-all-levels="false"
:options="casOptions" :props="optionProps" :show-all-levels="false" clearable
@change="handleChangeCate"></el-cascader>
</div>
</el-form-item>
@ -67,13 +67,14 @@ export default {
value: "id",
label: "categoryName",
children: "children",
checkStrictly: true
},
dataRule: {
content: [
{ required: true, message: '回复内容不能为空', trigger: 'blur' },
],
categoryList: [
// { required: true, message: '', trigger: 'blur' },
{ required: true, message: '事件分类不能为空', trigger: 'blur' },
]
}
};
@ -107,8 +108,9 @@ export default {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
// eventDetailCopy
if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) {
this.formData.categoryId = this.eventDetailCopy.categoryId
this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId, this.eventDetailCopy.categoryId)
this.selCategoryArray = this.eventDetailCopy.parentCategoryId.split(",");
this.selCategoryArray.push(this.eventDetailCopy.categoryId);
this.handleChangeCate(this.selCategoryArray)
}
}
},
@ -127,10 +129,33 @@ export default {
} else {
this.$message.error(msg);
}
if (this.eventDetailCopy.parentCategoryId) {
const pids = this.eventDetailCopy.parentCategoryId.split(',');
pids.push(this.eventDetailCopy.categoryId);
let nodes = this.casOptions;
for (let i = 0; i < pids.length; i++) {
nodes = this.buildNode(nodes, pids[i])
}
if (nodes) {
this.formData.categoryList.push(nodes)
}
}
},
buildNode(nodes, treeId) {
for (let i = 0; i < nodes.length; i++) {
if (nodes[i].id === treeId) {
if (nodes[i].children) {
return nodes[i].children
} else {
return nodes[i]
}
}
}
},
handleChangeCate() {
if (this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0]) {
this.selCateObj = this.$refs['myCascader'].getCheckedNodes()[0].data
this.formData.categoryList = this.selCateObj
} else {
this.selCateObj = {}
}

199
src/views/modules/shequzhili/eventOld/cpts/process-form.vue

@ -1,67 +1,81 @@
<template>
<div class="">
<div>
<el-form ref="ref_form1"
:inline="false"
:rules="dataRule"
class="form">
<el-form-item label="处理方式"
<el-form ref="ref_form1" :inline="false" :rules="dataRule" class="form">
<el-form-item
label="处理方式"
label-width="150px"
:class="{ 'form-item': source === 'visiual' }"
prop="operationType">
<el-radio-group :class="{'form-item':source==='visiual'}"
prop="operationType"
>
<el-radio-group
:class="{ 'form-item': source === 'visiual' }"
v-model="operationType"
@change="handleChangeOperationType">
<el-radio v-if="!eventId"
label="4">暂不处理</el-radio>
@change="handleChangeOperationType"
>
<el-radio v-if="!eventId" label="4">暂不处理</el-radio>
<el-radio label="0">回复</el-radio>
<el-radio label="1">立项</el-radio>
<el-radio label="5">指派</el-radio>
<el-radio label="6">完成并回复</el-radio>
<!-- <el-radio label="1">立项</el-radio> -->
<el-radio label="2">转服务</el-radio>
<el-radio label="3">转议题</el-radio>
<!-- <el-radio label="3">转议题</el-radio> -->
</el-radio-group>
</el-form-item>
</el-form>
<div v-if="operationType === '0'">
<process-form-replay ref="ref_process_form_replay"
<process-form-replay
ref="ref_process_form_replay"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"></process-form-replay>
:eventId="eventId"
></process-form-replay>
</div>
<div v-if="operationType==='1'">
<div v-if="operationType === '5'">
<process-form-designate
ref="ref_process_form_designate"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"
></process-form-designate>
</div>
<div v-if="operationType === '6'">
<process-form-replay-end
ref="ref_process_form_replay_end"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"
></process-form-replay-end>
</div>
<!-- <div v-if="operationType==='1'">
<process-form-project ref="ref_process_form_project"
:source="source"
:eventDetailData="eventDetailData"
:gridId="gridId"
:eventId="eventId"></process-form-project>
</div>
</div> -->
<div v-if="operationType === '2'">
<process-form-demand ref="ref_process_form_demond"
<process-form-demand
ref="ref_process_form_demond"
:source="source"
:eventId="eventId"
:transferObj="transferObj"
:demandUserId="demandUserId"
:demandUserName="demandUserName"
:demandUserMobile="demandUserMobile"
:eventDetailData="eventDetailData"></process-form-demand>
:eventDetailData="eventDetailData"
></process-form-demand>
</div>
<div v-if="operationType==='3'">
<!-- <div v-if="operationType==='3'">
<process-form-issue ref="ref_process_form_issue"
:source="source"
:eventDetailData="eventDetailData"
:eventId="eventId"></process-form-issue>
</div> -->
</div>
</div>
</div>
</template>
@ -72,27 +86,26 @@ import processFormReplay from "./process-form-replay";
import processFormProject from "./process-form-project";
import processFormDemand from "./process-form-demand";
import processFormIssue from "./process-form-issue";
import processFormReplayEnd from "./process-form-replay-end";
import processFormDesignate from "./process-form-designate";
let loading; //
export default {
data() {
return {
casOptions: [],
iscascaderShow: 0,
selCategoryArray: [],
selCateObj: {},
optionProps: {
multiple: false,
value: 'id',
label: 'name',
children: 'subCategory',
value: "id",
label: "name",
children: "subCategory",
},
operationType: '',
operationType: "",
replayInfo: {},
demand: {},
@ -103,28 +116,26 @@ export default {
eventDetailCopy: {},
transferObj: {
latitude: "",
longitude :""
}
longitude: "",
},
};
},
components: {
processFormReplay,
processFormProject,
processFormDemand,
processFormIssue
processFormIssue,
processFormReplayEnd,
processFormDesignate,
},
computed: {
dataRule() {
return {
operationType: [
{ required: true, message: "处理方式不能为空", trigger: "blur" },
],
};
},
},
props: {
demandUserId: {
@ -150,104 +161,86 @@ export default {
eventDetailData: {
type: Object,
default() {
return {}
}
return {};
},
source: {//manage visiual
},
source: {
//manage visiual
type: String,
default: 'manage'
}
default: "manage",
},
watch: {
},
created () {
console.log(this.source)
watch: {},
created() {
console.log(this.source);
},
async mounted() {
const { user } = this.$store.state
this.agencyId = user.agencyId
const { user } = this.$store.state;
this.agencyId = user.agencyId;
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
}
if (this.eventDetailData.operationType) {
this.operationType = this.eventDetailCopy.operationType
this.operationType = this.eventDetailCopy.operationType;
// this.getProcessInfo()
}
this.$EventBus.$on('map',(val)=>{
this.transferObj.latitude = val.lat
this.transferObj.longitude = val.lng
})
this.$EventBus.$on("map", (val) => {
this.transferObj.latitude = val.lat;
this.transferObj.longitude = val.lng;
});
},
methods: {
handleChangeOperationType(val) {
this.operationType = val;
},
async getProcessInfo() {
this.okflag = false
if (this.operationType === '0') {
this.$refs.ref_process_form_replay.getReplayInfo()
this.okflag = false;
if (this.operationType === "0") {
this.$refs.ref_process_form_replay.getReplayInfo();
if (this.$refs.ref_process_form_replay.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay.formData
this.okflag = true
this.replayInfo = this.$refs.ref_process_form_replay.formData;
this.okflag = true;
} else {
return false
return false;
}
} else if (this.operationType === '1') {
this.$refs.ref_process_form_project.getProjectInfo()
if (this.$refs.ref_process_form_project.okflag) {
this.project = this.$refs.ref_process_form_project.formData
//
this.okflag = true
} else {
return false
}
} else if (this.operationType === '2') {
this.$refs.ref_process_form_demond.getDemandInfo()
} else if (this.operationType === "2") {
this.$refs.ref_process_form_demond.getDemandInfo();
if (this.$refs.ref_process_form_demond.okflag) {
this.demand = this.$refs.ref_process_form_demond.formData
this.okflag = true
this.demand = this.$refs.ref_process_form_demond.formData;
this.okflag = true;
} else {
return false
return false;
}
} else if (this.operationType === '3') {
this.$refs.ref_process_form_issue.getIssueInfo()
if (this.$refs.ref_process_form_issue.okflag) {
this.issueInfo = this.$refs.ref_process_form_issue.formData
this.okflag = true
} else {
return false
} else if (this.operationType === "5") {
this.$refs.ref_process_form_designate.getReplayInfo();
this.replayInfo = this.$refs.ref_process_form_designate.formData;
if (this.$refs.ref_process_form_designate.okflag) {
this.replayInfo = this.$refs.ref_process_form_designate.formData;
this.okflag = true;
}
} else if (this.operationType === "6") {
this.$refs.ref_process_form_replay_end.getReplayInfo();
this.replayInfo = this.$refs.ref_process_form_replay_end.formData;
if (this.$refs.ref_process_form_replay_end.okflag) {
this.replayInfo = this.$refs.ref_process_form_replay_end.formData;
this.okflag = true;
}
} else if (this.formData.operationType === "4") {
this.replayInfo = {};
}
},
handleCancle() {
this.resetData();
},
resetData () {
},
resetData() {},
//
startLoading() {
loading = Loading.service({

8
src/views/modules/shequzhili/eventOld/eventList.vue

@ -573,10 +573,10 @@ export default {
value: "2",
label: "社区电话",
},
{
value: "3",
label: "12345",
},
// {
// value: "3",
// label: "12345",
// },
{
value: "4",
label: "网络员手持终端",

Loading…
Cancel
Save