telephone-clients 4.0.0-1-3 → 4.0.0-1-5

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.
@@ -58,9 +58,9 @@
58
58
  <div v-show="false" class="col-sm-12 col-xs-12 col-md-12 padd-div-shu" v-if="worktype == '置换通气单'||worktype == '安装单'">
59
59
  预约时间: {{row.f_yuyue_date}}
60
60
  </div>
61
- <!-- <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu" v-if="worktype == '报修单'">
62
- 报修类型: {{row.f_servicerepair_type}}
63
- </div>-->
61
+ <!-- <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu" v-if="worktype == '报修单'">
62
+ 报修类型: {{row.f_servicerepair_type}}
63
+ </div>-->
64
64
  <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu" v-if="row.f_repairtype">
65
65
  报修类型: {{row.f_repairtype}}
66
66
  </div>
@@ -113,13 +113,28 @@
113
113
  </div>
114
114
  <div slot="modal-body" class="modal-body">
115
115
  <div class="row" style="margin-top: 6px">
116
- <label class="col-xs-4 col-md-4 control-label font text-left">接单人</label>
116
+ <label class="col-xs-4 col-md-4 control-label font text-left">派单方式</label>
117
+ <div class="col-xs-8">
118
+ <v-select :value="f_handlingtype" :value-single="true" v-model="f_handlingtype"
119
+ :options='repairerType' placeholder='请选择派单方式'
120
+ close-on-select></v-select>
121
+ </div>
122
+ </div>
123
+ <div class="row" style="margin-top: 6px" v-if=" f_handlingtype == '转维修员' ">
124
+ <label class="col-xs-4 col-md-4 control-label font text-left">维修员</label>
117
125
  <div class="col-xs-8">
118
126
  <v-select :value="sendselected.serviceacitivity[0].f_reciever" :value-single="true"
119
- :options='repairers' placeholder='请选择接单人'
127
+ :options='repairers' placeholder='请选择维修员'
120
128
  close-on-select v-on:change="repiarmancg"></v-select>
121
129
  </div>
122
130
  </div>
131
+ <div class="row" style="margin-top: 6px" v-if=" f_handlingtype == '转站点' ">
132
+ <label class="col-xs-4 col-md-4 control-label font text-left">站点</label>
133
+ <input style="width: 60%" type="text" v-show="false" v-model="sendselected.serviceacitivity[0].f_reciever">
134
+ <right-tree islist :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员">
135
+
136
+ </right-tree>
137
+ </div>
123
138
  <div class="row" style="margin-top: 6px">
124
139
  <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
125
140
  <div class="col-xs-8 col-md-8">
@@ -153,247 +168,264 @@
153
168
  </div>
154
169
  </template>
155
170
  <script>
156
- import FailureShow from '../pc/FailureShow'
157
- import { HttpResetClass } from 'vue-client'
158
- import Vue from 'vue'
159
- import * as Util from "../Util";
171
+ import FailureShow from '../pc/FailureShow'
172
+ import { HttpResetClass } from 'vue-client'
173
+ import Vue from 'vue'
174
+ import * as Util from "../Util";
160
175
 
161
- export default{
162
- title: '移动端站点派发',
163
- data () {
164
- return {
165
- // rows: Object
166
- //结案备注
167
- f_caseremarks:'',
168
- selectone:'',
169
- rows: [],
170
- username:'',
171
- address:'',
172
- sendshow:false,
173
- repairers: [],
174
- caseshow:false,
175
- sendselected:{
176
- serviceacitivity:[
177
- {
178
- f_service_acitivity_type: '派单',
179
- f_reciever:''
180
- }
181
- ],
182
- f_advice:''
183
- },
184
- number:0,
185
- listData: {
186
- list: [],
187
- isEnd: true,
188
- index: 0
189
- }
176
+ export default{
177
+ title: '移动端站点派发',
178
+ data () {
179
+ return {
180
+ userid: Vue.user.id,
181
+ source:
182
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
183
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
184
+ repairName: '',
185
+ f_handlingtype:'转维修员',
186
+ repairerType:[{label: '转维修员', value: '转维修员'}, {label: '转站点', value: '转站点'}],
187
+ repairerStands:[],
188
+ f_caseremarks:'',
189
+ selectone:'',
190
+ rows: [],
191
+ username:'',
192
+ address:'',
193
+ sendshow:false,
194
+ repairers: [],
195
+ caseshow:false,
196
+ sendselected:{
197
+ serviceacitivity:[
198
+ {
199
+ f_service_acitivity_type: '派单',
200
+ f_reciever:''
201
+ }
202
+ ],
203
+ f_advice:''
204
+ },
205
+ number:0,
206
+ listData: {
207
+ list: [],
208
+ isEnd: true,
209
+ index: 0
190
210
  }
211
+ }
212
+ },
213
+ props: {
214
+ },
215
+ methods: {
216
+ reres(val){
217
+ if(val.res == undefined || val.res[0] == undefined || val.res[0] == ''){
218
+ return
219
+ }
220
+ this.model.serviceacitivity[0].f_meetunit = val.res[0]
221
+ this.model.f_meetunit = val.res[0]
222
+ this.model.f_filiale_id = val.orgobj[0].parentid
223
+ this.model.f_filiale = val.orgobj[0].parentname
224
+ this.model.f_outlets = val.res[0]
225
+ this.model.serviceacitivity[0].f_reciever = val.resids[0]
191
226
  },
192
- props: {
227
+ caseend(val){
228
+ this.selectone = val
229
+ this.caseshow = true
193
230
  },
194
- methods: {
195
- caseend(val){
196
- this.selectone = val
197
- this.caseshow = true
198
- },
199
- // 结案确认
200
- caseok(){
201
- // 工单结案操作
202
- let data = {model: this.selectone, loginUser: {name: Vue.user.name, ename: Vue.user.ename},f_caseremarks:this.f_caseremarks}
203
- let HttpReset1 = new HttpResetClass()
204
- // 将数据发送给业务逻辑
205
- HttpReset1.load('POST',`${this.$androidUtil.getProxyUrl()}/af-telephone/rs/logic/serviceCase`, data).then((res) => {
206
- this.f_caseremarks = ''
207
- this.caseshow = false
208
- this.ifsearch()
209
- })
210
- },
211
- // 结案返回
212
- caseclose(){
231
+ // 结案确认
232
+ caseok(){
233
+ // 工单结案操作
234
+ let data = {model: this.selectone, loginUser: {name: Vue.user.name, ename: Vue.user.ename},f_caseremarks:this.f_caseremarks}
235
+ let HttpReset1 = new HttpResetClass()
236
+ // 将数据发送给业务逻辑
237
+ HttpReset1.load('POST',`${this.$androidUtil.getProxyUrl()}/af-telephone/rs/logic/serviceCase`, data).then((res) => {
213
238
  this.f_caseremarks = ''
214
239
  this.caseshow = false
215
- this.selectone = ''
216
- },
217
- worksend () {
218
- if (!this.sendselected.serviceacitivity[0].f_reciever) {
219
- this.$showMessage(`请选择接单人员!`, ['confirm'])
240
+ this.ifsearch()
241
+ })
242
+ },
243
+ // 结案返回
244
+ caseclose(){
245
+ this.f_caseremarks = ''
246
+ this.caseshow = false
247
+ this.selectone = ''
248
+ },
249
+ worksend() {
250
+ if (!this.sendselected.serviceacitivity[0].f_reciever) {
251
+ this.$showMessage(`请选择接单人员!`, ['confirm'])
252
+ return
253
+ }
254
+ let data = {
255
+ model: this.sendselected,
256
+ loginUser: {name: Vue.user.name, ename: Vue.user.ename},
257
+ f_handlingtype: this.f_handlingtype
258
+ }
259
+ let HttpReset = new HttpResetClass()
260
+ // 将数据发送给业务逻辑
261
+ HttpReset.load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/logic/siteSend`, data).then((res) => {
262
+ if (res.data.code == 300) {
263
+ this.sendshow = false
264
+ this.sendselected = {
265
+ serviceacitivity: [
266
+ {
267
+ f_service_acitivity_type: '派单',
268
+ f_reciever: ''
269
+ }
270
+ ],
271
+ f_advice: ''
272
+ }
273
+ this.ifsearch()
274
+ this.$showMessage(`该单已被派发!`, ['confirm'])
220
275
  return
221
- }
222
- let data = {
223
- model: this.sendselected,
224
- loginUser: {name: Vue.user.name, ename: Vue.user.ename},
225
- f_handlingtype:'转维修员'
226
- }
227
- let HttpReset = new HttpResetClass()
228
- // 将数据发送给业务逻辑
229
- HttpReset.load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/logic/siteSend`, data).then((res) => {
230
- if (res.data.code == 300) {
231
- this.sendshow = false
232
- this.sendselected ={
233
- serviceacitivity:[
234
- {
235
- f_service_acitivity_type: '派单',
236
- f_reciever:''
237
- }
238
- ],
239
- f_advice:''
240
- }
241
- this.ifsearch()
242
- this.$showMessage(`该单已被派发!`, ['confirm'])
243
- return
244
- } else {
245
- this.sendshow = false
246
- this.sendselected ={
247
- serviceacitivity:[
248
- {
249
- f_service_acitivity_type: '派单',
250
- f_reciever:''
251
- }
252
- ],
253
- f_advice:''
254
- }
255
- this.ifsearch()
256
- this.$showMessage(`派发成功!`, ['confirm'])
257
- return
276
+ } else {
277
+ this.sendshow = false
278
+ this.sendselected = {
279
+ serviceacitivity: [
280
+ {
281
+ f_service_acitivity_type: '派单',
282
+ f_reciever: ''
283
+ }
284
+ ],
285
+ f_advice: ''
258
286
  }
259
- })
260
- },
261
- repiarmancg(val){
262
- this.sendselected.serviceacitivity[0].f_reciever = val
263
- },
264
- // 获取维修员
265
- getEmp () {
266
- // 获取接单人数组
267
- let http = new HttpResetClass()
268
- var val = {source: `this.getParentByType($organization$).getChildByName($维修员$).getUsers()`, userid: `${Vue.user.id}`}
269
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
270
- res.data.forEach((item) => {
271
- this.repairers.push({label: `${item.name}`, value: item.name})
272
- })
273
- })
274
- },
275
- ifsearch(){
276
- this.listData.list = []
277
- this.listData.index = 0
278
- this.listData.isEnd = true
279
- var condition = `1 = 1 and tswo.f_workorder_type = '报修单'`
280
- if(this.username != ''){
281
- condition += " and tswo.f_user_name like '%" + this.username + "%'"
282
- }
283
- if(this.address != ''){
284
- condition += " and tswo.f_address like '%" + this.address + "%'"
285
- }
286
- var val = {
287
- condition:{
288
- condition:condition,
289
- sign:'1 = 1'
290
- },
291
- userid:Vue.user.name
292
- }
293
- //tag
294
- //tag
295
- let http = new HttpResetClass()
296
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/operatorService`, {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
297
- this.rows = res.data
298
- this.showMore()
299
- })
300
- },
301
- selected (row) {
302
- this.sendselected = Object.assign({}, this.sendselected, row)
303
- this.sendshow =true
304
- },
305
- undo(){
306
- this.sendselected ={
307
- serviceacitivity:[
308
- {
309
- f_service_acitivity_type: '派单',
310
- f_reciever:''
311
- }
312
- ],
313
- f_advice:''
314
- }
315
- this.sendshow = false
316
- this.ifsearch()
317
- },
318
- makeAPhoneCall(phoneNumber) {
319
- this.$androidUtil.makeAPhoneCall(phoneNumber)
320
- },
321
- showMore() {
322
- if (!this.rows) {
287
+ this.ifsearch()
288
+ this.$showMessage(`派发成功!`, ['confirm'])
323
289
  return
324
290
  }
325
- let endIndex = this.listData.index + 10
326
- if (endIndex > this.rows.length) {
327
- endIndex = this.rows.length
328
- }
329
- for (; this.listData.index < endIndex; this.listData.index++) {
330
- this.listData.list.push(this.rows[this.listData.index])
331
- }
332
- if(this.listData.index == this.rows.length){
333
- this.listData.isEnd = true
334
- }else {
335
- this.listData.isEnd = false
336
- }
291
+ })
292
+ },
293
+ repiarmancg(val){
294
+ this.sendselected.serviceacitivity[0].f_reciever = val
295
+ },
296
+ // 获取维修员
297
+ getEmp () {
298
+ // 获取接单人数组
299
+ let http = new HttpResetClass()
300
+ var val = {source: `this.getParentByType($organization$).getChildByName($维修员$).getUsers()`, userid: `${Vue.user.id}`}
301
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
302
+ res.data.forEach((item) => {
303
+ this.repairers.push({label: `${item.name}`, value: item.name})
304
+ })
305
+ })
306
+ },
307
+ ifsearch(){
308
+ this.listData.list = []
309
+ this.listData.index = 0
310
+ this.listData.isEnd = true
311
+ var condition = `1 = 1 and tswo.f_workorder_type = '报修单'`
312
+ if(this.username != ''){
313
+ condition += " and tswo.f_user_name like '%" + this.username + "%'"
337
314
  }
315
+ if(this.address != ''){
316
+ condition += " and tswo.f_address like '%" + this.address + "%'"
317
+ }
318
+ var val = {
319
+ condition:{
320
+ condition:condition,
321
+ sign:'1 = 1'
322
+ },
323
+ userid:Vue.user.name
324
+ }
325
+ //tag
326
+ //tag
327
+ let http = new HttpResetClass()
328
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/operatorService`, {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
329
+ this.rows = res.data
330
+ this.showMore()
331
+ })
332
+ },
333
+ selected (row) {
334
+ this.sendselected = Object.assign({}, this.sendselected, row)
335
+ this.sendshow =true
338
336
  },
339
- ready () {
340
- this.getEmp()
337
+ undo(){
338
+ this.sendselected ={
339
+ serviceacitivity:[
340
+ {
341
+ f_service_acitivity_type: '派单',
342
+ f_reciever:''
343
+ }
344
+ ],
345
+ f_advice:''
346
+ }
347
+ this.sendshow = false
341
348
  this.ifsearch()
342
349
  },
343
- components: {
344
- FailureShow,
345
- 'failure-show': FailureShow
350
+ makeAPhoneCall(phoneNumber) {
351
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
352
+ },
353
+ showMore() {
354
+ if (!this.rows) {
355
+ return
356
+ }
357
+ let endIndex = this.listData.index + 10
358
+ if (endIndex > this.rows.length) {
359
+ endIndex = this.rows.length
360
+ }
361
+ for (; this.listData.index < endIndex; this.listData.index++) {
362
+ this.listData.list.push(this.rows[this.listData.index])
363
+ }
364
+ if(this.listData.index == this.rows.length){
365
+ this.listData.isEnd = true
366
+ }else {
367
+ this.listData.isEnd = false
368
+ }
346
369
  }
370
+ },
371
+ ready () {
372
+ this.getEmp()
373
+ this.ifsearch()
374
+ },
375
+ components: {
376
+ FailureShow,
377
+ 'failure-show': FailureShow
347
378
  }
379
+ }
348
380
  </script>
349
381
  <style scoped>
350
- .searBtn {
351
- background: #FFFFFF;
352
- color: #0096fb;
353
- border: 1px solid #0096fb;
354
- border-radius: 5px;
355
- padding: 8px;
356
- text-align: center;
357
- font-size: 1.2em;
358
- z-index: 10;
359
- opacity:0.5;
360
- bottom: 50px;
361
- margin-top: -10px;
362
- height: 40px;
363
- }
364
- .bg {
365
- background-color: #499edf;
366
- height: 1px;
367
- border: 0;
368
- }
369
- .app-row {
370
- background-color: white;
371
- padding: 10px 10px 0 10px;
372
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
373
- }
374
- .search_input {
375
- border: 0;
376
- outline: none;
377
- }
378
- .font{
379
- font: 15px PingFang-SC-Medium;
380
- color: #666666;
381
- }
382
- .input-font{
383
- font: 15px PingFang-SC-Medium;
384
- color: #333333;
385
- }
386
- .btn-font{
387
- font:600 16px PingFang-SC-Bold;
388
- color: #499EDF;
389
- }
390
- .btn-color{
391
- background-color: #FFFFFF;
392
- border-radius: 10px ;
393
- border: 1px solid #499EDF;
394
- }
395
- .panel-blue-border {
396
- border: 1px solid #499edf;
397
- border-radius: 5px;
398
- }
382
+ .searBtn {
383
+ background: #FFFFFF;
384
+ color: #0096fb;
385
+ border: 1px solid #0096fb;
386
+ border-radius: 5px;
387
+ padding: 8px;
388
+ text-align: center;
389
+ font-size: 1.2em;
390
+ z-index: 10;
391
+ opacity:0.5;
392
+ bottom: 50px;
393
+ margin-top: -10px;
394
+ height: 40px;
395
+ }
396
+ .bg {
397
+ background-color: #499edf;
398
+ height: 1px;
399
+ border: 0;
400
+ }
401
+ .app-row {
402
+ background-color: white;
403
+ padding: 10px 10px 0 10px;
404
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
405
+ }
406
+ .search_input {
407
+ border: 0;
408
+ outline: none;
409
+ }
410
+ .font{
411
+ font: 15px PingFang-SC-Medium;
412
+ color: #666666;
413
+ }
414
+ .input-font{
415
+ font: 15px PingFang-SC-Medium;
416
+ color: #333333;
417
+ }
418
+ .btn-font{
419
+ font:600 16px PingFang-SC-Bold;
420
+ color: #499EDF;
421
+ }
422
+ .btn-color{
423
+ background-color: #FFFFFF;
424
+ border-radius: 10px ;
425
+ border: 1px solid #499EDF;
426
+ }
427
+ .panel-blue-border {
428
+ border: 1px solid #499edf;
429
+ border-radius: 5px;
430
+ }
399
431
  </style>