Browse Source

12345改版

luckysheet_xiaowang
是小王呀\24601 6 months ago
parent
commit
c78fbb3380
  1. 45
      src/views/modules/base/smartExcel/cpts/picture-add.vue
  2. 59
      src/views/modules/base/smartExcel/sharedSpace.vue
  3. 469
      src/views/modules/shequzhili/analysis/index.vue
  4. 3
      src/views/modules/shequzhili/eventHandling/index.vue

45
src/views/modules/base/smartExcel/cpts/picture-add.vue

@ -6,8 +6,8 @@
<el-col :span="24">
<el-form-item label="图片集名称" prop="albumName" label-width="150px">
<el-input v-model.trim="formData.albumName" size="small" clearable placeholder="请输入图片集名称(30字以内)"
class="u-item-width-normal"></el-input>
<el-input v-model.trim="formData.albumName" size="small" clearable
placeholder="请输入图片集名称(30字以内)" class="u-item-width-normal"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
@ -18,14 +18,17 @@
</template>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label-width="150px" label="共享范围" prop="sharedScope">
<el-select v-model="formData.sharedScope" placeholder="仅本组织内共享" clearable>
<el-option v-for="item in sharingScopeList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-form-item label-width="150px" label="共享范围" prop="agencyIdArray">
<el-cascader class="cell-width-1" ref="agencyIdArray" :clearable="false" filterable
:filter-method="filter" v-model.trim="formData.agencyIdArray" :options="orgOptions"
:props="orgOptionProps" :show-all-levels="false" @change="handleChangeAgency"
:disabled="isCascaderDisabled">
<template v-slot:tag="{ value, label, index }">
<!-- 自定义标签渲染去掉叉号 -->
<span>{{ label }}</span>
</template></el-cascader>
</el-form-item>
</el-col>
</el-row>
@ -33,8 +36,7 @@
</div>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" type="primary"
@click="handleComfirm"> </el-button>
<el-button size="small" type="primary" @click="handleComfirm"> </el-button>
</div>
</div>
@ -61,6 +63,14 @@
export default {
data() {
return {
orgOptionProps: {
multiple: true,
value: 'orgId',
label: 'orgName',
children: 'subOrgList',
checkStrictly: true
},
orgOptions: [],
fileList:[],
sharingScopeList: [
{
@ -87,7 +97,7 @@
formType:"add",
formData:
{
agencyIdArray: [],
coverPicture:"",
albumName:"",
sharedScope:""
@ -107,6 +117,11 @@
},
methods: {
filter(node, keyword) {
console.log('data111', node, keyword)
return node.data.agencyName.includes(keyword)
},
async listServerOrg() {
const url = "/data/aggregator/org/agencyAllTree";
const { data, code, msg } = await requestPost(url, {
@ -114,7 +129,7 @@
});
if (code === 0) {
this.total = data.total || 0;
this.pictureList = data.list
this.orgOptions = data
} else {
this.$message.error(msg);
}
@ -163,7 +178,7 @@
if(!this.formData.coverPicture){
return this.$message.error("请上传封面图片")
}
if(!this.formData.sharedScope){
if(!this.formData.agencyIdArray){
return this.$message.error("请选择共享范围")
}
this.addActivity()
@ -225,7 +240,7 @@
albumName: [
{ required: true, message: '请输入图片集名称', trigger: 'blur' }
],
sharedScope: [
agencyIdArray: [
{ required: true, message: '请选择共享范围', trigger: 'blur' }
],
coverPicture: [

59
src/views/modules/base/smartExcel/sharedSpace.vue

@ -85,6 +85,7 @@
import exportShared from "./cpts/export-shared.vue"
import dataSharing from "./cpts/data-sharing.vue"
import pictureCollection from "./cpts/picture-collection.vue"
import * as echarts from "echarts";
export default {
components: { exportShared,dataSharing,pictureCollection,shareExcel},
@ -331,37 +332,53 @@
}
.yellow{
.yellow {
color: #ddaa5d;
}
.blue{
.blue {
color: #4e89ec;
}
.red{
.red {
color: #fc2b3b;
}
.green{
.green {
color: #2fcbbd;
}
.f-align_item {
width: 100px;
padding: 10px;
cursor: pointer;
font-size: 16px;
}
width: 100px;
padding: 10px;
cursor: pointer;
font-size: 16px;
}
.f-align_item.active {
width: 100px;
color: blue;
/* 点击时的文字颜色 */
font-weight: bold;
border-bottom: 5px solid blue;
/* 点击时的下划线 */
}
.f-align_item.active {
width: 100px;
color: blue;
/* 点击时的文字颜色 */
font-weight: bold;
border-bottom: 5px solid blue;
/* 点击时的下划线 */
}
.f-align_item span {
color: black;
/* 默认文字颜色 */
}
.f-align_item span {
color: black;
/* 默认文字颜色 */
}
.chart-container {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.chart {
width: 100%;
height: 350px;
}
</style>

469
src/views/modules/shequzhili/analysis/index.vue

@ -110,40 +110,40 @@
<div class="item" @click="onEventNum()" style="background-color: #f4fdff; ">
<div class="item_category">
<img src="./img/completed.png" alt />
<div class="row_left">{{ analysisList.total}}</div>
<div class="item_content">办结件数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“办结”操作的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left">{{ analysisList.total}}</div>
<div class="item_content">未办结件数<el-tooltip class="item_content" effect="dark"
content="在统计时段内所有“未办结”状态的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left" style="color:#FF7035 ;">{{ analysisList.total}}</div>
<div class="item_content">按时办结数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“办结”操作且未超过(部门)办结时限的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left" style="color:#FF7035 ;">{{ analysisList.total}}</div>
<div class="item_content">超期办结数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“办结”操作但已超过(部门)办结时限的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left">{{ analysisList.total}}</div>
<div class="item_content">办结件数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“办结”操作的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left">{{ analysisList.total}}</div>
<div class="item_content">未办结件数<el-tooltip class="item_content" effect="dark"
content="在统计时段内所有“未办结”状态的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left" style="color:#FF7035 ;">{{ analysisList.total}}</div>
<div class="item_content">按时办结数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“办结”操作且未超过(部门)办结时限的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left" style="color:#FF7035 ;">{{ analysisList.total}}</div>
<div class="item_content">超期办结数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“办结”操作但已超过(部门)办结时限的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
</div>
</div>
</div>
</div>
<div style="display: flex; justify-content: center; flex-direction: column; align-items: center;">
<div>退件/不合规申请件</div>
<div class="item" @click="onEventNum()" style="background-color:#fffdf0;">
<div class="item_category">
<img src="./img/returnTheItem.png" alt />
<div class="row_left">{{ analysisList.total}}</div>
<div class="item_content">退件数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“退件”操作的事件数" placement="top">
<div class="item_content">退件数<el-tooltip class="item_content" effect="dark" content="在统计时段内进行“退件”操作的事件数"
placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
</el-tooltip></div>
<div class="row_left">{{ analysisList.total}}</div>
<div class="row_left">{{ analysisList.total}}</div>
<div class="item_content">正常退件数<el-tooltip class="item_content" effect="dark"
content="在统计时段内进行“退件”操作且未超过退件时限的事件数" placement="top">
<img class="img_describe" src="./img/describe1.png" alt="描述图标" />
@ -183,7 +183,7 @@
</div>
</div>
<div style="display: flex;justify-content: space-between;flex-direction:row;">
<h1 style="font-size: 24px; font-weight: bold;"> 事件类型统计 </h1>
</div>
@ -199,136 +199,208 @@
</template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content: space-between;flex-direction:row; height:500px">
<div style="display: flex;width: 49%; flex-direction:column;">
<h1 style="font-size: 24px; font-weight: bold; margin: 20px 0;"> 部门科室工单量统计 </h1>
<el-table :data="departmentList" height="250" border class="m-table-item" style="width: 100%">
<el-table-column prop="assignOrgName" align="center" label="部门科室"
<div style="display: flex">
<div class="f-align_item " :class="{ active: selectedIndex === index }" v-for="(item, index) in titleList"
:key="item.value" @click="selectItem(index)">
<div style="font-size: 20px; "> {{ item.label }} </div>
</div>
</div>
<div style="height:300px;margin:10px ">
<div v-if="selectedIndex===0">
<el-table :data="departmentList" height="300" border class="m-table-item" style="width: 100%">
<el-table-column fixed="left" prop="assignOrgName" align="center" label="部门科室"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="total" align="center" label="事件数" :show-overflow-tooltip="true">
<el-table-column fixed="left" prop="total" align="center" label="件数" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="totalRate" align="center" label="占比" :show-overflow-tooltip="true">
<el-table-column fixed="left" prop="totalRate" align="center" label="占比" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.totalRate }}%
</template>
</el-table-column>
<el-table-column prop="unresolveTotal" align="center" label="未办结数"
<el-table-column prop="unresolveTotal" align="center" label="派件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="联系当事人(初访)件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="办理中件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalConnectRate" align="center" label="联系当事人超期数"
<el-table-column prop="address" align="center" label="办结件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="办理超期数"
<el-table-column prop="address" align="center" label="未办结件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="按时办结数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="超期办结数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="退件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalConnectRate" align="center" label="正常退件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="超期退件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="不合规申请件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="攻坚事件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="敏感渠道来源件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column fixed="right" prop="total" align="center" label="响应率" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right" prop="totalRate" align="center" label="按时办结率"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right" prop="totalRate" align="center" label="解决率" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right" prop="totalRate" align="center" label="满意率" :show-overflow-tooltip="true">
</el-table-column>
</el-table>
</div>
<div style="display: flex;width: 49%;flex-direction:column;">
<h1 style="font-size: 24px; font-weight: bold; margin: 20px 0;"> 社区工单量统计 </h1>
<el-table :data="communityList" height="300" border class="m-table-item" style="">
<el-table-column prop="assignOrgName" align="center" label="社区"
<div v-if="selectedIndex===1" style="">
<el-table :data="communityList" height="300" border class="m-table-item" style="width: 100%">
<el-table-column fixed="left" prop="assignOrgName" align="center" label="社区"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="total" align="center" label="事件数" :show-overflow-tooltip="true">
<el-table-column fixed="left" prop="total" align="center" label="收件数" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="totalRate" align="center" label="占比" :show-overflow-tooltip="true">
<el-table-column fixed="left" prop="totalRate" align="center" label="占比" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.totalRate }}%
</template>
</el-table-column>
<el-table-column prop="unresolveTotal" align="center" label="未办结数"
<el-table-column prop="unresolveTotal" align="center" label="派件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="联系当事人(初访)件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="办理中件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="办结件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="未办结件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="address" align="center" label="按时办结数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalConnectRate" align="center" label="联系当事人超期数"
<el-table-column prop="address" align="center" label="超期办结数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="办理超期数"
<el-table-column prop="address" align="center" label="退件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalConnectRate" align="center" label="正常退件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="超期退件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="不合规申请件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="攻坚事件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="illegalResolveTotal" align="center" label="敏感渠道来源件数"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column fixed="right" prop="total" align="center" label="响应率" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right" prop="totalRate" align="center" label="按时办结率"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right" prop="totalRate" align="center" label="解决率" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right" prop="totalRate" align="center" label="满意率" :show-overflow-tooltip="true">
</el-table-column>
</el-table>
</div>
</div>
<div>
<h1 style="font-size: 24px; font-weight: bold;"> 存在主要问题 </h1>
<h2 style="font-size: 20px; font-weight: bold;"> 同地点同类型事件重复投诉 </h2>
<div style="margin: 20px;">
<div class="chart-container">
<div ref="chart" class="chart"></div>
</div>
<el-table :data="addressData" border class="m-table-item" style="width: 100%">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="address" align="center" label="地点" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="categoryName" align="center" label="类型"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="amount" align="center" label="投诉次数" :show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickAddressData(row)">{{row.amount}}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="投诉内容" :show-overflow-tooltip="true"></el-table-column>
</el-table>
<el-button @click="handelMoreAddressData" type="text" size="small">查看更多</el-button>
<div>
<h2 style="font-size: 20px; font-weight: bold;"> 同一人员重复投诉</h2>
</div>
<el-table :data="mobileData">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="mobile" align="center" label="联系方式" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button v-if="scope.row.resiId !== null && scope.row.resiId !== ''" @click="handleLook(scope.row)"
type="text" size="small">
{{ scope.row.mobile }}
</el-button>
<span v-else>
{{ scope.row.mobile }}
</span>
</template>
</el-table-column>
<el-table-column prop="amount" align="center" label="投诉次数" :show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickMobileData(row)">{{row.amount}}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="投诉内容" :show-overflow-tooltip="true"></el-table-column>
</el-table>
<el-button @click="handelMoreMobileData" type="text" size="small">查看更多</el-button>
<div>
<h2 style="font-size: 20px; font-weight: bold;"> 同一区域不同类型投诉</h2>
<h1 style="font-size: 24px; font-weight: bold;"> 存在主要问题 </h1>
</div>
<el-table :data="addressMobileData" border class="m-table-item" style="width: 100%"
:span-method="objectSpanMethod">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="address" align="center" label="地点" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="categoryName" align="center" label="类型"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="amount" align="center" label="投诉次数" :show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickAddressMobileData(row)">{{row.amount}}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="投诉内容" :show-overflow-tooltip="true"></el-table-column>
</el-table>
<el-button @click="handelMoreAddressMobileData" type="text" size="small">查看更多</el-button>
<div>
<h2 style="font-size: 20px; font-weight: bold;"> 同一工单追加内容投诉</h2>
<div style="display: flex;justify-content: space-between;flex-direction:row; height:300px">
<div style="display: flex;width: 49%; flex-direction:column;">
<h2 style="font-size: 20px; font-weight: bold;"> 同地点同类型事件重复投诉 </h2>
<el-table :data="addressData" height="250" border class="m-table-item" style="width: 100%">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="address" align="center" label="地点" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="categoryName" align="center" label="类型"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="amount" align="center" label="投诉次数" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="content" align="center" label="操作" fixed="right" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button @click="clickAddressData(row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div style="display: flex;width: 49%;flex-direction:column;">
<h2 style="font-size: 20px; font-weight: bold;"> 同一人员重复投诉</h2>
<el-table :data="mobileData" height="300" border class="m-table-item" style="">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="mobile" align="center" label="联系方式" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button v-if="scope.row.resiId !== null && scope.row.resiId !== ''" @click="handleLook(scope.row)"
type="text" size="small">
{{ scope.row.mobile }}
</el-button>
<span v-else>
{{ scope.row.mobile }}
</span>
</template>
</el-table-column>
<el-table-column cell-style="#fff0f0" prop="amount" align="center" label="投诉次数"
:show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickMobileData(row)">{{ row.amount }}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="操作" fixed="right" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button @click="clickMobileData(row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div style="display: flex;justify-content: space-between;flex-direction:row; height:500px">
<div style="display: flex;width: 49%; flex-direction:column;">
<h2 style="font-size: 20px; font-weight: bold;"> 同一区域不同类型投诉 </h2>
<el-table :data="addressMobileData" height="250" border class="m-table-item" style="width: 100%">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="address" align="center" label="地点" :show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="categoryName" align="center" label="类型"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column cell-style="#fff0f0" prop="amount" align="center" label="投诉次数"
:show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickAddressMobileData(row)">{{ row.amount
}}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="操作" fixed="right" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button @click="clickAddressMobileData(row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div style="display: flex;width: 49%;flex-direction:column;">
<h2 style="font-size: 20px; font-weight: bold;"> 同一工单追加内容投诉</h2>
<el-table :data="addComplainData" height="300" border class="m-table-item" style="">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="categoryName" align="center" label="类型"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column cell-style="#fff0f0" prop="awoNum" align="center" label="追加次数"
:show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickAwoFlagData(row)">{{ row.awoNum}}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="操作" fixed="right" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-button @click="clickAwoFlagData(row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<el-table :data="addComplainData" border class="m-table-item" style="width: 100%">
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
<el-table-column prop="categoryName" align="center" label="类型"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="awoNum" align="center" label="追加内容次数" :show-overflow-tooltip="true">
<template slot-scope="{row}">
<el-button style="width: 100%" type="text" @click="clickAwoFlagData(row)">{{row.awoNum}}</el-button>
</template>
</el-table-column>
<el-table-column prop="content" align="center" label="投诉内容" :show-overflow-tooltip="true"></el-table-column>
</el-table>
<el-button @click="handelMoreAddComplainData" type="text" size="small">查看更多</el-button>
</div>
@ -393,6 +465,17 @@ export default {
components: {TableRow,formList,eventInfo,areaSameList,mobileList,areaNoSameList,addComplainList},
data() {
return {
selectedIndex:0,
titleList:[
{
value:0,
label:'部门科室办件情况'
},
{
value:1,
label:'社区办件情况'
},
],
starttime: "",
endtime: "",
level: 1,
@ -418,7 +501,8 @@ export default {
departHotline: "",
hotDemand: "",
},
addressData: [],
addressData: [
],
mobileData: [],
addressMobileData: [],
addComplainData: [],
@ -723,8 +807,109 @@ export default {
this.EventCategoryAnalysis();
this.EventCate();
this.getCategoryTree()
this.initChart("/actual/base/residentIntegrity/resiCategoryStats/byOrg/query4Org");
},
methods: {
initChart(url) {
this.$http.get(url).then(({ data: { data } }) => {
const chartDom = this.$refs.chart;
const myChart = echarts.init(chartDom);
const departmentNames = [
{ name: "部门A1", xiangying: "87.43", banjie: "64.22", zuizhong: "54", manyi: "200" },
{ name: "部门A2", xiangying: "45.31", banjie: "85.49", zuizhong: "78", manyi: "180" },
{ name: "部门A3", xiangying: "92.10", banjie: "48.56", zuizhong: "80", manyi: "250" },
{ name: "部门A4", xiangying: "76.32", banjie: "92.78", zuizhong: "85", manyi: "190" },
{ name: "部门A5", xiangying: "54.89", banjie: "77.34", zuizhong: "93", manyi: "210" },
{ name: "部门A6", xiangying: "80.45", banjie: "61.23", zuizhong: "88", manyi: "170" },
{ name: "部门A7", xiangying: "67.21", banjie: "90.12", zuizhong: "95", manyi: "220" },
{ name: "部门A8", xiangying: "48.76", banjie: "85.45", zuizhong: "78", manyi: "160" },
{ name: "部门A9", xiangying: "59.88", banjie: "73.67", zuizhong: "82", manyi: "230" },
{ name: "部门A10", xiangying: "88.34", banjie: "68.4", zuizhong: "89", manyi: "240" },
{ name: "部门A11", xiangying: "71.90", banjie: "80.1", zuizhong: "77", manyi: "195" },
{ name: "部门A12", xiangying: "64.78", banjie: "94.0", zuizhong: "92", manyi: "260" },
{ name: "部门A13", xiangying: "90.12", banjie: "79.3", zuizhong: "85", manyi: "280" },
{ name: "部门A14", xiangying: "53.34", banjie: "88.67", zuizhong: "76", manyi: "275" },
{ name: "部门A15", xiangying: "75.45", banjie: "69.87", zuizhong: "82", manyi: "245" },
{ name: "部门A16", xiangying: "66.78", banjie: "71.45", zuizhong: "79", manyi: "210" },
{ name: "部门A17", xiangying: "82.34", banjie: "95.23", zuizhong: "91", manyi: "265" },
{ name: "部门A18", xiangying: "77.98", banjie: "84.65", zuizhong: "89", manyi: "255" },
{ name: "部门A19", xiangying: "58.67", banjie: "75.34", zuizhong: "81", manyi: "190" },
{ name: "部门A20", xiangying: "63.22", banjie: "72.34", zuizhong: "88", manyi: "285" }
];
let xData = departmentNames.map(item => item.name)
let xiangying = departmentNames.map(item => item.xiangying)
console.log(xiangying,"dsfll;dsfj");
let banjie = departmentNames.map(item => item.banjie)
let zuizhong = departmentNames.map(item => item.zuizhong)
let manyi = departmentNames.map(item => item.manyi)
const option = {
tooltip: { trigger: "axis" },
legend: {
bottom: -5,
data: ["响应率", "按时办结率", "最终解决率", "最终满意率"],
},
xAxis: {
type: "category",
data: xData,
},
yAxis: {
type: "value",
name: "占比(%)",
max: 100,
},
series: [
{
name: "响应率", type: "bar", barWidth: 20, data:xiangying, color: "#3B82F6"
},
{ name: "按时办结率", type: "bar", barWidth: 20, data: banjie, color: "#22C55E" },
{ name: "最终解决率", type: "bar", barWidth: 20, data:zuizhong, color: "#FACC15" },
{ name: "最终满意率", type: "bar", barWidth: 20, data:manyi, color: "#FB923C" },
],
grid: { left: "3%", right: "4%", bottom: "10%", containLabel: true },
dataZoom: [
{
type: "slider", //
realtime:true,
show: true,
start: 0, //
end: 50, // 50%
// height:normalFontSize(12),
// width:normalFontSize(112),
// xAxisIndex: [0], // X
handleSize: 0, //
backgroundColor: "transparent", //
fillerColor: "transparent", //
borderColor: "transparent", //
dataBackground: {
lineStyle: {
color: "transparent", // 线
width: 0
}
}
},
{
type: "inside", //
xAxisIndex: [0],
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => myChart.resize());
});
},
randomData() {
return Array(10).fill(0).map(() => Math.floor(Math.random() * 20) + 80);
},
selectItem(index) {
this.selectedIndex = index; //
if(index===0){
this.initChart("/actual/base/residentIntegrity/resiCategoryStats/byOrg/query4Org");
}else{
this.initChart("/actual/base/residentIntegrity/resiCategoryStats/byOrg/query4Org");
}
},
onEventNum(data){
if (data=="resolve") {
this.$router.push({ name: 'eventHandling',params:{params:data} });
@ -750,7 +935,6 @@ export default {
},
initEcharts() {
if(this.categoryCountShow){
this.categoryPie= echarts.init(document.getElementById("categoryPie"));
this.categoryPie.setOption(this.categoryPieOption);
@ -1405,6 +1589,37 @@ thead {
transform: translateY(-50%);
}
.f-align_item {
cursor: pointer;
font-size: 16px;
margin-right: 20px;
line-height: 32px;
}
.f-align_item.active {
line-height: 32px;
color: #427ee0;
/* 点击时的文字颜色 */
font-weight: bold;
border-bottom: 2px solid #427ee0;
margin-right: 20px
/* 点击时的下划线 */
}
.f-align_item span {
color: black;
/* 默认文字颜色 */
}
.chart-container {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.chart {
width: 100%;
height: 350px;
}
</style>

3
src/views/modules/shequzhili/eventHandling/index.vue

@ -122,7 +122,7 @@
<el-button @click="handleWatch(scope.row)" type="text" size="small" v-if="scope.row.operationTypeName!='正常退件'">查看</el-button>
<!-- <el-button @click="handleDispose(scope.row,'dispose')" type="text" size="small" v-if="scope.row.canOperate && scope.row.operationType != '11'&&scope.row.operationType!= '12' ">办理</el-button>
<el-button @click="handleDispose(scope.row,'return')" type="text" size="small" v-if="scope.row.canOperate && scope.row.deptId && scope.row.latestOperatedTime && isWithinTwoHours(scope.row.latestOperatedTime) && scope.row.operationType!='11' &&scope.row.operationType!= '12'">退件</el-button> -->
<el-button @click="handleDispose(scope.row,'dispose')" type="text" size="small" v-if=" scope.roanalysisw.operationType != '11'&&scope.row.operationType!= '12'&&scope.row.operationTypeName!='正常退件' ">办理</el-button>
<el-button @click="handleDispose(scope.row,'dispose')" type="text" size="small" v-if=" scope.row.operationType != '11'&&scope.row.operationType!= '12'&&scope.row.operationTypeName!='正常退件' ">办理</el-button>
<el-button @click="handleDispose(scope.row,'return')" type="text" size="small" v-if="scope.row.status !=='closed_case'&&scope.row.operationTypeName!='正常退件'">退件</el-button>
</template>
@ -627,7 +627,6 @@ export default {
if (this.eventTypeCheck) {
this.formData.secondIdList = this.eventTypeCheck
}
const { pageSize, pageNo, formData } = this;
// formData
const newFormData = { ...formData };

Loading…
Cancel
Save