Browse Source

Merge branch 'jw_feature_dev' into jw_feature_zhangruochen

feature
张若晨 2 years ago
parent
commit
0bf960123a
  1. 1
      .env.development
  2. 16
      src/assets/scss/dataBoard/overview/index.scss
  3. 2
      src/assets/scss/dataBoard/renfang/index.scss
  4. 16
      src/views/components/resiForm.vue
  5. 19
      src/views/components/resiSearch.vue
  6. 66
      src/views/dataBoard/cpts/homeDetails/index.vue
  7. 4
      src/views/dataBoard/organizational/microgrid/components/popDetails.vue
  8. 2
      src/views/dataBoard/organizational/microgrid/components/reportAnEvent.vue
  9. 12
      src/views/dataBoard/organizational/microgrid/index.vue
  10. 94
      src/views/dataBoard/overview/components/jdwgy.vue
  11. 49
      src/views/dataBoard/overview/components/sq12345.vue
  12. 49
      src/views/dataBoard/overview/components/sqrfph.vue
  13. 136
      src/views/dataBoard/satisfactionEval/dissatisfiedPersonnel/index.vue
  14. 87
      src/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue
  15. 178
      src/views/dataBoard/satisfactionEval/potentialPeople/index.vue
  16. 130
      src/views/dataBoard/satisfactionEval/potentialPeople/sjwjj.vue
  17. 125
      src/views/dataBoard/satisfactionEval/potentialPeople/yxwxfw.vue
  18. 47
      src/views/dataBoardMain/main-navbar.vue
  19. 2
      src/views/main-navbar-update-password-work.vue
  20. 2
      src/views/modules/base/resi.vue
  21. 10
      src/views/modules/base/residentManagement/louzhang/louzhangList.vue
  22. 4
      src/views/modules/base/residentManagement/publicWelfarePost/addForm.vue
  23. 14
      src/views/modules/base/residentManagement/publicWelfarePost/publicWelfarePost.vue
  24. 8
      src/views/modules/base/residentManagement/tefu/tefuList.vue
  25. 33
      src/views/modules/communityService/measure/index.vue
  26. 2
      src/views/modules/satisfaction/detail/eventInfo.vue
  27. 2
      src/views/modules/satisfaction/satisfactionProvince/formList.vue
  28. 6
      vue.config.js

1
.env.development

@ -1,6 +1,7 @@
NODE_ENV=development
VUE_APP_API_SERVER = http://localhost:9001/api
# VUE_APP_API_SERVER = http://192.168.1.140/api
# VUE_APP_API_SERVER = http://219.146.91.110:30801/api
# VUE_APP_API_SERVER = https://epmet-yantai.elinkservice.cn/api
# VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api

16
src/assets/scss/dataBoard/overview/index.scss

@ -41,7 +41,21 @@
.m-subbox {
@include scrollBar;
height: 334px;
overflow-y: auto;
overflow-y: hidden;
}
.animation {
animation: move 10s linear infinite;
}
@keyframes move {
0% {
transform: translateY(0px);
}
100% {
transform: translateY(-320px);
}
}
.m-jdjs {

2
src/assets/scss/dataBoard/renfang/index.scss

@ -325,7 +325,7 @@
.m-subbox {
@include scrollBar;
height: 423px;
overflow-y: auto;
// overflow-y: auto;
}
.m-szsq {

16
src/views/components/resiForm.vue

@ -308,8 +308,8 @@
<el-select v-model="form[itemj.id][itemk.formName]"
:placeholder="`请选择${itemk.label}`"
size="small"
:multiple="itemk.formName=='specialCategoryCode'"
:collapse-tags="itemk.formName=='specialCategoryCode'"
:multiple="itemk.multiple"
:collapse-tags="itemk.collapseTags"
clearable
:style="{'width':itemk.formName=='specialCategoryCode'?'183px':''}"
class="u-item-width-normal">
@ -479,7 +479,7 @@ export default {
{
label: '国籍',
itemType: "select",
requiredFlag: true,
rules: [{ required: true, message: '国籍不能为空' }],
formName: 'nationality',
opction: [],
},
@ -1222,6 +1222,8 @@ export default {
label: '人群类别',
itemType: "select1",
formName: "specialCategoryCode",
multiple:true,
collapseTags:true,
opction: []
},]
},
@ -1263,6 +1265,8 @@ export default {
label: '岗位类型',
itemType: "select1",
formName: "jobPost",
multiple:true,
collapseTags:true,
opction: []
},
]
@ -1529,7 +1533,7 @@ export default {
},
postDto: {
hiredate: '',//
jobPost: '',//
jobPost: [],//
userId: ''
},
birthRecordDTO: {
@ -1770,7 +1774,7 @@ export default {
await this.getDictData('chronic_disease_code', 'chronicDiseaseCode')
},
async getWelfareDict () {
await this.getDictData('welfare_post', 'jobPost')
await this.getDictData('public_welfare_post_type', 'jobPost')
},
async getUnemployment () {
await this.getDictData('unemployment_cause', 'unemploymentReason')
@ -2669,7 +2673,7 @@ export default {
} else {
this.form.postDto = res.data ? res.data : {
hiredate: '',//
jobPost: '', //
jobPost: [], //
userId: id
}

19
src/views/components/resiSearch.vue

@ -833,10 +833,17 @@ export default {
} else {
agencyIdTemp = this.form.agencyId[this.form.agencyId.length - 1]
}
var gridIdQuery = '';
var agencyIdQuery = this.form.agencyId[0];
if (this.form.agencyId.length >= 2) {
agencyIdQuery= this.form.agencyId[this.form.agencyId.length - 2];
gridIdQuery = this.form.agencyId[this.form.agencyId.length - 1];
}
this.$http
.post('/actual/base/communityQuarters/listQuartersOptions', {
gridId: this.form.agencyId[1],
agencyId: this.form.agencyId[0],
gridId: gridIdQuery,
agencyId: agencyIdQuery,
// agencyId: user.agencyId
})
.then(({ data: res }) => {
@ -853,8 +860,8 @@ export default {
},
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.form.villageId
.post('/actual/base/communityBuilding/buildingoption', {
quartersId: this.form.villageId
})
.then(({ data: res }) => {
if (res.code !== 0) {
@ -870,7 +877,7 @@ export default {
},
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
.post('/actual/base/communityBuildingUnit/unitoption', {
buildingId: this.form.buildId
})
.then(({ data: res }) => {
@ -887,7 +894,7 @@ export default {
},
getHouseList () {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.form.unitId })
.post('/actual/base/communityHouse/houseoption', { buildingId: this.form.buildId,unitId: this.form.unitId })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)

66
src/views/dataBoard/cpts/homeDetails/index.vue

@ -1,27 +1,28 @@
<template>
<div class="homeWrap">
<div class="bread">
<bread-crumb :list="[{
path: '/dataBoard/overview/index',
name: '概览'
},{
name: homeText?homeText:''
}]"/>
<bread-crumb
:list="[
{
path: '/dataBoard/overview/index',
name: '概览',
},
{
name: homeText ? homeText : '',
},
]" />
</div>
<el-row :gutter="48">
<el-col :span="8">
<div class="bg">
<Title :text="homeText?homeText:''">
<span v-if="homeMsg && homeMsg.type" :class="[homeMsg.type === 'red' ? 'miniGrid_red' : homeMsg.type ===
'yellow' ? 'miniGrid_yellow' :
'miniGrid_green']">{{homeMsg.type === 'red' ? '红' : homeMsg.type === 'yellow' ? '黄' :
'绿'}}色微网格</span>
<Title :text="homeText ? homeText : ''">
<span v-if="homeMsg && homeMsg.type" :class="[homeMsg.type === 'red' ? 'miniGrid_red' : homeMsg.type === 'yellow' ? 'miniGrid_yellow' : 'miniGrid_green']">{{ homeMsg.type === "red" ? "" : homeMsg.type === "yellow" ? "" : "绿" }}色微网格</span>
</Title>
</div>
<div class="apartment">
<div class="apar_comtent">
<div class="apar_top">
<img src="@/assets/images/home/homeTop.png" alt="/"/>
<img src="@/assets/images/home/homeTop.png" alt="/" />
</div>
<div class="apar_center">
<div class="apar_center_flex">
@ -35,20 +36,19 @@
</div> -->
</div>
<div class="apar_right">
<img src="@/assets/images/home/homeRight.png" alt=""/>
<img src="@/assets/images/home/homeRight.png" alt="" />
</div>
</div>
</el-col>
<el-col :span="16">
<div class="table">
<el-table :data="list" v-loading="loading" height="500" element-loading-text="加载中"
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
<el-table-column label="序号" type="index" width="80"/>
<el-table-column prop="doorName" label="门牌号"/>
<el-table-column prop="fullName" label="所属小区"/>
<el-table-column prop="buildingId" label="所属楼栋"/>
<el-table-column prop="houseName" label="所属单元"/>
<el-table-column prop="houseCode" label="房屋编码"/>
<el-table :data="list" v-loading="loading" height="500" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
<el-table-column label="序号" type="index" width="80" />
<el-table-column prop="doorName" label="门牌号" />
<el-table-column prop="fullName" label="所属小区" />
<el-table-column prop="buildingId" label="所属楼栋" />
<el-table-column prop="houseName" label="所属单元" />
<el-table-column prop="houseCode" label="房屋编码" />
<el-table-column prop="rentFlag" label="房屋状态">
<template slot-scope="scope">
<!-- 1出租 0自住 2闲置 3未售出 -->
@ -61,11 +61,15 @@
<span>{{ getHouseType(scope.row.houseType) }}</span>
</template>
</el-table-column>
<el-table-column prop="ownerName" label="房主姓名"/>
<el-table-column prop="ownerPhone" label="房主电话"/>
<el-table-column prop="ownerName" label="房主姓名" />
<el-table-column prop="ownerPhone" label="房主电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.ownerPhone, 3, 7) }}
</template>
</el-table-column>
<el-table-column label="操作" width="90" align="center">
<template slot-scope="{row}">
<el-button type="text" @click="$router.push('/dataBoard/overview/familyPortrait/?name='+row.doorName+'&user_id='+row.resiId+'&id='+$route.query.id+'&name2='+(homeText?homeText:''))">查看</el-button>
<template slot-scope="{ row }">
<el-button type="text" @click="$router.push('/dataBoard/overview/familyPortrait/?name=' + row.doorName + '&user_id=' + row.resiId + '&id=' + $route.query.id + '&name2=' + (homeText ? homeText : ''))">查看</el-button>
</template>
</el-table-column>
</el-table>
@ -105,7 +109,7 @@ export default {
watch: {
"$route.query.id"() {
this.getList();
}
},
},
mounted() {
this.getList();
@ -147,16 +151,14 @@ export default {
this.$http.get(`/actual/base/streetOverview/getUnitHouseList?unitId=` + this.$route.query.id).then((res) => {
const {
code,
data: {houseList, unitInfo},
data: { houseList, unitInfo },
} = res.data;
if (code === 0) {
let unitInfos = unitInfo || {}
let unitInfos = unitInfo || {};
this.list = houseList;
this.homeMsg = unitInfos;
this.homeText = (unitInfos.quartersName ? unitInfos.quartersName : '') +
(unitInfos.buildingName ? unitInfos.buildingName : '') +
(unitInfos.unitNum ? unitInfos.unitNum + "单元" : '');
console.log( this.homeText,' this.homeText')
this.homeText = (unitInfos.quartersName ? unitInfos.quartersName : "") + (unitInfos.buildingName ? unitInfos.buildingName : "") + (unitInfos.unitNum ? unitInfos.unitNum + "单元" : "");
console.log(this.homeText, " this.homeText");
this.houseMountArr = this.getDoorNameList(this.list);
this.loading = false;
} else {

4
src/views/dataBoard/organizational/microgrid/components/popDetails.vue

@ -48,11 +48,11 @@
</div>
<div class="item">
<div class="field">联系电话</div>
<div class="value">{{ info.telephone }}</div>
<div class="value">{{ $sensitive(info.telephone, 3, 7) }}</div>
</div>
<div class="item">
<div class="field">证件号</div>
<div class="value">{{ info.idcard }}</div>
<div class="value">{{ $sensitive(info.idcard, 6, 16) }}</div>
</div>
<div class="item">
<div class="field">备注</div>

2
src/views/dataBoard/organizational/microgrid/components/reportAnEvent.vue

@ -38,7 +38,7 @@
</div>
<div class="eventItem">
<span>联系电话</span>
<span>{{ item.mobile }}</span>
<span>{{ $sensitive(item.mobile, 3, 7) }}</span>
</div>
<div class="eventItem">
<span>详细地址</span>

12
src/views/dataBoard/organizational/microgrid/index.vue

@ -34,9 +34,17 @@
<el-table-column v-if="otherTabel === 'tzrq'" prop="gridName" label="所属网格" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="familyName" label="所属家庭" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="name" label="姓名" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="mobile" label="联系电话" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="mobile" label="联系电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column v-if="otherTabel === 'tzrq'" prop="gender" label="性别" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="idNum" label="证件号" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="idNum" label="证件号">
<template slot-scope="scope">
{{ $sensitive(scope.row.idNum, 6, 16) }}
</template>
</el-table-column>
<el-table-column v-if="otherTabel === 'tzrq'" prop="categoryType" label="人员类别" />
<el-table-column v-if="otherTabel === 'tzrq'" prop="remark" label="备注" />
<!-- 安全隐患 -->

94
src/views/dataBoard/overview/components/jdwgy.vue

@ -1,14 +1,7 @@
<template>
<div class="m-subbox m-jdwgy">
<div class="table">
<el-table
:data="list"
v-if="currentLevelData.orgLevel != 'grid'"
v-loading="loading"
element-loading-background="rgba(0, 0, 0, 0.3)"
max-height="190px"
height="190px"
>
<el-table :data="list" v-if="currentLevelData.orgLevel != 'grid'" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.3)" max-height="190px" height="190px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column prop="orgName" width="120" label="组织名称" />
<el-table-column prop="name" width="120" label="姓名" />
@ -18,29 +11,23 @@
</template>
</el-table-column>
<el-table-column prop="age" width="120" label="年龄" />
<el-table-column prop="mobile" label="电话" />
<el-table-column prop="mobile" label="电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column prop="operate" width="80" label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">
查看
</el-button>
<el-button @click="handleClick(scope.row)" type="text" size="small"> 查看 </el-button>
</template>
</el-table-column>
</el-table>
<el-table
v-if="currentLevelData.orgLevel == 'grid'"
:data="wglist"
v-loading="loading"
max-height="190px"
height="190px"
>
<el-table v-if="currentLevelData.orgLevel == 'grid'" :data="wglist" v-loading="loading" max-height="190px" height="190px">
<el-table-column label="序号" type="index" width="50" />
<el-table-column prop="name" width="140" label="微网格" />
<el-table-column prop="type" width="90" label="类型">
<template slot-scope="scope">
<span :style="'color:' + scope.row.type">{{
types[scope.row.type]
}}</span>
<span :style="'color:' + scope.row.type">{{ types[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column prop="houseNum" width="90" label="户数" />
@ -50,9 +37,7 @@
<el-table-column prop="safetyNum" label="安全隐患" />
<el-table-column prop="operate" width="80" label="操作">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">
查看
</el-button>
<el-button @click="handleClick(scope.row)" type="text" size="small"> 查看 </el-button>
</template>
</el-table-column>
</el-table>
@ -84,11 +69,7 @@ export default {
},
watch: {
peopleType(val) {
this.getData(
val,
this.currentLevelData.orgLevel,
this.currentLevelData.orgId
);
this.getData(val, this.currentLevelData.orgLevel, this.currentLevelData.orgId);
},
currentLevelData(val) {
if (val.orgId) {
@ -98,46 +79,27 @@ export default {
},
mounted() {
if (this.currentLevelData.orgId) {
this.getData(
this.peopleType,
this.currentLevelData.orgLevel,
this.currentLevelData.orgId
);
this.getData(this.peopleType, this.currentLevelData.orgLevel, this.currentLevelData.orgId);
}
},
methods: {
getData(peopleType, level = "", orgId = "") {
this.loading = true;
if (level == "grid") {
this.$http
.get(
"/actual/base/streetOverview/queryPersonnelGridGroup?personnelType="+
peopleType
+"&level=" +
level +
"&orgId=" +
orgId
)
.then(({ data: { data } }) => {
this.loading = false;
this.wglist = data;
this.$emit('setPoint',data.filter(item => item.longitude && item.latitude))
});
this.$http.get("/actual/base/streetOverview/queryPersonnelGridGroup?personnelType=" + peopleType + "&level=" + level + "&orgId=" + orgId).then(({ data: { data } }) => {
this.loading = false;
this.wglist = data;
this.$emit(
"setPoint",
data.filter((item) => item.longitude && item.latitude)
);
});
} else {
this.$http
.get(
"/actual/base/streetOverview/queryPersonnelGroup?level=" +
level +
"&orgId=" +
orgId +
"&personnelType=" +
peopleType
)
.then(({ data: { data } }) => {
this.loading = false;
this.list = data.personnelInfoVOList;
this.$emit('setNum',data.orgPersonnelVOList)
});
this.$http.get("/actual/base/streetOverview/queryPersonnelGroup?level=" + level + "&orgId=" + orgId + "&personnelType=" + peopleType).then(({ data: { data } }) => {
this.loading = false;
this.list = data.personnelInfoVOList;
this.$emit("setNum", data.orgPersonnelVOList);
});
}
},
handleClick(item) {
@ -161,11 +123,7 @@ export default {
},
};
</script>
<style
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>
<style lang="scss" src="@/assets/scss/dataBoard/table.scss" scoped></style>
<style lang="scss" scoped>
/deep/.table {

49
src/views/dataBoard/overview/components/sq12345.vue

@ -8,14 +8,28 @@
<div class="th">处理中</div>
<div class="th">已办结</div>
</div>
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
<div style="overflow: hidden">
<div class="animation">
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.sumNum }}</div>
<div class="td td-or">{{ item.processNum }}</div>
<div class="td td-gr">{{ item.closedNum }}</div>
</div>
<!-- 无缝滚动 -->
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.sumNum }}</div>
<div class="td td-or">{{ item.processNum }}</div>
<div class="td td-gr">{{ item.closedNum }}</div>
</div>
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.sumNum }}</div>
<div class="td td-or">{{ item.processNum }}</div>
<div class="td td-gr">{{ item.closedNum }}</div>
</div>
</div>
</div>
@ -56,25 +70,12 @@ export default {
},
methods: {
getList(item) {
this.$http
.get(
"/actual/base/streetOverview/eventAgencyGroup?month=" +
this.date +
"&level=" +
item.orgLevel +
"&orgId=" +
item.orgId
)
.then(({ data: { data } }) => {
this.pmList = data;
});
this.$http.get("/actual/base/streetOverview/eventAgencyGroup?month=" + this.date + "&level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => {
this.pmList = data;
});
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>

49
src/views/dataBoard/overview/components/sqrfph.vue

@ -8,14 +8,28 @@
<div class="th">人口更新数</div>
<div class="th">人房更新总数</div>
</div>
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
<div style="overflow: hidden">
<div class="animation">
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
<!-- 无缝滚动 -->
<div class="tr" v-for="(item, index) in pmList" :key="index">
<div :class="index - 0 + 1 < 4 ? `td tdbg${index - 0 + 1}` : 'td'">
{{ index - 0 + 1 }}
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
</div>
<div class="td">{{ item.orgName }}</div>
<div class="td">{{ item.houseNum }}</div>
<div class="td">{{ item.residentNum }}</div>
<div class="td">{{ item.sumNum }}</div>
</div>
</div>
</div>
@ -56,25 +70,12 @@ export default {
},
methods: {
getList(item) {
this.$http
.get(
"/actual/base/streetOverview/residentHouseUpdateGroup?month=" +
this.date +
"&level=" +
item.orgLevel +
"&orgId=" +
item.orgId
)
.then(({ data: { data } }) => {
this.pmList = data;
});
this.$http.get("/actual/base/streetOverview/residentHouseUpdateGroup?month=" + this.date + "&level=" + item.orgLevel + "&orgId=" + item.orgId).then(({ data: { data } }) => {
this.pmList = data;
});
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/dataBoard/overview/index.scss"
scoped
></style>
<style lang="scss" src="@/assets/scss/dataBoard/overview/index.scss" scoped></style>

136
src/views/dataBoard/satisfactionEval/dissatisfiedPersonnel/index.vue

@ -1,87 +1,59 @@
<template>
<div>
<Breadcrumb :list="breadcrumbList"/>
<!-- <div class="main-title">
<Breadcrumb :list="breadcrumbList" />
<!-- <div class="main-title">
<Title :text="`“${title}”画像匹配同类不满意人员`" noBg/>
</div>-->
<div class="table">
<el-table :data="list">
<el-table-column
label="序号"
type="index"
width="80"/>
<el-table-column
prop="gridName"
width="118"
label="所属组织"/>
<el-table-column
prop="restName"
label="姓名">
</el-table-column>
<el-table-column label="序号" type="index" width="80" />
<el-table-column prop="gridName" width="118" label="所属组织" />
<el-table-column
prop="mobile"
label="电话"/>
<el-table-column prop="restName" label="姓名"> </el-table-column>
<el-table-column prop="mobile" label="电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column
prop="categoryNames"
label="人员性质"/>
<el-table-column prop="categoryNames" label="人员性质" />
<el-table-column
prop="gender"
label="性别">
<template slot-scope="{row}">
{{row.gender === '1'?'男':row.gender === '2'?'女':row.gender === '0'?'未知':''}}
<el-table-column prop="gender" label="性别">
<template slot-scope="{ row }">
{{ row.gender === "1" ? "男" : row.gender === "2" ? "女" : row.gender === "0" ? "未知" : "" }}
</template>
</el-table-column>
<el-table-column
prop="age"
label="年龄"/>
<el-table-column prop="age" label="年龄" />
<el-table-column
prop="cultureLevel"
label="学历"/>
<el-table-column prop="cultureName" label="学历" />
<el-table-column
prop="marriageName"
label="婚姻"/>
<el-table-column prop="marriageName" label="婚姻" />
<el-table-column
prop="monthIncomeLevel"
label="月收入"/>
<el-table-column prop="monthIncomeLevel" label="月收入" />
<el-table-column label="详情" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView(data.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<Pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</template>
<script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb'
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination'
import Title from "@/views/dataBoard/satisfactionEval/components/Title"
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "dissatisfied",
components: {Breadcrumb, Pagination, Title},
components: { Breadcrumb, Pagination, Title },
data() {
return {
queryParams: {
@ -89,42 +61,45 @@ export default {
pageSize: 10,
},
total: 0,
breadcrumbList: [{
path: '/dataBoard/satisfactionEval/index',
name: '满意度评价'
}, {
path: '',
name: '画像匹配同类不满意人员'
}],
breadcrumbList: [
{
path: "/dataBoard/satisfactionEval/index",
name: "满意度评价",
},
{
path: "",
name: "画像匹配同类不满意人员",
},
],
monthOptions: new Array(12).fill(0).map((_, index) => {
return {label: (index - 0 + 1) + '月', value: (index - 0 + 1)}
return { label: index - 0 + 1 + "月", value: index - 0 + 1 };
}),
list: [],
title: ''
}
title: "",
};
},
activated() {
this.title = this.$route.query.title
let searchParams = JSON.parse(this.$route.query.searchParams)
console.log(searchParams)
this.title = this.$route.query.title;
let searchParams = JSON.parse(this.$route.query.searchParams);
console.log(searchParams);
this.queryParams = {
...this.queryParams,
...searchParams
}
this.getList()
...searchParams,
};
this.getList();
},
methods: {
getList() {
this.$http.get('/governance/satisfactionOverview/satisfactionCrowdList?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => {
this.list = data.list
this.total = data.total
})
this.$http.get("/governance/satisfactionOverview/satisfactionCrowdList?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list;
this.total = data.total;
});
},
handleView({restName,restId}) {
this.$router.push('/dataBoard/satisfactionEval/dissatisfiedPersonnel/detail?name='+restName+'&user_id='+restId)
}
}
}
handleView({ restName, restId }) {
this.$router.push("/dataBoard/satisfactionEval/dissatisfiedPersonnel/detail?name=" + restName + "&user_id=" + restId);
},
},
};
</script>
<style scoped lang="scss">
@ -133,10 +108,11 @@ export default {
.screen {
margin: 25px 0 40px;
.el-select, .el-input {
.el-select,
.el-input {
width: 150px;
margin-right: 4px;
border: 1px solid #126AC5;
border: 1px solid #126ac5;
border-radius: 2px;
/deep/ .el-input__inner {
@ -158,4 +134,4 @@ export default {
.table {
margin-top: 32px;
}
</style>
</style>

87
src/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue

@ -1,33 +1,13 @@
<template>
<el-dialog
width="1118px"
:modal="true"
:modal-append-to-body="false"
:destroy-on-close="true"
:visible="showDialog"
@close="handleClose"
>
<el-dialog width="1118px" :modal="true" :modal-append-to-body="false" :destroy-on-close="true" :visible="showDialog" @close="handleClose">
<div class="eventWrap">
<el-row :gutter="32">
<el-col :span="24" style="padding-left: 40px">
<title-box text="事件详情" />
</el-col>
<el-col
:span="13"
style="padding-left: 40px"
v-loading="loading"
element-loading-text="加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 21, 64, 0"
>
<el-col :span="13" style="padding-left: 40px" v-loading="loading" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0">
<div class="leftEvent">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div class="eventDetails"><img :width="18" :height="18" src="@/assets/images/manyidu/tc-title-icon.png" />事项详情</div>
<div class="eventItem">
<span>所属组织</span>
<span>{{ item.organizationName }}</span>
@ -38,7 +18,7 @@
</div>
<div class="eventItem">
<span>服务事项</span>
<span>{{item.serviceName}}</span>
<span>{{ item.serviceName }}</span>
</div>
<div class="eventItem">
<span>服务时间</span>
@ -54,7 +34,7 @@
</div>
<div class="eventItem">
<span>联系电话</span>
<span>{{ item.principalContact }}</span>
<span> {{ $sensitive(item.principalContact, 3, 7) }}</span>
</div>
<div class="eventItem">
<span>服务方</span>
@ -66,44 +46,24 @@
</div>
</div>
</el-col>
<el-col
:span="11"
v-loading="loading1"
element-loading-text="加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 21, 64, 0.3)"
>
<el-col :span="11" v-loading="loading1" element-loading-text="加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 21, 64, 0.3)">
<div class="rightEvent m-info">
<div class="eventDetails">
<img
:width="18"
:height="18"
src="@/assets/images/manyidu/tc-title-icon.png"
/>
</div>
<div class="eventDetails"><img :width="18" :height="18" src="@/assets/images/manyidu/tc-title-icon.png" />办理进展</div>
<div v-if="item.logList.length > 0">
<div class="m-process">
<div class="list">
<div
class="item"
:class="[index === 0 ? 'z-on' : '']"
v-for="(item, index) in item.logList"
>
<div class="item" :class="[index === 0 ? 'z-on' : '']" v-for="(item, index) in item.logList">
<div class="item-row">
<div class="name">{{item.serviceStatus}}</div>
<div class="name">{{ item.serviceStatus }}</div>
<div class="date">
{{
item.createdTime
}}
{{ item.createdTime }}
</div>
</div>
<div>
<template v-if="item.serviceStatus === '创建服务'">
<div class="detail">
<div class="detail-field">创建人</div>
<div class="detail-value">
{{ item.createdBy }} {{item.agencyName}}
</div>
<div class="detail-value">{{ item.createdBy }} {{ item.agencyName }}</div>
</div>
</template>
<template v-else>
@ -128,7 +88,7 @@
</template>
<script>
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title"
import titleBox from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "ReportAnEvent",
components: {
@ -183,20 +143,17 @@ export default {
getDetailsData(id) {
this.loading = true;
this.$http
.get("/governance/satisfactionDetailList/getServiceNotEnjoyedDetailById?id="+id)
.then((res) => {
const { code, data, msg } = res.data;
if (code === 0) {
this.item = data;
this.loading = false;
} else {
this.loading = false;
this.$message.error(msg);
}
});
this.$http.get("/governance/satisfactionDetailList/getServiceNotEnjoyedDetailById?id=" + id).then((res) => {
const { code, data, msg } = res.data;
if (code === 0) {
this.item = data;
this.loading = false;
} else {
this.loading = false;
this.$message.error(msg);
}
});
},
},
};
</script>

178
src/views/dataBoard/satisfactionEval/potentialPeople/index.vue

@ -1,15 +1,10 @@
<template>
<div>
<Breadcrumb :list="breadcrumbList"/>
<Breadcrumb :list="breadcrumbList" />
<div class="screen">
<el-form :model="queryParams" inline>
<el-select popper-class="selectPopClass" v-model="queryParams.agencyId" size="small" placeholder="按组织">
<el-option
v-for="item in orgOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
<el-option v-for="item in orgOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
<el-input v-model="queryParams.name" clearable size="small" placeholder="按姓名"></el-input>
<el-input v-model="queryParams.mobile" clearable size="small" placeholder="按电话"></el-input>
@ -19,145 +14,125 @@
<div class="table">
<el-table :data="list">
<el-table-column
label="序号"
type="index"
width="80"/>
<el-table-column
prop="name"
label="上报人"/>
<el-table-column
prop="mobile"
label="上报人电话"/>
<el-table-column
prop="agencyName"
label="所属组织">
<el-table-column label="序号" type="index" width="80" />
<el-table-column prop="name" label="上报人" />
<el-table-column prop="mobile" label="上报人电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column
prop="eventCount"
sortable
label="事件未解决数">
<template slot-scope="{row}">
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/sjwjj?reportUserId='+row.reportUserId)">{{ row.eventCount }}</el-button>
<el-table-column prop="agencyName" label="所属组织"> </el-table-column>
<el-table-column prop="eventCount" sortable label="事件未解决数">
<template slot-scope="{ row }">
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/sjwjj?reportUserId=' + row.reportUserId)">{{ row.eventCount }}</el-button>
</template>
</el-table-column>
<el-table-column
prop="demandCount"
sortable
label="需求未满足数">
<template slot-scope="{row}">
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/xqwmz?reportUserId='+row.reportUserId)">{{ row.demandCount }}</el-button>
<el-table-column prop="demandCount" sortable label="需求未满足数">
<template slot-scope="{ row }">
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/xqwmz?reportUserId=' + row.reportUserId)">{{ row.demandCount }}</el-button>
</template>
</el-table-column>
<el-table-column
prop="serviceCount"
sortable
label="应享未享数">
<template slot-scope="{row}">
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/yxwxfw?reportUserId='+row.reportUserId)">{{ row.serviceCount }}</el-button>
<el-table-column prop="serviceCount" sortable label="应享未享数">
<template slot-scope="{ row }">
<el-button type="text" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople/yxwxfw?reportUserId=' + row.reportUserId)">{{ row.serviceCount }}</el-button>
</template>
</el-table-column>
<el-table-column
prop="countAll"
sortable
label="总数">
<template slot-scope="{row}">{{ row.countAll }}
<!-- <el-button type="text"></el-button>-->
<el-table-column prop="countAll" sortable label="总数">
<template slot-scope="{ row }"
>{{ row.countAll }}
<!-- <el-button type="text"></el-button>-->
</template>
</el-table-column>
</el-table>
</div>
<Pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</template>
<script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb'
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination'
import Title from "@/views/dataBoard/satisfactionEval/components/Title"
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
export default {
name: "dissatisfied",
components: {Breadcrumb, Pagination, Title},
components: { Breadcrumb, Pagination, Title },
data() {
return {
queryParams: {
month: '',
org: '',
matterSource: '',
matterType: '',
name: '',
tel: '',
month: "",
org: "",
matterSource: "",
matterType: "",
name: "",
tel: "",
pageNo: 1,
pageSize: 10,
},
orgOptions: [],
total: 0,
breadcrumbList: [{
path: '/dataBoard/satisfactionEval/index',
name: '满意度评价'
}, {
path: '',
name: '潜在不满意人数'
}],
breadcrumbList: [
{
path: "/dataBoard/satisfactionEval/index",
name: "满意度评价",
},
{
path: "",
name: "潜在不满意人数",
},
],
monthOptions: new Array(12).fill(0).map((_, index) => {
return {label: (index - 0 + 1) + '月', value: (index - 0 + 1)}
return { label: index - 0 + 1 + "月", value: index - 0 + 1 };
}),
list: []
}
list: [],
};
},
mounted() {
this.getOrg()
this.getOrg();
},
methods: {
search() {
this.queryParams.pageNo = 1
this.queryParams.pageNo = 1;
this.getList();
},
getOrg() {
let params = {
orgId: this.$store.state.chooseArea.chooseName.orgId,
level: this.$store.state.chooseArea.chooseName.level
}
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({data: {data}}) => {
this.queryParams.agencyId = this.$store.state.chooseArea.chooseName.orgId
let parent = {value: data.id, label: data.name}
this.orgOptions = [parent, ...data.children.map(item => {
return {
value: item.id,
label: item.name
}
})]
this.getList()
})
level: this.$store.state.chooseArea.chooseName.level,
};
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({ data: { data } }) => {
this.queryParams.agencyId = this.$store.state.chooseArea.chooseName.orgId;
let parent = { value: data.id, label: data.name };
this.orgOptions = [
parent,
...data.children.map((item) => {
return {
value: item.id,
label: item.name,
};
}),
];
this.getList();
});
},
getList() {
this.$http.get('/governance/satisfactionDetailList/getPotentialDissatisfiedCountDetail?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => {
this.$http.get("/governance/satisfactionDetailList/getPotentialDissatisfiedCountDetail?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list;
this.total = data.total;
})
});
},
handleView(id) {
}
}
}
handleView(id) {},
},
};
</script>
<style scoped lang="scss">
@ -166,10 +141,11 @@ export default {
.screen {
margin: 25px 0 40px;
.el-select, .el-input {
.el-select,
.el-input {
width: 150px;
margin-right: 4px;
border: 1px solid #126AC5;
border: 1px solid #126ac5;
border-radius: 2px;
/deep/ .el-input__inner {
@ -184,4 +160,4 @@ export default {
height: 32px;
}
}
</style>
</style>

130
src/views/dataBoard/satisfactionEval/potentialPeople/sjwjj.vue

@ -1,80 +1,50 @@
<template>
<div>
<Breadcrumb :list="breadcrumbList"/>
<Breadcrumb :list="breadcrumbList" />
<div class="table">
<el-table :data="list">
<el-table-column
label="序号"
type="index"
width="80"/>
<el-table-column label="序号" type="index" width="80" />
<el-table-column
prop="name"
label="上报人"/>
<el-table-column prop="name" label="上报人" />
<el-table-column
prop="mobile"
label="上报人电话"/>
<el-table-column
prop="agencyName"
label="所属组织">
<el-table-column prop="mobile" label="上报人电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column
prop="categoryName"
label="事件类型"/>
<el-table-column prop="agencyName" label="所属组织"> </el-table-column>
<el-table-column prop="categoryName" label="事件类型" />
<el-table-column
prop="eventContent"
show-overflow-tooltip
label="事件描述"/>
<el-table-column prop="eventContent" show-overflow-tooltip label="事件描述" />
<el-table-column
prop="latestProcessingStatus"
label="最新办理状态"/>
<el-table-column prop="latestProcessingStatus" label="最新办理状态" />
<el-table-column
prop="latestProcessingTime"
sortable
label="最近办理时间"/>
<el-table-column
prop="happenTime"
sortable
label="事件上报时间"/>
<el-table-column
sortable
label="详情">
<template slot-scope="{row}">
<el-table-column prop="latestProcessingTime" sortable label="最近办理时间" />
<el-table-column prop="happenTime" sortable label="事件上报时间" />
<el-table-column sortable label="详情">
<template slot-scope="{ row }">
<el-button type="text" @click="handleView(row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<Pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<sjwjj :showDialog="showDialog" :id="rowId" @close="close"/>
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
<sjwjj :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb'
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination'
import Title from "@/views/dataBoard/satisfactionEval/components/Title"
import sjwjj from "@/views/dataBoard/satisfactionEval/potentialPeople/details/sjwjj.vue"
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import sjwjj from "@/views/dataBoard/satisfactionEval/potentialPeople/details/sjwjj.vue";
export default {
name: "dissatisfied",
components: {Breadcrumb, Pagination, Title, sjwjj},
components: { Breadcrumb, Pagination, Title, sjwjj },
data() {
return {
queryParams: {
@ -83,46 +53,50 @@ export default {
pageSize: 10,
},
total: 0,
breadcrumbList: [{
path: '/dataBoard/satisfactionEval/index',
name: '满意度评价'
}, {
path: '/dataBoard/satisfactionEval/potentialPeople',
name: '潜在不满意数'
}, {
path: '',
name: '事件未解决数'
}],
breadcrumbList: [
{
path: "/dataBoard/satisfactionEval/index",
name: "满意度评价",
},
{
path: "/dataBoard/satisfactionEval/potentialPeople",
name: "潜在不满意数",
},
{
path: "",
name: "事件未解决数",
},
],
list: [],
showDialog: false,
rowId: '',
}
rowId: "",
};
},
activated() {
this.queryParams.reportUserId = this.$route.query.reportUserId
this.queryParams.pageNo = 1
this.queryParams.reportUserId = this.$route.query.reportUserId;
this.queryParams.pageNo = 1;
this.getList();
},
methods: {
search() {
this.queryParams.pageNo = 1
this.queryParams.pageNo = 1;
this.getList();
},
getList() {
this.$http.get('/governance/satisfactionDetailList/getEventUnSolvedByUserId?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => {
this.$http.get("/governance/satisfactionDetailList/getEventUnSolvedByUserId?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list;
this.total = data.total;
})
});
},
handleView({id}) {
this.showDialog = true
this.rowId = id
handleView({ id }) {
this.showDialog = true;
this.rowId = id;
},
close() {
this.showDialog = false
}
}
}
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss">
@ -131,4 +105,4 @@ export default {
.table {
margin-top: 40px;
}
</style>
</style>

125
src/views/dataBoard/satisfactionEval/potentialPeople/yxwxfw.vue

@ -1,74 +1,47 @@
<template>
<div>
<Breadcrumb :list="breadcrumbList"/>
<Breadcrumb :list="breadcrumbList" />
<div class="table">
<el-table :data="list">
<el-table-column
label="序号"
type="index"
width="80"/>
<el-table-column label="序号" type="index" width="80" />
<el-table-column
prop="name"
label="服务对象姓名"/>
<el-table-column prop="name" label="服务对象姓名" />
<el-table-column
prop="mobile"
label="服务对象电话"/>
<el-table-column
prop="organizationName"
label="所属组织">
<el-table-column prop="mobile" label="服务对象电话">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column
prop="serviceCategoryName"
label="服务类型"/>
<el-table-column prop="organizationName" label="所属组织"> </el-table-column>
<el-table-column
prop="remark"
show-overflow-tooltip
label="服务描述"/>
<el-table-column
prop="serviceStatus"
sortable
label="是否已完成服务"/>
<el-table-column
prop="serviceTimeStart"
sortable
label="服务发起时间"/>
<el-table-column
sortable
label="详情">
<template slot-scope="{row}">
<el-table-column prop="serviceCategoryName" label="服务类型" />
<el-table-column prop="remark" show-overflow-tooltip label="服务描述" />
<el-table-column prop="serviceStatus" sortable label="是否已完成服务" />
<el-table-column prop="serviceTimeStart" sortable label="服务发起时间" />
<el-table-column sortable label="详情">
<template slot-scope="{ row }">
<el-button type="text" @click="handleView(row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<Pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<yxwxfw :showDialog="showDialog" :id="rowId" @close="close"/>
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
<yxwxfw :showDialog="showDialog" :id="rowId" @close="close" />
</div>
</template>
<script>
import Breadcrumb from '@/views/dataBoard/satisfactionEval/components/Breadcrumb'
import Pagination from '@/views/dataBoard/satisfactionEval/components/Pagination'
import Title from "@/views/dataBoard/satisfactionEval/components/Title"
import yxwxfw from "@/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue"
import Breadcrumb from "@/views/dataBoard/satisfactionEval/components/Breadcrumb";
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import yxwxfw from "@/views/dataBoard/satisfactionEval/potentialPeople/details/yxwxfw.vue";
export default {
name: "dissatisfied",
components: {Breadcrumb, Pagination, Title, yxwxfw},
components: { Breadcrumb, Pagination, Title, yxwxfw },
data() {
return {
queryParams: {
@ -76,48 +49,52 @@ export default {
pageSize: 10,
},
total: 0,
breadcrumbList: [{
path: '/dataBoard/satisfactionEval/index',
name: '满意度评价'
}, {
path: '/dataBoard/satisfactionEval/potentialPeople',
name: '潜在不满意数'
}, {
path: '',
name: '应享未享服务数'
}],
breadcrumbList: [
{
path: "/dataBoard/satisfactionEval/index",
name: "满意度评价",
},
{
path: "/dataBoard/satisfactionEval/potentialPeople",
name: "潜在不满意数",
},
{
path: "",
name: "应享未享服务数",
},
],
list: [],
showDialog: false,
rowId: '',
}
rowId: "",
};
},
activated() {
this.queryParams.reportUserId = this.$route.query.reportUserId
this.queryParams.pageNo = 1
this.queryParams.reportUserId = this.$route.query.reportUserId;
this.queryParams.pageNo = 1;
this.getList();
},
methods: {
search() {
this.queryParams.pageNo = 1
this.queryParams.pageNo = 1;
this.getList();
},
getList() {
this.$http.get('/governance/satisfactionDetailList/getServiceNotEnjoyedByUserId?' + this.$paramsFormat(this.queryParams)).then(({data: {data}}) => {
this.$http.get("/governance/satisfactionDetailList/getServiceNotEnjoyedByUserId?" + this.$paramsFormat(this.queryParams)).then(({ data: { data } }) => {
this.list = data.list;
this.total = data.total;
})
});
},
handleView({id}) {
this.showDialog = true
this.rowId = id
handleView({ id }) {
this.showDialog = true;
this.rowId = id;
},
close() {
this.showDialog = false
}
}
}
this.showDialog = false;
},
},
};
</script>
<style scoped lang="scss">
@ -126,4 +103,4 @@ export default {
.table {
margin-top: 40px;
}
</style>
</style>

47
src/views/dataBoardMain/main-navbar.vue

@ -6,7 +6,7 @@
<div class="title">{{ customerName }}数据智能分析平台</div>
<div class="selectArea" v-if="$route.path == '/dataBoard/satisfactionEval/index'">
<el-select @change="setSelectName" v-model="value" popper-class="selectPopClass">
<el-option v-for="(item, index) in options" :key="item.value" :label="item.label" :value="index"></el-option>
<el-option v-for="(item, index) in options" :disabled="item.agencyLevel === 'grid'" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
<!-- <div class="btn-back" @click="toPage('/')">
@ -206,27 +206,49 @@ export default {
this.getOrgList();
},
methods: {
getChooseLabel(key) {
const name = this.options.filter((item) => item.value === key)[0].level;
return name;
},
getOrgList() {
let params = {};
if (this.options.length) {
params = { orgId: this.options[this.value].id, level: this.options[this.value].level };
params = { orgId: this.value, level: this.getChooseLabel(this.value) };
}
console.log(params);
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({ data: { data } }) => {
console.log(data, "data");
this.value = 0;
console.log(data);
this.value = data.id;
this.$store.dispatch("chooseArea/chooseName", {
orgId: data.id,
level: data.level,
});
let children = await this.dealTreeData(data.children);
this.options = [
{
...data,
value: data.id,
label: data.name,
},
...children,
];
if (data.parentId) {
this.options = [
{
...data,
value: data.parentId,
label: data.parentName,
},
{
...data,
value: data.id,
label: data.name,
},
...children,
];
} else {
this.options = [
{
...data,
value: data.id,
label: data.name,
},
...children,
];
}
});
},
dealTreeData(treeData, level = 0) {
@ -285,7 +307,6 @@ export default {
city: this.$store.state.user.areaCode,
});
if (code === 0) {
console.log("---------------weather", data);
this.weather = data.lives[0];
} else {
// return this.$message.error("");

2
src/views/main-navbar-update-password-work.vue

@ -153,7 +153,7 @@ export default {
const { pubKey } = this;
this.$http
.post("/gov/mine/mine/resetpassword", {
.post("/epmetuser/customerstaff/changePassword", {
oldPassword: encryptedData(pubKey, this.dataForm.password),
newPassword: encryptedData(pubKey, this.dataForm.newPassword),
confirmNewPassword: encryptedData(

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

@ -387,7 +387,7 @@ export default {
{ columnName: "name", label: "姓名", width: 80 },
{ columnName: "birthday", label: "生日", width: 100 },
{ columnName: "gender", label: "性别", width: 50 },
{ columnName: "nationalityName", label: "国籍", width: 50 },
{ columnName: "nationality", label: "国籍", width: 50 },
{ columnName: "agencyName", label: "所属组织", width: 150 },
{ columnName: "gridName", label: "所属网格", width: 150 },
{ columnName: "homeName", label: "所属房屋", width: 150 },

10
src/views/modules/base/residentManagement/louzhang/louzhangList.vue

@ -195,9 +195,9 @@
label="身份证号"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="dormitoryName"
<el-table-column prop="dormitoryTypeName"
align="center"
width="80"
width="100"
label="类型"
:show-overflow-tooltip="true">
<!-- <template slot-scope="scope">
@ -392,8 +392,8 @@ export default {
},
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.formData.villageId
.post('/actual/base/communityBuilding/buildingoption', {
quartersId: this.formData.villageId
})
.then(({ data: res }) => {
if (res.code !== 0) {
@ -409,7 +409,7 @@ export default {
},
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
.post('/actual/base/communityBuildingUnit/unitoption', {
buildingId: this.formData.buildId
})
.then(({ data: res }) => {

4
src/views/modules/base/residentManagement/publicWelfarePost/addForm.vue

@ -155,8 +155,8 @@
<span>{{ formData.postTypes }}</span>
</div>
<el-form-item label-width="100px" label="岗位类型" prop="postTypes" v-else>
<el-select v-model="formData.postTypes" clearable>
<el-option v-for="item in dicts.public_welfare_post_type" :key="item.value"
<el-select v-model="formData.postTypes" multiple collapse-tags clearable>
<el-option v-for="item in dicts.public_welfare_post_type" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>

14
src/views/modules/base/residentManagement/publicWelfarePost/publicWelfarePost.vue

@ -46,6 +46,7 @@
>
</el-date-picker>
<span class="u-data-tag"></span>
<!-- :picker-options="endPickerOptionsBirthday" -->
<el-date-picker
v-model="formData.birthdayEnd"
type="date"
@ -53,7 +54,6 @@
value-format="yyyy-MM-dd"
class="u-item-width-daterange u-data-tag"
placeholder="结束日期"
:picker-options="endPickerOptionsBirthday"
>
</el-date-picker>
</el-form-item>
@ -84,7 +84,7 @@
</el-select>
</el-form-item>
<el-form-item label-width="100px" label="岗位类型" prop="postTypes" >
<el-select v-model="formData.postTypes" clearable size="small" class="u-item-width-normal">
<el-select v-model="formData.postTypes" multiple collapse-tags clearable size="small" class="u-item-width-normal">
<el-option
v-for="item in dicts.public_welfare_post_type"
:key="item.value"
@ -95,6 +95,7 @@
</el-select>
</el-form-item>
<el-form-item label="入职时间">
<!-- :picker-options="startPickerOptions" -->
<el-date-picker
v-model="formData.hireDateFrom"
type="date"
@ -102,10 +103,11 @@
class="u-item-width-daterange"
value-format="yyyy-MM-dd"
placeholder="开始日期"
:picker-options="startPickerOptions"
>
</el-date-picker>
<span class="u-data-tag"></span>
<!-- :picker-options="endPickerOptionsBirthday" -->
<el-date-picker
v-model="formData.hireDateEnd"
type="date"
@ -113,7 +115,6 @@
value-format="yyyy-MM-dd"
class="u-item-width-daterange u-data-tag"
placeholder="结束日期"
:picker-options="endPickerOptionsBirthday"
>
</el-date-picker>
</el-form-item>
@ -458,10 +459,9 @@
this.$http.post("sys/dict/data/education", {
formCode: "resi_base_info",
}),
this.$http.post("sys/dict/data/education", {
formCode: "public_welfare_post_type",
this.$http.post("sys/dict/data/dictlist", {
dictType: "public_welfare_post_type",
}),
];
const dictKeys = ["nationList", "educationList",'public_welfare_post_type']; //

8
src/views/modules/base/residentManagement/tefu/tefuList.vue

@ -683,8 +683,8 @@ export default {
},
getBuildList () {
this.$http
.post('/gov/org/icbuilding/buildingoption', {
neighborHoodId: this.formData.villageId
.post('/actual/base/communityBuilding/buildingoption', {
quartersId: this.formData.villageId
})
.then(({ data: res }) => {
if (res.code !== 0) {
@ -700,7 +700,7 @@ export default {
},
getUniList () {
this.$http
.post('/gov/org/icbuildingunit/unitoption', {
.post('/actual/base/communityBuildingUnit/unitoption', {
buildingId: this.formData.buildId
})
.then(({ data: res }) => {
@ -717,7 +717,7 @@ export default {
},
getHouseList () {
this.$http
.post('/gov/org/ichouse/houseoption', { unitId: this.formData.unitId })
.post('/actual/base/communityHouse/houseoption', { buildingId: this.formData.buildId,unitId: this.formData.unitId })
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)

33
src/views/modules/communityService/measure/index.vue

@ -433,19 +433,21 @@
></el-input>
<el-select
v-else
v-model="selectDemandUser"
v-model="form.demandUserId"
class="u-item-width-normal"
filterable
:disabled="disabled"
placeholder="请选择"
clearable
@change="handleDemandChange"
remote
:remote-method="getDemandUserList"
>
<el-option
v-for="item in demandUserList"
:key="item.demandUserId"
:key="item.demanderId"
:label="item.label"
:value="item"
:value="item.demanderId"
>
</el-option>
</el-select>
@ -990,11 +992,11 @@ export default {
}
},
handleDemandChange(val) {
console.log("val", val, this.selectDemandUser);
this.selectDemandUser = val.label;
this.form.demandUserName = val.demandUserName;
this.form.demandUserMobile = val.demandUserMobile;
this.form.demandUserId = val.demandUserId;
// console.log("val", val, this.selectDemandUser);
// this.selectDemandUser = val.label;
this.form.demandUserName = val.demanderName;
this.form.demandUserMobile = val.demanderMobile;
// this.form.demandUserId = val.demanderId;
},
handleSearch(val) {
console.log("searchhh--", val);
@ -1310,22 +1312,21 @@ export default {
return this.$message.error("网络错误");
});
},
async getDemandUserList() {
async getDemandUserList(demanderName) {
const { user } = await this.$store.state;
console.log("user---ppp", user);
const params = {
agencyId: user.agencyId,
gridId: this.form.gridId,
name: "",
};
console.log("demanderName:", demanderName);
// addorupdate
await this.$http
.post("/epmetuser/icresiuser/demandusers", params)
.get(`/actual/base/resiDemand/listDemander2Serve?gridId=${this.form.gridId}&demanderName=${demanderName ? demanderName : ''}`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log("获取查询详情成功", res.data);
res.data.map(e=>{
e.label = e.demanderName + "(" + e.demanderMobile + ")";
})
this.demandUserList = res.data;
}
})

2
src/views/modules/satisfaction/detail/eventInfo.vue

@ -243,7 +243,7 @@ export default {
const data = res.data.data;
if (res.status === 200) {
this.total = data.total || 0;
this.provinceList = data.childData;
this.provinceList = data.list;
}
})).catch((err => {
this.$message.error(err);

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

@ -136,7 +136,7 @@ export default {
let url = '/governance/provinceEvaluationRecord/pageInfo'
const { data, code, msg } = await requestPost(url, params)
if (code == 0) {
this.tableData = data.childData;
this.tableData = data.list;
this.total = data.total;
} else {
console.log(err);

6
vue.config.js

@ -4,8 +4,8 @@
* @LastEditors: mk 2403457699@qq.com
* @LastEditTime: 2023-09-22 15:16:23
* @Description: 介绍一下改动了什么
*
*
*
*
*/
/**
* 配置参考: https://cli.vuejs.org/zh/config/
@ -44,7 +44,7 @@ module.exports = {
target: "http://bipaas.elinkservice.cn", // 我们要代理的真实接口地址
},
"/api": {
target: "http://localhost:8080", // 后端接口地址
target: "http://219.146.91.110:30801", // 后端接口地址
changeOrigin: true,
pathRewrite: {
"^api": "",

Loading…
Cancel
Save