telephone-clients 3.0.103-99 → 3.0.104-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,271 @@
1
+ <template>
2
+ <div class="flex">
3
+ <section>
4
+ <div class="basic-main row" style="height: 100%">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="col-sm-4 form-group" style="width: 20%">
10
+ <label class="font_normal_body">&nbsp;公&nbsp;&nbsp;&nbsp;&nbsp;司&nbsp;</label>
11
+ <right-tree :userid.sync='$parent.$parent.userid' style="width: 60%;"
12
+ :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes"></right-tree>
13
+ </div>
14
+ <div class="form-group col-sm-2">
15
+ <label for="startDate" class="font_normal_body">开始日期:</label>
16
+ <datepicker id="startDate" placeholder="开始日期"
17
+ v-model="$parent.$parent.startDate"
18
+ :value.sync="$parent.$parent.startDate"
19
+ style="width: 60%;"
20
+ :disabled-days-of-Week="[]"
21
+ :format="'yyyy-MM-dd 00:00:00'"
22
+ :show-reset-button="reset">
23
+ </datepicker>
24
+ </div>
25
+ <div class="form-group col-sm-2">
26
+ <label for="endDate" class="font_normal_body">结束日期:</label>
27
+ <datepicker id="endDate" placeholder="结束日期"
28
+ v-model="$parent.$parent.endDate"
29
+ :value.sync="$parent.$parent.endDate"
30
+ :disabled-days-of-Week="[]"
31
+ style="width: 60%;"
32
+ :format="'yyyy-MM-dd 23:59:59'"
33
+ :show-reset-button="reset">
34
+ </datepicker>
35
+ </div>
36
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%;left: 35%">
37
+ <button type="button" name="button" class="button_search" @click="search">查询</button>
38
+ <export-excel-tel :data="$parent.$parent.searchData"
39
+ :field="$parent.$parent.excelHeaders"
40
+ sqlurl="rs/logic/telephoneExport" sql-name="manage_telman" :template-name="$parent.$parent.excelTitle"></export-excel-tel>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </criteria>
45
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
46
+ <template partial='head'>
47
+ <tr >
48
+ <th colspan="20" class="tableinfo">
49
+ <h3 style="text-align: center;color: #00A3F0;font-size: 26px" >{{$parent.$parent.$parent.orgname }}话务统计报表</h3>
50
+ </th>
51
+ </tr>
52
+ <tr>
53
+ <th>
54
+ <nobr>话务员</nobr>
55
+ </th>
56
+ <th>
57
+ <nobr>工号</nobr>
58
+ </th>
59
+ <th>
60
+ <nobr>来电总数</nobr>
61
+ </th>
62
+ <th>
63
+ <nobr>接线率</nobr>
64
+ </th>
65
+ <th>
66
+ <nobr>置忙次数</nobr>
67
+ </th>
68
+ <th>
69
+ <nobr>已接</nobr>
70
+ </th>
71
+ <th>
72
+ <nobr>未接</nobr>
73
+ </th>
74
+ <th>
75
+ <nobr>外拨</nobr>
76
+ </th>
77
+ <th>
78
+ <nobr>咨询单</nobr>
79
+ </th>
80
+ <th>
81
+ <nobr>投诉单</nobr>
82
+ </th>
83
+ <th>
84
+ <nobr>报修单</nobr>
85
+ </th>
86
+ <!-- <th >-->
87
+ <!-- <nobr>报修单(抢修)</nobr>-->
88
+ <!-- </th>-->
89
+ <!-- <th >-->
90
+ <!-- <nobr>报修单(服务)</nobr>-->
91
+ <!-- </th>-->
92
+ <!-- <th >-->
93
+ <!-- <nobr>报修单(整改)</nobr>-->
94
+ <!-- </th>-->
95
+ <!-- <th >-->
96
+ <!-- <nobr>报修单(置换通气)</nobr>-->
97
+ <!-- </th>-->
98
+ </tr>
99
+ </template>
100
+ <template partial='body'>
101
+ <tr>
102
+ <td style="text-align:center">
103
+ <nobr>{{ row.nam }}</nobr>
104
+ </td>
105
+ <td style="text-align:center">
106
+ <nobr>{{ row.id }}</nobr>
107
+ </td>
108
+ <td style="text-align:center">
109
+ <nobr>{{ row.zongji }}</nobr>
110
+ </td>
111
+ <td style="text-align:center">
112
+ <nobr>{{ row.scale }}</nobr>
113
+ </td>
114
+ <td style="text-align:center">
115
+ <nobr>{{ row.zhimangcishu }}</nobr>
116
+ </td>
117
+ <td style="text-align:center" >
118
+ <nobr>{{ row.yijie }}</nobr>
119
+ </td>
120
+ <td style="text-align:center">
121
+ <nobr>{{ row.weijie }}</nobr>
122
+ </td>
123
+ <td style="text-align:center">
124
+ <nobr>{{ row.waibo }}</nobr>
125
+ </td>
126
+ <td style="text-align:center">
127
+ <nobr>{{ row.zixundan}}</nobr>
128
+ </td>
129
+ <td style="text-align:center">
130
+ <nobr>{{ row.tousudan}}</nobr>
131
+ </td>
132
+ <td style="text-align:center">
133
+ <nobr>{{ row.baoxiudan}}</nobr>
134
+ </td>
135
+ <!-- <td style="text-align:center" >-->
136
+ <!-- <nobr >{{ row.qiangxius}}</nobr>-->
137
+ <!-- </td>-->
138
+ <!-- <td style="text-align:center" >-->
139
+ <!-- <nobr >{{ row.fuwus}}</nobr>-->
140
+ <!-- </td>-->
141
+ <!-- <td style="text-align:center" >-->
142
+ <!-- <nobr >{{ row.zhenggais}}</nobr>-->
143
+ <!-- </td>-->
144
+ <!-- <td style="text-align:center" >-->
145
+ <!-- <nobr >{{ row.zhihuantongqis}}</nobr>-->
146
+ <!-- </td>-->
147
+ </tr>
148
+ </template>
149
+ <template partial="foot">
150
+ <td style="text-align: center"><span><b>合计:</b></span></td>
151
+ <td style="text-align: center"><span><b> </b></span></td>
152
+ <td style="text-align: center">{{model.sums.zongji}}</td>
153
+ <td style="text-align: center">{{((model.sums.yijie/model.sums.zongji)*100).toFixed(2)+'%'}}</td>
154
+ <td style="text-align: center">{{model.sums.zhimangcishu}}</td>
155
+ <td style="text-align: center">{{model.sums.yijie}}</td>
156
+ <td style="text-align: center">{{model.sums.weijie}}</td>
157
+ <td style="text-align: center">{{model.sums.waibo}}</td>
158
+ <td style="text-align: center">{{model.sums.zixundan}}</td>
159
+ <td style="text-align: center">{{model.sums.tousudan}}</td>
160
+ <td style="text-align: center">{{model.sums.baoxiudan}}</td>
161
+ <!-- <td style="text-align: center" >{{model.sums.qiangxius}}</td>-->
162
+ <!-- <td style="text-align: center" >{{model.sums.fuwus}}</td>-->
163
+ <!-- <td style="text-align: center" >{{model.sums.zhenggais}}</td>-->
164
+ <!-- <td style="text-align: center" >{{model.sums.zhihuantongqis}}</td>-->
165
+ </template>
166
+ </data-grid>
167
+ </criteria-paged>
168
+ </div>
169
+ </section>
170
+ </div>
171
+ </template>
172
+ <script>
173
+ import {PagedList, HttpResetClass} from 'vue-client'
174
+ import * as Util from '../../../components/Util'
175
+ import {getYesterDay, toStandardTimeString} from '../../../components/Util'
176
+
177
+ export default {
178
+ title: '话务员报表',
179
+ data () {
180
+ let model = new PagedList('rs/sql/manage_telman', 20, {
181
+ startDate: 'this.startDate',
182
+ endDate: 'this.endDate',
183
+ f_filiale_id: 'this.f_filiale_id'
184
+ },{zongji:'',yijie:'',weijie:'',waibo:'',zhimangcishu:'',zixundan:'',tousudan:'',baoxiudan:''})
185
+ model.f_filiale_id = `('${this.$login.f.orgid}')`
186
+ model.startDate=Util.getYesterDay() + ' 00:00:00'//昨天时间
187
+ model.endDate=Util.toStandardDateString()+ ' 23:59:59'//当前时间
188
+ return {
189
+ f_filiale_id: `('${this.$login.f.orgid}')`, // 分公司id
190
+ model: model,
191
+ source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
192
+ userid: this.$login.f.id,
193
+ orgname: '',
194
+ startDate:Util.getYesterDay() + ' 00:00:00',
195
+ endDate:Util.toStandardDateString()+ ' 23:59:59',
196
+ searchData: {
197
+ condition: '',
198
+ startDate: '',
199
+ endDate: '',
200
+ f_filiale_id: ''
201
+ },
202
+ excelHeaders: {
203
+ 'nam': '话务员',
204
+ 'id': '工号',
205
+ 'quanbujieting': '接线数',
206
+ 'scale': '接线率',
207
+ 'zhimangcishu': '置忙次数',
208
+ 'yijie': '已接',
209
+ 'weijie': '未接',
210
+ 'waibo': '外拨',
211
+ 'zixundan': '咨询单',
212
+ 'tousudan': '投诉单',
213
+ 'baoxiudan': '报修单'
214
+ }
215
+ }
216
+ },
217
+ methods: {
218
+ getRes (obj) {
219
+ this.f_filiale_id = this.$login.convertToIn(obj.resids)
220
+ this.orgname = obj.res[0]
221
+ this.$set('orgname', obj.res[0])
222
+ console.log(
223
+ `%c 来电内容明细 %c 呼叫模块 %c`,
224
+ 'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
225
+ 'background:#41b883 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff',
226
+ 'background:transparent',
227
+ this.orgname
228
+ )
229
+ },
230
+ selfSearch (args) {
231
+ if (!this.f_filiale_id) {
232
+ return this.$showMessage("请选择公司进行查询!!!")
233
+ }
234
+ this.model.f_filiale_id = this.f_filiale_id // 只有选择了下面的条件才会变化
235
+ this.searchData.f_filiale_id = this.f_filiale_id //导出
236
+ this.searchData.condition=args.condition //导出
237
+ this.model.startDate = this.startDate
238
+ this.searchData.startDate = this.startDate //导出
239
+ this.model.endDate = this.endDate
240
+ this.searchData.endDate = this.endDate //导出
241
+ this.model.search(args.condition, args.model)
242
+ }
243
+ },
244
+ computed: {
245
+ excelTitle() {
246
+ return `${this.orgname }话务员统计报表`
247
+ },
248
+ },
249
+ watch: {
250
+ },
251
+ ready () {
252
+ // //tag)
253
+ // this.$refs.paged.$refs.cri.search()
254
+ //tag + ' 00:00:00')
255
+ //tag+ ' 23:59:59')
256
+ this.orgname = this.$login.f.orgs
257
+ //tag)
258
+ //tag
259
+ }
260
+
261
+ }
262
+ </script>
263
+
264
+ <style lang="less" >
265
+ .tableinfo {
266
+ text-align: center;
267
+ background-color: #00A3F0;
268
+ color: #0c2e4d;
269
+ font-size: 26px;
270
+ }
271
+ </style>
@@ -92,6 +92,24 @@
92
92
  close-on-select>
93
93
  </v-select>
94
94
  </div>
95
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
96
+ <label class="font_normal_body" style="width: 40%">派单时间</label>
97
+ <datepicker placeholder="起始派单时间"
98
+ :value.sync="model.f_created_date"
99
+ v-model="model.f_created_date"
100
+ :format="'yyyy-MM-dd 00:00:00'"
101
+ condition="tswo.f_created_date > '{}'"
102
+ ></datepicker>
103
+ </div>
104
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
105
+ <label class="font_normal_body" style="width: 40%">派单时间</label>
106
+ <datepicker placeholder="终止派单时间"
107
+ :value.sync="model.f_created_enddate"
108
+ v-model="model.f_created_enddate"
109
+ :format="'yyyy-MM-dd 23:59:59'"
110
+ condition="tswo.f_created_date < '{}'"
111
+ ></datepicker>
112
+ </div>
95
113
 
96
114
  <div class="col-sm-2 form-group form-input-group" style="float:right;width: 15%;margin-left: 20px">
97
115
  <input type="radio" id="one" value="wait" style="float: left" v-model="$parent.$parent.picked">
@@ -381,7 +381,7 @@
381
381
  </header>
382
382
  <article slot="modal-body" class="modal-body">
383
383
  <visit-info v-if="showVisit" :row="visitrow" :phone="wavflie"
384
- @show-obj="watchShow"></visit-info>
384
+ @visitback="visitshow"></visit-info>
385
385
  </article>
386
386
  <footer slot="modal-footer" class="modal-footer">
387
387
  </footer>
@@ -480,8 +480,6 @@ export default {
480
480
  }
481
481
  },
482
482
  ready () {
483
-
484
- this.selfSearch()
485
483
  },
486
484
  watch: {
487
485
  'all' (val) {
@@ -553,10 +551,16 @@ export default {
553
551
  + seperator2 + second
554
552
  return currentdate
555
553
  },
556
- watchShow (val) {
554
+ visitshow(val){
555
+ if(val == 'commit'){
556
+ this.model.rows.forEach((value, index)=>{
557
+ if(value.id == this.visitrow.id){
558
+ this.model.rows[index].f_again_revisit = '否'
559
+ }
560
+ })
561
+ }
557
562
  this.visitrow = {}
558
- this.showVisit = val
559
- this.selfSearch()
563
+ this.showVisit = false
560
564
  },
561
565
  playWav (val, val2) {
562
566
  //tag
@@ -1,19 +1,21 @@
1
- // 分公司特殊组件页面注册
2
- import Vue from "vue";
3
-
4
- //pc和手机分别注册到两个文件中
5
- let specialComp = {
6
- // 工单详情子组件
7
- 'tel-orderman-count': (resolve) => { require(['./pc/TelByOrderManCount'], resolve) },
8
- 'tel-repairtype-count': (resolve) => { require(['./pc/TelByRepairType'], resolve) },
9
- 'new-repair-paper': (resolve) => { require(['./pc/NewRepairPaper'], resolve) },
10
- 'tel-orderman': (resolve) => { require(['./pc/TelByOrderMan'], resolve) },
11
- 'work-listall-new': (resolve) => { require(['./pc/WorkListAllNew'], resolve) },
12
- 'work-list': (resolve) => { require(['./pc/WorkList'], resolve) },
13
- 'query-visit-history': (resolve) => {require(['./pc/QueryVisitHistory'], resolve)}
14
- }
15
- exports.specialComp = specialComp
16
-
17
-
18
-
19
-
1
+ // 分公司特殊组件页面注册
2
+ import Vue from "vue";
3
+
4
+ //pc和手机分别注册到两个文件中
5
+ let specialComp = {
6
+ // 工单详情子组件
7
+ 'tel-orderman-count': (resolve) => { require(['./pc/TelByOrderManCount'], resolve) },
8
+ 'tel-repairtype-count': (resolve) => { require(['./pc/TelByRepairType'], resolve) },
9
+ 'new-repair-paper': (resolve) => { require(['./pc/NewRepairPaper'], resolve) },
10
+ 'tel-orderman': (resolve) => { require(['./pc/TelByOrderMan'], resolve) },
11
+ 'work-listall-new': (resolve) => { require(['./pc/WorkListAllNew'], resolve) },
12
+ 'work-list': (resolve) => { require(['./pc/WorkList'], resolve) },
13
+ 'query-visit-history': (resolve) => {require(['./pc/QueryVisitHistory'], resolve)},
14
+ 'tel-agentvoice-report': (resolve) => {require(['./pc/TelAgentVoiceReport'], resolve)}
15
+
16
+ }
17
+ exports.specialComp = specialComp
18
+
19
+
20
+
21
+