Browse Source

满意度评价

shibei_master
jiangyy 3 years ago
parent
commit
a05af088f8
  1. 93
      src/assets/scss/modules/shequzhili/event-info.scss
  2. 3
      src/views/modules/shequzhili/event/cpts/add.vue
  3. 63
      src/views/modules/shequzhili/event/cpts/event-detail.vue
  4. 13
      src/views/modules/shequzhili/event/cpts/process-form.vue
  5. 2
      src/views/modules/shequzhili/event/eventList.vue
  6. 1
      src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue
  7. 17
      src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue

93
src/assets/scss/modules/shequzhili/event-info.scss

@ -24,29 +24,58 @@
.avatar-uploader { .avatar-uploader {
margin: 0 0 0 20px; margin: 0 0 0 20px;
/deep/ .el-upload--picture-card{ // /deep/ .el-upload--picture-card{
width: 100px; // width: 100px;
height: 100px; // height: 100px;
} // }
/deep/ .el-upload{ // /deep/ .el-upload{
width: 100px; // width: 100px;
height: 100px; // height: 100px;
line-height: 100px; // line-height: 100px;
} // }
/deep/ .el-upload-list--picture-card .el-upload-list__item{ // /deep/ .el-upload-list--picture-card .el-upload-list__item{
width: 100px; // width: 100px;
height: 100px; // height: 100px;
line-height: 100px; // line-height: 100px;
} // }
/deep/ .el-upload-list--picture-card .el-upload-list__item-thumbnail{ // /deep/ .el-upload-list--picture-card .el-upload-list__item-thumbnail{
width: 100px; // width: 100px;
height: 100px; // height: 100px;
line-height: 100px; // line-height: 100px;
} // }
/deep/ .avatar{ // /deep/ .avatar{
width: 100px; // width: 100px;
height: 100px; // height: 100px;
} // }
// /deep/ .el-upload-list__item-status-label {
// display: block;
// position: absolute;
// right: -15px;
// top: -6px;
// width: 40px;
// height: 24px;
// background: #13ce66;
// text-align: center;
// -webkit-transform: rotate(45deg);
// transform: rotate(45deg);
// -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2);
// box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2);
// }
// /deep/ .el-upload-list__item-actions {
// position: absolute;
// width: 100%;
// height: 100%;
// left: 0;
// top: 0;
// cursor: default;
// text-align: center;
// color: #fff;
// opacity: 0;
// font-size: 20px;
// background-color: rgba(0, 0, 0, 0.5);
// -webkit-transition: opacity .3s;
// transition: opacity .3s;
// }
} }
@ -206,8 +235,9 @@
} }
.m-row { .m-row {
display: flex; // display: flex;
justify-content: space-between; justify-content: space-between;
width:100%;
} }
.m-hint { .m-hint {
@ -404,17 +434,20 @@
} }
.div-satisfy{ .div-satisfy{
padding:50px; padding:10px 0 0;
display:flex ; display:flex ;
justify-content: space-around; justify-content: flex-start;
text-align: center; text-align: center;
>div{
margin-left:50px;
}
img{ img{
width:100px; width:80px;
height:100px; height:80px;
} }
.tip-satisfy{ .tip-satisfy{
text-align: center; text-align: center;
margin-top:20px margin-top:10px
} }
} }

3
src/views/modules/shequzhili/event/cpts/add.vue

@ -585,12 +585,15 @@ export default {
removePic (file, fileList) { removePic (file, fileList) {
this.formData.imageList.splice(this.formData.imageList.findIndex(item => item === file.url), 1) this.formData.imageList.splice(this.formData.imageList.findIndex(item => item === file.url), 1)
this.replayImgList.splice(this.replayImgList.findIndex(item => item.uid === file.uid), 1) this.replayImgList.splice(this.replayImgList.findIndex(item => item.uid === file.uid), 1)
this.hideUploadBtn = fileList.length >= 3;
}, },
// 3 // 3
handleEditChange (file, fileList) { handleEditChange (file, fileList) {
this.hideUploadBtn = fileList.length >= 3; this.hideUploadBtn = fileList.length >= 3;
}, },
exceedPic () { exceedPic () {

63
src/views/modules/shequzhili/event/cpts/event-detail.vue

@ -73,32 +73,18 @@
</div> </div>
</div> </div>
<div v-if="info.operationId||info.status==='closed_case'"
<div v-if="info.operationId&&info.status!=='closed_case'"
class="div-btn "> class="div-btn ">
<el-button v-if=" info.status==='closed_case'&&!info.satisfactionName && user.id===info.createdUserId"
size="small"
class="diy-button--reset"
@click="handleSatisfy">满意度评价</el-button>
<el-button size="small" <el-button size="small"
@click="handleCloseEvent">关闭</el-button> @click="handleCloseEvent">关闭</el-button>
</div> </div>
</el-card> </el-card>
<!-- <div v-if="showType=='project'"> <el-card v-if=" info.status==='closed_case'">
<project-info ref="eleEditForm" <h3>满意度评价</h3>
:type="projectPageType" <div class="m-row">
:projectId="info.operationId" <div class="m-info">
@close="handleClose"
@afterEdit="handleClose" />
</div> -->
<el-dialog :visible.sync="showSatisfy"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="满意度评价"
width="550px"
top="15vh"
class="dialog-h"
@closed="showSatisfy=false">
<div class="div-satisfy"> <div class="div-satisfy">
<div> <div>
@ -117,6 +103,30 @@
<div class="tip-satisfy">非常满意</div> <div class="tip-satisfy">非常满意</div>
</div> </div>
</div> </div>
</div>
</div>
<div v-if="info.operationId||info.status==='closed_case'"
class="div-btn ">
<el-button size="small"
@click="handleCloseEvent">关闭</el-button>
<el-button v-if="info.status==='closed_case'&&!info.satisfactionName && user.id===info.createdUserId"
size="small"
type="primary"
@click="handleComfirmSatisfy">确定</el-button>
</div>
</el-card>
<el-dialog :visible.sync="showSatisfy"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="满意度评价"
width="550px"
top="15vh"
class="dialog-h"
@closed="showSatisfy=false">
<div class="div-btn"> <div class="div-btn">
<el-button size="small" <el-button size="small"
@click="showSatisfy=false">关闭</el-button> @click="showSatisfy=false">关闭</el-button>
@ -213,6 +223,11 @@ export default {
this.user = this.$store.state.user this.user = this.$store.state.user
if (this.eventId) { if (this.eventId) {
this.info = JSON.parse(JSON.stringify(this.eventDetailData)); this.info = JSON.parse(JSON.stringify(this.eventDetailData));
//
if (this.info.status === 'closed_case' && this.info.satisfactionName) {
this.changeSatisfyType(this.info.satisfaction)
}
} }
// this.getApiData(); // this.getApiData();
@ -255,6 +270,14 @@ export default {
}, },
clickSatisfy (type) { clickSatisfy (type) {
if (this.info.satisfactionName) {
return false
}
this.changeSatisfyType(type)
},
changeSatisfyType (type) {
if (type === 'bad') { if (type === 'bad') {
this.selGood = false this.selGood = false
this.selPerfect = false this.selPerfect = false

13
src/views/modules/shequzhili/event/cpts/process-form.vue

@ -10,10 +10,13 @@
<el-form-item label="处理方式" <el-form-item label="处理方式"
label-width="150px" label-width="150px"
prop="operationType"> prop="operationType">
<el-radio-group v-model="operationType"> <el-radio-group v-model="operationType"
@change="handleChangeOperationType">
<el-radio label="">暂不处理</el-radio>
<el-radio label="0">回复</el-radio> <el-radio label="0">回复</el-radio>
<el-radio label="1">立项</el-radio> <el-radio label="1">立项</el-radio>
<el-radio label="2">转服务</el-radio> <el-radio label="2">转服务</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
@ -142,13 +145,11 @@ export default {
}, },
methods: { methods: {
handleChangeOperationType (val) {
},
async getProcessInfo () { async getProcessInfo () {
this.okflag = false this.okflag = false
// this.categoryList = []
// this.categoryList.push(this.selCategoryArray[1])
if (this.operationType === '0') { if (this.operationType === '0') {
this.$refs.ref_process_form_replay.getReplayInfo() this.$refs.ref_process_form_replay.getReplayInfo()
if (this.$refs.ref_process_form_replay.okflag) { if (this.$refs.ref_process_form_replay.okflag) {

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

@ -246,7 +246,7 @@
width="100"> width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status==='processing' " <el-button v-if="scope.row.status==='processing'&&!scope.row.operationId "
@click="handleDispose(scope.row)" @click="handleDispose(scope.row)"
type="text" type="text"
size="small" size="small"

1
src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue

@ -448,6 +448,7 @@ export default {
queryEndTime: this.queryEndTime, queryEndTime: this.queryEndTime,
pageNo: this.demand.pageNo, pageNo: this.demand.pageNo,
pageSize: this.demand.pageSize, pageSize: this.demand.pageSize,
biz: 'eventProcessAnalysis'
}; };
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);

17
src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue

@ -124,7 +124,7 @@ import dateFormat from "dai-js/tools/dateFormat"
import nextTick from 'dai-js/tools/nextTick' import nextTick from 'dai-js/tools/nextTick'
const colorArray = [ '#1B51FF', '#00E5ED', '#7800FF', '#16D783', '#FF7800', '#FFBA00', '#FFD685', '#2A00FF', '#C600FF', '#FF2A00'] const colorArray = ['#1B51FF', '#00E5ED', '#7800FF', '#16D783', '#FF7800', '#FFBA00', '#FFD685', '#2A00FF', '#C600FF', '#FF2A00']
export default { export default {
name: "shijianchulifenxi", name: "shijianchulifenxi",
data () { data () {
@ -276,7 +276,7 @@ export default {
let end = new Date() let end = new Date()
let start = new Date() let start = new Date()
if (index === '1') { // if (index === '1') { //
start.setFullYear(start.getFullYear() -1) start.setFullYear(start.getFullYear() - 1)
} else if (index === '2') { // } else if (index === '2') { //
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
@ -287,10 +287,10 @@ export default {
start.setTime(start.getTime() - 3600 * 1000 * 24 * 183) start.setTime(start.getTime() - 3600 * 1000 * 24 * 183)
} }
if (index != '0') { if (index != '0') {
this.queryStartTime = dateFormat(start,'yyyy-MM-dd')+" 00:00:00" this.queryStartTime = dateFormat(start, 'yyyy-MM-dd') + " 00:00:00"
this.queryEndTime = dateFormat(end,'yyyy-MM-dd')+" 23:59:59" this.queryEndTime = dateFormat(end, 'yyyy-MM-dd') + " 23:59:59"
} }
if (index !== '0'){ if (index !== '0') {
await this.getApiData() await this.getApiData()
// this.assignData() // this.assignData()
} }
@ -303,8 +303,8 @@ export default {
handleSelectChange (value) { handleSelectChange (value) {
console.log(value) console.log(value)
this.queryStartTime = value[0]+" 00:00:00" this.queryStartTime = value[0] + " 00:00:00"
this.queryEndTime = value[1]+" 23:59:59" this.queryEndTime = value[1] + " 23:59:59"
this.getApiData() this.getApiData()
}, },
@ -423,6 +423,7 @@ export default {
categoryCode: this.categoryCode, categoryCode: this.categoryCode,
pageNo: this.demand.pageNo, pageNo: this.demand.pageNo,
pageSize: this.demand.pageSize, pageSize: this.demand.pageSize,
biz: 'eventCategoryAnalysis'
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
@ -433,7 +434,7 @@ export default {
this.tableList = data.list this.tableList = data.list
this.demand.list = data.list.map((item, index) => { this.demand.list = data.list.map((item, index) => {
return [ return [
index+1, index + 1,
item.gridName ? item.gridName : '', item.gridName ? item.gridName : '',
item.eventContent ? item.eventContent : '', item.eventContent ? item.eventContent : '',
item.sourceTypeName ? item.sourceTypeName : '', item.sourceTypeName ? item.sourceTypeName : '',

Loading…
Cancel
Save