telephone-clients 3.0.104-81 → 3.0.104-83

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.104-81",
3
+ "version": "3.0.104-83",
4
4
  "description": "呼叫模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -30,7 +30,7 @@
30
30
  ></datepicker>
31
31
  <input v-show="ischecked == '有'" type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project.indexOf('表号') == -1" :disabled="(!(ischecked == '有')) || issee" :readonly="issee">
32
32
  <input v-show="ischecked == '有'" type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project.indexOf('表号') != -1 " :disabled="(!(ischecked == '有')) || issee" :readonly="issee" >
33
- <button v-show="ischecked == '有'" type="button" name="button" class="btn btn-primary" @click="scan(row.f_project)" v-if="!show && row.f_project.indexOf('表号') != -1 && row.f_project.indexOf('拍照') == -1">扫码</button>
33
+ <button v-show="ischecked == '有'" type="button" name="button" class="btn btn-primary" @click="scan(row.f_project)" v-if="!show && row.f_project.indexOf('表号') != -1 && row.type == 'string'">扫码</button>
34
34
  <v-select v-show="ischecked == '有'"
35
35
  :value.sync="row.f_content"
36
36
  :options='getOptions(row.f_project)'
@@ -0,0 +1,473 @@
1
+ <template>
2
+ <div>
3
+ <div style="height: auto;width: 100%">
4
+ <div class="row app-row" style="margin-top: 10px">
5
+ <div class="col-xs-4" style="margin-top: 5px;">
6
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
7
+ <label class="font text-left">换表类型</label>
8
+ </div>
9
+ <!--<input readonly="readonly" type="text" placeholder="请输入换表类型..." v-model="model.f_change_type">-->
10
+ <v-select
11
+ :value.sync="model.f_type"
12
+ :options='changetypes'
13
+ placeholder='请选择'
14
+ close-on-select
15
+ :search="false"
16
+ value-single
17
+ style="margin-bottom: 10px;"
18
+ v-model="model.f_type"
19
+ ></v-select>
20
+ </div>
21
+ <div class="row app-row" v-if="model.f_type==='换新表'">
22
+ <div class="col-xs-4" style="margin-top: 5px;">
23
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
24
+ <label class="font text-left">是否同步</label>
25
+ </div>
26
+ <v-select
27
+ :value.sync="model.f_ladder_sync"
28
+ :options='isSync'
29
+ placeholder='请选择'
30
+ close-on-select
31
+ :search="false"
32
+ value-single
33
+ style="margin-bottom: 10px;"
34
+ v-model="model.f_ladder_sync"
35
+ ></v-select>
36
+ </div>
37
+ <div class="row app-row" v-if="model.f_type==='换新表'">
38
+ <div class="col-xs-4" style="margin-top: 5px;">
39
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
40
+ <label class="font text-left">新表类型</label>
41
+ </div>
42
+ <v-select
43
+ :value.sync="model.f_meter_type"
44
+ :options='meterType'
45
+ placeholder='请选择'
46
+ close-on-select
47
+ :search="false"
48
+ value-single
49
+ style="margin-bottom: 10px;"
50
+ v-model="model.f_meter_type"
51
+ ></v-select>
52
+ </div>
53
+ <div class="row app-row" v-if="model.f_type==='换新表'">
54
+ <div class="col-xs-4" style="margin-top: 5px;">
55
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
56
+ <label class="font text-left">新表品牌</label>
57
+ </div>
58
+ <v-select
59
+ :value.sync="model.f_gasbrand_id"
60
+ :options='allBrandList'
61
+ placeholder='请选择'
62
+ close-on-select
63
+ :search="false"
64
+ value-single
65
+ style="margin-bottom: 10px;"
66
+ v-model="model.f_gasbrand_id"
67
+ ></v-select>
68
+ </div>
69
+ <div class="row app-row" v-if="model.f_type==='换新表'">
70
+ <div class="col-xs-4" style="margin-top: 5px;">
71
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
72
+ <label class="font text-left">新表型号</label>
73
+ </div>
74
+ <v-select
75
+ :value.sync="model.f_gasmold_id"
76
+ :options='newModelList'
77
+ placeholder='请选择'
78
+ close-on-select
79
+ style="margin-bottom: 10px;"
80
+ value-single
81
+ :search="false"
82
+ v-model="model.f_gasmold_id"
83
+ ></v-select>
84
+ </div>
85
+ <div class="row app-row" v-if="model.f_type==='换新表' && isOpenType">
86
+ <div class="col-xs-4" style="margin-top: 5px">
87
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
88
+ <label class="font text-left">开户方式</label>
89
+ </div>
90
+
91
+ <v-select
92
+ :value.sync="model.f_open_type"
93
+ :options='openTypes'
94
+ placeholder='请选择开户方式'
95
+ close-on-select
96
+ style="margin-bottom: 10px;"
97
+ value-single
98
+ :search="false"
99
+ v-model="model.f_open_type"
100
+ ></v-select>
101
+ </div>
102
+ <div class="row app-row" v-if="model.f_type==='换新表'">
103
+ <div class="col-xs-4" style="margin-top: 5px">
104
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
105
+ <label class="font text-left">新表表号</label>
106
+ </div>
107
+ <div class="col-xs-7">
108
+ <input type="text" class="input_search input_ys" placeholder="请输入新表表号..."
109
+ v-model="model.f_meternumber">
110
+ </div>
111
+ </div>
112
+ <div class="row app-row" v-if="model.f_type==='换新表'">
113
+ <div class="col-xs-4" style="margin-top: 5px">
114
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
115
+ <label class="font text-left">新表底数</label>
116
+ </div>
117
+ <div class="col-xs-7">
118
+ <input type="number" class="input_search input_ys" placeholder="请输入新表底数..."
119
+ v-model="model.f_meter_base">
120
+ </div>
121
+ </div>
122
+ <div class="row app-row" v-if="model.f_type==='换新表'">
123
+ <div class="col-xs-4" style="margin-top: 5px">
124
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
125
+ <label class="font text-left">新表封号</label>
126
+ </div>
127
+ <div class="col-xs-7">
128
+ <input type="text" class="input_search input_ys" placeholder="请输入新表封号..."
129
+ v-model="model.f_metertitles">
130
+ </div>
131
+ </div>
132
+
133
+ <div class="row app-row">
134
+ <div class="col-xs-4" style="margin-top: 5px">
135
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
136
+ <label class="font text-left">换表原因</label>
137
+ </div>
138
+ <div class="col-xs-7">
139
+ <input type="text" class="input_search input_ys" placeholder="请输入换表原因..." v-model="model.f_comments">
140
+ </div>
141
+ </div>
142
+ <div class="row app-row">
143
+ <div class="col-xs-4" style="margin-top: 5px">
144
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
145
+ <label class="font text-left">换表人</label>
146
+ </div>
147
+ <div class="col-xs-7">
148
+ <input type="text" class="input_search input_ys" placeholder="请输入换表人..." readonly
149
+ v-model="model.f_operator">
150
+ </div>
151
+ </div>
152
+ <div class="row app-row">
153
+ <div class="col-xs-4" style="margin-top: 5px">
154
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
155
+ <label class="font text-left">旧表底数</label>
156
+ </div>
157
+ <div class="col-xs-7">
158
+ <input type="text" class="input_search input_ys" placeholder="请输入转移气量..." readonly
159
+ v-model="model.f_using_base_old"></div>
160
+ </div>
161
+ <div class="row app-row">
162
+ <div class="col-xs-4" style="margin-top: 5px">
163
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
164
+ <label class="font text-left">补气气量</label>
165
+ </div>
166
+ <div class="col-xs-7">
167
+ <input type="text" class="input_search input_ys" placeholder="请输入转移气量..."
168
+ v-model="model.f_remanent_gas"></div>
169
+ </div>
170
+ <div class="row app-row">
171
+ <div class="col-xs-4" style="margin-top: 5px">
172
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
173
+ <label class="font text-left">补气金额</label>
174
+ </div>
175
+ <div class="col-xs-7">
176
+ <input type="text" class="input_search input_ys" placeholder="请输入转移金额..."
177
+ v-model="model.f_remanent_money"></div>
178
+ </div>
179
+ <div class="row app-row">
180
+ <div class="col-xs-4" style="margin-top: 5px">
181
+ <img src="../../assets/换表.png" style="width: 20px;margin-bottom: 5px" alt="">
182
+ <label class="font text-left">补气单价</label>
183
+ </div>
184
+ <div class="col-xs-7">
185
+ <input type="text" class="input_search input_ys" placeholder="请输入补气单价..."
186
+ v-model="model.f_remanent_price"></div>
187
+ </div>
188
+ <div class="row text-center" style="margin-top: 25px;margin-bottom: 30px">
189
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 28%;" @click="confirm()">确认</button>
190
+ <!--<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="clean()">取消</button>-->
191
+ </div>
192
+
193
+ </div>
194
+ <work-busy :is-busy="isBusy"></work-busy>
195
+ </div>
196
+ </template>
197
+
198
+ <script>
199
+ import Vue from 'vue'
200
+ import {HttpResetClass} from "vue-client";
201
+
202
+ import ReadCardPage from '../../components/workorder/ReadCardPage'
203
+
204
+ export default {
205
+ //name: "IndoorRepair"
206
+ title: '在线换表',
207
+ props: ['row', 'remanent'],
208
+ data() {
209
+ return {
210
+ isBusy: false,
211
+ change:false,
212
+ model: {
213
+ f_ladder_sync: '', //是否同步
214
+ f_using_base_old: '',//旧表底数
215
+ f_type: '',//换表类型
216
+ f_comments: '',// 备注
217
+ f_gasbrand_id: null, //新表品牌id
218
+ f_gasmold_id: null, //新表型号id
219
+ f_remanent_gas: '', // 补气量
220
+ f_remanent_money: '', // 补气金额
221
+ f_remanent_price: '', // 补气单价
222
+ f_userfiles_id: '',
223
+ f_open_type: '',
224
+ f_depname: Vue.user.deps,
225
+ f_depid : Vue.user.depids,
226
+ f_orgid : Vue.user.orgid,
227
+ f_orgname : Vue.user.orgs,
228
+ f_operator: Vue.user.name,
229
+ f_operatorid: Vue.user.id,
230
+ f_meternumber: "",
231
+ f_meter_base: null,
232
+ f_metertitles: ""
233
+ },
234
+ openTypes: [{label: "指令开户", value: "指令开户"}, {label: "发卡开户", value: "发卡开户"}],
235
+ changetypes: [{label: "换新表", value: "换新表"}, {label: "气表清零", value: "气表清零"}],
236
+ changeReasonList: [{label: "漏气", value: "漏气"}, {label: "燃气表损坏", value: "燃气表损坏"}],
237
+ changeReason2List: [{label: "表计量异常", value: "表计量异常"}, {label: "表不走", value: "表不走"}],
238
+ changeTypeList: [{label: "换新表", value: "换新表"}, {label: "清零", value: "清零"}],
239
+ meterType: [{label: "请选择。。。", value: ""}, {label: "物联网表", value: "物联网表"}, {
240
+ label: "金额卡表",
241
+ value: "金额卡表"
242
+ }, {label: "气量卡表", value: "气量卡表"}, {label: "机表", value: "机表"}, {label: "远传表", value: "远传表"}],
243
+ newBrandList: [{label: "111", value: "111"}, {label: "222", value: "222"}],
244
+ newTypeList: [{label: "G2.5", value: "G2.5"}, {label: "G4", value: "G4"}],
245
+ avoidReasonList: [{label: "原因1", value: "原因1"}, {label: "原因2", value: "原因2"}],
246
+ switchTypeList: [{label: "金额", value: "金额"}, {label: "气量", value: "气量"}],
247
+ // meterType: this.$appdata.getParam('气表类型'),
248
+ // filialeid: Vue.user.orgid,
249
+ row: {}, //用户信息
250
+ model1: {},// 换表的model值
251
+ isSync: [{label: "是", value: "是"}, {label: "否", value: "否"}],
252
+ allBrandList: [],//所有表品牌
253
+ allModelList: [],//所有表型号
254
+ newModelList: [],
255
+ gasbrands: [],
256
+ isOpenType: false,
257
+ f_userinfo_code: '',
258
+ f_orgid: '',
259
+ f_userfiles_id: '', //新表档案id
260
+ islot: false
261
+
262
+ }
263
+ },
264
+ methods: {
265
+
266
+ getallBrandList() {
267
+ //tag
268
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/getSaleInitData`, {data: {f_orgid: this.row.f_orgid}}, {
269
+ resolveMsg: null,
270
+ rejectMsg: null
271
+ }).then((row) => {
272
+ //tag
273
+ //tag)
274
+ if (row.data.gasbrands) {
275
+ this.gasbrands = row.data.gasbrands
276
+ row.data.gasbrands.forEach((item) => {
277
+ let BrandList = {label: item.f_meter_brand, value: item}
278
+ this.allBrandList.push(BrandList)
279
+ item.gasmodel.forEach(item => {
280
+ this.allModelList.push({label: item.f_meter_style, value: item, f_gasbrand_id: item.f_gasbrand_id})
281
+ })
282
+ })
283
+ } else {
284
+ this.$showMessage('表品牌获取失败!')
285
+ }
286
+ //tag)
287
+ //tag)
288
+ })
289
+ },
290
+ async writeCard(cardParams) {
291
+ try {
292
+ //tag
293
+ let fengongsi = this.$appdata.getSingleValue('分公司')
294
+ if (!fengongsi) {
295
+ this.$showMessage('分公司获取失败!')
296
+ this.isBusy = false
297
+ return
298
+ }
299
+ let posinfo2 = HostApp.read(fengongsi)
300
+ //tag)
301
+ cardParams = Object.assign({}, cardParams, {AREA: fengongsi, ulen: 0})
302
+ //tag)
303
+ const writeResult = HostApp.issue(JSON.stringify(cardParams))
304
+ //tag
305
+ //tag
306
+ if (writeResult.code === 200) {
307
+ this.$showMessage('换表成功')
308
+ this.isBusy = false
309
+ } else {
310
+ this.$showMessage('换表成功,写卡失败')
311
+ this.isBusy = false
312
+ }
313
+ } catch (e) {
314
+ this.$showMessage('换表成功,写卡失败,请联系营业厅处理')
315
+ this.isBusy = false
316
+ }
317
+ },
318
+ confirmCheck() {
319
+ if (!this.model.f_type) {
320
+ return '请选择换表类型'
321
+ }
322
+ //tag
323
+ if (this.model.f_type === '换新表') {
324
+ if (!this.model.f_ladder_sync) {
325
+ return '请选择是否同步'
326
+ }
327
+ if (!this.model.f_gasbrand_id) {
328
+ return '请选择新表品牌'
329
+ }
330
+ if (!this.model.f_gasmold_id) {
331
+ return '请选择新表型号'
332
+ }
333
+ if (!this.model.f_meternumber) {
334
+ return '请输入新表表号'
335
+ }
336
+ if (!this.model.f_meter_base) {
337
+ return '请输入新表底数'
338
+ }
339
+ // //tag
340
+ if (this.isOpenType && (!this.model.f_open_type)) {
341
+ return '请选择开户方式'
342
+ }
343
+ } else if (this.model.f_type === '气表清零') {
344
+ this.model = Object.assign({}, this.model,
345
+ {
346
+ f_ladder_sync: "",
347
+ f_gasbrand_id: null,
348
+ f_gasmold_id: null,
349
+ f_meternumber: '',
350
+ f_meter_base: null,
351
+ f_open_type: ''
352
+ })
353
+ return ''
354
+ }
355
+ return ''
356
+ },
357
+ async confirm() {
358
+ if(this.change){
359
+ this.$showMessage('已换表成功,请勿重复提交')
360
+ }
361
+ const error = this.confirmCheck()
362
+ if (error) {
363
+ this.$showMessage(error)
364
+ return
365
+ }
366
+ this.isBusy = true
367
+ let _this = this
368
+ this.model.metermessage={
369
+ f_meter_type: [this.model.f_meter_type],
370
+ gasbrand: [this.model.f_gasbrand_id],
371
+ gasmodel: [this.model.f_gasmold_id],
372
+ f_meternumber: this.model.f_meternumber,
373
+ f_meter_base: this.model.f_meter_base,
374
+ f_metertitles: this.model.f_metertitles,
375
+ f_oldmeter_use_reference: this.remanent.f_using_base_old// 旧表使用量参考值
376
+ }
377
+ let data = {
378
+ model: this.model,
379
+ f_meter_book: null,
380
+ old: this.row
381
+ }
382
+ let meterinfo = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/changeMeter`, data, {
383
+ resolveMsg: '换表成功',
384
+ rejectMsg: '换表失败!!!'
385
+ })
386
+ if(meterinfo.data.new_userfiles_id){
387
+ this.change = true
388
+ }
389
+ this.isBusy = false
390
+ }
391
+ },
392
+ ready() {
393
+
394
+ //tag)
395
+ this.model.f_userfiles_id = this.row.f_userfiles_id
396
+ this.model.f_remanent_gas = this.remanent.f_remanent_gas
397
+ this.model.f_remanent_money = this.remanent.f_remanent_money
398
+ this.model.f_remanent_price = this.remanent.f_remanent_price
399
+ this.model.f_using_base_old = this.remanent.f_using_base_old
400
+ this.getallBrandList()
401
+ },
402
+ watch: {
403
+ 'row'() {
404
+ console.log('-------------------------------')
405
+ console.log(this.row)
406
+ },
407
+ 'model.f_remanent_money'(val) {
408
+ console.log('观察补气金额', val)
409
+ if (!this.isGas) {
410
+ this.model.f_remanent_gas = (val / this.model.f_remanent_price).toFixed(4)
411
+ }
412
+ if (this.model.f_using_base_old) {
413
+ this.commitflag = true
414
+ }
415
+ },
416
+ 'model.f_remanent_gas'(val) {
417
+ if (this.isGas) {
418
+ this.model.f_remanent_money = (val * this.model.f_remanent_price).toFixed(4)
419
+ }
420
+ if (this.model.f_using_base_old) {
421
+ this.commitflag = true
422
+ }
423
+ },
424
+ 'model.f_gasbrand_id'(val) {
425
+ if (val) {
426
+ val = val.id
427
+ console.log('气表品牌'+ val)
428
+ const arr = this.gasbrands.filter(res => res.id === val)
429
+ if (arr.length > 0 && arr[0].f_hascard === '是') {
430
+ this.isOpenType = true
431
+ } else {
432
+ this.isOpenType = false
433
+ }
434
+ this.newModelList = Object.assign([], this.allModelList.filter(res => res.f_gasbrand_id === val))
435
+ }
436
+ }
437
+
438
+ }
439
+
440
+ }
441
+ </script>
442
+
443
+ <style scoped>
444
+ .app-row {
445
+ background-color: white;
446
+ padding: 5px 10px 0 10px;
447
+ border-bottom: 1px solid rgba(235, 235, 235, 0.7);
448
+ }
449
+
450
+ .btn-color {
451
+ background-color: #FFFFFF;
452
+ border-radius: 10px;
453
+ border: 1px solid #499EDF;
454
+ }
455
+
456
+ .input_ys {
457
+ /*border: 1px solid #93B2D3 !important;*/
458
+ border: none !important;
459
+ width: 220px;
460
+ height: 35px;
461
+ }
462
+
463
+ .btn_cz {
464
+ background-color: #499edf;
465
+ color: #FFFFFF;
466
+ width: 65px;
467
+ height: 40px;
468
+ border-radius: 8px;
469
+ font: 600 16px PingFang-SC-Bold;
470
+ float: right;
471
+ margin-right: 10px;
472
+ }
473
+ </style>