123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558 |
- <template>
- <el-dialog
- ref="dialog"
- :close-on-click-modal="false"
- :title="title"
- :top="dialogFormTop"
- :visible.sync="dialogVisible"
- :destroy-on-close="true"
- width="97.5%"
- :model="false"
- :before-close="handleClose"
- >
- <div v-loading="loading" element-loading-text="数据加载中"
- element-loading-spinner="el-icon-loading"
- element-loading-background="rgba(3, 30, 57, 0.8)">
- <div class="dialog_content">
- <div class="block-info">
- <div class="cate-title">
- <span class="order">01</span>
- <span>基本信息</span>
- </div>
- <div class="info-content base-info">
- <div class="item" v-for="(item,index) in baseInfo" :key="index">
- <span class="item_name">{{item.name}}:</span>
- <span>{{item.value}}</span>
- </div>
- </div>
- </div>
- <div class="block-info">
- <div class="cate-title">
- <span class="order">02</span>
- <span>评价信息</span>
- </div>
- <div class="info-content base-info">
- <div class="item" v-for="(item,index) in evaluateInfo.slice(0,5)" :key="index">
- <span class="item_name">{{item.name}}:</span>
- <span>{{item.value}}</span>
- </div>
- <div class="item_line" v-for="(item,index) in evaluateInfo.slice(5,8)" :key="index">
- <span class="item_name">{{item.name}}:</span>
- <span>{{item.value}}</span>
- </div>
- </div>
- <div>
- <el-button type="primary" size="small">屏蔽文字</el-button>
- <el-button type="primary" size="small">撤销屏蔽</el-button>
- </div>
- <div class="evaluate_img" v-for="(item,index) in evaluate_img" :key="index">
- <el-image
- style="width: 80px; height: 80px;margin: 10px 5px 0px 0px;"
- :src="item.PICTURE_PATH"
- :preview-src-list="srcList">
- </el-image>
- <el-checkbox class="checkbox" v-model="item.STATE" @change="evaluatChange(item.MARK_UUID)" ></el-checkbox>
- </div>
- </div>
- <div v-if="operationType === 'find' || operationType === 'exam'" class="block-info">
- <div class="cate-title">
- <span class="order">03</span>
- <span>答复管理信息</span>
- </div>
- <div class="info-content base-info">
- <div class="item_line" v-for="(item,index) in repeatInfo" :key="index">
- <span class="item_name">{{item.name}}:</span>
- <span>{{item.value}}</span>
- </div>
- </div>
- </div>
- <div v-if="operationType === 'find'" class="block-info">
- <div class="cate-title">
- <span class="order">04</span>
- <span>审核回复信息</span>
- </div>
- <div class="info-content base-info">
- <div class="item_line" v-for="(item,index) in examInfo" :key="index">
- <span class="item_name">{{item.name}}:</span>
- <span>{{item.value}}</span>
- </div>
- </div>
- </div>
- <div v-if="operationType === 'exam'" class="block-info">
- <div class="cate-title">
- <span class="order">04</span>
- <span>审核回复信息</span>
- </div>
- <div class="form-area">
- <el-form size="small" :model="formExamData" inline label-width="100">
- <el-form-item label="审核意见">
- <el-input v-model="formExamData.advance" type="textarea"></el-input>
- </el-form-item>
- </el-form>
- </div>
- </div>
- <div v-if="operationType === 'repeat'" class="block-info">
- <div class="cate-title">
- <span class="order">03</span>
- <span>答复管理信息</span>
- </div>
- <div class="form-area">
- <el-form size="small" :model="formData" inline label-width="100">
- <el-form-item label="回复内容">
- <el-input v-model="formData.advance" type="textarea"></el-input>
- </el-form-item>
- </el-form>
- </div>
- </div>
- <div class="btns model-btns save-class" v-if="operationType!=='exam'">
- <el-button size="small" v-if="operationType === 'repeat'" @click="saveRepeatInfo()" type="primary">保存</el-button>
- <el-button size="small" @click="handleClose" type="primary">关闭</el-button>
- </div>
- <div class="btns model-btns save-class" v-else>
- <el-button size="small" type="primary" @click="saveExamInfo('1')">审核通过</el-button>
- <el-button size="small" type="primary" @click="saveExamInfo('2')">审核不通过</el-button>
- <el-button size="small" @click="handleClose" type="primary">关闭</el-button>
- </div>
- </div>
- </div>
- </el-dialog>
- </template>
- <script>
- import {getCurrentTime} from "@/commomUse";
- import {MessageBox} from "element-ui";
- export default {
- name: "EvaluateRepeatModel",
- data(){
- return {
- evaluate_img:[
- ],
- srcList: [
- ],
- loading:false,
- dialogFormTop:'12vh',
- baseInfo:[
- {
- name:'办件编号',
- code:'HANDING_NUMBER',
- value:"",
- },
- {
- name:'事项名称',
- code:'MATTER_NAME',
- value:"",
- },
- {
- name:'归属部门',
- code:'BELONGING_DEPARTMENT',
- value:"",
- },
- {
- name:'事项编码',
- code:'MATTER_CODE',
- value:"",
- },
- {
- name:'办理点',
- code:'HANDING_POING',
- value:"",
- },
- {
- name:'评价对象',
- code:'EVALUATION_OBJECT',
- value:"",
- },
- {
- name:'窗口号',
- code:'WINDOW_NUMBER',
- value:"",
- },
- {
- name:'数据来源',
- code:'DATA_SOURCES',
- value:"",
- },
- {
- name:'工作人员',
- code:'WORKING_PERSONNEL',
- value:"",
- },
- {
- name:'办件对象',
- code:'HANDING_OBJECT',
- value:"",
- },
- {
- name:'工号',
- code:'JOB_NUMBER',
- value:"",
- },
- {
- name:'实名途径',
- code:'REAL_NAME_CHANNEL',
- value:"",
- },
- {
- name:'是否转办12345',
- code:'TRANSFER',
- value:"",
- },
- ],
- evaluateInfo:[
- {
- name:'联系人',
- code:'CONTACTS',
- value:''
- },
- {
- name:'联系方式',
- code:'CONTACT_MODE',
- value:''
- },
- {
- name:'评价时间',
- code:'COMMENT_TIME',
- value:''
- },
- {
- name:'社会信用代码',
- code:'CREDIT_CODE',
- value:''
- },
- {
- name:'总体满意度',
- code:'OVERALL_SATISFACTION',
- value:''
- },
- {
- name:'勾选理由',
- code:'REASON',
- value:''
- },
- {
- name:'评价内容(原文)',
- code:'EVALUATION_CONTENT',
- value:''
- },
- {
- name:'评价内容(发布)',
- code:'EVALUATION_CONTENT',
- value:''
- },
- ],
- repeatInfo:[
- {
- name:'回复人',
- code:'REPLY_USERNAME',
- value:''
- },
- {
- name:'回复时间',
- code:'REPLY_TIME',
- value:''
- },
- {
- name:'回复内容',
- code:'REPLY_CONTENT',
- value:''
- },
- ],
- examInfo:[
- {
- name:'审核状态',
- code:'EXAMINE_STATE',
- value:''
- },
- {
- name:'审核人',
- code:'EXAMINE_USERNAME',
- value:''
- },
- {
- name:'审核时间',
- code:'EXAMINE_TIME',
- value:''
- },
- {
- name:'审核内容',
- code:'EXAMINE_CONTENT',
- value:''
- },
- ],
- formData: {
- advance:''
- },
- formExamData: {
- advance:''
- },
- }
- },
- props:{
- dialogVisible:{
- },
- title:{
- },
- currentData:{
- },
- operationType:{
- }
- },
- methods:{
- evaluatChange(MARK_UUID){//循环
- for(var i = 0 ; i < this.evaluate_img.length;i++){
- if(MARK_UUID == this.evaluate_img[i]["MARK_UUID"]){
- this.editYwtbEvaluatePicture(MARK_UUID,this.evaluate_img[i]["STATE"]);
- break;
- }
- }
- },
- selectYwtbEvaluatePicture(){
- this.$request({
- url:'/ywtb/selectYwtbEvaluatePicture',
- method:'post',
- data:{
- 'EVALUATE_UUID':this.currentData.MARK_UUID
- }
- }).then(response => {
- let dataArr = response.data.msg[0].Rows
- if(dataArr.length > 0){
- this.srcList = [];
- for(let i=0;i<dataArr.length;i++){
- this.srcList.push(dataArr[i]["PICTURE_PATH"]);
- if(dataArr[i]["STATE"] == "1"){
- dataArr[i]["STATE"] = true;
- }else{
- dataArr[i]["STATE"] = false;
- }
- }
- this.evaluate_img =dataArr;
- }else{
- this.srcList = [];
- this.evaluate_img = [];
- }
- })
- },
- editYwtbEvaluatePicture(MARK_UUID,STATE){
- this.$request({
- url:'/ywtb/editYwtbEvaluatePicture',
- method:'post',
- data:{
- "MARK_UUID":MARK_UUID,
- "STATE":STATE == true ? 1 : 0
- }
- }).then(response => {
- let dataArr = response.data.msg[0].success;
- if(dataArr=='true'){
- MessageBox.alert('操作成功', '提示', {
- confirmButtonText: '确定'
- });
- }else{
- this.loading=false;
- MessageBox.alert('操作失败', '提示', {
- confirmButtonText: '确定'
- });
- }
- })
- },
- showData(){
- let DataList = ["baseInfo","evaluateInfo","repeatInfo","examInfo"];
- for(let i =0;i<DataList.length;i++){
- for(let j=0;j< this[DataList[i]].length;j++){
- this[DataList[i]][j].value = '';
- }
- }
- for(let obj in this.currentData){
- for(let i=0;i<DataList.length;i++){
- for(let j=0;j<this[DataList[i]].length;j++){
- if(obj==this[DataList[i]][j].code){
- if(obj =='EXAMINE_STATE'){
- if(this.currentData[obj] =='1'){
- this[DataList[i]][j].value ='审核通过'
- }else if(this.currentData[obj] =='2'){
- this[DataList[i]][j].value ='审核不通过'
- }
- }else{
- this[DataList[i]][j].value =this.currentData[obj]
- }
- }
- }
- }
- }
- this.selectYwtbEvaluatePicture();
- },
- saveRepeatInfo(){
- this.loading=true;
- let time =getCurrentTime()
- this.$request({
- url:'/ywtb/editYwtbEvaluate',
- method:'post',
- data:{
- "REPLY_USER":localStorage.getItem("ywtb_usercode"),
- "REPLY_TIME":time,
- "REPLY_CONTENT":this.formData.advance,
- "MARK_UUID":this.currentData.MARK_UUID,
- "EXAMINE_STATE":'0',
- "appkey":localStorage.getItem("ywtb_userkeycode")
- }
- }).then(response => {
- let dataArr = response.data.msg[0].success;
- if(dataArr=='true'){
- console.log(dataArr);
- this.loading=false;
- MessageBox.alert('回复成功', '提示', {
- confirmButtonText: '确定'
- });
- this.handleClose();
- }else{
- this.loading=false;
- MessageBox.alert('回复失败', '提示', {
- confirmButtonText: '确定'
- });
- }
- })
- },
- saveExamInfo(index){
- this.loading=true;
- let time =getCurrentTime()
- this.$request({
- url:'/ywtb/editYwtbEvaluate',
- method:'post',
- data:{
- "REPLY_TIME":this.currentData.REPLY_TIME.slice(0, -2),
- "EXAMINE_USER":localStorage.getItem("ywtb_usercode"),
- "EXAMINE_TIME":time,
- "EXAMINE_CONTENT":this.formExamData.advance,
- "MARK_UUID":this.currentData.MARK_UUID,
- "EXAMINE_STATE":index,
- "appkey":localStorage.getItem("ywtb_userkeycode")
- }
- }).then(response => {
- let dataArr = response.data.msg[0].success;
- if(dataArr=='true'){
- console.log(dataArr);
- this.loading=false;
- MessageBox.alert('审核成功', '提示', {
- confirmButtonText: '确定'
- });
- this.handleClose();
- }else{
- this.loading=false;
- MessageBox.alert('审核失败', '提示', {
- confirmButtonText: '确定'
- });
- }
- })
- },
- handleClose() {
- this.formData.advance = '';
- this.formExamData.advance = '';
- this.$emit('update:dialogVisible',false)
- },
- },
- watch:{
- dialogVisible:{
- handler(val){
- if(val){
- this.showData();
- }
- },
- deep:true
- }
- }
- }
- </script>
- <style scoped lang="scss">
- .evaluate_img{
- display: inline-block;
- position:relative;
- }
- .evaluate_img .checkbox{
- position: absolute;
- top:10px;
- left:5px;
- }
- .el-dialog__wrapper{
- overflow: hidden;
- }
- .form-area{
- margin-top: 10px;
- margin-bottom: 10px;
- }
- ::v-deep{
- .el-form-item__label{
- font-weight: bolder !important;
- //color: #71d7ff;
- }
- .el-form-item--small .el-form-item__content{
- .el-textarea__inner{
- height:110px;
- }
- width: 600px;
- }
- .el-dialog__wrapper{
- overflow: hidden;
- }
- .el-dialog{
- //height: 70%;
- // overflow: auto;
- }
- }
- .dialog_content{
- /* height: 650px;*/
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- //overflow: auto;
- }
- .block-info{
- width: 45%;
- padding-left: 2.5%;
- padding-right: 2.5%;
- margin: 15px 0;
- .info-content{
- display: flex;
- flex-wrap: wrap;
- .item{
- width: 50%;
- line-height:40px;
- }
- .item_line{
- width: 100%;
- line-height:40px;
- }
- }
- .cate-title{
- padding: 10px 0;
- margin-bottom: 4px;
- border-bottom: 1px solid #2c91cc;
- color: #71d7ff;
- font-size: 18px;
- font-weight: bold;
- }
- .order{
- margin-right: 6px;
- }
- color: #fff;
- font-size: 16px;
- }
- .save-class{
- width: 100%;
- }
- .item_name{
- //color: #71d7ff;
- font-weight: bolder;
- }
- </style>
|