251ce25d by zhen

完成资源监控页面布局

添加el-main样式
1 parent aa8cb7bc
import request from '@/utils/request'
/**
* 删除订单
*/
export function deleteOrder(data) {
return request({
url: '/chery/order/delete',
method: 'post',
data
})
}
/**
* 全部订单列表查询
*/
export function queryOrderList(data) {
return request({
url: '/chery/order/query/list',
method: 'post',
data
})
}
/**
* 全部订单列表查询
*/
export function queryMyOrderList(data) {
return request({
url: '/chery/order/query/mylist',
method: 'post',
data
})
}
/**
* 订单详情
*/
export function getOrderDetail(data) {
return request({
url: '/chery/order/detail/get',
method: 'post',
data
})
}
import request from '@/utils/request'
/**
* 创建合作商
* @param {*} data
*/
export function createPattern(data) {
return request({
url: '/chery/partner/create',
method: 'post',
data
})
}
/**
* 删除合作商
* @param {*} data
*/
export function deletePattern(data) {
return request({
url: '/chery/partner/delete',
method: 'post',
data
})
}
/**
* 查询合作商
* @param {*} data
*/
export function queryPattern(data) {
return request({
url: '/chery/partner/query',
method: 'post',
data
})
}
/**
* 合作商code是否存在
* @param {*} data
*/
export function validateCode(data) {
return request({
url: '/chery/partner/valid-code',
method: 'post',
data
})
}
/**
* 报表列表查询
* @param {*} data
*/
export function reportList(data) {
return request({
url: '/chery/order/report/list',
method: 'post',
data
})
}
/**
* 报表下载接口
* @param {*} data
*/
export function reportDownload(data) {
return request({
url: '/chery/order/report/download',
method: 'post',
responseType: 'blob',
data
})
}
import request from '@/utils/request'
/**
* tts开关
* @param {*} data
*/
export function ttsSwitch(data) {
return request({
url: '/chery/tts/option/switch',
method: 'post',
data
})
}
/**
* web查询话术结果
* @param {*} data
*/
export function getTtsResult(data) {
return request({
url: '/chery/tts/result',
method: 'post',
data
})
}
/**
* 保存tts
* @param {*} data
*/
export function saveTts(data) {
return request({
url: '/chery/tts/save',
method: 'post',
data
})
}
/**
* web查询话术配置
* @param {*} data
*/
export function getTtsTemplate(data) {
return request({
url: '/chery/tts/getTemplate',
method: 'post',
data
})
}
/**
* 查询tts是否开放
* @param {*} data
*/
export function getTtsStatus(data) {
return request({
url: '/chery/call/workTimeStatus',
method: 'post',
data
})
}
import request from '@/utils/request'
/**
* 确认接通
* @param {*} data
*/
export function callWebConfirm(data) {
return request({
url: '/chery/call/web/confirm',
method: 'post',
data
})
}
/**
* 挂断电话
* @param {*} data
*/
export function callWebDisconnect(data) {
return request({
url: '/chery/call/web/disconnect',
method: 'post',
data
})
}
/**
* 拨打电话
* @param {*} data
*/
export function callWebIn(data) {
return request({
url: '/chery/call/web/in',
method: 'post',
data
})
}
/**
* 创建订单
* @param {*} data
*/
export function createOrder(data) {
return request({
url: 'chery/order/create',
method: 'post',
data
})
}
/**
* 删除订单
* @param {*} data
*/
export function deleteOrder(data) {
return request({
url: '/chery/order-system/delete',
method: 'post',
data
})
}
/**
* web-推送消息到app
* @param {*} data
*/
export function notifyApp(data) {
return request({
url: '/chery/notify/app',
method: 'post',
data
})
}
/**
* 工作台未沟通/已沟通列表
* @param {*} data
*/
export function getCommunicationList(data) {
return request({
url: '/chery/order/web/list',
method: 'post',
data
})
}
/**
* WEB-获取排队列表
* @param {*} data
*/
export function getQueueQuery(data) {
return request({
url: '/chery/call/web/queue/query',
method: 'post',
data
})
}
/**
*WEB-查询订单信息
* @param {*} data
*/
export function getOrderInfo(data) {
return request({
url: '/chery/order/fetch/order-info',
method: 'post',
data
})
}
/**
* 二要素比图身份认证接口
* @param {*} data
*/
export function twoElementFace(data) {
return request({
url: '/chery/external/two-element-face/verify',
method: 'post',
data
})
}
/**
*情绪程度识别
* @param {*} data
*/
export function emotionRecognize(data) {
return request({
url: '/chery/external/emotion/recognize',
method: 'post',
data
})
}
/**
* WEB-等待接通
* @param {*} data
*/
export function callWebWait(data) {
return request({
url: '/chery/call/web/wait',
method: 'post',
data
})
}
/**
* WEB-等待接通
* @param {*} data
*/
export function callWebPoll(data) {
return request({
url: '/chery/call/web/poll',
method: 'post',
data
})
}
......@@ -23,11 +23,6 @@ export default {
</script>
<style scoped>
.app-main {
/* height: calc(100% - 35px); */
padding: 24px 24px 0 24px;
background-color: #f0f2f5;
}
/* 定义过渡时间 */
.fade-transform-enter-active,
.fade-transform-live-active {
......
......@@ -44,7 +44,8 @@ export default {
padding: 0;
}
.el-main {
padding: 0;
padding: 24px 24px 0 24px;
background-color: #f0f2f5;
}
.el-aside {
transition: width 0.2s ease-in;
......
......@@ -74,7 +74,7 @@ export const asyncRoutes = [
path: 'monitor-details',
name: 'monitor-details',
hidden: true,
component: () => import('@/views/monitor'),
component: () => import('@/views/monitorDetails'),
meta: {
title: '远程订单详情',
icon: 'home'
......
......@@ -8,46 +8,41 @@
size="mini"
inline
:model="ruleForm"
:rules="rules"
>
<el-form-item label="客户姓名" prop="customerName">
<el-form-item label="营销员姓名" prop="customName">
<el-input
v-model.trim="ruleForm.customerName"
placeholder="请输入"
v-model.trim="ruleForm.customName"
placeholder="请输入营销员姓名"
maxlength="21"
>
<i slot="prefix" class="el-icon-search"></i
></el-input>
</el-form-item>
<el-form-item label="客户电话" prop="customerPhoneNo">
<el-form-item label="营销员工号" prop="customId">
<el-input
v-model.trim="ruleForm.customerPhoneNo"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="呼叫类型" prop="callType">
<el-select clearable v-model="ruleForm.callType">
<el-option label="呼入" :value="1"></el-option>
<el-option label="呼出" :value="0"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合作商" prop="partnerDesc">
<el-input
v-model.trim="ruleForm.partnerDesc"
placeholder="请输入"
v-model.trim="ruleForm.customId"
placeholder="请输入营销员工号"
maxlength="21"
>
<i slot="prefix" class="el-icon-search"></i
></el-input>
</el-form-item>
<el-form-item label="状态" prop="orderStatus">
<el-select clearable v-model="ruleForm.orderStatus">
<el-option label="待沟通" :value="0"></el-option>
<el-option label="已沟通" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" size="mini" @click="onSubmit"
>搜索</el-button
>
<el-button size="mini" @click="onReset">重置</el-button>
<el-form-item label="展业开始时间" prop="times">
<el-date-picker
v-model="ruleForm.times"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
</el-form>
</div>
<div class="flex-end mb10">
<el-button type="primary" size="mini" @click="onSubmit">查询</el-button>
<el-button size="mini" @click="onReset">重置</el-button>
</div>
<el-table
class="mb10"
:data="tableData"
......@@ -55,76 +50,41 @@
style="width: 100%"
v-loading="loading"
>
<el-table-column align="center" prop="orderId" label="订单号" fixed>
<el-table-column align="center" prop="orderId" label="号" fixed>
</el-table-column>
<el-table-column
align="center"
prop="createTime"
label="创建时间"
label="客户姓名"
width="160"
>
<template v-slot="scope">
<span>{{
scope.row.createTime ? parseTime(scope.row.createTime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
align="center"
prop="callTime"
label="呼叫时间"
label="客户手机号"
width="160"
>
<template v-slot="scope">
<span>{{
scope.row.callTime ? parseTime(scope.row.callTime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="partnerDesc" label="合作商">
<el-table-column align="center" prop="partnerDesc" label="管理员姓名">
</el-table-column>
<el-table-column align="center" prop="customerName" label="客户姓名">
<el-table-column align="center" prop="customerName" label="营销员工号">
</el-table-column>
<el-table-column
align="center"
prop="customerPhoneNo"
label="客户电话"
label="展业时长"
width="160"
>
</el-table-column>
<el-table-column align="center" prop="callType" label="呼叫类型">
<el-table-column align="center" prop="callType" label="展业开始时间">
</el-table-column>
<el-table-column align="center" prop="auditorName" label="坐席姓名">
</el-table-column>
<el-table-column align="center" prop="username" label="坐席工号">
</el-table-column>
<el-table-column align="center" prop="meetTimes" label="面核次数">
</el-table-column>
<el-table-column align="center" prop="durationTimeStr" label="通话时长">
</el-table-column>
<el-table-column
align="center"
prop="orderStatus"
fixed="right"
label="状态"
>
<template v-slot="scope">
<span class="status">
<span
class="dot"
:class="{ yellow: scope.row.orderStatus === '待沟通' }"
></span>
<span>{{ scope.row.orderStatus }}</span>
</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" fixed="right" width="50">
<el-table-column align="center" label="操作" fixed="right">
<template v-slot="scope">
<div>
<el-button
type="text"
size="small"
v-if="scope.row.orderStatus === '已沟通'"
@click="handleDetail(scope.row)"
>查看</el-button
>
......@@ -141,9 +101,7 @@
</template>
<script>
import { maxSizeValidate } from '@/views/validate'
import FooterPaginationfrom from './components/FooterPagination'
import { queryOrderList } from '@/api/orderList'
import { parseTime } from '@/utils/util'
export default {
......@@ -154,17 +112,11 @@ export default {
return {
parseTime,
ruleForm: {
customerName: '',
customerPhoneNo: '',
callType: '',
orderStatus: '',
partnerDesc: ''
customName: '',
customId: '',
times: ''
},
rules: {
customerName: [maxSizeValidate],
customerPhoneNo: [maxSizeValidate]
},
tableData: [],
tableData: [{}],
pagination: null,
loading: false,
total: 0
......@@ -182,44 +134,19 @@ export default {
},
onReset() {
this.ruleForm = {
customerName: '',
customerPhoneNo: '',
callType: '',
orderStatus: '',
partnerDesc: ''
customName: '',
customId: '',
times: ''
}
this.onSubmit()
},
handleGetPager(data) {
this.pagination = data
this.onSubmit()
// this.onSubmit()
},
async handleQueryOrderList() {
try {
this.loading = true
const {
customerName,
customerPhoneNo,
callType,
partnerDesc,
orderStatus
} = this.ruleForm
const {
code,
result: { orderInfoList, totalCount }
} = await queryOrderList({
customerName,
customerPhoneNo,
callType,
partnerDesc,
orderStatus,
pageNo: this.pagination.page,
pageSize: this.pagination.size
})
if (code === 0) {
this.tableData = orderInfoList
this.total = totalCount
}
} catch (error) {
console.log(error)
} finally {
......@@ -228,7 +155,7 @@ export default {
},
handleDetail(row) {
this.$router.push({
path: 'order-detail',
path: 'monitor-details',
query: { id: row.orderId }
})
}
......
<template>
<Card>dsads</Card>
</template>
<script>
export default {}
</script>
<style></style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!