telephone-clients 4.0.0-1-18 → 4.0.0-1-20

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "telephone-clients",
3
- "version": "4.0.0-1-18",
3
+ "version": "4.0.0-1-20",
4
4
  "description": "呼叫模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,116 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
5
+ <criteria partial='criteria' @condition-changed='search' class="search_area" v-ref:criteria>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2">
9
+ <label class="font_normal_body">分公司:</label>
10
+ <right-tree @re-res="$parent.$parent.getRes" :initresid="$login.f.orgid"></right-tree>
11
+ </div>
12
+ <div class="form-group col-sm-2">
13
+ <label for="startDate" class="font_normal_body">开始日期:</label>
14
+ <datepicker id="startDate" placeholder="开始日期"
15
+ v-model="model.startDate"
16
+ :value.sync="model.startDate"
17
+ style="width: 60%;"
18
+ :disabled-days-of-Week="[]"
19
+ :format="'yyyy-MM-dd'"
20
+ :show-reset-button="reset">
21
+ </datepicker>
22
+ </div>
23
+ <div class="form-group col-sm-2">
24
+ <label for="endDate" class="font_normal_body">结束日期:</label>
25
+ <datepicker id="endDate" placeholder="结束日期"
26
+ v-model="model.endDate"
27
+ :value.sync="model.endDate"
28
+ :disabled-days-of-Week="[]"
29
+ style="width: 60%;"
30
+ :format="'yyyy-MM-dd'"
31
+ :show-reset-button="reset">
32
+ </datepicker>
33
+ </div>
34
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
35
+ <button class="button_search button_spacing" @click="search()">查询</button>
36
+ <!-- <report-print class="button_export button_spacing" style="width:28%" id='shexian'></report-print>-->
37
+ <report-excel class="button_export button_spacing" id='shexian'></report-excel>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </criteria>
42
+ <div partial='list' id='shexian' class="list_area" style="overflow-y: scroll">
43
+ <table class='tableprint' style="margin: 0px auto">
44
+ <thead>
45
+ <tr>
46
+ <th colspan='10' style="font-weight: normal; text-align: left;">
47
+ <h3 style="text-align: center">{{ $parent.orgname }}话务员统计报表</h3>
48
+ </th>
49
+ </tr>
50
+ <tr>
51
+ <th colspan='5' style="font-weight: normal; text-align: center;">
52
+ 开始时间:{{ model.model.startDate }}
53
+ </th>
54
+
55
+ <th colspan='5' style="font-weight: normal; text-align: center;">
56
+ 结束时间:{{ model.model.endDate }}
57
+ </th>
58
+ </tr>
59
+ </thead>
60
+ <tr>
61
+ <th colspan='10' style="font-weight: normal;">
62
+ {{{model.data.substring(26, model.data.length - 8)}}}
63
+ </th>
64
+ </tr>
65
+ </table>
66
+ </div>
67
+ </criteria-paged>
68
+ </div>
69
+ </div>
70
+
71
+ </template>
72
+
73
+ <script>
74
+ import {DataModel} from 'vue-client'
75
+ import * as Util from '../Util'
76
+
77
+ export default {
78
+ title: '话务员统计报表',
79
+ data () {
80
+
81
+ let model = new DataModel('rs/telephone/report/huawutj', {
82
+ startDate: 'this.model.startDate',
83
+ endDate: 'this.model.endDate',
84
+ f_filialeid: 'this.f_filialeid'
85
+ })
86
+ model.f_filialeid = '(' + this.$login.f.orgid + ')'
87
+ return {
88
+ filialeNameStr: '',
89
+ filialeCodeStr: '',
90
+ orgname: '',
91
+ userid: this.$login.f.id,
92
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))`,
93
+ model: model
94
+ }
95
+ },
96
+ methods: {
97
+ getRes (obj) {
98
+ this.orgname = obj.res[0]
99
+ this.$set('orgname', obj.res[0])
100
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids)
101
+ }
102
+ },
103
+ ready () {
104
+ console.log("998993")
105
+ this.orgname = this.$login.f.orgs
106
+ this.$refs.paged.$refs.criteria.model.endDate = Util.toStandardTimeString().substring(0, 10)
107
+ this.$refs.paged.$refs.criteria.model.startDate = Util.getPreMonth(this.$refs.paged.$refs.criteria.model.endDate)
108
+
109
+ },
110
+ computed: {
111
+ selected () {
112
+ return this.$refs.grid.selected
113
+ }
114
+ }
115
+ }
116
+ </script>
@@ -1,329 +1,335 @@
1
- <template>
2
- <div class="container-fluid auto">
3
- <work-busy :is-busy="saveing" v-show="saveing"></work-busy>
4
- <validator name="v">
5
- <div class="row" >
6
- <div class="row form-fix-width">
7
- <label class="font_normal_body" style="width: 15%" title="参数名称:投诉内容">来电内容</label>
8
- <div class="form-control" style="width: 80%;float: left">
9
- <label class="checkbox-inline checkbox-fix-width" style="width:25%" v-for="content in contents" >
10
- <input type="checkbox"
11
- :value="content.value"
12
- v-model="complaintstext">
13
- {{content.value}}
14
- </label>
15
- </div>
16
- </div>
17
- <div class="row" v-if="picked=='done'">
18
- <div class="row form-fix-width">
19
- <label class="font_normal_body" style="width: 15%">处理记录</label>
20
- <div class="form-control" style="width: 80%;float: left">
21
- <!--多选框值 -->
22
- <textarea style="width: 100%" class="form-control ver-textarea" disabled v-model="complaintstext"></textarea>
23
- <!--手动输入值 -->
24
- <textarea style="width: 100%" name="name" rows="3" v-model="complaints" class="form-control ver-textarea" ></textarea>
25
- </div>
26
- </div>
27
- </div>
28
- </div>
29
- <div class="row">
30
- <div class="col-sm-6 form-group form-fix-width">
31
- <label class="font_normal_body" style="width: 30%">来电电话</label>
32
- <input type="text" name="" v-model='model.f_phone' class="form-control" readonly="readonly" style="width: 60%">
33
- </div>
34
- <div class="col-sm-6 form-group form-fix-width">
35
- <label class="font_normal_body" style="width: 30%">联系人</label>
36
- <input type="text" name="" v-model='model.f_user_name' class="form-control" style="width: 60%">
37
- </div>
38
- </div>
39
- <div class="row">
40
- <div class="col-sm-6 form-group form-fix-width">
41
- <label class="font_normal_body" style="width: 30%">联系电话</label>
42
- <input type="text" name="" v-model='model.f_contact_phone' class="form-control" style="width: 60%">
43
- </div>
44
- <div class="col-sm-6 form-group form-fix-width" v-if="dotype">
45
- <label class=" font_normal_body" style="width: 30%">处理方式</label>
46
- <v-select :value="picked1" :value-single="true"
47
- v-model="picked1"
48
- :options='handling'
49
- close-on-select
50
- v-on:change="sourcechange" style="width: 60%"></v-select>
51
- </div>
52
- <!--<div class="col-sm-6 form-group form-fix-width" style="padding: 0px 50px 0px 15px;" v-if="isComplainSendOrHandle">
53
- <label class="font_normal_body" style="width: 30%">处理方式</label>
54
- <div style="width:60%;border: 1px solid black">
55
- <label class="font_normal_body" for="one"></label>
56
- <input class="" type="radio" id="one" value="wait" v-model="picked">
57
- <label class="font_normal_body" for="two" >处理</label>
58
- <input class="" type="radio" id="two" value="done" v-model="picked">
59
- </div>
60
- </div>-->
61
-
62
- </div>
63
- <!-- <div class="row" v-if="picked=='done'">-->
64
- <!-- <div class="col-sm-12 form-input-group form-fix-width" :class="$v.f_complaint_results.required ? 'has-error' : ''">-->
65
- <!-- <label class="font_normal_body" style="width: 15%">投诉处理</label>-->
66
- <!-- <textarea name="name" rows="3" v-model="model.f_complaint_results" class="form-control ver-textarea" v-validate:f_complaint_results="['required']" style="width: 80%"></textarea>-->
67
- <!-- </div>-->
68
- <!-- </div>-->
69
- <div class="row" v-if="picked=='wait'" >
70
- <div class="col-sm-6 form-group form-fix-width" >
71
- <label class=" font_normal_body" style="width:30%">选择站点</label>
72
- <input style="width: 60%;height:100%" type="text" v-show="false" v-model="model.f_reciever">
73
- <right-tree style="height:auto" :width="'100%'" islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
74
- </right-tree>
75
- </div>
76
- </div>
77
- <!-- <div class="row">
78
- <div class="col-sm-12 form-input-group">
79
- <label class="font_normal_body">用户地址</label>
80
- <input type="text" name="" :value='model.f_address' class="form-control">
81
- </div>
82
- </div>-->
83
- <div class="row">
84
- <div class="col-sm-12 form-input-group form-fix-width">
85
- <label class="font_normal_body" style="width: 15%">备&emsp;&emsp;注</label>
86
- <textarea name="name" rows="3" v-model="model.f_remarks" class="form-control ver-textarea" style="width: 80%"></textarea>
87
- </div>
88
- </div>
89
- <div class="row">
90
- <button type="button" name="button" class="button_spacing button_search" style="float: right" @click="saveComplainData">
91
- 提&nbsp;&nbsp;&nbsp;交
92
- </button>
93
- <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;float: right" class="button_spacing button_search" @click="cleardata()">
94
- 清空
95
- </button>
96
- <!-- <button type="button" name="button" class="btn btn-danger btn-ln fr" data-toggle="dropdown"
97
- @click="print(row)">
98
- 打&nbsp;&nbsp;&nbsp;印
99
- </button>-->
100
- </div>
101
- </validator>
102
- <complain-msg v-if="showcheckmsg" :show="showcheckmsg" :data="model"></complain-msg>
103
- </div>
104
-
105
-
106
- </template>
107
- <script>
108
- import * as Util from '../Util'
109
-
110
- export default {
111
- title: '投诉单',
112
- props: {
113
- data: {
114
- type: Object
115
- },
116
- callObj: {
117
- type: Object
118
- },
119
- loginUser: {
120
- type: Object
121
- },
122
- cleantf: {
123
- type: Number
124
- }
125
- },
126
- data () {
127
- return {
128
- // 咨询投诉处理方式是否显示
129
- dotype: this.$appdata.getSingleValue('咨询投诉处理方式')?this.$appdata.getSingleValue('咨询投诉处理方式'):false,
130
- saveing:false,
131
- picked: 'done', //待办/已办
132
- picked1:'处理',
133
- showcheckmsg: false,
134
- checkInfo: {},
135
- complaintstext: [],
136
- complaints:'',
137
- contents:this.$appdata.getParam('投诉内容')?this.$appdata.getParam('投诉内容'):[],
138
- f_content:'',
139
- model: {
140
- // 一次派单
141
- serviceacitivity: [{
142
- f_service_acitivity_type: '派单',
143
- f_meetunit:'',
144
- f_reciever:'',
145
- f_complaint_results:''
146
- }],
147
- f_small_area:'',
148
- picked: this.picked, //待办/已办
149
- f_content: '', //投诉内容
150
- f_user_name: '',
151
- f_phone: '',
152
- f_contact_phone: '',
153
- f_remarks: '',
154
- aState: null,
155
- f_source:'用户来电',
156
- f_orgid:this.$login.f.orgid,
157
- f_orgname:this.$login.f.orgs,
158
- f_depname:this.$login.f.dops,
159
- f_depid:this.$login.f.depids,
160
- f_operator:this.$login.f.name,
161
- f_address:'',
162
- f_time:'',
163
- f_operatorid:this.$login.f.id,
164
- f_filiale_id : this.$login.f.orgid,
165
- f_filiale : this.$login.f.orgs,
166
- f_reciever:'',
167
-
168
- f_complaint_results:''
169
- },
170
- handling:[{label:'处理',value:'处理'},{label:'下派',value:'下派'}],
171
- source:
172
- 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
173
- 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
174
- userid: this.$login.f.id
175
- }
176
- },
177
- ready () {
178
- if (this.data) {
179
- this.assignObj()
180
- }
181
- },
182
- methods: {
183
- sourcechange(val){
184
- //tag
185
- this.picked=val=='处理'?'done':'wait'
186
- },
187
- print(row) {
188
- this.showcheckmsg = true
189
- this.checkInfo = row
190
- },
191
- saveComplainData () {
192
- if (this.picked=='done'&&this.complaints==''){
193
- return this.$showAlert('请填写处理记录', 'warning', 2000)
194
- }
195
- if (this.picked=='wait'&&this.model.serviceacitivity[0].f_reciever==''){
196
- return this.$showAlert('请选择站点!', 'warning', 2000)
197
- }
198
- if (this.complaintstext==''){
199
- return this.$showAlert('请填写投诉来电内容', 'warning', 2000)
200
- }
201
- this.saveing = true
202
- if (this.picked=='done'){
203
- this.model.serviceacitivity = [
204
- {f_result_status:'已完成',f_complaint_results:this.model.f_complaint_results}];
205
- }
206
- this.model.picked = this.picked
207
- delete this.model.id
208
- this.model.f_content = this.complaintstext.toString() +','+ this.complaints
209
- //tag
210
- this.$resetpost('af-telephone/rs/logic/saveComplaint', {model: this.model, loginUser: {name: this.loginUser.name, ename: this.loginUser.ename}, callObj: this.callObj}).then(() => {
211
- // 清空数据
212
- this.$emit('commitsus',this.model.f_phone,this.model)
213
- this.cleardata()
214
- if (this.callObj && this.callObj.callNum) {
215
- this.callObj.callNum = null
216
- this.callObj.RecordsID = null
217
- //tag
218
- Util.afterCallBz(this.$login.f.id, this.$login.f.name)
219
- }
220
- this.saveing = false
221
-
222
- })
223
- },
224
- assignObj () {
225
- this.model = Object.assign(this.model, {}, this.data)
226
- this.model.f_user_name = this.data.f_user_name
227
- this.model.f_small_area = this.data.f_slice_area
228
- this.model.f_contact_phone = this.data.f_user_phone
229
- //tag
230
- },
231
- cleardata () {
232
- let f_meetunit1 = this.model.serviceacitivity[0].f_meetunit;
233
- let f_reciever1 = this.model.serviceacitivity[0].f_reciever;
234
- this.model = {
235
- serviceacitivity: [{
236
- f_service_acitivity_type: '派单',
237
- f_meetunit:f_meetunit1,
238
- f_reciever:f_reciever1,
239
- f_complaint_results:''
240
- }],
241
- f_small_area:'',
242
- f_content: '',
243
- f_user_name: '',
244
- f_phone: '',
245
- f_contact_phone: '',
246
- f_remarks: '',
247
- aState: null,
248
- f_source:'用户来电',
249
- f_orgid:this.$login.f.orgid,
250
- f_orgname:this.$login.f.orgs,
251
- f_depname:this.$login.f.dops,
252
- f_depid:this.$login.f.depids,
253
- f_operator:this.$login.f.name,
254
- f_operatorid:this.$login.f.id,
255
- f_address: '',
256
- f_time:'',
257
- f_filiale_id : this.$login.f.orgid,
258
- f_filiale : this.$login.f.orgs,
259
- picked: this.picked, //待办/已办
260
- f_complaint_results:''
261
- }
262
- this.complaintstext=[]
263
- this.complaints=''
264
- this.data = {}
265
- },
266
- // 选中部门
267
- reres(val){
268
- if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
269
- return
270
- }
271
- this.model.serviceacitivity[0].f_meetunit = val.res[0]
272
- this.model.f_meetunit = val.res[0]
273
- this.model.f_filiale_id = val.orgobj[0].parentid
274
- this.model.f_filiale = val.orgobj[0].parentname
275
- this.model.f_outlets = val.res[0]
276
- this.model.serviceacitivity[0].f_reciever = val.resids[0]
277
- this.model.f_reciever = val.resids[0]
278
- },
279
- },
280
- computed: {
281
- IsClickDisabled: function() {
282
- if (this.$v.valid) {
283
- if ( this.model.aState === null) {
284
- //tag
285
- return false
286
- }
287
- if ( this.model.f_phone && this.model.aState === '正在保存') {
288
- //tag
289
- return false
290
- }
291
- //tag
292
- return true
293
- } else {
294
- //tag
295
- return true
296
- }
297
- },
298
- isComplainSendOrHandle(){
299
- // 投诉单下派还是处理
300
- let res = this.$appdata.getSingleValue('投诉单下派或处理');
301
- if (res == 'true'){
302
- return true;
303
- }else {
304
- return false;
305
- }
306
- }
307
- },
308
- watch: {
309
- // 是否清空
310
- 'cleantf'(){
311
- this.cleardata()
312
- },
313
- 'data' () {
314
- // 组织数据
315
- this.assignObj()
316
- },
317
- // 话务对象发生变化将来电电话赋值给f_phone
318
- 'callObj' () {
319
- this.cleardata()
320
- this.model.f_phone = this.callObj.callNum
321
- this.model.f_contact_phone = this.callObj.callNum
322
- this.model.f_time=Util.toStandardTimeString()
323
- //tag
324
- this.model.aState = this.callObj.aState
325
- //tag
326
- }
327
- }
328
- }
329
- </script>
1
+ <template>
2
+ <div class="container-fluid auto">
3
+ <work-busy :is-busy="saveing" v-show="saveing"></work-busy>
4
+ <validator name="v">
5
+ <div class="row" >
6
+ <div class="row form-fix-width">
7
+ <label class="font_normal_body" style="width: 15%" title="参数名称:投诉内容">来电内容</label>
8
+ <div class="form-control" style="width: 80%;float: left">
9
+ <label class="checkbox-inline checkbox-fix-width" style="width:25%" v-for="content in contents" >
10
+ <input type="checkbox"
11
+ :value="content.value"
12
+ v-model="complaintstext">
13
+ {{content.value}}
14
+ </label>
15
+ </div>
16
+ </div>
17
+ <div class="row" v-if="picked=='done'">
18
+ <div class="row form-fix-width">
19
+ <label class="font_normal_body" style="width: 15%">处理记录</label>
20
+ <div class="form-control" style="width: 80%;float: left">
21
+ <!--多选框值 -->
22
+ <textarea style="width: 100%" class="form-control ver-textarea" disabled v-model="complaintstext"></textarea>
23
+ <!--手动输入值 -->
24
+ <textarea style="width: 100%" name="name" rows="3" v-model="complaints" class="form-control ver-textarea" ></textarea>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ <div class="row">
30
+ <div class="col-sm-6 form-group form-fix-width">
31
+ <label class="font_normal_body" style="width: 30%">来电电话</label>
32
+ <input type="text" name="" v-model='model.f_phone' class="form-control" readonly="readonly" style="width: 60%">
33
+ </div>
34
+ <div class="col-sm-6 form-group form-fix-width">
35
+ <label class="font_normal_body" style="width: 30%">联系人</label>
36
+ <input type="text" name="" v-model='model.f_user_name' class="form-control" style="width: 60%">
37
+ </div>
38
+ </div>
39
+ <div class="row">
40
+ <div class="col-sm-6 form-group form-fix-width">
41
+ <label class="font_normal_body" style="width: 30%">联系电话</label>
42
+ <input type="text" name="" v-model='model.f_contact_phone' class="form-control" style="width: 60%">
43
+ </div>
44
+ <div class="col-sm-6 form-group form-fix-width" v-if="dotype">
45
+ <label class=" font_normal_body" style="width: 30%">处理方式</label>
46
+ <v-select :value="picked1" :value-single="true"
47
+ v-model="picked1"
48
+ :options='handling'
49
+ close-on-select
50
+ v-on:change="sourcechange" style="width: 60%"></v-select>
51
+ </div>
52
+ <!--<div class="col-sm-6 form-group form-fix-width" style="padding: 0px 50px 0px 15px;" v-if="isComplainSendOrHandle">
53
+ <label class="font_normal_body" style="width: 30%">处理方式</label>
54
+ <div style="width:60%;border: 1px solid black">
55
+ <label class="font_normal_body" for="one"></label>
56
+ <input class="" type="radio" id="one" value="wait" v-model="picked">
57
+ <label class="font_normal_body" for="two" >处理</label>
58
+ <input class="" type="radio" id="two" value="done" v-model="picked">
59
+ </div>
60
+ </div>-->
61
+
62
+ </div>
63
+ <div class="row" v-if="complaint">
64
+ <div class="col-sm-6 form-group form-fix-width">
65
+ <label class=" font_normal_body" style="width: 30%">投诉类型</label>
66
+ <v-select :value="model.f_complaint_type" :value-single="true"
67
+ v-model="model.f_complaint_type"
68
+ :options='complaintTypes'
69
+ close-on-select
70
+ style="width: 60%"></v-select>
71
+ </div>
72
+ </div>
73
+ <div class="row" v-if="picked=='wait'" >
74
+ <div class="col-sm-6 form-group form-fix-width" >
75
+ <label class=" font_normal_body" style="width:30%">选择站点</label>
76
+ <input style="width: 60%;height:100%" type="text" v-show="false" v-model="model.f_reciever">
77
+ <right-tree style="height:auto" :width="'100%'" islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
78
+ </right-tree>
79
+ </div>
80
+ </div>
81
+ <!-- <div class="row">
82
+ <div class="col-sm-12 form-input-group">
83
+ <label class="font_normal_body">用户地址</label>
84
+ <input type="text" name="" :value='model.f_address' class="form-control">
85
+ </div>
86
+ </div>-->
87
+ <div class="row">
88
+ <div class="col-sm-12 form-input-group form-fix-width">
89
+ <label class="font_normal_body" style="width: 15%">备&emsp;&emsp;注</label>
90
+ <textarea name="name" rows="3" v-model="model.f_remarks" class="form-control ver-textarea" style="width: 80%"></textarea>
91
+ </div>
92
+ </div>
93
+ <div class="row">
94
+ <button type="button" name="button" class="button_spacing button_search" style="float: right" @click="saveComplainData">
95
+ 提&nbsp;&nbsp;&nbsp;交
96
+ </button>
97
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;float: right" class="button_spacing button_search" @click="cleardata()">
98
+ 清空
99
+ </button>
100
+ <!-- <button type="button" name="button" class="btn btn-danger btn-ln fr" data-toggle="dropdown"
101
+ @click="print(row)">
102
+ 打&nbsp;&nbsp;&nbsp;印
103
+ </button>-->
104
+ </div>
105
+ </validator>
106
+ <complain-msg v-if="showcheckmsg" :show="showcheckmsg" :data="model"></complain-msg>
107
+ </div>
108
+
109
+
110
+ </template>
111
+ <script>
112
+ import * as Util from '../../../components/Util'
113
+
114
+ export default {
115
+ title: '投诉单',
116
+ props: {
117
+ data: {
118
+ type: Object
119
+ },
120
+ callObj: {
121
+ type: Object
122
+ },
123
+ loginUser: {
124
+ type: Object
125
+ },
126
+ cleantf: {
127
+ type: Number
128
+ }
129
+ },
130
+ data () {
131
+ return {
132
+ // 咨询投诉处理方式是否显示
133
+ dotype: this.$appdata.getSingleValue('咨询投诉处理方式')?this.$appdata.getSingleValue('咨询投诉处理方式'):false,
134
+ saveing:false,
135
+ picked: 'done', //待办/已办
136
+ picked1:'处理',
137
+ showcheckmsg: false,
138
+ checkInfo: {},
139
+ complaintstext: [],
140
+ complaints:'',
141
+ contents:this.$appdata.getParam('投诉内容')?this.$appdata.getParam('投诉内容'):[],
142
+ f_content:'',
143
+ model: {
144
+ // 一次派单
145
+ serviceacitivity: [{
146
+ f_service_acitivity_type: '派单',
147
+ f_meetunit:'',
148
+ f_reciever:'',
149
+ f_complaint_results:''
150
+ }],
151
+ f_small_area:'',
152
+ picked: this.picked, //待办/已办
153
+ f_content: '', //投诉内容
154
+ f_user_name: '',
155
+ f_phone: '',
156
+ f_contact_phone: '',
157
+ f_remarks: '',
158
+ aState: null,
159
+ f_source:'用户来电',
160
+ f_orgid:this.$login.f.orgid,
161
+ f_orgname:this.$login.f.orgs,
162
+ f_depname:this.$login.f.dops,
163
+ f_depid:this.$login.f.depids,
164
+ f_operator:this.$login.f.name,
165
+ f_address:'',
166
+ f_time:'',
167
+ f_operatorid:this.$login.f.id,
168
+ f_filiale_id : this.$login.f.orgid,
169
+ f_filiale : this.$login.f.orgs,
170
+ f_reciever:'',
171
+
172
+ f_complaint_results:''
173
+ },
174
+ handling:[{label:'处理',value:'处理'},{label:'下派',value:'下派'}],
175
+ source:
176
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
177
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
178
+ userid: this.$login.f.id,
179
+ complaintTypes:this.$appdate.getParam('投诉类型'),
180
+ complaint:true
181
+ }
182
+ },
183
+ ready () {
184
+ if (this.data) {
185
+ this.assignObj()
186
+ }
187
+ },
188
+ methods: {
189
+ sourcechange(val){
190
+ //tag
191
+ this.picked=val=='处理'?'done':'wait'
192
+ },
193
+ print(row) {
194
+ this.showcheckmsg = true
195
+ this.checkInfo = row
196
+ },
197
+ saveComplainData () {
198
+ if (this.picked=='done'&&this.complaints==''){
199
+ return this.$showAlert('请填写处理记录', 'warning', 2000)
200
+ }
201
+ if (this.picked=='wait'&&this.model.serviceacitivity[0].f_reciever==''){
202
+ return this.$showAlert('请选择站点!', 'warning', 2000)
203
+ }
204
+ if (this.complaintstext==''){
205
+ return this.$showAlert('请填写投诉来电内容', 'warning', 2000)
206
+ }
207
+ this.saveing = true
208
+ if (this.picked=='done'){
209
+ this.model.serviceacitivity = [
210
+ {f_result_status:'已完成',f_complaint_results:this.model.f_complaint_results}];
211
+ }
212
+ this.model.picked = this.picked
213
+ delete this.model.id
214
+ this.model.f_content = this.complaintstext.toString() +','+ this.complaints
215
+ //tag
216
+ this.$resetpost('af-telephone/rs/logic/saveComplaint', {model: this.model, loginUser: {name: this.loginUser.name, ename: this.loginUser.ename}, callObj: this.callObj}).then(() => {
217
+ // 清空数据
218
+ this.$emit('commitsus',this.model.f_phone,this.model)
219
+ this.cleardata()
220
+ if (this.callObj && this.callObj.callNum) {
221
+ this.callObj.callNum = null
222
+ this.callObj.RecordsID = null
223
+ //tag
224
+ Util.afterCallBz(this.$login.f.id, this.$login.f.name)
225
+ }
226
+ this.saveing = false
227
+
228
+ })
229
+ },
230
+ assignObj () {
231
+ this.model = Object.assign(this.model, {}, this.data)
232
+ this.model.f_user_name = this.data.f_user_name
233
+ this.model.f_small_area = this.data.f_slice_area
234
+ this.model.f_contact_phone = this.data.f_user_phone
235
+ //tag
236
+ },
237
+ cleardata () {
238
+ let f_meetunit1 = this.model.serviceacitivity[0].f_meetunit;
239
+ let f_reciever1 = this.model.serviceacitivity[0].f_reciever;
240
+ this.model = {
241
+ serviceacitivity: [{
242
+ f_service_acitivity_type: '派单',
243
+ f_meetunit:f_meetunit1,
244
+ f_reciever:f_reciever1,
245
+ f_complaint_results:''
246
+ }],
247
+ f_small_area:'',
248
+ f_content: '',
249
+ f_user_name: '',
250
+ f_phone: '',
251
+ f_contact_phone: '',
252
+ f_remarks: '',
253
+ aState: null,
254
+ f_source:'用户来电',
255
+ f_orgid:this.$login.f.orgid,
256
+ f_orgname:this.$login.f.orgs,
257
+ f_depname:this.$login.f.dops,
258
+ f_depid:this.$login.f.depids,
259
+ f_operator:this.$login.f.name,
260
+ f_operatorid:this.$login.f.id,
261
+ f_address: '',
262
+ f_time:'',
263
+ f_filiale_id : this.$login.f.orgid,
264
+ f_filiale : this.$login.f.orgs,
265
+ picked: this.picked, //待办/已办
266
+ f_complaint_results:''
267
+ }
268
+ this.complaintstext=[]
269
+ this.complaints=''
270
+ this.data = {}
271
+ },
272
+ // 选中部门
273
+ reres(val){
274
+ if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
275
+ return
276
+ }
277
+ this.model.serviceacitivity[0].f_meetunit = val.res[0]
278
+ this.model.f_meetunit = val.res[0]
279
+ this.model.f_filiale_id = val.orgobj[0].parentid
280
+ this.model.f_filiale = val.orgobj[0].parentname
281
+ this.model.f_outlets = val.res[0]
282
+ this.model.serviceacitivity[0].f_reciever = val.resids[0]
283
+ this.model.f_reciever = val.resids[0]
284
+ },
285
+ },
286
+ computed: {
287
+ IsClickDisabled: function() {
288
+ if (this.$v.valid) {
289
+ if ( this.model.aState === null) {
290
+ //tag
291
+ return false
292
+ }
293
+ if ( this.model.f_phone && this.model.aState === '正在保存') {
294
+ //tag
295
+ return false
296
+ }
297
+ //tag
298
+ return true
299
+ } else {
300
+ //tag
301
+ return true
302
+ }
303
+ },
304
+ isComplainSendOrHandle(){
305
+ // 投诉单下派还是处理
306
+ let res = this.$appdata.getSingleValue('投诉单下派或处理');
307
+ if (res == 'true'){
308
+ return true;
309
+ }else {
310
+ return false;
311
+ }
312
+ }
313
+ },
314
+ watch: {
315
+ // 是否清空
316
+ 'cleantf'(){
317
+ this.cleardata()
318
+ },
319
+ 'data' () {
320
+ // 组织数据
321
+ this.assignObj()
322
+ },
323
+ // 话务对象发生变化将来电电话赋值给f_phone
324
+ 'callObj' () {
325
+ this.cleardata()
326
+ this.model.f_phone = this.callObj.callNum
327
+ this.model.f_contact_phone = this.callObj.callNum
328
+ this.model.f_time=Util.toStandardTimeString()
329
+ //tag
330
+ this.model.aState = this.callObj.aState
331
+ //tag
332
+ }
333
+ }
334
+ }
335
+ </script>
@@ -1,16 +1,16 @@
1
- // 分公司特殊组件页面注册
2
- import Vue from "vue";
3
-
4
- //pc和手机分别注册到两个文件中
5
- let specialComp = {
6
-
7
- // 工单详情子组件
8
- 'complain-work': (resolve) => {
9
- require(['./pc/ComplainWork'], resolve)
10
- }
11
- }
12
- exports.specialComp = specialComp
13
-
14
-
15
-
16
-
1
+ // 分公司特殊组件页面注册
2
+ import Vue from "vue";
3
+
4
+ //pc和手机分别注册到两个文件中
5
+ let specialComp = {
6
+
7
+ // 工单详情子组件
8
+ 'complain-work': (resolve) => {
9
+ require(['./pc/ComplainWork'], resolve)
10
+ }
11
+ }
12
+ exports.specialComp = specialComp
13
+
14
+
15
+
16
+
package/src/main.js CHANGED
@@ -10,7 +10,7 @@ Vue.prototype.$echarts = echarts
10
10
  /** **************************通用组件******************************/
11
11
  all()
12
12
  system(false)
13
- telephone('meihekou')
13
+ telephone('xinkang')
14
14
  // safecheck('bayan')
15
15
  require('./expandcss.less')
16
16
  require('system-clients/src/styles/less/bootstrap.less')
package/src/telephone.js CHANGED
@@ -759,6 +759,9 @@ export default function(filiale, guoxin) {
759
759
  Vue.component('old-work-list', (resolve) => {
760
760
  require(['./components/pc/olddata/OldWorkList'], resolve)
761
761
  })
762
+ Vue.component('telephone-operator-report', (resolve) => {
763
+ require(['./components/workorder/TelephoneOperatorReport'], resolve)
764
+ })
762
765
  Vue.component('sale-material-display-tel', (resolve) => { require(['./components/MaterialsManage/MaterialsList'], resolve) })
763
766
  Vue.component('sale-material-manage-tel', (resolve) => { require(['./components/MaterialsManage/MaterialsManage'], resolve) })
764
767
  Vue.component('sale-materials-base-tel', (resolve) => { require(['./components/MaterialsManage/MaterialsBase'], resolve) })