telephone-clients 3.0.97 → 3.0.98-2

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": "3.0.97",
3
+ "version": "3.0.98-2",
4
4
  "description": "呼叫模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -103,13 +103,13 @@
103
103
  </div>
104
104
  <div class="col-xs-8" >
105
105
  <v-select
106
- :value.sync="model.f_repairtype"
107
- v-model="model.f_repairtype"
108
- :options='$parent.$parent.repairTypeOptions'
109
- placeholder='请选择'
110
- close-on-select
111
- :value-single="true"
112
- condition="f_repairtype like '%{}%'"
106
+ :value.sync="model.f_repairtype"
107
+ v-model="model.f_repairtype"
108
+ :options='$parent.$parent.repairTypeOptions'
109
+ placeholder='请选择'
110
+ close-on-select
111
+ :value-single="true"
112
+ condition="f_repairtype like '%{}%'"
113
113
  ></v-select>
114
114
  </div>
115
115
  </div>
@@ -162,6 +162,13 @@
162
162
  <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
163
163
  <p class="panel-title col-xs-7 text-left input-font">{{ row.f_address }} &nbsp;&nbsp; {{row.f_contact_name}} </p>
164
164
  </div>
165
+ <div class="col-xs-12">
166
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>联系电话:</b></p>
167
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_contact_phone || '无' }}
168
+ <img src="../../assets/telphonesend.png" style="width: 12px;"
169
+ @click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_contact_phone)'>
170
+ </p>
171
+ </div>
165
172
  <div class="col-xs-6">
166
173
  <p class="panel-title col-xs-5 text-left font" style="float: left"><b>派单员:</b></p>
167
174
  <p class="panel-title col-xs-7 text-left input-font">{{row.f_attendant}} </p>
@@ -170,6 +177,10 @@
170
177
  <p class="panel-title col-xs-5 text-left font" style="float: left"><b>故障明细:</b></p>
171
178
  <p class="panel-title col-xs-7 text-left input-font">{{$parent.$parent.$parent.getfailure(row.failure)}} </p>
172
179
  </div>
180
+ <div class="col-xs-12" v-show="row.f_remarks">
181
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>工单备注:</b></p>
182
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_remarks }}</p>
183
+ </div>
173
184
  <div class="col-xs-12">
174
185
  <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">接单</button>
175
186
  </div>
@@ -200,11 +211,16 @@ export default {
200
211
  // userid: Vue.user.ename
201
212
  },
202
213
  repairTypeOptions: [{label: '全部', value: ''}],
203
- typeData: []
214
+ typeData: [],
215
+ showMessage: true
204
216
  }
205
217
  },
206
218
  ready(){
207
219
  this.$refs.paged.$refs.cri.search()
220
+ if (this.$appdata.getSingleValue('取消在线接单二次确定') === '是') {
221
+ this.showMessage = false
222
+ }
223
+ console.log(this.showMessage)
208
224
  },
209
225
  mounted(){
210
226
 
@@ -216,7 +232,7 @@ export default {
216
232
  // 获取现有的报修类型对应的数量
217
233
  async initRepairTypeNum() {
218
234
  this.typeData = []
219
- this.repairTypeOptions = []
235
+ this.repairTypeOptions = [{label: '全部', value: ''}]
220
236
  const http = new HttpResetClass()
221
237
  const res = await http.load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/getOperatorServiceTypeNum`,{data: {condition: `tswo.f_filiale_id = '${Vue.user.orgid}'`}},{resolveMsg: null, rejectMsg: null})
222
238
  const plainArray = res.data.map(item => Object.assign({}, item))
@@ -261,32 +277,58 @@ export default {
261
277
  return this.model.search(data, args.model)
262
278
  },
263
279
  inspect(row){
264
- this.$showMessage(`确定要接编号为${row.f_service_id}的单子吗?`, ['confirm', 'cancel']).then((isconfirm)=>{
265
- //tag)
266
- if (isconfirm === 'confirm') {
267
- let userdata = Object.assign({}, userdata, row)
268
- userdata.f_advice = '自我接单'
269
- userdata.serviceacitivity = [] //Vue.user.name
270
- userdata.serviceacitivity.push({f_reciever: Vue.user.name})
271
- let data = ''
272
- data = {
273
- model: userdata,
274
- // loginUser: {name: '何文强', ename: 'hwq'}
275
- loginUser: {name: Vue.user.name, ename: Vue.user.ename}
276
- }
277
- let HttpReset = new HttpResetClass()
278
- HttpReset.load("POST",`${this.$androidUtil.getProxyUrl()}/rs/logic/siteSend`,data).then((res)=>{
279
- if (res.data.code==300){
280
- this.$refs.paged.$refs.cri.search()
281
- return this.$showMessage('没有抢到该单哦!')
282
- }else {
283
- this.$refs.paged.$refs.cri.search()
284
- return this.$showMessage('接单成功!请及时处理。')
280
+ if (this.showMessage) {
281
+ this.$showMessage(`确定要接编号为${row.f_service_id}的单子吗?`, ['confirm', 'cancel']).then((isconfirm)=>{
282
+ //tag)
283
+ if (isconfirm === 'confirm') {
284
+ let userdata = Object.assign({}, userdata, row)
285
+ userdata.f_advice = '自我接单'
286
+ userdata.serviceacitivity = [] //Vue.user.name
287
+ userdata.serviceacitivity.push({f_reciever: Vue.user.name})
288
+ let data = ''
289
+ data = {
290
+ model: userdata,
291
+ // loginUser: {name: '何文强', ename: 'hwq'}
292
+ loginUser: {name: Vue.user.name, ename: Vue.user.ename}
285
293
  }
286
- })
294
+ let HttpReset = new HttpResetClass()
295
+ HttpReset.load("POST",`${this.$androidUtil.getProxyUrl()}/rs/logic/siteSend`,data).then((res)=>{
296
+ if (res.data.code==300){
297
+ this.$refs.paged.$refs.cri.search()
298
+ return this.$showMessage('没有抢到该单哦!')
299
+ }else {
300
+ this.$refs.paged.$refs.cri.search()
301
+ return this.$showMessage('接单成功!请及时处理。')
302
+ }
303
+ })
304
+ }
305
+ })
306
+ } else {
307
+ let userdata = Object.assign({}, userdata, row)
308
+ userdata.f_advice = '自我接单'
309
+ userdata.serviceacitivity = [] //Vue.user.name
310
+ userdata.serviceacitivity.push({f_reciever: Vue.user.name})
311
+ let data = ''
312
+ data = {
313
+ model: userdata,
314
+ // loginUser: {name: '何文强', ename: 'hwq'}
315
+ loginUser: {name: Vue.user.name, ename: Vue.user.ename}
287
316
  }
288
- })
289
- }
317
+ let HttpReset = new HttpResetClass()
318
+ HttpReset.load("POST",`${this.$androidUtil.getProxyUrl()}/rs/logic/siteSend`,data).then((res)=>{
319
+ if (res.data.code==300){
320
+ this.$refs.paged.$refs.cri.search()
321
+ return this.$showMessage('没有抢到该单哦!')
322
+ }else {
323
+ this.$refs.paged.$refs.cri.search()
324
+ return this.$showMessage('接单成功!请及时处理。')
325
+ }
326
+ })
327
+ }
328
+ },
329
+ makeAPhoneCall(phoneNumber) {
330
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
331
+ },
290
332
  },
291
333
  computed:{
292
334
 
@@ -134,7 +134,7 @@
134
134
  </div>
135
135
  <div class="col-sm-12 col-xs-12 col-md-12">
136
136
  <button type="button" name="button" class="btn btn-primary btn-sm" style="float: right"
137
- @click="isRecord(row)">处理
137
+ @click="selected(row,false)">处理
138
138
  </button>
139
139
 
140
140
  <button type="button" name="button" class="btn btn-primary btn-sm"
@@ -406,7 +406,6 @@ export default {
406
406
  } else {
407
407
  this.$showMessage(`转单失败,请检查网络异常!`, ['confirm'])
408
408
  }
409
-
410
409
  },
411
410
  undo() {
412
411
  this.orderman = ''
@@ -487,15 +486,6 @@ export default {
487
486
  this.$goto('repair-orderV', {row: row, worktype: this.worktype, isRecord: isRecord}, 'self', this.ifsearch)
488
487
  }
489
488
  },
490
- isRecord(row) {
491
- this.$showMessage('是否开启无限制录音?', ['confirm', 'cancel'], {resolveMsg: null, rejectMsg: null}).then((res) => {
492
- if (res === 'confirm') {
493
- this.selected(row, true)
494
- } else {
495
- this.selected(row, false)
496
- }
497
- })
498
- },
499
489
  sendback(row) {
500
490
  this.$showMessage('退回后数据不可恢复,确认退回操作吗?', ['confirm', 'cancel'], {
501
491
  resolveMsg: null,
@@ -0,0 +1,171 @@
1
+ <template>
2
+ <div class="repair-bg" id="work-history">
3
+ <div class="bq-parent" v-if="shutype == 'heng'">
4
+ <blockquote class="blockquote">
5
+ <p>工单基本信息</p>
6
+ </blockquote>
7
+ </div>
8
+ <!-- 工单的基本信息 -->
9
+ <div class="panel panel-default auto repair-info-content">
10
+ <div class="panel-body">
11
+ <p v-if="service.f_userinfo_id" >用户编号: <span style="text-decoration:underline">{{service.f_userinfo_code}}</span><!--&ensp;&ensp;<span style="color: blue" @click="goOtherCharge(service.f_userinfo_id)">其他收费</span>--></p>
12
+ <!--<p v-if="service.f_userinfo_id" >用户编号: <span style="color: blue;text-decoration:underline" @click="searchHistory()">{{service.f_userinfo_code}}</span></p>-->
13
+ <!--<p>工单编号: {{service.f_service_id}}</p>-->
14
+ <!--<p>生成时间: {{service.f_created_date}}</p>-->
15
+ <!--<p>预约时间: {{service.f_repair_date}}</p>-->
16
+ <p>来电电话: {{service.f_phone}}<img src="../../../assets/telphonesend.png" style="width: 12px;" @click.stop.prevent='makeAPhoneCall(service.f_phone)'></p>
17
+ <p>开启录音:<button type="button" class="btn btn-default" @click="openRecord()">开启</button>
18
+ </p>
19
+ <!--<p>用户姓名: {{service.f_user_name}}</p>-->
20
+ <!--<p>用户地址: {{service.f_address}}</p>-->
21
+ <p>备注信息: {{service.f_remarks}}</p>
22
+ <!--<p>指导建议: {{service.f_advice}}</p>-->
23
+ <failure-show :value='service.failure'>
24
+ </failure-show>
25
+ <div style="clear:both;">
26
+ <phone-sell-info-lite v-if="showSellInfo" :user="{}" :f_userinfo_id="service.f_userinfo_id"></phone-sell-info-lite>
27
+ </div>
28
+ <div class="from-group">
29
+ <img-self v-if="service.f_single_path" :src="imgfilename" width="200" height="200"></img-self>
30
+ <img-self v-if="service.f_singlea_path" :src="imgfilenamea" width="200" height="200"></img-self>
31
+ <img-self v-if="service.f_singleb_path" :src="imgfilenameb" width="200" height="200"></img-self>
32
+ </div>
33
+ <route name="info-route" ></route>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </template>
38
+ <script>
39
+ import FailureShow from '../../../components/pc/FailureShow'
40
+ import {HttpResetClass} from "vue-client";
41
+ import Vue from "vue";
42
+
43
+ export default {
44
+ title: '工单历史记录',
45
+ data () {
46
+ return {
47
+ // service: null
48
+ imgfilename:'',
49
+ imgfilenamea:'',
50
+ imgfilenameb:'',
51
+ f_userinfo_code : '测试文本',
52
+ showSellInfo: false
53
+ }
54
+ },
55
+ props: {
56
+
57
+ service: { // 传入一条报修单信息
58
+ type: Object
59
+ },
60
+ issee:'',
61
+ worktype:{
62
+ type: String,
63
+ default: '报修单'
64
+ },
65
+ // userinfo: {
66
+ // type: Object
67
+ // },
68
+ // 维修对应的用户数据收集
69
+ model: {
70
+ type: Object
71
+ },
72
+ // 工单信息
73
+ repair:{
74
+ type: Object
75
+ },
76
+ savevalid:{
77
+
78
+ },
79
+ sum:{
80
+
81
+ },
82
+ user:{
83
+ type: Object
84
+ },
85
+ show: {
86
+ type: Boolean,
87
+ default: false
88
+ },
89
+ // 本次维修, 用于编辑
90
+ data: {
91
+ type: Object
92
+ },
93
+ shutype:'heng'
94
+ },
95
+ ready () {
96
+ //tag)
97
+ //tag)
98
+ //tag)
99
+ //tag
100
+ this.imgfilename=`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+this.service.f_single_path
101
+ this.imgfilenamea=`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+this.service.f_singlea_path
102
+ this.imgfilenameb=`${this.$androidUtil.getProxyUrl()}/rs/image/file/`+this.service.f_singleb_path
103
+ //tag
104
+ //tag
105
+ //tag
106
+ for (let i in this.service) {
107
+ //tag + ':' + JSON.stringify(this.service[i]))
108
+ }
109
+ this.$goto('repair-user-info',{
110
+ model: this.model,
111
+ data: this.data,
112
+ savevalid: this.savevalid,
113
+ repair: this.repair,
114
+ show: this.show,
115
+ // userinfo: this.userinfo
116
+ shutype:this.shutype,
117
+ worktype:this.worktype,
118
+ issee:this.issee},'info-route')
119
+ },
120
+ methods: {
121
+ openRecord(){
122
+ this.$parent.$parent.openRecord()
123
+ },
124
+ makeAPhoneCall(phoneNumber) {
125
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
126
+ },
127
+ goOtherCharge(userinfoid){
128
+ //tag
129
+ new HttpResetClass().load("POST",`${this.$androidUtil.getProxyUrl()}/rs/sql/onlinequeryuser`,{data:{condition : ` uf.f_orgid = '${Vue.user.orgid}' and (ui.f_user_state = '正常' or ui.f_user_state = '预备') and ui.f_userinfo_id = '${userinfoid}'`}}).then((res)=>{
130
+ //tag)
131
+ if(res.data.length==1){
132
+ let _this = this
133
+ var pardate = {
134
+ _this:_this,
135
+ title:'其他收费',
136
+ safe:false
137
+ }
138
+ _this.$dispatch('gotoson',pardate)
139
+ //tag
140
+ _this.$parent.$goto('other_charge', {row: res.data[0]}, 'self')
141
+ }else if(res.data.length>1){
142
+ this.$showMessage('查询到了多条用户表信息,请让管理员核实用户信息是否正常!')
143
+ }else{
144
+ this.$showMessage('未查询到用户有正常状态的表具信息,请让管理员核实用户表档案信息是否正常!')
145
+ }
146
+ }).catch((msg)=>{
147
+ this.$showMessage('获取用户信息失败,请检查手机网络!')
148
+ })
149
+ },
150
+ selfSearch () {
151
+ if(!this.rowOne) {
152
+ return
153
+ }
154
+ // let gen = getGen(this)
155
+ // co(gen)
156
+ },
157
+ searchHistory() {
158
+ this.showSellInfo = !this.showSellInfo
159
+ }
160
+ },
161
+ watch: {
162
+ 'rowOne' () {
163
+ this.selfSearch()
164
+ }
165
+ },
166
+ components: {
167
+ FailureShow,
168
+ 'failure-show': FailureShow
169
+ }
170
+ }
171
+ </script>
@@ -33,7 +33,7 @@
33
33
  <script>
34
34
  // 户内维修
35
35
  import Vue from 'vue'
36
- import RepairInfo from './../../../components/workorder/RepairInfo'
36
+ import RepairInfo from './RepairInfo'
37
37
  import RepairDetails from './../../../components/workorder/RepairDetails'
38
38
  import RepairUserInfo from './../../../components/workorder/RepairUserInfo'
39
39
  import Outlay from './../../../components/workorder/Outlay'
@@ -506,6 +506,15 @@ export default {
506
506
  issee:this.issee,
507
507
  parentPage:'CurrentCreate'
508
508
  }, 'upload')
509
+ },
510
+ openRecord(){
511
+ let isRecodr = this.$appdata.getSingleValue('呼叫无限制录音'); //单值参数,为true则是开启全程录音
512
+ if (isRecodr) {
513
+ if (isRecodr == 'true') {
514
+ this.$showMessage("为了保证服务质量,您的电话将会被全程录音!")
515
+ this.record()
516
+ }
517
+ }
509
518
  }
510
519
  },
511
520
  watch: {
@@ -569,13 +578,6 @@ export default {
569
578
  if (this.show || this.repair) {
570
579
  this.faultshow.number = this.tabs.length
571
580
  }
572
- let isRecodr = this.$appdata.getSingleValue('呼叫无限制录音'); //单值参数,为true则是开启全程录音
573
- if (isRecodr) {
574
- if (isRecodr == 'true' && this.isRecord) {
575
- this.$showMessage("为了保证服务质量,您的电话将会被全程录音!")
576
- this.record()
577
- }
578
- }
579
581
  },
580
582
  components: {
581
583
  'repair-info': RepairInfo,
@@ -1,11 +1,17 @@
1
1
  // 分公司特殊组件页面注册
2
- import Vue from "vue";
3
2
 
4
3
  //pc和手机端重写组件较多的话 建议将cp和android分到两个文件中 蓉城较少,所以我就合并到一起
5
4
  let specialComp = {
6
5
  // 竖屏待办工单新
7
- 'repair-first': (resolve) => { require(['./android/RepairFirstV'], resolve) },
8
- 'repair-orderV': (resolve) => { require(['./android/RepairOrderV'], resolve) }
6
+ 'repair-first': (resolve) => {
7
+ require(['./android/RepairFirstV'], resolve)
8
+ },
9
+ 'repair-orderV': (resolve) => {
10
+ require(['./android/RepairOrderV'], resolve)
11
+ },
12
+ 'repair-info': (resolve) => {
13
+ require(['./android/RepairInfo'], resolve)
14
+ },
9
15
  }
10
16
  exports.specialComp = specialComp
11
17