|
|
@@ -16,7 +16,7 @@
|
|
|
<el-table-column fixed="left" label="流程" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.type == 1" style="color: rgba(9, 101, 98, 1);">民宿信息维护</span>
|
|
|
- <span v-else-if="scope.row.type == 2" style="color: rgba(9, 101, 98, 1);">投诉</span>
|
|
|
+ <span v-else-if="scope.row.type == 2" style="color: rgba(9, 101, 98, 1);">评价</span>
|
|
|
<span v-else-if="scope.row.type == 3" style="color: rgba(9, 101, 98, 1);">推文</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -46,42 +46,89 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- 我的代办/主办 -->
|
|
|
- <el-dialog title="我的代办/主办" custom-class="acceptance-class" :visible.sync="dialogInfoMinsuVisible" :close-on-click-modal="false"
|
|
|
+ <el-dialog title="民宿信息维护/主办" custom-class="class-daiban" :visible.sync="dialogInfoMinsuVisible" :close-on-click-modal="false"
|
|
|
:close-on-press-escape="false" @close="dialogInfoMinsuVisible = false">
|
|
|
<div style="display: flex; align-items: flex-start;">
|
|
|
<div style="color: #999; font-weight: bold; width: 80px; text-align: right;">民宿图片</div>
|
|
|
<div style="margin: 0 10px; width: 230px;">
|
|
|
<div style="color: #000; margin: 0 0 10px 0; text-align: center;">封面图:</div>
|
|
|
<div style="text-align: center; border-radius: 5px;">
|
|
|
- <img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201707%2F20%2F20170720191223_wuHTd.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1697879045&t=cb56d9c30aaec217a0d688704105f23f"
|
|
|
- style="border-radius: 5px;" alt="" width="180">
|
|
|
+ <viewer>
|
|
|
+ <img :src="approved_reject_Data.coverImg" style="border-radius: 5px;" alt="" width="180">
|
|
|
+ </viewer>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="margin: 0 10px; width: 500px;">
|
|
|
<div style="color: #000; margin: 0 0 10px 0; text-align: center; ">详情图:</div>
|
|
|
- <el-carousel :interval="3000" height="180px" style="border-radius: 5px;">
|
|
|
- <el-carousel-item v-for="item in pics" :key="item.id">
|
|
|
- <img :src="item.picUrl" width="500">
|
|
|
- </el-carousel-item>
|
|
|
- </el-carousel>
|
|
|
+ <viewer>
|
|
|
+ <el-carousel :interval="3000" height="180px" style="border-radius: 5px;">
|
|
|
+ <el-carousel-item v-for="item in approved_reject_Data.fileInfoList" :key="item.id">
|
|
|
+ <img :src="item.url" width="500">
|
|
|
+ </el-carousel-item>
|
|
|
+ </el-carousel>
|
|
|
+ </viewer>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-divider></el-divider>
|
|
|
+ <div style="display: flex; margin-top: 20px;">
|
|
|
+ <div style="color: #999; font-weight: bold; width: 80px; text-align: right; margin-right: 10px;">简介</div>
|
|
|
+ <el-input type="textarea" placeholder="暂无内容" rows="8" style="width: 740px;" v-model="approved_reject_Data.remark" maxlength="500"
|
|
|
+ show-word-limit>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <p style="display: flex; justify-content: center;">
|
|
|
+ <el-button type="danger" @click="handlerReject">驳 回</el-button>
|
|
|
+ <el-button type="primary" class="confirm-btn" @click="handlerPass">通 过</el-button>
|
|
|
+ </p>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 评价 -->
|
|
|
+ <el-dialog title="评价/主办" custom-class="class-pingjia" :visible.sync="dialogevaluateVisible" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
+ @close="dialogevaluateVisible = false">
|
|
|
+ <div style="display: flex; margin-bottom: 20px;">
|
|
|
+ <div style="text-align: right; font-weight: bold; width: 100px; height: 100px;">评价描述:</div>
|
|
|
+ <div style="width: calc(100% - 100px); height: 180px;">{{ approved_reject_Data.remark }}</div>
|
|
|
+ </div>
|
|
|
<div style="display: flex;">
|
|
|
- <div style="color: #999; font-weight: bold; width: 80px; text-align: right; margin-right: 10px;">状态</div>
|
|
|
- <div style="color: rgba(212, 48, 48, 1); width: 80px;">已驳回</div>
|
|
|
+ <div style="text-align: right; font-weight: bold; width: 100px; height: 100px;">视频/图片:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div v-if="approved_reject_Data.fileInfoList.length > 0">
|
|
|
+ <viewer>
|
|
|
+ <img width="110" style="margin: 0 2px; border-radius: 5px;" v-for="src in approved_reject_Data.fileInfoList" :src="src.url"
|
|
|
+ :key="src.id">
|
|
|
+ </viewer>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div style="display: flex; margin-top: 18px;">
|
|
|
- <div style="color: #999; font-weight: bold; width: 80px; text-align: right; margin-right: 10px;">备注</div>
|
|
|
- <div style="color: #000; width: 736px; height: 200px; border-radius: 3px; overflow-y: scroll; padding: 5px; border: 1px solid #ccc;">
|
|
|
- 备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备注备备注</div>
|
|
|
+ <p style="display: flex; justify-content: center;">
|
|
|
+ <el-button type="danger" @click="handlerReject">驳 回</el-button>
|
|
|
+ <el-button type="primary" class="confirm-btn" @click="handlerPass">通 过</el-button>
|
|
|
+ </p>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 推文 -->
|
|
|
+ <el-dialog title="推文/主办" custom-class="class-article" :visible.sync="dialogArticleVisible" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
+ @close="dialogArticleVisible = false">
|
|
|
+ <div style="display: flex; margin-bottom: 20px;">
|
|
|
+ <div style="text-align: right; font-weight: bold; width: 100px; ">标题:</div>
|
|
|
+ <div style="width: calc(100% - 100px); ">{{ approved_reject_Data.title }}</div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <p style="display: flex; justify-content: center;">
|
|
|
- <el-button type="danger" @click="handlerReject">驳 回</el-button>
|
|
|
- <el-button type="primary" class="confirm-btn" @click="handlerPass">通 过</el-button>
|
|
|
- </p>
|
|
|
+ <div style="display: flex; margin-bottom: 20px;">
|
|
|
+ <div style="text-align: right; font-weight: bold; width: 100px; height: 80px;">描述:</div>
|
|
|
+ <div style="width: calc(100% - 100px); height: 80px;">{{ approved_reject_Data.remark }}</div>
|
|
|
</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div style="text-align: right; font-weight: bold; width: 100px; height: 100px;">视频/图片:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div v-if="approved_reject_Data.fileInfoList.length > 0" style="height: 120px;">
|
|
|
+ <viewer>
|
|
|
+ <img width="110" style="margin: 0 2px; border-radius: 5px;" v-for="src in approved_reject_Data.fileInfoList" :src="src.url"
|
|
|
+ :key="src.id">
|
|
|
+ </viewer>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <p style="display: flex; justify-content: center;">
|
|
|
+ <el-button type="danger" @click="handlerReject">驳 回</el-button>
|
|
|
+ <el-button type="primary" class="confirm-btn" @click="handlerPass">通 过</el-button>
|
|
|
+ </p>
|
|
|
</el-dialog>
|
|
|
<!-- 审核通过确认对话框 -->
|
|
|
<el-dialog title="提示" :center="true" :visible.sync="showPassDialog" width="280px" :show-close="false" :close-on-click-modal="false"
|
|
|
@@ -103,7 +150,8 @@
|
|
|
<div style="display: flex;">
|
|
|
<div style="margin-right: 10px;">备注</div>
|
|
|
<div>
|
|
|
- <el-input type="textarea" placeholder="请输入备注" v-model="approved_reject_Data.workflowRemark" maxlength="188" rows="4" show-word-limit></el-input>
|
|
|
+ <el-input type="textarea" placeholder="请输入备注" v-model="approved_reject_Data.workflowRemark" maxlength="188" rows="4"
|
|
|
+ show-word-limit></el-input>
|
|
|
</div>
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
@@ -111,25 +159,6 @@
|
|
|
<el-button type="primary" class="confirm-btn" @click="handlerRejectOk">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
- <!-- 评价 -->
|
|
|
- <el-dialog title="评价" custom-class="acceptance-class" :visible.sync="dialogevaluateVisible" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
- @close="dialogevaluateVisible = false">
|
|
|
- <div>
|
|
|
- <h3 style="padding-top: 20px;">评价描述:</h3>
|
|
|
- <p style="margin-left: 80px; margin-top: -35px; width: calc(100% - 80px); height: 100px;">评价描述评价描述评价描述评价描述评价描述</p>
|
|
|
- </div>
|
|
|
- <h3 style="margin: 20px 0;">视频/图片:</h3>
|
|
|
- <div class="imgs">
|
|
|
- <div v-for="(image, index) in complaint.fileInfos" :key="index">
|
|
|
- <img :src="image.url" v-if="!image.url.endsWith('.mp4')" style="margin: 0 2px; border-radius: 5px;" alt=""
|
|
|
- @click="handlePictureCardPreview(image.url)" height="80px" width="80px" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <p style="display: flex; justify-content: flex-end;">
|
|
|
- <el-button type="warning">驳 回</el-button>
|
|
|
- <el-button type="primary" class="confirm-btn">通 过</el-button>
|
|
|
- </p>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -138,6 +167,9 @@
|
|
|
getTableData,
|
|
|
approved
|
|
|
} from '@/api/myAgent'
|
|
|
+ import {
|
|
|
+ isEmpty
|
|
|
+ } from '@/js/common'
|
|
|
|
|
|
export default {
|
|
|
data() {
|
|
|
@@ -162,45 +194,25 @@
|
|
|
// 分页参数
|
|
|
pagination: {
|
|
|
currentPage: 1,
|
|
|
- pageSize: 9,
|
|
|
+ pageSize: 10,
|
|
|
total: 0
|
|
|
},
|
|
|
loading: true,
|
|
|
- complaint: {
|
|
|
- status: 'Pending',
|
|
|
- complaintNumber: '123456',
|
|
|
- lodge: 'Some Lodge',
|
|
|
- lodgePhone: '1234567890',
|
|
|
- complainantPhone: '0987654321',
|
|
|
- orderNumber: '987654321',
|
|
|
- title: 'Complaint Title',
|
|
|
- description: 'Complaint Description',
|
|
|
- images: [],
|
|
|
- complaintTime: '2022-01-01 10:00:00'
|
|
|
- },
|
|
|
dialogInfoMinsuVisible: false, // 民宿信息维护
|
|
|
dialogevaluateVisible: false, // 评价
|
|
|
+ dialogArticleVisible: false, // 推文
|
|
|
showPassDialog: false, // 审核通过确认对话框
|
|
|
showRejectDialog: false, // 驳回确认对话框
|
|
|
- pics: [{
|
|
|
- picUrl: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201707%2F20%2F20170720191223_wuHTd.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1697879045&t=cb56d9c30aaec217a0d688704105f23f',
|
|
|
- id: 1
|
|
|
- }, {
|
|
|
- picUrl: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201707%2F20%2F20170720191223_wuHTd.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1697879045&t=cb56d9c30aaec217a0d688704105f23f',
|
|
|
- id: 2
|
|
|
- }, {
|
|
|
- picUrl: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201707%2F20%2F20170720191223_wuHTd.jpeg&refer=http%3A%2F%2Fb-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1697879045&t=cb56d9c30aaec217a0d688704105f23f',
|
|
|
- id: 3
|
|
|
- }],
|
|
|
approved_reject_Data: {
|
|
|
id: '',
|
|
|
type: '',
|
|
|
status: '',
|
|
|
workflowRemark: '',
|
|
|
- remark: ''
|
|
|
+ remark: '',
|
|
|
+ fileInfoList: []
|
|
|
}, // 审核 驳回 参数
|
|
|
isLoaded_approve: false, // 控制审核通过盖章
|
|
|
- isLoaded_reject: false // 控制驳回盖章
|
|
|
+ isLoaded_reject: false, // 控制驳回盖章
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
@@ -212,7 +224,7 @@
|
|
|
return
|
|
|
}
|
|
|
// 获取消费记录,表格数据
|
|
|
- this.get_table_data()
|
|
|
+ this.get_table_data('list')
|
|
|
},
|
|
|
mounted() {
|
|
|
document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
|
|
|
@@ -229,22 +241,26 @@
|
|
|
// 审核通过OK
|
|
|
handlerApproveOk() {
|
|
|
var that = this;
|
|
|
- this.approved_reject_Data.workflowRemark = '同意'
|
|
|
+ that.$set(this.approved_reject_Data, 'status', 2);
|
|
|
+ that.$set(this.approved_reject_Data, 'workflowRemark', '审核通过');
|
|
|
approved(this.approved_reject_Data).then((res) => {
|
|
|
// console.log(res.data);
|
|
|
if (res.code === 200) {
|
|
|
+ that.showPassDialog = false;
|
|
|
+ that.dialogInfoMinsuVisible = false;
|
|
|
+ that.$set(this.approved_reject_Data, 'workflowRemark', '');
|
|
|
+ // 刷新列表
|
|
|
+ this.get_table_data('list')
|
|
|
that.$message.success(res.message)
|
|
|
} else {
|
|
|
+ that.$set(this.approved_reject_Data, 'workflowRemark', '');
|
|
|
that.$message.warning(res.message)
|
|
|
}
|
|
|
}).catch((err) => {
|
|
|
// console.log(err);
|
|
|
+ that.$set(this.approved_reject_Data, 'workflowRemark', '');
|
|
|
that.$message.error(err.message)
|
|
|
});
|
|
|
- that.showPassDialog = false;
|
|
|
- that.dialogInfoMinsuVisible = false;
|
|
|
- // 刷新列表
|
|
|
- this.get_table_data()
|
|
|
},
|
|
|
// 审核通过确认对话框
|
|
|
handlerPass() {
|
|
|
@@ -256,12 +272,19 @@
|
|
|
},
|
|
|
// 审核驳回
|
|
|
handlerRejectOk() {
|
|
|
+ if (isEmpty(this.approved_reject_Data.workflowRemark)) {
|
|
|
+ this.$message.error('请输入备注')
|
|
|
+ return
|
|
|
+ }
|
|
|
var that = this;
|
|
|
- // this.approved_reject_Data.workflowRemark = '拒绝'
|
|
|
+ this.approved_reject_Data.status = 3
|
|
|
approved(this.approved_reject_Data).then((res) => {
|
|
|
// console.log(res.data);
|
|
|
if (res.code === 200) {
|
|
|
-
|
|
|
+ that.showRejectDialog = false;
|
|
|
+ that.dialogInfoMinsuVisible = false;
|
|
|
+ // 刷新列表
|
|
|
+ this.get_table_data('list')
|
|
|
that.$message.success(res.message)
|
|
|
} else {
|
|
|
that.$message.warning(res.message)
|
|
|
@@ -270,10 +293,6 @@
|
|
|
// console.log(err);
|
|
|
that.$message.error(err.message)
|
|
|
});
|
|
|
- that.showRejectDialog = false;
|
|
|
- that.dialogInfoMinsuVisible = false;
|
|
|
- // 刷新列表
|
|
|
- this.get_table_data()
|
|
|
},
|
|
|
// 审核驳回确认对话框
|
|
|
handlerReject() {
|
|
|
@@ -287,25 +306,35 @@
|
|
|
// 民宿信息维护-主办
|
|
|
handleClickZhuban(index, row) {
|
|
|
// console.log(row, index);
|
|
|
- // if ((index + 1) % 2 == 0)
|
|
|
- this.dialogInfoMinsuVisible = true;
|
|
|
- // else
|
|
|
- // this.dialogevaluateVisible = true;
|
|
|
+ if (row.type == 1) {
|
|
|
+ this.dialogInfoMinsuVisible = true;
|
|
|
+ } else if (row.type == 2) {
|
|
|
+ this.dialogevaluateVisible = true;
|
|
|
+ } else if (row.type == 3) {
|
|
|
+ this.dialogArticleVisible = true;
|
|
|
+ }
|
|
|
|
|
|
this.approved_reject_Data = {}
|
|
|
- this.approved_reject_Data.id = row.id
|
|
|
- this.approved_reject_Data.type = row.type
|
|
|
- this.approved_reject_Data.status = row.status
|
|
|
+ this.$set(this.approved_reject_Data, 'id', row.id)
|
|
|
+ this.$set(this.approved_reject_Data, 'type', row.type)
|
|
|
+ this.$set(this.approved_reject_Data, 'status', row.status)
|
|
|
+ this.$set(this.approved_reject_Data, 'remark', row.remark)
|
|
|
+ this.$set(this.approved_reject_Data, 'coverImg', row.coverImg)
|
|
|
+ this.$set(this.approved_reject_Data, 'workflowRemark', row.workflowRemark)
|
|
|
+ if (row.fileInfoList.length > 0) {
|
|
|
+ this.$set(this.approved_reject_Data, 'fileInfoList', row.fileInfoList)
|
|
|
+ } else {
|
|
|
+ this.$set(this.approved_reject_Data, 'fileInfoList', {})
|
|
|
+ }
|
|
|
},
|
|
|
/**
|
|
|
* 获取消费记录,表格数据
|
|
|
*/
|
|
|
- get_table_data() {
|
|
|
+ get_table_data(param) {
|
|
|
this.loading = true
|
|
|
|
|
|
var that = this
|
|
|
- // console.log(data);
|
|
|
- getTableData().then((res) => {
|
|
|
+ getTableData(that.pagination).then((res) => {
|
|
|
// console.log(res.data);
|
|
|
if (res.code === 200) {
|
|
|
var d = res.data
|
|
|
@@ -634,8 +663,18 @@
|
|
|
</style>
|
|
|
|
|
|
<style>
|
|
|
- .acceptance-class {
|
|
|
- height: 680px !important;
|
|
|
+ .class-daiban {
|
|
|
+ height: 580px !important;
|
|
|
+ width: 880px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .class-pingjia {
|
|
|
+ height: 500px !important;
|
|
|
+ width: 880px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .class-article {
|
|
|
+ height: 430px !important;
|
|
|
width: 880px !important;
|
|
|
}
|
|
|
|
|
|
@@ -651,13 +690,6 @@
|
|
|
display: flex;
|
|
|
}
|
|
|
|
|
|
- .imgs {
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- margin-left: 20px;
|
|
|
- height: 230px;
|
|
|
- }
|
|
|
-
|
|
|
.lbl-cls {
|
|
|
display: inline-block;
|
|
|
width: 100px;
|