telephone-clients 3.0.103 → 3.0.104-11

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.
Files changed (132) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -56
  3. package/src/assets//345/210/240/351/231/244.png +0 -0
  4. package/src/components/Util/RightTreeSafe.vue +2 -2
  5. package/src/components/Util/RightTreeSafeDep.vue +350 -0
  6. package/src/components/android/AddMyTask.vue +7 -0
  7. package/src/components/guoxin/Console.vue +9 -0
  8. package/src/components/guoxin/VisitInfo.vue +0 -11
  9. package/src/components/pc/NewRepairPaper.vue +370 -370
  10. package/src/components/pc/RepairsWork.vue +23 -2
  11. package/src/components/pc/RoleSelectorDep.vue +158 -0
  12. package/src/components/pc/TelFindUser.vue +1 -1
  13. package/src/components/pc/TelListener.vue +47 -16
  14. package/src/components/pc/VisitInfo.vue +44 -17
  15. package/src/components/pc/WorkCenter.vue +1 -1
  16. package/src/components/pc/WorkCenterList.vue +1 -1
  17. package/src/components/pc/WorkHistory.vue +20 -2
  18. package/src/components/pc/WorkListAll.vue +1 -1
  19. package/src/components/pc/WorkListAllNew.vue +10 -3
  20. package/src/components/pc/WorkListNew.vue +9 -3
  21. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  22. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  23. package/src/components/telreport/TableFaultReport.vue +96 -0
  24. package/src/components/telreport/Traffic.vue +3 -3
  25. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  26. package/src/components/temp/ChangemeterInfo.vue +75 -87
  27. package/src/components/temp/DeviceInfo.vue +80 -82
  28. package/src/components/temp/HandplanInfo.vue +14 -3
  29. package/src/components/temp/InfoTable.vue +5 -2
  30. package/src/components/temp/MetereadInfo.vue +1 -4
  31. package/src/components/temp/OldRepairList.vue +100 -0
  32. package/src/components/temp/RepairList.vue +2 -2
  33. package/src/components/weinan/Console.vue +1 -1
  34. package/src/components/weinan/RecordList.vue +2 -2
  35. package/src/components/weinan/SiteSend.vue +2 -2
  36. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  37. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  38. package/src/components/weinan/WorkList.vue +73 -0
  39. package/src/components/weinan/WorkListAll.vue +90 -14
  40. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  41. package/src/components/workorder/CompletedRepair.vue +269 -183
  42. package/src/components/workorder/FaultAll.vue +826 -826
  43. package/src/components/workorder/PhoneStandWork.vue +354 -354
  44. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  45. package/src/components/workorder/RepairDetails.vue +12 -2
  46. package/src/components/workorder/RepairFirstV.vue +1 -1
  47. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  48. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  49. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/hanzhong/telephone.js +1 -1
  52. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  53. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  54. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  55. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  56. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  57. package/src/filiale/kelai/telephone.js +9 -8
  58. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  59. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  60. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  61. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  62. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  63. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  64. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  65. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
  66. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  67. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  68. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
  69. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  70. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  71. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  72. package/src/filiale/qianneng/telephone.js +2 -0
  73. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  74. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  75. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  76. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  77. package/src/filiale/rizhao/telephone.js +1 -1
  78. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  79. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  80. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  81. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  82. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  83. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  84. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  85. package/src/filiale/shanxian/telephone.js +13 -12
  86. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  87. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  88. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  89. package/src/filiale/shexian/android/Outlay.vue +182 -165
  90. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  91. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  92. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  93. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  94. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  95. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  96. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  97. package/src/filiale/shexian/telephone.js +21 -18
  98. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  99. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  100. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  101. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  102. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  103. package/src/filiale/tongchuan/telephone.js +52 -52
  104. package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
  105. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  106. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  107. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  108. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  109. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  110. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  111. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  112. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  113. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  114. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  115. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  116. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  117. package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
  118. package/src/filiale/wenxi/telephone.js +4 -5
  119. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  120. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  121. package/src/filiale/wuhai/telephone.js +1 -1
  122. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  123. package/src/filiale/yuncheng/telephone.js +12 -0
  124. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  125. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  126. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  127. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  128. package/src/filiale/zhongsheng/telephone.js +23 -23
  129. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  130. package/src/main.js +1 -1
  131. package/src/telephone.js +17 -1
  132. package/src/weinan.js +6 -0
@@ -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%">备&emsp;&emsp;注</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
- 提&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
- </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%">备&emsp;&emsp;注</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
+ 提&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
+ </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>