|
|
@@ -1,3 +1,159 @@
|
|
|
<template>
|
|
|
+ <el-container class="flex-column">
|
|
|
+ <div class="table-search">
|
|
|
+ <div class="first-title">常见问题设置</div>
|
|
|
+ <div class="sub-title">用户咨询时,将在开场白后展示本页设置的常见问题,降低用户转人工率</div>
|
|
|
+ </div>
|
|
|
+ <el-main v-loading="loadQuick">
|
|
|
+ <el-row :gutter="15">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card shadow="never">
|
|
|
+ <template #header>
|
|
|
+ <div class="flex-title">
|
|
|
+ <div class="name">开场白</div>
|
|
|
+ <div class="edit"><el-button icon="el-icon-edit" type="primary" @click="table_add('star_msg')" text>编辑</el-button></div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="show-msg">{{starMsg?starMsg:'-'}}</div>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card shadow="never">
|
|
|
+ <template #header>
|
|
|
+ <div class="flex-title">
|
|
|
+ <div class="name">无客服在线回复</div>
|
|
|
+ <div class="edit"><el-button icon="el-icon-edit" type="primary" @click="table_add('unline_msg')" text>编辑</el-button></div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="show-msg">{{unlineMsg?unlineMsg:'-'}}</div>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div class="mt10">
|
|
|
+ <el-card shadow="never">
|
|
|
+ <template #header>
|
|
|
+ <div class="flex-title">
|
|
|
+ <div class="name">常见问题</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="quick-table">
|
|
|
+ <div class="quick-tools">
|
|
|
+ <el-button icon="el-icon-plus" type="primary" @click="quickQs()">添加问题</el-button>
|
|
|
+ <span>共{{ quickTable.length }}/7个问题</span>
|
|
|
+ </div>
|
|
|
+ <el-table :data="quickTable">
|
|
|
+ <el-table-column label="问题" width="220" prop="question"></el-table-column>
|
|
|
+ <el-table-column label="回复" prop="answer"></el-table-column>
|
|
|
+ <el-table-column label="操作" width="160" align="right" fixed="right">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button-group>
|
|
|
+ <el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
|
|
|
+ <template #reference>
|
|
|
+ <el-button text type="danger" size="small">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-popconfirm>
|
|
|
+ </el-button-group>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
+ <formMain ref="formMain" @success="handleSuccess"></formMain>
|
|
|
+ <quickMain ref="quickMain" @success="handleSuccess"></quickMain>
|
|
|
+</template>
|
|
|
|
|
|
-</template>
|
|
|
+<script>
|
|
|
+import formMain from './components/form';
|
|
|
+import quickMain from './components/quick';
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ formMain,quickMain
|
|
|
+ },
|
|
|
+ data(){
|
|
|
+ return {
|
|
|
+ quickTable:[],
|
|
|
+ starMsg:"",
|
|
|
+ unlineMsg:"",
|
|
|
+ loadQuick:false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created(){
|
|
|
+ this.getQuickData()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async table_del(data){
|
|
|
+ this.loadQuick = true;
|
|
|
+ var resp = await this.$API.merSet.del.post({"id":data.id});
|
|
|
+ this.loadQuick = false;
|
|
|
+ if (resp.code == 0) {
|
|
|
+ return this.$message.error(resp.msg)
|
|
|
+ }
|
|
|
+ this.$message.success(resp.msg)
|
|
|
+ this.getQuickData()
|
|
|
+ },
|
|
|
+ quickQs(){
|
|
|
+ if (this.quickTable.length >= 7) return this.$message.info("最多只能添加7个问题");
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.quickMain.open()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ table_add(type){
|
|
|
+ this.$nextTick(() => {
|
|
|
+ if (type == 'star_msg') {
|
|
|
+ var formData = {"content":this.starMsg}
|
|
|
+ }
|
|
|
+ if (type == 'unline_msg') {
|
|
|
+ var formData = {"content":this.unlineMsg}
|
|
|
+ }
|
|
|
+ this.$refs.formMain.open(type).setData(formData)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleSuccess(){
|
|
|
+ this.getQuickData();
|
|
|
+ },
|
|
|
+ async getQuickData(){
|
|
|
+ this.loadQuick = true;
|
|
|
+ var resp = await this.$API.merSet.data.get();
|
|
|
+ this.loadQuick = false;
|
|
|
+ if (resp.code == 0) {
|
|
|
+ return this.$message.error(resp.msg)
|
|
|
+ }
|
|
|
+ this.starMsg = resp.data.star_msg;
|
|
|
+ this.unlineMsg = resp.data.unline_msg;
|
|
|
+ this.quickTable = resp.data.quick;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+.table-search{border-bottom: 0;padding-bottom: 20px;}
|
|
|
+.quick-tools{margin-bottom: 10px;display: flex;align-items: center;gap: 10px;}
|
|
|
+.first-title{
|
|
|
+ align-items: center;
|
|
|
+ color: #1d2129;
|
|
|
+ display: flex;
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: 600;
|
|
|
+ justify-content: space-between;
|
|
|
+ line-height: 28px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+}
|
|
|
+.flex-title{display: flex;align-items: center;justify-content: space-between;}
|
|
|
+.flex-title .name{font-size: 18px;font-weight: bold;}
|
|
|
+.show-msg{
|
|
|
+ align-items: flex-start;
|
|
|
+ background: #f5f6f9;
|
|
|
+ border-radius: 12px;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ height: 90px;
|
|
|
+ line-height: 22px;
|
|
|
+ padding: 12px;
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+</style>
|