telephone-clients 4.0.0-1-16 → 4.0.0-1-18

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,329 @@
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>
@@ -0,0 +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
+