Browse Source

合并dev分支代码

feature
SongZhen 2 years ago
parent
commit
353251156a
  1. 17
      src/views/dataBoard/cpts/personnel/index.vue
  2. 111
      src/views/dataBoard/cpts/personnel/modules/BusinessRecords.vue
  3. 146
      src/views/dataBoard/cpts/personnel/modules/EnjoyService.vue
  4. 79
      src/views/dataBoard/cpts/personnel/modules/Family.vue
  5. 60
      src/views/dataBoard/cpts/personnel/modules/MatterDetails.vue
  6. 37
      src/views/dataBoard/cpts/personnel/modules/PointsRecord.vue
  7. 120
      src/views/dataBoard/organizational/personnel/modules/businessTables/community.vue
  8. 127
      src/views/dataBoard/organizational/personnel/modules/businessTables/complaint.vue
  9. 105
      src/views/dataBoard/organizational/personnel/modules/businessTables/economize.vue
  10. 109
      src/views/dataBoard/organizational/personnel/modules/businessTables/give-service.vue
  11. 125
      src/views/dataBoard/organizational/personnel/modules/businessTables/reporting-events.vue
  12. 112
      src/views/dataBoard/organizational/personnel/modules/businessTables/resident.vue
  13. 43
      src/views/dataBoard/satisfactionEval/components/Tabs/index.vue

17
src/views/dataBoard/cpts/personnel/index.vue

@ -1,8 +1,5 @@
<template>
<div>
<div class="breadcrumb">
<Breadcrumb :list="breadcrumbList" />
</div>
<el-row>
<el-col :span="10">
<div class="sub-title">事项详情</div>
@ -49,23 +46,9 @@ export default {
},
data() {
return {
breadcrumbList: [
{
path: "/organizational/dangTree",
name: "党组织架构",
},
{
path: "",
name: "居民画像",
},
],
};
},
mounted() {
console.log(this.breadcrumbList, this.$route);
this.$set(this.breadcrumbList[2], "name", this.$route.query.name);
this.breadcrumbList[2].name = this.$route.query.name;
},
};
</script>

111
src/views/dataBoard/cpts/personnel/modules/BusinessRecords.vue

@ -1,72 +1,103 @@
<template>
<div class="business-records">
<Tabs v-model="type" :list="typeList" @changeVal="typeChange" />
<div class="table">
<el-table :data="list">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="评价周期" prop="key" width="" />
<el-table-column label="姓名" prop="key" width="" />
<el-table-column label="电话" prop="key" width="" />
<el-table-column label="不满意类型" prop="key" width="" />
<el-table-column label="不满意原因" prop="key" width="" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
<Pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
<complaint @changeTotal="changeTotal" v-show="type == 1" />
<economize @changeTotal="changeTotal" v-show="type == 2" />
<community @changeTotal="changeTotal" v-show="type == 3" />
<reporting-events @changeTotal="changeTotal" v-show="type == 4" />
<resident @changeTotal="changeTotal" v-show="type == 5" />
<giveService @changeTotal="changeTotal" v-show="type == 6" />
</div>
</template>
<script>
import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue";
import complaint from "@/views/dataBoard/organizational/personnel/modules/businessTables/complaint.vue";
import economize from "@/views/dataBoard/organizational/personnel/modules/businessTables/economize.vue";
import community from "@/views/dataBoard/organizational/personnel/modules/businessTables/community.vue";
import reportingEvents from "@/views/dataBoard/organizational/personnel/modules/businessTables/reporting-events.vue";
import resident from "@/views/dataBoard/organizational/personnel/modules/businessTables/resident.vue";
import giveService from "@/views/dataBoard/organizational/personnel/modules/businessTables/give-service.vue";
export default {
name: "BusinessRecords",
components: { Tabs },
components: {
Tabs,
complaint,
reportingEvents,
economize,
community,
resident,
giveService,
},
data() {
return {
total: 10,
queryParams: {
pageNum: 0,
pageSize: 10,
},
type: 1,
typeList: [
{
label: " 满意度",
label: "12345投诉",
value: 1,
},
{
label: "居民需求",
label: "省满意度调查",
value: 2,
},
{
label: "社区满意度自查",
value: 3,
},
{
label: "上报事件",
value: 4,
},
{
label: "居民需求",
value: 5,
},
{
label: "社区服务",
value: 6,
},
],
typeLists: [
{
label: "12345投诉",
value: 1,
},
{
label: "省满意度调查",
value: 2,
},
{
label: "社区满意度自查",
value: 3,
},
// {
// label: '',
// value: 4
// }, {
// label: '',
// value: 5
// }, {
// label: '',
// value: 6
// }, {
// label: '访',
// value: 7
// }
{
label: "上报事件",
value: 4,
},
{
label: "居民需求",
value: 5,
},
{
label: "社区服务",
value: 6,
},
],
list: [{}, {}, {}, {}, {}],
};
},
created() {
},
methods: {
typeChange() {},
getList() {},
typeChange(e) {
this.type = e;
},
changeTotal(item) {
this.typeList[item.name].label = item.total
? `${this.typeLists[item.name].label}${item.total}`
: this.typeLists[item.name].label;
},
},
};
</script>

146
src/views/dataBoard/cpts/personnel/modules/EnjoyService.vue

@ -1,71 +1,95 @@
<template>
<div className="event-statistics">
<div id="enjoyServiceChart" style="height: 360px;"></div>
<div id="enjoyServiceChart" style="height: 360px"></div>
</div>
</template>
<script>
import * as echarts from "echarts";
function dataFormatter(arr) {
return arr.map((item) => {
return Number(item.classificationNum);
});
}
function dataFormatter1(arr) {
return arr.map((item) => {
return item.classification;
});
}
export default {
name: "EnjoyService",
data() {
return {}
return {
dataArr: [],
nameArr: ["岗位找人", "技能找人", "温暖找人", "服务找人"],
};
},
mounted() {
this.initCharts()
created() {
this.getData();
},
mounted() {},
methods: {
getData() {
this.$http
.get("/actual/base/peopleRoomOverview/serviceNumber")
.then(({ data: res }) => {
this.dataArr = dataFormatter(res.data);
this.nameArr = dataFormatter1(res.data);
this.initCharts();
});
},
initCharts() {
let div = document.getElementById('enjoyServiceChart');
let div = document.getElementById("enjoyServiceChart");
this.myChart = echarts.init(div);
let xData = ['岗位找人', '技能找人', '温暖找人', '服务找人'];
let tq = [300, 90, 48, 39];
const max = Math.max(...tq)
let xData = this.nameArr;
let tq = this.dataArr;
const max = Math.max(...tq);
let barArray = new Array(xData.length).fill((parseInt(max / 100) + 1) * 100)
let barArray = new Array(xData.length).fill(
(parseInt(max / 100) + 1) * 100
);
var option = {
title: {
show: false,
text: '',
x: 'center',
top: '15px',
text: "",
x: "center",
top: "15px",
textStyle: {
color: '#333333',
color: "#333333",
fontWeight: 500,
fontSize: 18,
},
},
tooltip: {
trigger: 'axis',
backgroundColor: 'rgba(13, 64, 71, 0.50)',
borderColor: 'rgba(143, 225, 252, 0.60)',
trigger: "axis",
backgroundColor: "rgba(13, 64, 71, 0.50)",
borderColor: "rgba(143, 225, 252, 0.60)",
padding: 8,
textStyle: {
color: '#fff',
color: "#fff",
},
formatter: function (params) {
console.log(params)
var res = ''
var res = "";
for (var i = 0; i < params.length; i++) {
if (params[i].seriesName != "") {
res += '<p>' + params[0].name + ':' + params[i].data + '</p>'
res += "<p>" + params[0].name + ":" + params[i].value + "</p>";
}
}
return res;
},
},
grid: {
top: '0',
left: '1%',
right: '2%',
bottom: '0',
containLabel: true
top: "0",
left: "1%",
right: "2%",
bottom: "0",
containLabel: true,
},
yAxis: [
{
type: 'category',
type: "category",
axisTick: {
show: false,
},
@ -74,65 +98,65 @@ export default {
},
axisLine: {
lineStyle: {
color: '#323c41'
}
color: "#323c41",
},
},
axisLabel: {
align: 'right',
align: "right",
textStyle: {
fontSize: 12,
color: '#A3B9DA'
}
color: "#A3B9DA",
},
},
boundaryGap: true,
data: xData,
}, {
type: 'category',
},
{
type: "category",
data: xData,
axisTick: {
show: false,
},
axisLine: {show: false},
axisLine: { show: false },
axisLabel: {
show: false,
},
boundaryGap: true,
}
},
],
xAxis: [
{
type: 'value',
type: "value",
splitLine: {
show: true,
lineStyle: {
color: 'rgba(4,187,255,0.18)',
type: 'dashed'
color: "rgba(4,187,255,0.18)",
type: "dashed",
},
},
nameTextStyle: {
color: '#A3B9DA',
color: "#A3B9DA",
textStyle: {
fontSize: 12
fontSize: 12,
},
align: 'center'
align: "center",
},
axisLabel: {
show: true,
color: '#A3B9DA',
color: "#A3B9DA",
textStyle: {
fontSize: 12
}
fontSize: 12,
},
},
axisTick: {
show: false
}
}
show: false,
},
},
],
series: [
{
type: 'bar',
type: "bar",
barWidth: 16,
itemStyle: {
// lenged
@ -145,40 +169,40 @@ export default {
[
{
offset: 0,
color: '#6EDDFE' // 0%
color: "#6EDDFE", // 0%
},
{
offset: 1,
color: '#0B1F57' // 100%
}
color: "#0B1F57", // 100%
},
],
false
)
),
},
data: tq, //data.values
},
{
name: '',
type: 'bar',
name: "",
type: "bar",
barWidth: 66,
barGap: '-60%',
barGap: "-60%",
data: barArray,
itemStyle: {
normal: {
color: 'rgba(89,130,194,0.12)'
}
color: "rgba(89,130,194,0.12)",
},
},
zlevel: -1,
yAxisIndex: 1,
}
},
],
};
this.myChart.setOption(option);
window.addEventListener("resize", () => this.myChart.resize());
},
}
}
},
};
</script>
<style scoped lang="scss">

79
src/views/dataBoard/cpts/personnel/modules/Family.vue

@ -1,44 +1,79 @@
<template>
<div class="family">
<div class="tag">
<div>张三(户主)</div>
<div>入户状态入户一致</div>
<div>居民分类老年人</div>
<div class="tag" v-for="item in data" :key="item.id">
<div>
{{ item.name }}
<span v-if="item.houseHolderRel"
>({{ item.houseHolderRel == "本人" ? "户主" : item.houseHolderRel }})
</span>
</div>
<div class="tag">
<div>张三(户主)</div>
<div>入户状态入户一致</div>
<div>居民分类老年人</div>
<div v-if="item.householdSituation">
入户状态{{ item.householdSituation }}
</div>
<div class="tag">
<div>张三(户主)</div>
<div>入户状态入户一致</div>
</div>
<div class="tag">
<div>张三(户主)</div>
<div>入户状态入户一致</div>
<div>居民分类{{ getType(item.classificationOfInhabitantsList) }}</div>
</div>
</div>
</template>
<script>
export default {
name: "Family"
}
name: "Family",
data() {
return {
data: [],
queryParam: {
type: "0",
},
};
},
computed: {
getType() {
return (arr) => {
let txt = "";
arr.forEach((item, index) => {
if (arr.length == index + 1) {
txt = txt + item;
} else {
txt = txt + item + ",";
}
});
return txt;
};
},
},
created() {
const query = this.$route.query;
this.queryParam.resid = query.user_id;
this.getDatas();
},
methods: {
getDatas() {
this.$http
.post(
"/actual/base/peopleRoomOverview/getFamilyRelationshipList?type=0&resid=" +
this.queryParam.resid,
this.queryParam
)
.then(({ data: res }) => {
this.data = res.data;
});
},
},
};
</script>
<style scoped lang="scss">
.family {
width: 464px;
height: 340px;
background: url('@/assets/images/manyidu/gx_bg.png') no-repeat center;
background: url("@/assets/images/manyidu/gx_bg.png") no-repeat center;
position: relative;
margin: 40px auto;
}
.tag {
font-size: 14px;
font-weight: 400;
color: #FFFFFF;
color: #ffffff;
line-height: 22px;
padding: 18px 24px;
box-sizing: border-box;
@ -46,14 +81,16 @@ export default {
&:nth-of-type(1),
&:nth-of-type(2) {
background: url("@/assets/images/manyidu/gx_big.png") no-repeat center;
background-size: 100% 100%;
width: 180px;
height: 100px;
min-height: 100px;
}
&:nth-of-type(3),
&:nth-of-type(4) {
background: url("@/assets/images/manyidu/gx_small.png") no-repeat center;
background-size: 100% 100%;
width: 180px;
height: 70px;
min-height: 100px;
padding: 15px 24px;
}
&:nth-of-type(1) {

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

@ -1,23 +1,60 @@
<template>
<div class="matter-details">
<div class="user-img">
<img src="@/assets/images/manyidu/dn_bg1.png" alt="">
<img src="@/assets/images/manyidu/dn_bg1.png" alt="" />
</div>
<div class="tags">
<div class="tag red">满意度风险人员</div>
<div class="tag small">与子女同住</div>
<div class="tag">第三网格</div>
<div class="tag small">入户一致</div>
<div class="tag">13343999999</div>
<div class="tag">四季景园1号楼1单元101</div>
<div class="tag" v-if="data.name">{{ data.name }}</div>
<div class="tag red" v-if="data.riskyFlag == '1'">满意度风险人员</div>
<div class="tag small" v-if="data.gender">
{{ genderArr[data.gender] }}
</div>
<div class="tag" v-if="data.gridName">{{ data.gridName }}</div>
<div class="tag small" v-if="data.idNum">
{{ data.idNum }}
</div>
<div class="tag" v-if="data.mobile">{{ data.mobile }}</div>
<div class="tag small" v-if="data.householdSituation">
{{ data.householdSituation }}
</div>
<div class="tag" v-if="data.birthday">
{{ data.birthday }}
</div>
<div class="tag" v-if="data.fullName">{{ data.fullName }}</div>
</div>
</div>
</template>
<script>
export default {
name: "MatterDetails"
}
name: "MatterDetails",
data() {
return {
data: {},
queryParams: {},
genderArr: ["未知", "男", "女"],
};
},
created() {
const query = this.$route.query;
this.queryParams.resid = query.user_id;
this.getDatas();
},
methods: {
getDatas() {
this.$http
.post(
"/actual/base/peopleRoomOverview/getPersonalFile?resid=" +
this.queryParams.resid,
this.queryParams
)
.then(({ data: res }) => {
this.data = res.data;
});
},
},
};
</script>
<style scoped lang="scss">
@ -43,7 +80,7 @@ export default {
justify-content: center;
font-size: 14px;
font-weight: 400;
color: #FFFFFF;
color: #ffffff;
line-height: 16px;
box-sizing: border-box;
padding: 24px;
@ -57,7 +94,7 @@ export default {
}
&.red {
background: url("@/assets/images/manyidu/dn_red.png") center no-repeat;
color: #FE0000;
color: #fe0000;
}
&:nth-of-type(1) {
left: 0;
@ -89,5 +126,4 @@ export default {
bottom: 10px;
}
}
</style>

37
src/views/dataBoard/cpts/personnel/modules/PointsRecord.vue

@ -1,11 +1,11 @@
<template>
<div>
<div class="enjoy-service">
<div class="enjoy-service-item" v-for="(item,index) in 5">
<div class="num">+10</div>
<div class="enjoy-service-item" v-for="(item, index) in data">
<div class="num">+{{ item.classificationNum }}</div>
<div class="info">
<div class="title">便民服务-配餐服务</div>
<div class="time">2023-07-15 15:30:30</div>
<div class="title">{{ item.classification }}</div>
<div class="time">{{ item.recordTime }}</div>
</div>
</div>
</div>
@ -14,21 +14,37 @@
<script>
export default {
name: "PointsRecord"
}
name: "PointsRecord",
data() {
return {
data:[],
};
},
created() {
this.getData();
},
methods: {
getData() {
this.$http
.get("/actual/base/peopleRoomOverview/recorHistory")
.then(({ data: res }) => {
this.data = res.data;
});
},
},
};
</script>
<style scoped lang="scss">
.enjoy-service {
padding-left: 26px;
}
.enjoy-service-item {
color: #FFFFFF;
color: #ffffff;
display: flex;
padding: 14px 16px 14px;
margin-bottom: 8px;
background: #07266B;
background: #07266b;
.num {
font-size: 24px;
font-weight: 500;
@ -43,9 +59,8 @@ export default {
}
.time {
font-weight: 400;
color: #A3B9DA;
color: #a3b9da;
}
}
}
</style>

120
src/views/dataBoard/organizational/personnel/modules/businessTables/community.vue

@ -0,0 +1,120 @@
<template>
<div class="table">
<el-table :data="list" max-height="375px" height="375px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />
<el-table-column label="办理状态" prop="completeFlag" width="120" />
<el-table-column label="是否回访" prop="isReturn" width="120" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "community",
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
};
},
created() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
mounted() {},
methods: {
getList() {
// (-2-1访0访/访1访)
const completeFlags = {
"-2": "未知",
"-1": "不接受回访",
0: "接受回访/待回访",
1: "已回访",
};
//
this.$http
.post(
"/actual/base/peopleRoomOverview/communitySatisfactionPageList",
this.queryParams
)
.then(({ data: res }) => {
this.list = res.data.map((item) => {
return {
...item,
completeFlag: completeFlags[item.completeFlag],
};
});
this.total = res.data.length;
this.$emit("changeTotal", { name: 2, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

127
src/views/dataBoard/organizational/personnel/modules/businessTables/complaint.vue

@ -0,0 +1,127 @@
<template>
<div class="table">
<el-table :data="list" max-height="375px" height="375px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="事件类型" prop="categorycode" width="" />
<el-table-column label="事件描述" prop="eventcontent" width="" />
<el-table-column label="办理状态" prop="status" width="" />
<el-table-column label="接收时间" prop="happentime" width="180" />
<el-table-column label="标记" prop="marktype" width="" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
<Pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
export default {
name: "complaint",
data() {
return {
queryParams: {
pageNo: 1,
pageSize: 10,
eventType: "3",
residList: [],
},
list: [],
total: 0,
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
methods: {
getList() {
//
const statusArr = {
processing: "处理中",
closed_case: "已办结",
};
const marktypes = ["普通事件", "难点读点", "矛盾纠纷", "自身问题"];
this.$http
.post("/actual/base/peopleRoomOverview/eventPageList", this.queryParams)
.then(({ data: res }) => {
this.list = res.data.list.map((item) => {
return {
...item,
status: item.status?statusArr[item.status]:null,
marktype: marktypes[item.marktype],
};
});
this.total = res.data.total;
this.$emit("changeTotal", { name: 0, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

105
src/views/dataBoard/organizational/personnel/modules/businessTables/economize.vue

@ -0,0 +1,105 @@
<template>
<div class="table">
<el-table :data="list" max-height="375px" height="375px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="不满意事项类型" prop="scope" width="190" />
<el-table-column label="不满意事项描述" prop="problemDesc" width="" />
<el-table-column label="办理状态" prop="completeFlag" width="120" />
<el-table-column label="是否回访" prop="isReturn" width="120" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "economize",
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
methods: {
getList() {
//
this.$http
.post("/actual/base/peopleRoomOverview/provincialSatisfactionPageList", this.queryParams)
.then(({ data: res }) => {
this.list = res.data;
this.total = res.data.length;
this.$emit("changeTotal", { name: 1, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

109
src/views/dataBoard/organizational/personnel/modules/businessTables/give-service.vue

@ -0,0 +1,109 @@
<template>
<div class="table">
<el-table :data="list" max-height="375px" height="375px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="需求类型" prop="serviceCategoryKey" width="" />
<el-table-column label="事件描述" prop="serviceName" width="" />
<el-table-column label="服务情况" prop="state" width="" />
<el-table-column label="创建时间" prop="serviceTimeStart" width="180" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "give-service",
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
methods: {
getList() {
//
this.$http
.post("/actual/base/peopleRoomOverview/communityServicePageList", this.queryParams)
.then(({ data: res }) => {
this.list = res.data.map((item) => {
return {
...item,
};
});
this.total = res.data.length;
this.$emit("changeTotal", { name: 5, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

125
src/views/dataBoard/organizational/personnel/modules/businessTables/reporting-events.vue

@ -0,0 +1,125 @@
<template>
<div class="table">
<el-table :data="list" max-height="375px" height="375px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="事件类型" prop="categorycode" width="" />
<el-table-column label="事件描述" prop="eventcontent" width="" />
<el-table-column label="办理状态" prop="status" width="" />
<el-table-column label="接收时间" prop="happentime" width="180" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
<Pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
export default {
name: "reporting-events",
data() {
return {
queryParams: {
pageNo: 1,
pageSize: 10,
residList: [],
},
list: [],
total: 0,
};
},
created() {},
mounted() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
methods: {
getList() {
//
const statusArr = {
processing: "处理中",
closed_case: "已办结",
};
const marktypes = ["普通事件", "难点读点", "矛盾纠纷", "自身问题"];
this.$http
.post("/actual/base/peopleRoomOverview/eventPageList", this.queryParams)
.then(({ data: res }) => {
this.list = res.data.list.map((item) => {
return {
...item,
status: item.status?statusArr[item.status]:null,
marktype: marktypes[item.marktype],
};
});
this.total = res.data.total;
this.$emit("changeTotal", { name: 3, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

112
src/views/dataBoard/organizational/personnel/modules/businessTables/resident.vue

@ -0,0 +1,112 @@
<template>
<div class="table">
<el-table :data="list" max-height="375px" height="375px">
<el-table-column label="序号" type="index" width="80" />
<el-table-column label="需求类型" prop="categoryName" width="" />
<el-table-column label="需求描述" prop="content" width="" />
<el-table-column label="办理情况" prop="status" width="" />
<el-table-column label="上报时间" prop="reportTime" width="180" />
<el-table-column label="操作" width="90" align="center">
<template slot-scope="data">
<el-button type="text" @click="handleView">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: "complaint",
data() {
return {
queryParams: {
residList: [],
},
list: [],
total: 0,
};
},
created() {
const query = this.$route.query;
this.queryParams.residList[0] = query.user_id;
this.getList();
},
mounted() {},
methods: {
getList() {
//
this.$http
.post(
"/actual/base/peopleRoomOverview/demandOfResidentsPageList",
this.queryParams
)
.then(({ data: res }) => {
this.list = res.data.map((item) => {
return {
...item,
};
});
this.total = res.data.length;
this.$emit("changeTotal", { name: 4, total: this.total });
});
},
},
};
</script>
<style scoped lang="scss">
.business-records {
margin-bottom: 25px;
}
.table {
/deep/ .el-table td,
/deep/ .el-table th,
/deep/ .el-table tr {
padding: 14px !important;
border: none !important;
min-height: 52px;
}
/deep/ .el-table td,
/deep/ .el-table th {
background: none !important;
}
/deep/ .el-table td {
font-size: 14px;
font-weight: 400;
color: #ffffff;
text-shadow: 1px 2px 4px rgba(10, 32, 60, 0.51);
}
/deep/ .el-table tr {
background: none;
&:hover {
background-color: rgba(26, 149, 255, 0.3) !important;
}
}
/deep/ .el-table__body-wrapper tr:nth-of-type(odd) {
background: rgba(14, 56, 115, 0.4);
}
/deep/ .el-table {
background: none !important;
&:before {
background: none;
}
}
/deep/ .el-table__header-wrapper tr {
color: #a3b9da !important;
font-size: 14px;
font-weight: 400;
opacity: 0.76;
background: none;
&:hover {
background: none !important;
}
}
/deep/ .el-table__header-wrapper {
background: none !important;
}
}
</style>

43
src/views/dataBoard/satisfactionEval/components/Tabs/index.vue

@ -1,8 +1,13 @@
<template>
<div class="tabs">
<div class="tab" :class="value2 === item.value?'cur':''"
v-for="(item,index) in list" @click="tabClick(index)" :key="index">
{{item.label}}
<div
class="tab"
:class="value2 === item.value ? 'cur' : ''"
v-for="(item, index) in list"
@click="tabClick(index)"
:key="item.value"
>
{{ item.label }}
</div>
</div>
</template>
@ -11,31 +16,31 @@
export default {
name: "Tabs",
props: {
list:{
list: {
type: Array,
default: () => []
default: () => [],
},
value: {
type: [String, Number],
default: "",
},
value:{
type: [String,Number],
default: ''
}
},
data() {
return {
value2: this.value,
}
};
},
mounted() {
this.value2 = this.value
this.value2 = this.value;
},
methods: {
tabClick(index) {
this.value2 = this.list[index].value
this.$emit('changeVal',this.value2)
this.$emit('changeLabel',this.list[index].label)
}
}
}
this.value2 = this.list[index].value;
this.$emit("changeVal", this.value2);
this.$emit("changeLabel", this.list[index].label);
},
},
};
</script>
<style scoped lang="scss">
@ -46,13 +51,13 @@ export default {
padding: 10px 11px;
font-size: 14px;
font-weight: 400;
color: #96B1CE;
color: #96b1ce;
min-width: 120px;
background: url("@/assets/images/manyidu/tab.png") repeat-x top left;
margin-right: 4px;
text-align: center;
&.cur {
color: #FFFFFF;
color: #ffffff;
background: url("@/assets/images/manyidu/tab_cur.png") repeat-x top left;
}
}

Loading…
Cancel
Save