|
@ -75,6 +75,10 @@ |
|
|
</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.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> |
|
|
|
|
|
|
|
@ -87,6 +91,41 @@ |
|
|
@close="handleClose" |
|
|
@close="handleClose" |
|
|
@afterEdit="handleClose" /> |
|
|
@afterEdit="handleClose" /> |
|
|
</div> --> |
|
|
</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> |
|
|
|
|
|
<img :src="selBad?badurl_light:badurl" |
|
|
|
|
|
@click="clickSatisfy('bad')" /> |
|
|
|
|
|
<div class="tip-satisfy">不满意</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<img :src="selGood?goodurl_light:goodurl" |
|
|
|
|
|
@click="clickSatisfy('good')" /> |
|
|
|
|
|
<div class="tip-satisfy">满意</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div> |
|
|
|
|
|
<img :src="selPerfect?perfecturl_light:perfecturl" |
|
|
|
|
|
@click="clickSatisfy('perfect')" /> |
|
|
|
|
|
<div class="tip-satisfy">非常满意</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="div-btn"> |
|
|
|
|
|
<el-button size="small" |
|
|
|
|
|
@click="showSatisfy=false">关闭</el-button> |
|
|
|
|
|
<el-button style="margin-left:20px" |
|
|
|
|
|
type="primary" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="handleComfirmSatisfy">确定</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
@ -99,7 +138,7 @@ import dateFormat from "dai-js/tools/dateFormat"; |
|
|
|
|
|
|
|
|
function iniData () { |
|
|
function iniData () { |
|
|
return { |
|
|
return { |
|
|
|
|
|
user: {}, |
|
|
projectPageType: 'info', |
|
|
projectPageType: 'info', |
|
|
|
|
|
|
|
|
info: {}, |
|
|
info: {}, |
|
@ -122,6 +161,18 @@ function iniData () { |
|
|
demandUserName: "", |
|
|
demandUserName: "", |
|
|
demandUserMobile: "", |
|
|
demandUserMobile: "", |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//满意度评价 |
|
|
|
|
|
showSatisfy: false, |
|
|
|
|
|
selBad: false, |
|
|
|
|
|
selGood: false, |
|
|
|
|
|
selPerfect: false, |
|
|
|
|
|
badurl: require('@/assets/img/satisfy-images/face1.png'), |
|
|
|
|
|
badurl_light: require('@/assets/img/satisfy-images/face1_light.png'), |
|
|
|
|
|
goodurl: require('@/assets/img/satisfy-images/face2.png'), |
|
|
|
|
|
goodurl_light: require('@/assets/img/satisfy-images/face2_light.png'), |
|
|
|
|
|
perfecturl: require('@/assets/img/satisfy-images/face3.png'), |
|
|
|
|
|
perfecturl_light: require('@/assets/img/satisfy-images/face3_light.png'), |
|
|
}; |
|
|
}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -138,6 +189,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
eventDetailData: { |
|
|
eventDetailData: { |
|
|
|
|
|
|
|
|
type: Object, |
|
|
type: Object, |
|
|
default () { |
|
|
default () { |
|
|
return {} |
|
|
return {} |
|
@ -158,7 +210,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
mounted () { |
|
|
mounted () { |
|
|
|
|
|
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)); |
|
|
} |
|
|
} |
|
@ -172,17 +224,14 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
handleClose () { |
|
|
handleClose () { |
|
|
|
|
|
|
|
|
this.showType = '' |
|
|
this.showType = '' |
|
|
}, |
|
|
}, |
|
|
handleCloseEvent () { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handleCloseEvent () { |
|
|
this.$emit("handleClose"); |
|
|
this.$emit("handleClose"); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
async getApiData () { |
|
|
async getApiData () { |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
handleToProject () { |
|
|
handleToProject () { |
|
@ -199,6 +248,62 @@ export default { |
|
|
this.$emit("handleToDemand") |
|
|
this.$emit("handleToDemand") |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//满意度评价 |
|
|
|
|
|
handleSatisfy () { |
|
|
|
|
|
|
|
|
|
|
|
this.showSatisfy = true |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
clickSatisfy (type) { |
|
|
|
|
|
if (type === 'bad') { |
|
|
|
|
|
this.selGood = false |
|
|
|
|
|
this.selPerfect = false |
|
|
|
|
|
this.selBad = true |
|
|
|
|
|
} else if (type === 'good') { |
|
|
|
|
|
this.selGood = true |
|
|
|
|
|
this.selPerfect = false |
|
|
|
|
|
this.selBad = false |
|
|
|
|
|
} else if (type === 'perfect') { |
|
|
|
|
|
this.selGood = false |
|
|
|
|
|
this.selPerfect = true |
|
|
|
|
|
this.selBad = false |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
async handleComfirmSatisfy () { |
|
|
|
|
|
let satisfyLevel = '' |
|
|
|
|
|
if (!this.selBad && !this.selGood && !this.selPerfect) { |
|
|
|
|
|
this.$message.info("请选择评价级别"); |
|
|
|
|
|
} else { |
|
|
|
|
|
if (this.selBad) { |
|
|
|
|
|
satisfyLevel = 'bad' |
|
|
|
|
|
} else if (this.selGood) { |
|
|
|
|
|
satisfyLevel = 'good' |
|
|
|
|
|
} else if (this.selPerfect) { |
|
|
|
|
|
satisfyLevel = 'perfect' |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
const url = "/gov/project/icEvent/comment" |
|
|
|
|
|
|
|
|
|
|
|
let params = { |
|
|
|
|
|
icEventId: this.eventId, |
|
|
|
|
|
satisfaction: satisfyLevel |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params) |
|
|
|
|
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
|
|
this.$message.success("评价成功"); |
|
|
|
|
|
this.info.satisfactionName = '111' |
|
|
|
|
|
this.showSatisfy = false |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.error(msg) |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|