完成资源监控页面布局
添加el-main样式
Showing
9 changed files
with
54 additions
and
443 deletions
src/api/orderList.js
deleted
100644 → 0
1 | import request from '@/utils/request' | ||
2 | |||
3 | /** | ||
4 | * 删除订单 | ||
5 | */ | ||
6 | export function deleteOrder(data) { | ||
7 | return request({ | ||
8 | url: '/chery/order/delete', | ||
9 | method: 'post', | ||
10 | data | ||
11 | }) | ||
12 | } | ||
13 | |||
14 | /** | ||
15 | * 全部订单列表查询 | ||
16 | */ | ||
17 | export function queryOrderList(data) { | ||
18 | return request({ | ||
19 | url: '/chery/order/query/list', | ||
20 | method: 'post', | ||
21 | data | ||
22 | }) | ||
23 | } | ||
24 | /** | ||
25 | * 全部订单列表查询 | ||
26 | */ | ||
27 | export function queryMyOrderList(data) { | ||
28 | return request({ | ||
29 | url: '/chery/order/query/mylist', | ||
30 | method: 'post', | ||
31 | data | ||
32 | }) | ||
33 | } | ||
34 | /** | ||
35 | * 订单详情 | ||
36 | */ | ||
37 | export function getOrderDetail(data) { | ||
38 | return request({ | ||
39 | url: '/chery/order/detail/get', | ||
40 | method: 'post', | ||
41 | data | ||
42 | }) | ||
43 | } |
src/api/patternManagement.js
deleted
100644 → 0
1 | import request from '@/utils/request' | ||
2 | |||
3 | /** | ||
4 | * 创建合作商 | ||
5 | * @param {*} data | ||
6 | */ | ||
7 | export function createPattern(data) { | ||
8 | return request({ | ||
9 | url: '/chery/partner/create', | ||
10 | method: 'post', | ||
11 | data | ||
12 | }) | ||
13 | } | ||
14 | |||
15 | /** | ||
16 | * 删除合作商 | ||
17 | * @param {*} data | ||
18 | */ | ||
19 | export function deletePattern(data) { | ||
20 | return request({ | ||
21 | url: '/chery/partner/delete', | ||
22 | method: 'post', | ||
23 | data | ||
24 | }) | ||
25 | } | ||
26 | |||
27 | /** | ||
28 | * 查询合作商 | ||
29 | * @param {*} data | ||
30 | */ | ||
31 | export function queryPattern(data) { | ||
32 | return request({ | ||
33 | url: '/chery/partner/query', | ||
34 | method: 'post', | ||
35 | data | ||
36 | }) | ||
37 | } | ||
38 | /** | ||
39 | * 合作商code是否存在 | ||
40 | * @param {*} data | ||
41 | */ | ||
42 | export function validateCode(data) { | ||
43 | return request({ | ||
44 | url: '/chery/partner/valid-code', | ||
45 | method: 'post', | ||
46 | data | ||
47 | }) | ||
48 | } | ||
49 | |||
50 | /** | ||
51 | * 报表列表查询 | ||
52 | * @param {*} data | ||
53 | */ | ||
54 | export function reportList(data) { | ||
55 | return request({ | ||
56 | url: '/chery/order/report/list', | ||
57 | method: 'post', | ||
58 | data | ||
59 | }) | ||
60 | } | ||
61 | |||
62 | /** | ||
63 | * 报表下载接口 | ||
64 | * @param {*} data | ||
65 | */ | ||
66 | export function reportDownload(data) { | ||
67 | return request({ | ||
68 | url: '/chery/order/report/download', | ||
69 | method: 'post', | ||
70 | responseType: 'blob', | ||
71 | data | ||
72 | }) | ||
73 | } |
src/api/speech.js
deleted
100644 → 0
1 | import request from '@/utils/request' | ||
2 | |||
3 | /** | ||
4 | * tts开关 | ||
5 | * @param {*} data | ||
6 | */ | ||
7 | export function ttsSwitch(data) { | ||
8 | return request({ | ||
9 | url: '/chery/tts/option/switch', | ||
10 | method: 'post', | ||
11 | data | ||
12 | }) | ||
13 | } | ||
14 | |||
15 | /** | ||
16 | * web查询话术结果 | ||
17 | * @param {*} data | ||
18 | */ | ||
19 | export function getTtsResult(data) { | ||
20 | return request({ | ||
21 | url: '/chery/tts/result', | ||
22 | method: 'post', | ||
23 | data | ||
24 | }) | ||
25 | } | ||
26 | /** | ||
27 | * 保存tts | ||
28 | * @param {*} data | ||
29 | */ | ||
30 | export function saveTts(data) { | ||
31 | return request({ | ||
32 | url: '/chery/tts/save', | ||
33 | method: 'post', | ||
34 | data | ||
35 | }) | ||
36 | } | ||
37 | /** | ||
38 | * web查询话术配置 | ||
39 | * @param {*} data | ||
40 | */ | ||
41 | export function getTtsTemplate(data) { | ||
42 | return request({ | ||
43 | url: '/chery/tts/getTemplate', | ||
44 | method: 'post', | ||
45 | data | ||
46 | }) | ||
47 | } | ||
48 | /** | ||
49 | * 查询tts是否开放 | ||
50 | * @param {*} data | ||
51 | */ | ||
52 | export function getTtsStatus(data) { | ||
53 | return request({ | ||
54 | url: '/chery/call/workTimeStatus', | ||
55 | method: 'post', | ||
56 | data | ||
57 | }) | ||
58 | } |
src/api/work.js
deleted
100644 → 0
1 | import request from '@/utils/request' | ||
2 | |||
3 | /** | ||
4 | * 确认接通 | ||
5 | * @param {*} data | ||
6 | */ | ||
7 | export function callWebConfirm(data) { | ||
8 | return request({ | ||
9 | url: '/chery/call/web/confirm', | ||
10 | method: 'post', | ||
11 | data | ||
12 | }) | ||
13 | } | ||
14 | /** | ||
15 | * 挂断电话 | ||
16 | * @param {*} data | ||
17 | */ | ||
18 | export function callWebDisconnect(data) { | ||
19 | return request({ | ||
20 | url: '/chery/call/web/disconnect', | ||
21 | method: 'post', | ||
22 | data | ||
23 | }) | ||
24 | } | ||
25 | |||
26 | /** | ||
27 | * 拨打电话 | ||
28 | * @param {*} data | ||
29 | */ | ||
30 | export function callWebIn(data) { | ||
31 | return request({ | ||
32 | url: '/chery/call/web/in', | ||
33 | method: 'post', | ||
34 | data | ||
35 | }) | ||
36 | } | ||
37 | /** | ||
38 | * 创建订单 | ||
39 | * @param {*} data | ||
40 | */ | ||
41 | export function createOrder(data) { | ||
42 | return request({ | ||
43 | url: 'chery/order/create', | ||
44 | method: 'post', | ||
45 | data | ||
46 | }) | ||
47 | } | ||
48 | /** | ||
49 | * 删除订单 | ||
50 | * @param {*} data | ||
51 | */ | ||
52 | export function deleteOrder(data) { | ||
53 | return request({ | ||
54 | url: '/chery/order-system/delete', | ||
55 | method: 'post', | ||
56 | data | ||
57 | }) | ||
58 | } | ||
59 | |||
60 | /** | ||
61 | * web-推送消息到app | ||
62 | * @param {*} data | ||
63 | */ | ||
64 | export function notifyApp(data) { | ||
65 | return request({ | ||
66 | url: '/chery/notify/app', | ||
67 | method: 'post', | ||
68 | data | ||
69 | }) | ||
70 | } | ||
71 | /** | ||
72 | * 工作台未沟通/已沟通列表 | ||
73 | * @param {*} data | ||
74 | */ | ||
75 | export function getCommunicationList(data) { | ||
76 | return request({ | ||
77 | url: '/chery/order/web/list', | ||
78 | method: 'post', | ||
79 | data | ||
80 | }) | ||
81 | } | ||
82 | /** | ||
83 | * WEB-获取排队列表 | ||
84 | * @param {*} data | ||
85 | */ | ||
86 | export function getQueueQuery(data) { | ||
87 | return request({ | ||
88 | url: '/chery/call/web/queue/query', | ||
89 | method: 'post', | ||
90 | data | ||
91 | }) | ||
92 | } | ||
93 | /** | ||
94 | *WEB-查询订单信息 | ||
95 | * @param {*} data | ||
96 | */ | ||
97 | export function getOrderInfo(data) { | ||
98 | return request({ | ||
99 | url: '/chery/order/fetch/order-info', | ||
100 | method: 'post', | ||
101 | data | ||
102 | }) | ||
103 | } | ||
104 | /** | ||
105 | * 二要素比图身份认证接口 | ||
106 | * @param {*} data | ||
107 | */ | ||
108 | export function twoElementFace(data) { | ||
109 | return request({ | ||
110 | url: '/chery/external/two-element-face/verify', | ||
111 | method: 'post', | ||
112 | data | ||
113 | }) | ||
114 | } | ||
115 | /** | ||
116 | *情绪程度识别 | ||
117 | * @param {*} data | ||
118 | */ | ||
119 | export function emotionRecognize(data) { | ||
120 | return request({ | ||
121 | url: '/chery/external/emotion/recognize', | ||
122 | method: 'post', | ||
123 | data | ||
124 | }) | ||
125 | } | ||
126 | /** | ||
127 | * WEB-等待接通 | ||
128 | * @param {*} data | ||
129 | */ | ||
130 | export function callWebWait(data) { | ||
131 | return request({ | ||
132 | url: '/chery/call/web/wait', | ||
133 | method: 'post', | ||
134 | data | ||
135 | }) | ||
136 | } | ||
137 | /** | ||
138 | * WEB-等待接通 | ||
139 | * @param {*} data | ||
140 | */ | ||
141 | export function callWebPoll(data) { | ||
142 | return request({ | ||
143 | url: '/chery/call/web/poll', | ||
144 | method: 'post', | ||
145 | data | ||
146 | }) | ||
147 | } |
... | @@ -23,11 +23,6 @@ export default { | ... | @@ -23,11 +23,6 @@ export default { |
23 | </script> | 23 | </script> |
24 | 24 | ||
25 | <style scoped> | 25 | <style scoped> |
26 | .app-main { | ||
27 | /* height: calc(100% - 35px); */ | ||
28 | padding: 24px 24px 0 24px; | ||
29 | background-color: #f0f2f5; | ||
30 | } | ||
31 | /* 定义过渡时间 */ | 26 | /* 定义过渡时间 */ |
32 | .fade-transform-enter-active, | 27 | .fade-transform-enter-active, |
33 | .fade-transform-live-active { | 28 | .fade-transform-live-active { | ... | ... |
... | @@ -44,7 +44,8 @@ export default { | ... | @@ -44,7 +44,8 @@ export default { |
44 | padding: 0; | 44 | padding: 0; |
45 | } | 45 | } |
46 | .el-main { | 46 | .el-main { |
47 | padding: 0; | 47 | padding: 24px 24px 0 24px; |
48 | background-color: #f0f2f5; | ||
48 | } | 49 | } |
49 | .el-aside { | 50 | .el-aside { |
50 | transition: width 0.2s ease-in; | 51 | transition: width 0.2s ease-in; | ... | ... |
... | @@ -74,7 +74,7 @@ export const asyncRoutes = [ | ... | @@ -74,7 +74,7 @@ export const asyncRoutes = [ |
74 | path: 'monitor-details', | 74 | path: 'monitor-details', |
75 | name: 'monitor-details', | 75 | name: 'monitor-details', |
76 | hidden: true, | 76 | hidden: true, |
77 | component: () => import('@/views/monitor'), | 77 | component: () => import('@/views/monitorDetails'), |
78 | meta: { | 78 | meta: { |
79 | title: '远程订单详情', | 79 | title: '远程订单详情', |
80 | icon: 'home' | 80 | icon: 'home' | ... | ... |
... | @@ -8,46 +8,41 @@ | ... | @@ -8,46 +8,41 @@ |
8 | size="mini" | 8 | size="mini" |
9 | inline | 9 | inline |
10 | :model="ruleForm" | 10 | :model="ruleForm" |
11 | :rules="rules" | ||
12 | > | 11 | > |
13 | <el-form-item label="客户姓名" prop="customerName"> | 12 | <el-form-item label="营销员姓名" prop="customName"> |
14 | <el-input | 13 | <el-input |
15 | v-model.trim="ruleForm.customerName" | 14 | v-model.trim="ruleForm.customName" |
16 | placeholder="请输入" | 15 | placeholder="请输入营销员姓名" |
16 | maxlength="21" | ||
17 | > | ||
18 | <i slot="prefix" class="el-icon-search"></i | ||
17 | ></el-input> | 19 | ></el-input> |
18 | </el-form-item> | 20 | </el-form-item> |
19 | <el-form-item label="客户电话" prop="customerPhoneNo"> | 21 | <el-form-item label="营销员工号" prop="customId"> |
20 | <el-input | 22 | <el-input |
21 | v-model.trim="ruleForm.customerPhoneNo" | 23 | v-model.trim="ruleForm.customId" |
22 | placeholder="请输入" | 24 | placeholder="请输入营销员工号" |
23 | ></el-input> | 25 | maxlength="21" |
24 | </el-form-item> | 26 | > |
25 | <el-form-item label="呼叫类型" prop="callType"> | 27 | <i slot="prefix" class="el-icon-search"></i |
26 | <el-select clearable v-model="ruleForm.callType"> | ||
27 | <el-option label="呼入" :value="1"></el-option> | ||
28 | <el-option label="呼出" :value="0"></el-option> | ||
29 | </el-select> | ||
30 | </el-form-item> | ||
31 | <el-form-item label="合作商" prop="partnerDesc"> | ||
32 | <el-input | ||
33 | v-model.trim="ruleForm.partnerDesc" | ||
34 | placeholder="请输入" | ||
35 | ></el-input> | 28 | ></el-input> |
36 | </el-form-item> | 29 | </el-form-item> |
37 | <el-form-item label="状态" prop="orderStatus"> | 30 | <el-form-item label="展业开始时间" prop="times"> |
38 | <el-select clearable v-model="ruleForm.orderStatus"> | 31 | <el-date-picker |
39 | <el-option label="待沟通" :value="0"></el-option> | 32 | v-model="ruleForm.times" |
40 | <el-option label="已沟通" :value="1"></el-option> | 33 | type="daterange" |
41 | </el-select> | 34 | value-format="yyyy-MM-dd" |
42 | </el-form-item> | 35 | range-separator="至" |
43 | <el-form-item> | 36 | start-placeholder="开始日期" |
44 | <el-button type="primary" size="mini" @click="onSubmit" | 37 | end-placeholder="结束日期" |
45 | >搜索</el-button | 38 | ></el-date-picker> |
46 | > | ||
47 | <el-button size="mini" @click="onReset">重置</el-button> | ||
48 | </el-form-item> | 39 | </el-form-item> |
49 | </el-form> | 40 | </el-form> |
50 | </div> | 41 | </div> |
42 | <div class="flex-end mb10"> | ||
43 | <el-button type="primary" size="mini" @click="onSubmit">查询</el-button> | ||
44 | <el-button size="mini" @click="onReset">重置</el-button> | ||
45 | </div> | ||
51 | <el-table | 46 | <el-table |
52 | class="mb10" | 47 | class="mb10" |
53 | :data="tableData" | 48 | :data="tableData" |
... | @@ -55,76 +50,41 @@ | ... | @@ -55,76 +50,41 @@ |
55 | style="width: 100%" | 50 | style="width: 100%" |
56 | v-loading="loading" | 51 | v-loading="loading" |
57 | > | 52 | > |
58 | <el-table-column align="center" prop="orderId" label="订单号" fixed> | 53 | <el-table-column align="center" prop="orderId" label="序号" fixed> |
59 | </el-table-column> | 54 | </el-table-column> |
60 | <el-table-column | 55 | <el-table-column |
61 | align="center" | 56 | align="center" |
62 | prop="createTime" | 57 | prop="createTime" |
63 | label="创建时间" | 58 | label="客户姓名" |
64 | width="160" | 59 | width="160" |
65 | > | 60 | > |
66 | <template v-slot="scope"> | ||
67 | <span>{{ | ||
68 | scope.row.createTime ? parseTime(scope.row.createTime) : '' | ||
69 | }}</span> | ||
70 | </template> | ||
71 | </el-table-column> | 61 | </el-table-column> |
72 | <el-table-column | 62 | <el-table-column |
73 | align="center" | 63 | align="center" |
74 | prop="callTime" | 64 | prop="callTime" |
75 | label="呼叫时间" | 65 | label="客户手机号" |
76 | width="160" | 66 | width="160" |
77 | > | 67 | > |
78 | <template v-slot="scope"> | ||
79 | <span>{{ | ||
80 | scope.row.callTime ? parseTime(scope.row.callTime) : '' | ||
81 | }}</span> | ||
82 | </template> | ||
83 | </el-table-column> | 68 | </el-table-column> |
84 | <el-table-column align="center" prop="partnerDesc" label="合作商"> | 69 | <el-table-column align="center" prop="partnerDesc" label="管理员姓名"> |
85 | </el-table-column> | 70 | </el-table-column> |
86 | <el-table-column align="center" prop="customerName" label="客户姓名"> | 71 | <el-table-column align="center" prop="customerName" label="营销员工号"> |
87 | </el-table-column> | 72 | </el-table-column> |
88 | <el-table-column | 73 | <el-table-column |
89 | align="center" | 74 | align="center" |
90 | prop="customerPhoneNo" | 75 | prop="customerPhoneNo" |
91 | label="客户电话" | 76 | label="展业时长" |
92 | width="160" | 77 | width="160" |
93 | > | 78 | > |
94 | </el-table-column> | 79 | </el-table-column> |
95 | <el-table-column align="center" prop="callType" label="呼叫类型"> | 80 | <el-table-column align="center" prop="callType" label="展业开始时间"> |
96 | </el-table-column> | 81 | </el-table-column> |
97 | <el-table-column align="center" prop="auditorName" label="坐席姓名"> | 82 | <el-table-column align="center" label="操作" fixed="right"> |
98 | </el-table-column> | ||
99 | <el-table-column align="center" prop="username" label="坐席工号"> | ||
100 | </el-table-column> | ||
101 | <el-table-column align="center" prop="meetTimes" label="面核次数"> | ||
102 | </el-table-column> | ||
103 | <el-table-column align="center" prop="durationTimeStr" label="通话时长"> | ||
104 | </el-table-column> | ||
105 | <el-table-column | ||
106 | align="center" | ||
107 | prop="orderStatus" | ||
108 | fixed="right" | ||
109 | label="状态" | ||
110 | > | ||
111 | <template v-slot="scope"> | ||
112 | <span class="status"> | ||
113 | <span | ||
114 | class="dot" | ||
115 | :class="{ yellow: scope.row.orderStatus === '待沟通' }" | ||
116 | ></span> | ||
117 | <span>{{ scope.row.orderStatus }}</span> | ||
118 | </span> | ||
119 | </template> | ||
120 | </el-table-column> | ||
121 | <el-table-column align="center" label="操作" fixed="right" width="50"> | ||
122 | <template v-slot="scope"> | 83 | <template v-slot="scope"> |
123 | <div> | 84 | <div> |
124 | <el-button | 85 | <el-button |
125 | type="text" | 86 | type="text" |
126 | size="small" | 87 | size="small" |
127 | v-if="scope.row.orderStatus === '已沟通'" | ||
128 | @click="handleDetail(scope.row)" | 88 | @click="handleDetail(scope.row)" |
129 | >查看</el-button | 89 | >查看</el-button |
130 | > | 90 | > |
... | @@ -141,9 +101,7 @@ | ... | @@ -141,9 +101,7 @@ |
141 | </template> | 101 | </template> |
142 | 102 | ||
143 | <script> | 103 | <script> |
144 | import { maxSizeValidate } from '@/views/validate' | ||
145 | import FooterPaginationfrom from './components/FooterPagination' | 104 | import FooterPaginationfrom from './components/FooterPagination' |
146 | import { queryOrderList } from '@/api/orderList' | ||
147 | import { parseTime } from '@/utils/util' | 105 | import { parseTime } from '@/utils/util' |
148 | 106 | ||
149 | export default { | 107 | export default { |
... | @@ -154,17 +112,11 @@ export default { | ... | @@ -154,17 +112,11 @@ export default { |
154 | return { | 112 | return { |
155 | parseTime, | 113 | parseTime, |
156 | ruleForm: { | 114 | ruleForm: { |
157 | customerName: '', | 115 | customName: '', |
158 | customerPhoneNo: '', | 116 | customId: '', |
159 | callType: '', | 117 | times: '' |
160 | orderStatus: '', | ||
161 | partnerDesc: '' | ||
162 | }, | 118 | }, |
163 | rules: { | 119 | tableData: [{}], |
164 | customerName: [maxSizeValidate], | ||
165 | customerPhoneNo: [maxSizeValidate] | ||
166 | }, | ||
167 | tableData: [], | ||
168 | pagination: null, | 120 | pagination: null, |
169 | loading: false, | 121 | loading: false, |
170 | total: 0 | 122 | total: 0 |
... | @@ -182,44 +134,19 @@ export default { | ... | @@ -182,44 +134,19 @@ export default { |
182 | }, | 134 | }, |
183 | onReset() { | 135 | onReset() { |
184 | this.ruleForm = { | 136 | this.ruleForm = { |
185 | customerName: '', | 137 | customName: '', |
186 | customerPhoneNo: '', | 138 | customId: '', |
187 | callType: '', | 139 | times: '' |
188 | orderStatus: '', | ||
189 | partnerDesc: '' | ||
190 | } | 140 | } |
191 | this.onSubmit() | 141 | this.onSubmit() |
192 | }, | 142 | }, |
193 | handleGetPager(data) { | 143 | handleGetPager(data) { |
194 | this.pagination = data | 144 | this.pagination = data |
195 | this.onSubmit() | 145 | // this.onSubmit() |
196 | }, | 146 | }, |
197 | async handleQueryOrderList() { | 147 | async handleQueryOrderList() { |
198 | try { | 148 | try { |
199 | this.loading = true | 149 | this.loading = true |
200 | const { | ||
201 | customerName, | ||
202 | customerPhoneNo, | ||
203 | callType, | ||
204 | partnerDesc, | ||
205 | orderStatus | ||
206 | } = this.ruleForm | ||
207 | const { | ||
208 | code, | ||
209 | result: { orderInfoList, totalCount } | ||
210 | } = await queryOrderList({ | ||
211 | customerName, | ||
212 | customerPhoneNo, | ||
213 | callType, | ||
214 | partnerDesc, | ||
215 | orderStatus, | ||
216 | pageNo: this.pagination.page, | ||
217 | pageSize: this.pagination.size | ||
218 | }) | ||
219 | if (code === 0) { | ||
220 | this.tableData = orderInfoList | ||
221 | this.total = totalCount | ||
222 | } | ||
223 | } catch (error) { | 150 | } catch (error) { |
224 | console.log(error) | 151 | console.log(error) |
225 | } finally { | 152 | } finally { |
... | @@ -228,7 +155,7 @@ export default { | ... | @@ -228,7 +155,7 @@ export default { |
228 | }, | 155 | }, |
229 | handleDetail(row) { | 156 | handleDetail(row) { |
230 | this.$router.push({ | 157 | this.$router.push({ |
231 | path: 'order-detail', | 158 | path: 'monitor-details', |
232 | query: { id: row.orderId } | 159 | query: { id: row.orderId } |
233 | }) | 160 | }) |
234 | } | 161 | } | ... | ... |
-
Please register or sign in to post a comment