telephone-clients 3.0.101 → 3.0.103
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 +116 -116
- package/src/App.vue +56 -52
- package/src/components/pc/NewRepairPaper.vue +370 -370
- package/src/components/pc/WorkListAllNew.vue +17 -23
- package/src/components/temp/ChangemeterInfo.vue +87 -87
- package/src/components/temp/DeviceInfo.vue +82 -82
- package/src/components/workorder/FaultAll.vue +826 -826
- package/src/components/workorder/PhoneStandWork.vue +354 -354
- package/src/components/workorder/RepairOrderV.vue +1446 -1446
- package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
- package/src/filiale/furuike/pc/Seekwork.vue +352 -352
- package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
- package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
- package/src/filiale/qianneng/android/FaultAll.vue +883 -883
- package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
- package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
- package/src/filiale/qianneng/android/chargesList.vue +161 -161
- package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
- package/src/filiale/qianneng/pc/RepairsWork.vue +982 -982
- package/src/filiale/qianneng/pc/WorkListAllNew.vue +14 -24
- package/src/filiale/shanxian/telephone.js +12 -12
- package/src/filiale/shexian/android/AddMyTask.vue +347 -0
- package/src/filiale/shexian/pc/WorkList.vue +740 -0
- package/src/filiale/shexian/telephone.js +18 -17
- package/src/filiale/shexian/telephoneAndroid.js +26 -23
- package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
- package/src/filiale/wenxi/android/RepairOrderV.vue +1419 -1419
- package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
- package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
- package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
- package/src/filiale/zhongsheng/telephone.js +23 -23
- package/src/main.js +22 -22
|
@@ -1,352 +1,352 @@
|
|
|
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="calltext">
|
|
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="calltext"></textarea>
|
|
23
|
-
<!--手动输入值 -->
|
|
24
|
-
<textarea style="width: 100%" name="name" rows="3" v-model="call" 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 style="width: 60%" type="text" name="" v-model='model.f_phone' class="form-control" readonly="readonly"/>
|
|
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 style="width: 60%" type="text" name="" v-model='model.f_user_name' class="form-control"/>
|
|
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 style="width: 60%" type="text" name="" :readonly="is_context_phone" v-model='model.f_contact_phone' class="form-control">
|
|
43
|
-
</div>
|
|
44
|
-
<!--<div class="col-sm-6 form-group form-fix-width" style="padding: 0px 50px 0px 15px;" v-if="isSeekWorkSendOrHandle">
|
|
45
|
-
<label class="font_normal_body" for="one" style="width: 35%">下派</label>
|
|
46
|
-
<input class="" type="radio" id="one" value="wait" style="margin-top: 15px" v-model="picked">
|
|
47
|
-
<label class="font_normal_body" for="two" style="width: 35%">处理</label>
|
|
48
|
-
<input class="" type="radio" id="two" value="done" style="margin-top: 15px" v-model="picked">
|
|
49
|
-
</div>-->
|
|
50
|
-
<div class="col-sm-6 form-group form-fix-width">
|
|
51
|
-
<label class=" font_normal_body" style="width: 30%">处理方式</label>
|
|
52
|
-
<v-select :value="picked1" :value-single="true"
|
|
53
|
-
v-model="picked1"
|
|
54
|
-
:options='handling'
|
|
55
|
-
close-on-select
|
|
56
|
-
v-on:change="sourcechange" style="width: 60%"></v-select>
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
|
|
60
|
-
<!-- <div class="row" v-if="picked=='done'">-->
|
|
61
|
-
<!-- <div class="col-sm-12 form-input-group" :class="$v.f_complaint_results.required ? 'has-error' : ''">-->
|
|
62
|
-
<!-- <label class="font_normal_body" style="width: 15%">咨询处理</label>-->
|
|
63
|
-
<!-- <textarea style="width: 80%" name="name" rows="3" v-model="model.f_complaint_results" class="form-control ver-textarea" v-validate:f_complaint_results="['required']"></textarea>-->
|
|
64
|
-
<!-- </div>-->
|
|
65
|
-
<!-- </div>-->
|
|
66
|
-
<div class="row" v-if="picked=='wait'" >
|
|
67
|
-
<div class="col-sm-6 form-group form-fix-width">
|
|
68
|
-
<label class=" font_normal_body" style="width:30%">选择站点</label>
|
|
69
|
-
<input style="width: 100%;height:100%" type="text" v-show="false" id="recieverInputWidth" v-model="model.f_reciever">
|
|
70
|
-
<right-tree style="height:auto" :width="'100%'" islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
|
|
71
|
-
</right-tree>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
<div class="row">
|
|
76
|
-
<div class="col-sm-12 form-group form-fix-width">
|
|
77
|
-
<label class="font_normal_body" style="width: 15%">公司</label>
|
|
78
|
-
<div>
|
|
79
|
-
<right-tree-safe width="60%" :resobjprop.sync="resobjprop"></right-tree-safe>
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
<div class="row">
|
|
84
|
-
<div class="col-sm-12 form-input-group">
|
|
85
|
-
<label class="font_normal_body" style="width: 15%">备  注</label>
|
|
86
|
-
<textarea style="width: 80%" name="name" rows="3" v-model="model.f_remarks" class="form-control ver-textarea"></textarea>
|
|
87
|
-
</div>
|
|
88
|
-
</div>
|
|
89
|
-
|
|
90
|
-
<div class="row">
|
|
91
|
-
<button type="button" name="button" style="float: left" class="button_spacing button_search" @click="updateSecPhone">
|
|
92
|
-
设置此来电为用户的第二联系电话
|
|
93
|
-
</button>
|
|
94
|
-
<button type="button" name="button" class="button_spacing button_search" style="float: right" @click="saveSeekData()">
|
|
95
|
-
提 交
|
|
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
|
-
</div>
|
|
101
|
-
</validator>
|
|
102
|
-
</div>
|
|
103
|
-
</template>
|
|
104
|
-
|
|
105
|
-
<script>
|
|
106
|
-
import * as Util from '../../../components/Util'
|
|
107
|
-
import {HttpResetClass} from "vue-client";
|
|
108
|
-
|
|
109
|
-
export default {
|
|
110
|
-
title: '咨询单',
|
|
111
|
-
props: {
|
|
112
|
-
data: { // 用户信息
|
|
113
|
-
type: Object
|
|
114
|
-
},
|
|
115
|
-
callObj: {
|
|
116
|
-
type: Object
|
|
117
|
-
},
|
|
118
|
-
loginUser: {
|
|
119
|
-
type: Object
|
|
120
|
-
},
|
|
121
|
-
cleantf: {
|
|
122
|
-
type: Number
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
data () {
|
|
126
|
-
return {
|
|
127
|
-
resobjprop: {},
|
|
128
|
-
curorgid: [this.$login.f.orgid],
|
|
129
|
-
saveing:false,
|
|
130
|
-
is_context_phone: true,
|
|
131
|
-
model: {
|
|
132
|
-
// 一次派单
|
|
133
|
-
serviceacitivity: [{
|
|
134
|
-
f_service_acitivity_type: '派单',
|
|
135
|
-
f_meetunit:'',
|
|
136
|
-
f_reciever:'',
|
|
137
|
-
f_complaint_results:''
|
|
138
|
-
}],
|
|
139
|
-
f_content: '', //咨询内容
|
|
140
|
-
f_user_name: '',
|
|
141
|
-
f_phone: '',
|
|
142
|
-
f_contact_phone: '',
|
|
143
|
-
f_remarks: '',
|
|
144
|
-
aState: null,
|
|
145
|
-
f_source:'用户来电',
|
|
146
|
-
f_orgid:this.$login.f.orgid,
|
|
147
|
-
f_orgname:this.$login.f.orgs,
|
|
148
|
-
f_depname:this.$login.f.dops,
|
|
149
|
-
f_depid:this.$login.f.depids,
|
|
150
|
-
f_operator:this.$login.f.name,
|
|
151
|
-
f_operatorid:this.$login.f.id,
|
|
152
|
-
f_filiale: this.$login.f.orgs,
|
|
153
|
-
f_filiale_id: this.$login.f.orgid,
|
|
154
|
-
picked: this.picked, //待办/已办
|
|
155
|
-
f_reciever:'',
|
|
156
|
-
f_time:'',
|
|
157
|
-
f_complaint_results:''
|
|
158
|
-
},
|
|
159
|
-
calltext: [],
|
|
160
|
-
call:'',
|
|
161
|
-
picked: 'done', //待办/已办
|
|
162
|
-
picked1:'处理',
|
|
163
|
-
handling:[{label:'处理',value:'处理'},{label:'下派',value:'下派'}],
|
|
164
|
-
contents:this.$appdata.getParam('来电内容')?this.$appdata.getParam('来电内容'):[],
|
|
165
|
-
f_content:'',
|
|
166
|
-
source:
|
|
167
|
-
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
168
|
-
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
169
|
-
userid: this.$login.f.id
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
ready () {
|
|
173
|
-
if (this.data) {
|
|
174
|
-
this.assignObj()
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
methods: {
|
|
178
|
-
updateSecPhone(){
|
|
179
|
-
if (!this.model.f_phone){
|
|
180
|
-
return this.$showAlert('暂无来电', 'warning', 2000)
|
|
181
|
-
}
|
|
182
|
-
if (!this.model.f_userinfo_id){
|
|
183
|
-
return this.$showAlert('请选择一个用户', 'warning', 2000)
|
|
184
|
-
}
|
|
185
|
-
if (this.model.f_contact_phone == this.model.f_phone){
|
|
186
|
-
return this.$showAlert('用户联系电话与来电相同', 'warning', 2000)
|
|
187
|
-
}
|
|
188
|
-
const data = {
|
|
189
|
-
f_user_phone2: this.model.f_phone,
|
|
190
|
-
f_userinfo_id: this.model.f_userinfo_id
|
|
191
|
-
}
|
|
192
|
-
new HttpResetClass().load('post','/rs/logic/updateSecPhone', data).then((data) => {})
|
|
193
|
-
// this.$resetpost('/rs/logic/updateSecPhone', data).then((data) => {})
|
|
194
|
-
},
|
|
195
|
-
sourcechange(val){
|
|
196
|
-
//tag
|
|
197
|
-
this.picked=val=='处理'?'done':'wait'
|
|
198
|
-
},
|
|
199
|
-
saveSeekData () {
|
|
200
|
-
// if (this.picked=='done'&&this.call==''){
|
|
201
|
-
// return this.$showAlert('请填写反馈结果', 'warning', 2000)
|
|
202
|
-
// }
|
|
203
|
-
if (this.picked=='wait'&&this.model.serviceacitivity[0].f_reciever==''){
|
|
204
|
-
return this.$showAlert('请选择站点!', 'warning', 2000)
|
|
205
|
-
}
|
|
206
|
-
// if (this.calltext==''){
|
|
207
|
-
// return this.$showAlert('请填写咨询来电内容', 'warning', 2000)
|
|
208
|
-
// }
|
|
209
|
-
|
|
210
|
-
this.saveing = true
|
|
211
|
-
|
|
212
|
-
if (this.picked=='done'){
|
|
213
|
-
this.model.serviceacitivity = [
|
|
214
|
-
{f_service_acitivity_type:'咨询单',f_result_status:'已完成',f_complaint_results:this.model.f_complaint_results}];
|
|
215
|
-
}
|
|
216
|
-
delete this.model.id
|
|
217
|
-
this.model.picked = this.picked
|
|
218
|
-
this.model.f_content = this.calltext.toString() +','+ this.call
|
|
219
|
-
//tag
|
|
220
|
-
new HttpResetClass().load('post', 'rs/logic/saveConsult',{model: this.model,
|
|
221
|
-
loginUser: {name: this.loginUser.name,ename: this.loginUser.ename}, callObj: this.callObj},{resolveMsg: null, rejectMsg: null}).then(() => {
|
|
222
|
-
// 清空数据
|
|
223
|
-
this.$emit('commitsus',this.model.f_phone)
|
|
224
|
-
this.cleardata()
|
|
225
|
-
if (this.callObj && this.callObj.callNum) {
|
|
226
|
-
this.callObj.callNum = null
|
|
227
|
-
this.callObj.RecordsID = null
|
|
228
|
-
//tag
|
|
229
|
-
Util.afterCallBz(this.$login.f.id, this.$login.f.name)
|
|
230
|
-
}
|
|
231
|
-
this.saveing = false
|
|
232
|
-
})
|
|
233
|
-
},
|
|
234
|
-
assignObj () {
|
|
235
|
-
if (this.data.orgList) {
|
|
236
|
-
let find = false
|
|
237
|
-
for (const org of this.data.orgList) {
|
|
238
|
-
if (org.name == this.data.f_orgname){
|
|
239
|
-
this.resobjprop = {res: this.data.f_orgname, resids: org.id}
|
|
240
|
-
find = true
|
|
241
|
-
break
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
if (!find){
|
|
245
|
-
this.resobjprop = {}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
this.model = Object.assign(this.model, {}, this.data)
|
|
249
|
-
this.model.f_user_name = this.data.f_user_name
|
|
250
|
-
this.model.f_contact_phone = this.data.f_user_phone
|
|
251
|
-
this.is_context_phone = !!this.model.f_contact_phone
|
|
252
|
-
},
|
|
253
|
-
cleardata () {
|
|
254
|
-
this.resobjprop = {}
|
|
255
|
-
let f_meetunit1 = this.model.serviceacitivity[0].f_meetunit;
|
|
256
|
-
let f_reciever1 = this.model.serviceacitivity[0].f_reciever;
|
|
257
|
-
this.model = {
|
|
258
|
-
// 一次派单
|
|
259
|
-
serviceacitivity: [{
|
|
260
|
-
f_service_acitivity_type: '派单',
|
|
261
|
-
f_meetunit:f_meetunit1,
|
|
262
|
-
f_reciever:f_reciever1,
|
|
263
|
-
f_complaint_results:''
|
|
264
|
-
}],
|
|
265
|
-
f_content: '',
|
|
266
|
-
f_user_name: '',
|
|
267
|
-
f_phone: '',
|
|
268
|
-
f_contact_phone: '',
|
|
269
|
-
f_remarks: '',
|
|
270
|
-
aState: null,
|
|
271
|
-
f_source:'用户来电',
|
|
272
|
-
f_orgid:this.$login.f.orgid,
|
|
273
|
-
f_orgname:this.$login.f.orgs,
|
|
274
|
-
f_depname:this.$login.f.dops,
|
|
275
|
-
f_depid:this.$login.f.depids,
|
|
276
|
-
f_operator:this.$login.f.name,
|
|
277
|
-
f_operatorid:this.$login.f.id,
|
|
278
|
-
f_filiale: this.$login.f.orgs,
|
|
279
|
-
f_filiale_id: this.$login.f.orgid,
|
|
280
|
-
picked: this.picked, //代办/已办
|
|
281
|
-
f_reciever:'',
|
|
282
|
-
f_time:'',
|
|
283
|
-
}
|
|
284
|
-
this.calltext=[],
|
|
285
|
-
this.call='',
|
|
286
|
-
this.data = {}
|
|
287
|
-
//tag)
|
|
288
|
-
//tag)
|
|
289
|
-
},
|
|
290
|
-
// 选中部门
|
|
291
|
-
reres(val){
|
|
292
|
-
if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
|
|
293
|
-
return
|
|
294
|
-
}
|
|
295
|
-
//tag
|
|
296
|
-
this.model.serviceacitivity[0].f_meetunit = val.res[0]
|
|
297
|
-
this.model.f_meetunit = val.res[0]
|
|
298
|
-
this.model.f_outlets = val.res[0]
|
|
299
|
-
this.model.serviceacitivity[0].f_reciever = val.resids[0]
|
|
300
|
-
this.model.f_reciever = val.resids[0]
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
|
-
computed: {
|
|
304
|
-
IsClickDisabled: function() {
|
|
305
|
-
if (this.$v.valid) {
|
|
306
|
-
if ( this.model.aState === null) {
|
|
307
|
-
//tag
|
|
308
|
-
return false
|
|
309
|
-
}
|
|
310
|
-
if ( this.model.f_phone && this.model.aState === '正在保存') {
|
|
311
|
-
//tag
|
|
312
|
-
return false
|
|
313
|
-
}
|
|
314
|
-
//tag
|
|
315
|
-
return true
|
|
316
|
-
} else {
|
|
317
|
-
//tag
|
|
318
|
-
return true
|
|
319
|
-
}
|
|
320
|
-
},
|
|
321
|
-
isSeekWorkSendOrHandle () {
|
|
322
|
-
// 投诉单下派还是处理
|
|
323
|
-
let res = this.$appdata.getSingleValue('咨询单下派或处理');
|
|
324
|
-
if (res == 'true'){
|
|
325
|
-
return true;
|
|
326
|
-
}else {
|
|
327
|
-
return false;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
},
|
|
331
|
-
watch: {
|
|
332
|
-
// 是否清空
|
|
333
|
-
'cleantf'(){
|
|
334
|
-
this.cleardata()
|
|
335
|
-
},
|
|
336
|
-
'data' () {
|
|
337
|
-
this.assignObj()
|
|
338
|
-
},
|
|
339
|
-
// 话务对象发生变化将来电电话赋值给f_phone
|
|
340
|
-
'callObj' () {
|
|
341
|
-
this.cleardata()
|
|
342
|
-
this.model.f_phone = this.callObj.callNum
|
|
343
|
-
this.model.f_contact_phone = this.callObj.callNum
|
|
344
|
-
this.model.f_time=Util.toStandardTimeString()
|
|
345
|
-
//tag
|
|
346
|
-
this.model.aState = this.callObj.aState
|
|
347
|
-
//tag
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
</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="calltext">
|
|
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="calltext"></textarea>
|
|
23
|
+
<!--手动输入值 -->
|
|
24
|
+
<textarea style="width: 100%" name="name" rows="3" v-model="call" 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 style="width: 60%" type="text" name="" v-model='model.f_phone' class="form-control" readonly="readonly"/>
|
|
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 style="width: 60%" type="text" name="" v-model='model.f_user_name' class="form-control"/>
|
|
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 style="width: 60%" type="text" name="" :readonly="is_context_phone" v-model='model.f_contact_phone' class="form-control">
|
|
43
|
+
</div>
|
|
44
|
+
<!--<div class="col-sm-6 form-group form-fix-width" style="padding: 0px 50px 0px 15px;" v-if="isSeekWorkSendOrHandle">
|
|
45
|
+
<label class="font_normal_body" for="one" style="width: 35%">下派</label>
|
|
46
|
+
<input class="" type="radio" id="one" value="wait" style="margin-top: 15px" v-model="picked">
|
|
47
|
+
<label class="font_normal_body" for="two" style="width: 35%">处理</label>
|
|
48
|
+
<input class="" type="radio" id="two" value="done" style="margin-top: 15px" v-model="picked">
|
|
49
|
+
</div>-->
|
|
50
|
+
<div class="col-sm-6 form-group form-fix-width">
|
|
51
|
+
<label class=" font_normal_body" style="width: 30%">处理方式</label>
|
|
52
|
+
<v-select :value="picked1" :value-single="true"
|
|
53
|
+
v-model="picked1"
|
|
54
|
+
:options='handling'
|
|
55
|
+
close-on-select
|
|
56
|
+
v-on:change="sourcechange" style="width: 60%"></v-select>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<!-- <div class="row" v-if="picked=='done'">-->
|
|
61
|
+
<!-- <div class="col-sm-12 form-input-group" :class="$v.f_complaint_results.required ? 'has-error' : ''">-->
|
|
62
|
+
<!-- <label class="font_normal_body" style="width: 15%">咨询处理</label>-->
|
|
63
|
+
<!-- <textarea style="width: 80%" name="name" rows="3" v-model="model.f_complaint_results" class="form-control ver-textarea" v-validate:f_complaint_results="['required']"></textarea>-->
|
|
64
|
+
<!-- </div>-->
|
|
65
|
+
<!-- </div>-->
|
|
66
|
+
<div class="row" v-if="picked=='wait'" >
|
|
67
|
+
<div class="col-sm-6 form-group form-fix-width">
|
|
68
|
+
<label class=" font_normal_body" style="width:30%">选择站点</label>
|
|
69
|
+
<input style="width: 100%;height:100%" type="text" v-show="false" id="recieverInputWidth" v-model="model.f_reciever">
|
|
70
|
+
<right-tree style="height:auto" :width="'100%'" islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
|
|
71
|
+
</right-tree>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<div class="row">
|
|
76
|
+
<div class="col-sm-12 form-group form-fix-width">
|
|
77
|
+
<label class="font_normal_body" style="width: 15%">公司</label>
|
|
78
|
+
<div>
|
|
79
|
+
<right-tree-safe width="60%" :resobjprop.sync="resobjprop"></right-tree-safe>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="row">
|
|
84
|
+
<div class="col-sm-12 form-input-group">
|
|
85
|
+
<label class="font_normal_body" style="width: 15%">备  注</label>
|
|
86
|
+
<textarea style="width: 80%" name="name" rows="3" v-model="model.f_remarks" class="form-control ver-textarea"></textarea>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<div class="row">
|
|
91
|
+
<button type="button" name="button" style="float: left" class="button_spacing button_search" @click="updateSecPhone">
|
|
92
|
+
设置此来电为用户的第二联系电话
|
|
93
|
+
</button>
|
|
94
|
+
<button type="button" name="button" class="button_spacing button_search" style="float: right" @click="saveSeekData()">
|
|
95
|
+
提 交
|
|
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
|
+
</div>
|
|
101
|
+
</validator>
|
|
102
|
+
</div>
|
|
103
|
+
</template>
|
|
104
|
+
|
|
105
|
+
<script>
|
|
106
|
+
import * as Util from '../../../components/Util'
|
|
107
|
+
import {HttpResetClass} from "vue-client";
|
|
108
|
+
|
|
109
|
+
export default {
|
|
110
|
+
title: '咨询单',
|
|
111
|
+
props: {
|
|
112
|
+
data: { // 用户信息
|
|
113
|
+
type: Object
|
|
114
|
+
},
|
|
115
|
+
callObj: {
|
|
116
|
+
type: Object
|
|
117
|
+
},
|
|
118
|
+
loginUser: {
|
|
119
|
+
type: Object
|
|
120
|
+
},
|
|
121
|
+
cleantf: {
|
|
122
|
+
type: Number
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
data () {
|
|
126
|
+
return {
|
|
127
|
+
resobjprop: {},
|
|
128
|
+
curorgid: [this.$login.f.orgid],
|
|
129
|
+
saveing:false,
|
|
130
|
+
is_context_phone: true,
|
|
131
|
+
model: {
|
|
132
|
+
// 一次派单
|
|
133
|
+
serviceacitivity: [{
|
|
134
|
+
f_service_acitivity_type: '派单',
|
|
135
|
+
f_meetunit:'',
|
|
136
|
+
f_reciever:'',
|
|
137
|
+
f_complaint_results:''
|
|
138
|
+
}],
|
|
139
|
+
f_content: '', //咨询内容
|
|
140
|
+
f_user_name: '',
|
|
141
|
+
f_phone: '',
|
|
142
|
+
f_contact_phone: '',
|
|
143
|
+
f_remarks: '',
|
|
144
|
+
aState: null,
|
|
145
|
+
f_source:'用户来电',
|
|
146
|
+
f_orgid:this.$login.f.orgid,
|
|
147
|
+
f_orgname:this.$login.f.orgs,
|
|
148
|
+
f_depname:this.$login.f.dops,
|
|
149
|
+
f_depid:this.$login.f.depids,
|
|
150
|
+
f_operator:this.$login.f.name,
|
|
151
|
+
f_operatorid:this.$login.f.id,
|
|
152
|
+
f_filiale: this.$login.f.orgs,
|
|
153
|
+
f_filiale_id: this.$login.f.orgid,
|
|
154
|
+
picked: this.picked, //待办/已办
|
|
155
|
+
f_reciever:'',
|
|
156
|
+
f_time:'',
|
|
157
|
+
f_complaint_results:''
|
|
158
|
+
},
|
|
159
|
+
calltext: [],
|
|
160
|
+
call:'',
|
|
161
|
+
picked: 'done', //待办/已办
|
|
162
|
+
picked1:'处理',
|
|
163
|
+
handling:[{label:'处理',value:'处理'},{label:'下派',value:'下派'}],
|
|
164
|
+
contents:this.$appdata.getParam('来电内容')?this.$appdata.getParam('来电内容'):[],
|
|
165
|
+
f_content:'',
|
|
166
|
+
source:
|
|
167
|
+
'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
|
|
168
|
+
'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
|
|
169
|
+
userid: this.$login.f.id
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
ready () {
|
|
173
|
+
if (this.data) {
|
|
174
|
+
this.assignObj()
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
methods: {
|
|
178
|
+
updateSecPhone(){
|
|
179
|
+
if (!this.model.f_phone){
|
|
180
|
+
return this.$showAlert('暂无来电', 'warning', 2000)
|
|
181
|
+
}
|
|
182
|
+
if (!this.model.f_userinfo_id){
|
|
183
|
+
return this.$showAlert('请选择一个用户', 'warning', 2000)
|
|
184
|
+
}
|
|
185
|
+
if (this.model.f_contact_phone == this.model.f_phone){
|
|
186
|
+
return this.$showAlert('用户联系电话与来电相同', 'warning', 2000)
|
|
187
|
+
}
|
|
188
|
+
const data = {
|
|
189
|
+
f_user_phone2: this.model.f_phone,
|
|
190
|
+
f_userinfo_id: this.model.f_userinfo_id
|
|
191
|
+
}
|
|
192
|
+
new HttpResetClass().load('post','/rs/logic/updateSecPhone', data).then((data) => {})
|
|
193
|
+
// this.$resetpost('/rs/logic/updateSecPhone', data).then((data) => {})
|
|
194
|
+
},
|
|
195
|
+
sourcechange(val){
|
|
196
|
+
//tag
|
|
197
|
+
this.picked=val=='处理'?'done':'wait'
|
|
198
|
+
},
|
|
199
|
+
saveSeekData () {
|
|
200
|
+
// if (this.picked=='done'&&this.call==''){
|
|
201
|
+
// return this.$showAlert('请填写反馈结果', 'warning', 2000)
|
|
202
|
+
// }
|
|
203
|
+
if (this.picked=='wait'&&this.model.serviceacitivity[0].f_reciever==''){
|
|
204
|
+
return this.$showAlert('请选择站点!', 'warning', 2000)
|
|
205
|
+
}
|
|
206
|
+
// if (this.calltext==''){
|
|
207
|
+
// return this.$showAlert('请填写咨询来电内容', 'warning', 2000)
|
|
208
|
+
// }
|
|
209
|
+
|
|
210
|
+
this.saveing = true
|
|
211
|
+
|
|
212
|
+
if (this.picked=='done'){
|
|
213
|
+
this.model.serviceacitivity = [
|
|
214
|
+
{f_service_acitivity_type:'咨询单',f_result_status:'已完成',f_complaint_results:this.model.f_complaint_results}];
|
|
215
|
+
}
|
|
216
|
+
delete this.model.id
|
|
217
|
+
this.model.picked = this.picked
|
|
218
|
+
this.model.f_content = this.calltext.toString() +','+ this.call
|
|
219
|
+
//tag
|
|
220
|
+
new HttpResetClass().load('post', 'rs/logic/saveConsult',{model: this.model,
|
|
221
|
+
loginUser: {name: this.loginUser.name,ename: this.loginUser.ename}, callObj: this.callObj},{resolveMsg: null, rejectMsg: null}).then(() => {
|
|
222
|
+
// 清空数据
|
|
223
|
+
this.$emit('commitsus',this.model.f_phone)
|
|
224
|
+
this.cleardata()
|
|
225
|
+
if (this.callObj && this.callObj.callNum) {
|
|
226
|
+
this.callObj.callNum = null
|
|
227
|
+
this.callObj.RecordsID = null
|
|
228
|
+
//tag
|
|
229
|
+
Util.afterCallBz(this.$login.f.id, this.$login.f.name)
|
|
230
|
+
}
|
|
231
|
+
this.saveing = false
|
|
232
|
+
})
|
|
233
|
+
},
|
|
234
|
+
assignObj () {
|
|
235
|
+
if (this.data.orgList) {
|
|
236
|
+
let find = false
|
|
237
|
+
for (const org of this.data.orgList) {
|
|
238
|
+
if (org.name == this.data.f_orgname){
|
|
239
|
+
this.resobjprop = {res: this.data.f_orgname, resids: org.id}
|
|
240
|
+
find = true
|
|
241
|
+
break
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (!find){
|
|
245
|
+
this.resobjprop = {}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
this.model = Object.assign(this.model, {}, this.data)
|
|
249
|
+
this.model.f_user_name = this.data.f_user_name
|
|
250
|
+
this.model.f_contact_phone = this.data.f_user_phone
|
|
251
|
+
this.is_context_phone = !!this.model.f_contact_phone
|
|
252
|
+
},
|
|
253
|
+
cleardata () {
|
|
254
|
+
this.resobjprop = {}
|
|
255
|
+
let f_meetunit1 = this.model.serviceacitivity[0].f_meetunit;
|
|
256
|
+
let f_reciever1 = this.model.serviceacitivity[0].f_reciever;
|
|
257
|
+
this.model = {
|
|
258
|
+
// 一次派单
|
|
259
|
+
serviceacitivity: [{
|
|
260
|
+
f_service_acitivity_type: '派单',
|
|
261
|
+
f_meetunit:f_meetunit1,
|
|
262
|
+
f_reciever:f_reciever1,
|
|
263
|
+
f_complaint_results:''
|
|
264
|
+
}],
|
|
265
|
+
f_content: '',
|
|
266
|
+
f_user_name: '',
|
|
267
|
+
f_phone: '',
|
|
268
|
+
f_contact_phone: '',
|
|
269
|
+
f_remarks: '',
|
|
270
|
+
aState: null,
|
|
271
|
+
f_source:'用户来电',
|
|
272
|
+
f_orgid:this.$login.f.orgid,
|
|
273
|
+
f_orgname:this.$login.f.orgs,
|
|
274
|
+
f_depname:this.$login.f.dops,
|
|
275
|
+
f_depid:this.$login.f.depids,
|
|
276
|
+
f_operator:this.$login.f.name,
|
|
277
|
+
f_operatorid:this.$login.f.id,
|
|
278
|
+
f_filiale: this.$login.f.orgs,
|
|
279
|
+
f_filiale_id: this.$login.f.orgid,
|
|
280
|
+
picked: this.picked, //代办/已办
|
|
281
|
+
f_reciever:'',
|
|
282
|
+
f_time:'',
|
|
283
|
+
}
|
|
284
|
+
this.calltext=[],
|
|
285
|
+
this.call='',
|
|
286
|
+
this.data = {}
|
|
287
|
+
//tag)
|
|
288
|
+
//tag)
|
|
289
|
+
},
|
|
290
|
+
// 选中部门
|
|
291
|
+
reres(val){
|
|
292
|
+
if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
|
|
293
|
+
return
|
|
294
|
+
}
|
|
295
|
+
//tag
|
|
296
|
+
this.model.serviceacitivity[0].f_meetunit = val.res[0]
|
|
297
|
+
this.model.f_meetunit = val.res[0]
|
|
298
|
+
this.model.f_outlets = val.res[0]
|
|
299
|
+
this.model.serviceacitivity[0].f_reciever = val.resids[0]
|
|
300
|
+
this.model.f_reciever = val.resids[0]
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
computed: {
|
|
304
|
+
IsClickDisabled: function() {
|
|
305
|
+
if (this.$v.valid) {
|
|
306
|
+
if ( this.model.aState === null) {
|
|
307
|
+
//tag
|
|
308
|
+
return false
|
|
309
|
+
}
|
|
310
|
+
if ( this.model.f_phone && this.model.aState === '正在保存') {
|
|
311
|
+
//tag
|
|
312
|
+
return false
|
|
313
|
+
}
|
|
314
|
+
//tag
|
|
315
|
+
return true
|
|
316
|
+
} else {
|
|
317
|
+
//tag
|
|
318
|
+
return true
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
isSeekWorkSendOrHandle () {
|
|
322
|
+
// 投诉单下派还是处理
|
|
323
|
+
let res = this.$appdata.getSingleValue('咨询单下派或处理');
|
|
324
|
+
if (res == 'true'){
|
|
325
|
+
return true;
|
|
326
|
+
}else {
|
|
327
|
+
return false;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
watch: {
|
|
332
|
+
// 是否清空
|
|
333
|
+
'cleantf'(){
|
|
334
|
+
this.cleardata()
|
|
335
|
+
},
|
|
336
|
+
'data' () {
|
|
337
|
+
this.assignObj()
|
|
338
|
+
},
|
|
339
|
+
// 话务对象发生变化将来电电话赋值给f_phone
|
|
340
|
+
'callObj' () {
|
|
341
|
+
this.cleardata()
|
|
342
|
+
this.model.f_phone = this.callObj.callNum
|
|
343
|
+
this.model.f_contact_phone = this.callObj.callNum
|
|
344
|
+
this.model.f_time=Util.toStandardTimeString()
|
|
345
|
+
//tag
|
|
346
|
+
this.model.aState = this.callObj.aState
|
|
347
|
+
//tag
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
</script>
|