Browse Source

问题修改

feature
张若晨 2 years ago
parent
commit
b759d9d58c
  1. BIN
      src/assets/images/manyidu/qz_wjj.png
  2. BIN
      src/assets/images/manyidu/qz_wmz.png
  3. BIN
      src/assets/images/manyidu/qz_wx.png
  4. BIN
      src/assets/images/manyidu/xuanzhuan-bg.png
  5. 2
      src/assets/scss/dataBoardMain.scss
  6. 14
      src/views/dataBoard/cpts/family/modules/MatterDetails.vue
  7. 15
      src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue
  8. 167
      src/views/dataBoard/satisfactionEval/modules/PotentialPeople/index.vue
  9. 2
      src/views/dataBoard/satisfactionEval/modules/SelfTrend/index.vue
  10. 154
      src/views/dataBoard/satisfactionEval/potentialPeople/index.vue

BIN
src/assets/images/manyidu/qz_wjj.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
src/assets/images/manyidu/qz_wmz.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
src/assets/images/manyidu/qz_wx.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/assets/images/manyidu/xuanzhuan-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

2
src/assets/scss/dataBoardMain.scss

@ -271,5 +271,5 @@
} }
.g-cnt { .g-cnt {
padding: 24px; padding: 8px 24px;
} }

14
src/views/dataBoard/cpts/family/modules/MatterDetails.vue

@ -110,28 +110,26 @@ export default {
color: #fe0000; color: #fe0000;
} }
&:nth-of-type(1) { &:nth-of-type(1) {
left: 0;
bottom: 15px;
}
&:nth-of-type(2) {
left: 42px; left: 42px;
bottom: 185px; bottom: 185px;
} }
&:nth-of-type(2) {
left: 499px;
bottom: 157px;
}
&:nth-of-type(3) { &:nth-of-type(3) {
left: 194px; left: 194px;
bottom: 245px; bottom: 245px;
} }
&:nth-of-type(4) { &:nth-of-type(4) {
left: 384px; left: 384px;
bottom: 240px; bottom: 240px;
} }
&:nth-of-type(5) { &:nth-of-type(5) {
left: 499px; left: 0;
bottom: 157px; bottom: 15px;
} }
&:nth-of-type(6) { &:nth-of-type(6) {

15
src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue

@ -109,29 +109,28 @@ export default {
background: url("@/assets/images/manyidu/dn_red.png") center no-repeat; background: url("@/assets/images/manyidu/dn_red.png") center no-repeat;
color: #fe0000; color: #fe0000;
} }
&:nth-of-type(1) {
left: 0;
bottom: 15px;
}
&:nth-of-type(2) { &:nth-of-type(1) {
left: 42px; left: 42px;
bottom: 185px; bottom: 185px;
} }
&:nth-of-type(2) {
left: 499px;
bottom: 157px;
}
&:nth-of-type(3) { &:nth-of-type(3) {
left: 194px; left: 194px;
bottom: 245px; bottom: 245px;
} }
&:nth-of-type(4) { &:nth-of-type(4) {
left: 384px; left: 384px;
bottom: 240px; bottom: 240px;
} }
&:nth-of-type(5) { &:nth-of-type(5) {
left: 499px; left: 0;
bottom: 157px; bottom: 15px;
} }
&:nth-of-type(6) { &:nth-of-type(6) {

167
src/views/dataBoard/satisfactionEval/modules/PotentialPeople/index.vue

@ -1,39 +1,85 @@
<template> <template>
<div class="potential-people" <div
v-loading="loading" class="potential-people"
element-loading-text="加载中..." v-loading="loading"
element-loading-spinner="el-icon-loading" element-loading-text="加载中..."
element-loading-background="rgba(0,0,0,0.5)" element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0,0,0,0.5)"
> >
<div class="potential-people-item" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople?countType=event')"> <div
class="potential-people-item"
@click="
$router.push(
'/dataBoard/satisfactionEval/potentialPeople?countType=event'
)
"
>
<div class="icon"> <div class="icon">
<img src="@/assets/images/manyidu/qz_wjj.png" alt=""> <img
class="imgBg"
src="@/assets/images/manyidu/xuanzhuan-bg.png"
alt=""
/>
<img class="imgIcon" src="@/assets/images/manyidu/qz_wjj.png" alt="" />
</div> </div>
<div class="txt"> <div class="txt">
事件未解决 <br> 事件未解决 <br />
上报人数 上报人数
</div> </div>
<div class="num"><span class="orange">{{ unSolvedNum ? unSolvedNum : 0 }}</span></div> <div class="num">
<span class="orange">{{ unSolvedNum ? unSolvedNum : 0 }}</span
>
</div>
</div> </div>
<div class="potential-people-item" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople?countType=demand')"> <div
class="potential-people-item"
@click="
$router.push(
'/dataBoard/satisfactionEval/potentialPeople?countType=demand'
)
"
>
<div class="icon"> <div class="icon">
<img src="@/assets/images/manyidu/qz_wmz.png" alt=""> <img
class="imgBg"
src="@/assets/images/manyidu/xuanzhuan-bg.png"
alt=""
/>
<img class="imgIcon" src="@/assets/images/manyidu/qz_wmz.png" alt="" />
</div> </div>
<div class="txt"> <div class="txt">
需求未满足 <br> 需求未满足 <br />
人数 人数
</div> </div>
<div class="num"><span class="green">{{ unFinishNum ? unFinishNum : 0 }}</span></div> <div class="num">
<span class="green">{{ unFinishNum ? unFinishNum : 0 }}</span
>
</div>
</div> </div>
<div class="potential-people-item" @click="$router.push('/dataBoard/satisfactionEval/potentialPeople?countType=service')"> <div
class="potential-people-item"
@click="
$router.push(
'/dataBoard/satisfactionEval/potentialPeople?countType=service'
)
"
>
<div class="icon"> <div class="icon">
<img src="@/assets/images/manyidu/qz_wx.png" alt=""> <img
class="imgBg"
src="@/assets/images/manyidu/xuanzhuan-bg.png"
alt=""
/>
<img class="imgIcon" src="@/assets/images/manyidu/qz_wx.png" alt="" />
</div> </div>
<div class="txt"> <div class="txt">
应享未享 <br> 应享未享 <br />
服务人数 服务人数
</div> </div>
<div class="num"><span class="light">{{ noServiceNum ? noServiceNum : 0 }}</span></div> <div class="num">
<span class="light">{{ noServiceNum ? noServiceNum : 0 }}</span
>
</div>
</div> </div>
</div> </div>
</template> </template>
@ -46,15 +92,14 @@ export default {
noServiceNum: 0, noServiceNum: 0,
unFinishNum: 0, unFinishNum: 0,
unSolvedNum: 0, unSolvedNum: 0,
loading: true loading: true,
} };
}, },
props: { props: {
date: { date: {
type: Object, type: Object,
default: () => { default: () => {},
} },
}
}, },
watch: { watch: {
"$store.state.chooseArea.chooseName"(val) { "$store.state.chooseArea.chooseName"(val) {
@ -64,7 +109,7 @@ export default {
}, },
date() { date() {
this.getData(); this.getData();
} },
}, },
mounted() { mounted() {
if (this.$store.state.chooseArea.chooseName.orgId) { if (this.$store.state.chooseArea.chooseName.orgId) {
@ -74,24 +119,45 @@ export default {
methods: { methods: {
getData() { getData() {
this.loading = true this.loading = true;
let params = { let params = {
level: this.$store.state.chooseArea.chooseName.level, level: this.$store.state.chooseArea.chooseName.level,
orgId: this.$store.state.chooseArea.chooseName.orgId, orgId: this.$store.state.chooseArea.chooseName.orgId,
...this.date ...this.date,
} };
this.$http.get('/governance/satisfactionOverview/potentialSatisfactionGroup?' + this.$paramsFormat(params)).then(({data: {data}}) => { this.$http
this.noServiceNum = data.noServiceNum .get(
this.unFinishNum = data.unFinishNum "/governance/satisfactionOverview/potentialSatisfactionGroup?" +
this.unSolvedNum = data.unSolvedNum this.$paramsFormat(params)
this.loading = false )
}) .then(({ data: { data } }) => {
} this.noServiceNum = data.noServiceNum;
} this.unFinishNum = data.unFinishNum;
} this.unSolvedNum = data.unSolvedNum;
this.loading = false;
});
},
},
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@keyframes roate {
0% {
transform: rotateZ(0);
-ms-transform: rotateZ(0);
-moz-transform: rotateZ(0);
-webkit-transform: rotateZ(0);
-o-transform: rotateZ(0);
}
100% {
transform: rotateZ(360deg);
-ms-transform: rotateZ(360deg);
-moz-transform: rotateZ(360deg);
-webkit-transform: rotateZ(360deg);
-o-transform: rotateZ(360deg);
}
}
.potential-people { .potential-people {
padding: 16px 36px; padding: 16px 36px;
display: flex; display: flex;
@ -103,54 +169,63 @@ export default {
text-align: center; text-align: center;
flex: 1; flex: 1;
border: 1px solid rgba(28, 67, 111, 0.22); border: 1px solid rgba(28, 67, 111, 0.22);
background: linear-gradient(0deg, rgba(31, 121, 255, 0.22) 0%, rgba(31, 121, 255, 0) 100%); background: linear-gradient(
0deg,
rgba(31, 121, 255, 0.22) 0%,
rgba(31, 121, 255, 0) 100%
);
padding: 26px 0 31px; padding: 26px 0 31px;
.icon { .icon {
width: 86px; width: 86px;
height: 86px; height: 86px;
margin: 0 auto; margin: 0 auto;
.imgIcon {
img { width: 30px;
height: 30px;
margin-top: -100px;
}
.imgBg {
display: block; display: block;
width: 100%; width: 100%;
height: 100%; height: 100%;
animation: roate 5s infinite linear; //
} }
} }
.txt { .txt {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #A3B9DA; color: #a3b9da;
line-height: 24px; line-height: 24px;
margin: 11px 0 22px; margin: 11px 0 22px;
white-space: normal;
} }
.num { .num {
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
color: #A3B9DA; color: #a3b9da;
white-space: normal;
span { span {
font-size: 32px; font-size: 32px;
font-weight: bold; font-weight: bold;
font-style: italic; font-style: italic;
} }
} }
} }
} }
.orange { .orange {
color: #FFB73C; color: #ffb73c;
} }
.green { .green {
color: #08EBAE; color: #08ebae;
} }
.light { .light {
color: #7FCEFF; color: #7fceff;
} }
</style>
</style>

2
src/views/dataBoard/satisfactionEval/modules/SelfTrend/index.vue

@ -25,7 +25,7 @@ export default {
value: 1 value: 1
}, { }, {
label: '社区自查结果走势', label: '社区自查得分走势',
value: 2 value: 2
}], }],

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

@ -1,27 +1,50 @@
<template> <template>
<div> <div>
<Breadcrumb :list="breadcrumbList"/> <Breadcrumb :list="breadcrumbList" />
<div class="screen"> <div class="screen">
<el-form :model="queryParams" inline> <el-form :model="queryParams" inline>
<el-select popper-class="selectPopClass" v-model="queryParams.agencyId" size="small" placeholder="按组织"> <el-select
<el-option v-for="item in orgOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> 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-select> </el-select>
<el-input v-model.trim="queryParams.name" clearable size="small" placeholder="按姓名"></el-input> <el-input
<el-input v-model.trim="queryParams.mobile" clearable size="small" placeholder="按电话"></el-input> v-model.trim="queryParams.name"
<el-button size="small" class="btn" type="primary" @click="search">查询</el-button> clearable
size="small"
placeholder="按姓名"
></el-input>
<el-input
v-model.trim="queryParams.mobile"
clearable
size="small"
placeholder="按电话"
></el-input>
<el-button size="small" class="btn" type="primary" @click="search"
>查询</el-button
>
</el-form> </el-form>
</div> </div>
<div class="table"> <div class="table">
<el-table :data="list" <el-table
v-loading="loading" :data="list"
element-loading-text="加载中..." v-loading="loading"
element-loading-spinner="el-icon-loading" element-loading-text="加载中..."
element-loading-background="rgba(0,0,0,0.5)" element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0,0,0,0.5)"
> >
<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="mobile" label="上报人电话">
<template slot-scope="scope"> <template slot-scope="scope">
@ -33,8 +56,15 @@
<el-table-column prop="eventCount" sortable label="事件未解决数"> <el-table-column prop="eventCount" sortable label="事件未解决数">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button type="text" <el-button
@click="$router.push('/dataBoard/satisfactionEval/potentialPeople/sjwjj?reportUserId=' + row.reportUserId)"> type="text"
@click="
$router.push(
'/dataBoard/satisfactionEval/potentialPeople/sjwjj?reportUserId=' +
row.reportUserId
)
"
>
{{ row.eventCount }} {{ row.eventCount }}
</el-button> </el-button>
</template> </template>
@ -42,8 +72,15 @@
<el-table-column prop="demandCount" sortable label="需求未满足数"> <el-table-column prop="demandCount" sortable label="需求未满足数">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button type="text" <el-button
@click="$router.push('/dataBoard/satisfactionEval/potentialPeople/xqwmz?reportUserId=' + row.reportUserId)"> type="text"
@click="
$router.push(
'/dataBoard/satisfactionEval/potentialPeople/xqwmz?reportUserId=' +
row.reportUserId
)
"
>
{{ row.demandCount }} {{ row.demandCount }}
</el-button> </el-button>
</template> </template>
@ -51,8 +88,15 @@
<el-table-column prop="serviceCount" sortable label="应享未享数"> <el-table-column prop="serviceCount" sortable label="应享未享数">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button type="text" <el-button
@click="$router.push('/dataBoard/satisfactionEval/potentialPeople/yxwxfw?reportUserId=' + row.reportUserId)"> type="text"
@click="
$router.push(
'/dataBoard/satisfactionEval/potentialPeople/yxwxfw?reportUserId=' +
row.reportUserId
)
"
>
{{ row.serviceCount }} {{ row.serviceCount }}
</el-button> </el-button>
</template> </template>
@ -60,15 +104,20 @@
<el-table-column prop="countAll" sortable label="总数"> <el-table-column prop="countAll" sortable label="总数">
<template slot-scope="{ row }" <template slot-scope="{ row }"
>{{ row.countAll }} >{{ row.countAll }}
<!-- <el-button type="text"></el-button>--> <!-- <el-button type="text"></el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" <Pagination
@pagination="getList"/> v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div> </div>
</template> </template>
@ -79,7 +128,7 @@ import Title from "@/views/dataBoard/satisfactionEval/components/Title";
export default { export default {
name: "dissatisfied", name: "dissatisfied",
components: {Breadcrumb, Pagination, Title}, components: { Breadcrumb, Pagination, Title },
data() { data() {
return { return {
loading: true, loading: true,
@ -106,7 +155,7 @@ export default {
}, },
], ],
monthOptions: new Array(12).fill(0).map((_, index) => { 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: [],
}; };
@ -126,36 +175,43 @@ export default {
level: this.$store.state.chooseArea.chooseName.level, level: this.$store.state.chooseArea.chooseName.level,
}; };
this.$http.post(`/gov/org/agency/maporg`, params).then(async ({data: {data}}) => { this.$http
this.queryParams.agencyId = this.$store.state.chooseArea.chooseName.orgId; .post(`/gov/org/agency/maporg`, params)
let parent = {value: data.id, label: data.name}; .then(async ({ data: { data } }) => {
this.orgOptions = [ this.queryParams.agencyId =
parent, this.$store.state.chooseArea.chooseName.orgId;
...data.children.map((item) => { let parent = { value: data.id, label: data.name };
return { this.orgOptions = [
value: item.id, parent,
label: item.name, ...data.children.map((item) => {
}; return {
}), value: item.id,
]; label: item.name,
this.getList(); };
}); }),
];
this.getList();
});
}, },
getList() { getList() {
this.loading = true this.loading = true;
console.log(this.$route.query.countType) console.log(this.$route.query.countType);
let params = { let params = {
...this.queryParams, ...this.queryParams,
countType: this.$route.query.countType countType: this.$route.query.countType,
} };
this.$http.get("/governance/satisfactionDetailList/getPotentialDissatisfiedCountDetail?" + this.$paramsFormat(params)).then(({data: {data}}) => { this.$http
this.list = data.list; .get(
this.total = data.total; "/governance/satisfactionDetailList/getPotentialDissatisfiedCountDetail?" +
this.loading = false this.$paramsFormat(params)
}); )
}, .then(({ data: { data } }) => {
handleView(id) { this.list = data.list;
this.total = data.total;
this.loading = false;
});
}, },
handleView(id) {},
}, },
}; };
</script> </script>

Loading…
Cancel
Save