sale-client 4.3.54 → 4.3.56

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/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
1
  # Change Log
2
2
  所有关于本产品的变化都在该文档里。
3
3
 
4
+ ## **🚀 V4.3.56 -2026-05-18 `@张科科`**
5
+ ### `🌟` 功能调整
6
+ ---金煌 物联网表收费 物联收费未开户提示是否开启 这个不要 改成单值表配置控制的
7
+
8
+
9
+
10
+ ## **🚀 V4.3.55 -2026-05-14 `@柳博`**
11
+
12
+ ### `🌟` 功能调整
13
+
14
+ ---
15
+
16
+ 修复保险记录表单中的日期验证和计算逻辑
17
+
18
+ - 移除待执行状态下手动输入保费结束日期功能,改为根据开始日期和购买年限自动计算
19
+ - 添加保费结束日期的验证逻辑,确保日期在当日之后
20
+ - 重构日期计算方法,统一使用recalcExpirationDate函数处理到期日期计算
21
+ - 优化日期比较逻辑,使用getTime()方法进行准确的时间对比
22
+ - 在保险记录组件中添加太平洋保险公司条件判断
23
+ - 修正日期格式化处理,统一时间戳为00:00:00格式
24
+ - 删除不再使用的datepicker组件相关代码和验证规则
25
+
4
26
  ## **🚀 V4.3.54 -2026-05-13 `@柳博`**
5
27
 
6
28
  ### `🌟` 功能调整
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.3.54",
3
+ "version": "4.3.56",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -547,7 +547,8 @@
547
547
  this.$refs.email.focus()
548
548
  },
549
549
  ready () {
550
- if (this.row.f_sendsuccess && this.row.f_sendsuccess !== '成功') {
550
+ let open_state = this.$appdata.getSingleValue('物联收费未开户提示是否开启')
551
+ if (this.row.f_sendsuccess && this.row.f_sendsuccess !== '成功' && open_state == '是') {
551
552
  this.$showMessage('当前用户尚未开户成功,请谨慎购买!')
552
553
  }
553
554
  this.paytype = this.$appdata.getParam('付款方式')
@@ -72,29 +72,19 @@
72
72
  <input type="number" v-model="model.f_salecount" placeholder="购买年限" style="width: 60%"
73
73
  class="input_search" v v-el:style v-next-el="inpipe">
74
74
  </div>
75
- <div class="col-sm-6 form-group" :class="[$v.f_expiration_date2.required ? 'has-error' : '']" v-if="model.f_state === '待执行'">
76
- <input type="text" v-show="false" v-model="tmp" :value.sync='model.f_expiration_date' v-el:f_expiration_date2>
77
- <label class="font_normal_body">&emsp;&emsp;保费结束日期</label>
78
- <datepicker id="f_expiration_date" placeholder="保费结束日期" style="width:60%"
79
- @con-bulr="isShowSaleCount"
80
- v-ref:f_expiration_date
81
- v-model="model.f_expiration_date"
82
- :value.sync="model.f_expiration_date"
83
- :format="'yyyy-MM-dd'"
84
- :show-reset-button="true">
85
- </datepicker>
86
- </div>
87
- <div class="col-sm-6 form-group" :class="[$v.f_expiration_date2.required ? 'has-error' : '']" v-else="model.f_state !== '待执行'">
75
+ <div class="col-sm-6 form-group" v-if="model.f_state === '待执行'">
76
+ <input type="text" v-show="false" v-model="tmp" :value.sync='model.f_expiration_date' v-el:f_expiration_date2>
77
+ <label class="font_normal_body">&emsp;&emsp;保费结束日期</label>
78
+ <input type="text" class="input_search" style="width:60%" disabled="disabled"
79
+ :value="model.f_expiration_date"
80
+ placeholder="根据开始日期和购买年限自动计算">
81
+ </div>
82
+ <div class="col-sm-6 form-group" v-else="model.f_state !== '待执行'">
88
83
  <input type="text" v-show="false" v-model="tmp" :value.sync='model.f_expiration_date' v-validate:f_expiration_date2='{required: true }' v-el:f_expiration_date2>
89
84
  <label class="font_normal_body">&emsp;&emsp;保费结束日期</label>
90
- <datepicker id="f_expiration_date" placeholder="保费结束日期" style="width:60%"
91
- @con-bulr="isShowSaleCount"
92
- v-ref:f_expiration_date
93
- v-model="model.f_expiration_date"
94
- :value.sync="model.f_expiration_date"
95
- :format="'yyyy-MM-dd'"
96
- :show-reset-button="true">
97
- </datepicker>
85
+ <input type="text" class="input_search" style="width:60%" disabled="disabled"
86
+ :value="model.f_expiration_date"
87
+ placeholder="根据开始日期和购买年限自动计算">
98
88
  </div>
99
89
  <div class="col-sm-6 form-group" :class="[$v.f_insurance_type.required ? 'has-error' : '']">
100
90
  <label class="font_normal_body" title="参数:险种">&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;险种</label>
@@ -295,26 +285,12 @@
295
285
  this.model.f_buy_date = this.model.f_buy_date || Util.toStandardTimeString()
296
286
  this.$set('model.f_ins_start_date', this.getDefaultInsStartDate())
297
287
  this.model.f_salecount = 1
288
+ this.recalcExpirationDate()
298
289
  this.configMerge()
299
290
  },
300
291
  watch: {
301
292
  'model.f_ins_start_date' (val) {
302
- if (val && this.model.f_salecount) {
303
- let tx = new Date(val)
304
- let tmp = {
305
- year: tx.getFullYear(),
306
- month: tx.getMonth() + 1,
307
- day: tx.getDate()
308
- }
309
- let tmpdate = new Date((tmp.year + (this.model.f_salecount - 0)) + '-' + (tmp.month < 10 ? '0' + tmp.month : tmp.month) + '-' + (tmp.day < 10 ? '0' + tmp.day : tmp.day))
310
- let date = tmpdate
311
- let jt = {
312
- year: date.getFullYear(),
313
- month: date.getMonth() + 1,
314
- day: date.getDate()
315
- }
316
- this.$refs.f_expiration_date.value = jt.year + '-' + (jt.month < 10 ? '0' + jt.month : jt.month) + '-' + (jt.day < 10 ? '0' + jt.day : jt.day)
317
- }
293
+ this.recalcExpirationDate()
318
294
  },
319
295
  'model.f_money' (val) {
320
296
  if (val && (val < 0 || Math.floor(val - 0) !== (val - 0))) {
@@ -328,22 +304,10 @@
328
304
  this.model.f_salecount = 0
329
305
  this.f_salecount.dctest = false
330
306
  } else if (val && this.model.f_ins_start_date) {
331
- let tx = new Date(this.model.f_ins_start_date)
332
- let tmp = {
333
- year: tx.getFullYear(),
334
- month: tx.getMonth() + 1,
335
- day: tx.getDate()
336
- }
337
- let tmpdate = new Date((tmp.year + (val - 0)) + '-' + (tmp.month < 10 ? '0' + tmp.month : tmp.month) + '-' + (tmp.day < 10 ? '0' + tmp.day : tmp.day))
338
- let date = tmpdate
339
- let jt = {
340
- year: date.getFullYear(),
341
- month: date.getMonth() + 1,
342
- day: date.getDate()
343
- }
344
- this.$refs.f_expiration_date.value = jt.year + '-' + (jt.month < 10 ? '0' + jt.month : jt.month) + '-' + (jt.day < 10 ? '0' + jt.day : jt.day)
307
+ this.recalcExpirationDate()
345
308
  this.f_salecount.dctest = true
346
309
  } else {
310
+ this.model.f_expiration_date = ''
347
311
  this.f_salecount.dctest = true
348
312
  }
349
313
  },
@@ -352,6 +316,8 @@
352
316
  this.model.f_insurance_type = this.model.f_insurance_type == null ? this.config.insuranceType : this.model.f_insurance_type
353
317
  this.model.f_state = this.model.f_state == null ? this.config.insurancestate : this.model.f_state
354
318
  this.model.f_ins_start_date = this.getDefaultInsStartDate()
319
+ this.model.f_salecount = 1
320
+ this.recalcExpirationDate()
355
321
  console.log('cs===================cs', this.model.f_userinfo_id, this.model.f_ins_start_date)
356
322
  }
357
323
  }
@@ -423,23 +389,32 @@
423
389
  return new Date(date.getFullYear(), date.getMonth(), date.getDate())
424
390
  },
425
391
  getDefaultInsStartDate () {
426
- let tomorrow = new Date()
427
- tomorrow.setHours(0, 0, 0, 0)
428
- tomorrow.setDate(tomorrow.getDate() + 1)
429
- let minDate = tomorrow
392
+ let today = new Date()
393
+ today.setHours(0, 0, 0, 0)
430
394
  let stopDate = this.parseDateOnly(this.model.f_ins_stop_date)
431
- if (stopDate) {
432
- let nextStopDate = new Date(stopDate.getTime())
433
- nextStopDate.setDate(nextStopDate.getDate() + 1)
434
- if (nextStopDate.getTime() > minDate.getTime()) {
435
- minDate = nextStopDate
436
- }
395
+ if (stopDate && stopDate.getTime() > today.getTime()) {
396
+ return this.formatYmd(stopDate)
397
+ }
398
+ let tomorrow = new Date(today.getTime())
399
+ tomorrow.setDate(tomorrow.getDate() + 1)
400
+ return this.formatYmd(tomorrow)
401
+ },
402
+ recalcExpirationDate () {
403
+ let startDate = this.parseDateOnly(this.model.f_ins_start_date)
404
+ let saleCount = this.model.f_salecount - 0
405
+ if (!startDate || !saleCount || saleCount < 0) {
406
+ this.model.f_expiration_date = ''
407
+ return
437
408
  }
438
- return this.formatYmd(minDate)
409
+ let expirationDate = new Date((startDate.getFullYear() + saleCount) + '-' + ((startDate.getMonth() + 1) < 10 ? '0' + (startDate.getMonth() + 1) : (startDate.getMonth() + 1)) + '-' + (startDate.getDate() < 10 ? '0' + startDate.getDate() : startDate.getDate()))
410
+ this.model.f_expiration_date = this.formatYmd(expirationDate)
439
411
  },
440
412
  async save () {
441
413
  let saveState = true
442
414
  let startDate = this.parseDateOnly(this.model.f_ins_start_date)
415
+ let expirationDate = this.parseDateOnly(this.model.f_expiration_date)
416
+ let today = new Date()
417
+ today.setHours(0, 0, 0, 0)
443
418
  let tomorrow = new Date()
444
419
  tomorrow.setHours(0, 0, 0, 0)
445
420
  tomorrow.setDate(tomorrow.getDate() + 1)
@@ -447,13 +422,20 @@
447
422
  this.$showAlert('保险开始日期必须在当前日期的次日及之后', 'warning', 2000)
448
423
  saveState = false
449
424
  }
425
+ if (saveState && (!expirationDate || expirationDate.getTime() <= today.getTime())) {
426
+ this.$showAlert('保单截止日期必须在当日之后', 'warning', 2000)
427
+ saveState = false
428
+ }
450
429
  if (this.model.f_state !== '待执行') {
451
- if (saveState && Date.parse(this.model.f_ins_start_date) > Date.parse(this.model.f_expiration_date)) {
430
+ if (saveState && startDate.getTime() > expirationDate.getTime()) {
452
431
  this.$showAlert('结束日期不能早于开始日期', 'warning', 2000)
453
432
  saveState = false
454
- } else if (saveState && this.model.f_ins_start_date !== null && this.model.f_ins_start_date !== '' && Date.parse(this.model.f_ins_stop_date) > Date.parse(this.model.f_ins_start_date)) {
455
- this.$showAlert('开始日期不能早于上期保费截止日期', 'warning', 2000)
456
- saveState = false
433
+ } else if (saveState) {
434
+ let stopDate = this.parseDateOnly(this.model.f_ins_stop_date)
435
+ if (stopDate && stopDate.getTime() > startDate.getTime()) {
436
+ this.$showAlert('开始日期不能早于上期保费截止日期', 'warning', 2000)
437
+ saveState = false
438
+ }
457
439
  }
458
440
  }
459
441
 
@@ -470,9 +452,8 @@
470
452
  if (startDate) {
471
453
  this.model.f_ins_start_date = this.formatYmd(startDate) + ' 00:00:00'
472
454
  }
473
- let expirationDate = this.parseDateOnly(this.model.f_expiration_date)
474
455
  if (expirationDate) {
475
- this.model.f_expiration_date = this.formatYmd(expirationDate) + ' 23:59:59'
456
+ this.model.f_expiration_date = this.formatYmd(expirationDate) + ' 00:00:00'
476
457
  }
477
458
  this.model.f_total_ins_charge = this.model.f_total_ins_charge == null ? 0 : this.model.f_total_ins_charge
478
459
  this.model.f_operat_type = '保险'
@@ -149,7 +149,7 @@
149
149
  </div>
150
150
  </div>
151
151
  <div class="form-group" :class="[$v.f_cancel_reason.required ? 'has-error' : 'has-success']">
152
- <label for="f_cancel_reason" class=" col-sm-2 control-label">撤销原因1:</label>
152
+ <label for="f_cancel_reason" class=" col-sm-2 control-label">撤销原因:</label>
153
153
  <div class="col-sm-8">
154
154
  <textarea class="form-control"
155
155
  v-model="model.f_cancel_reason" rows="2"
@@ -165,13 +165,13 @@
165
165
  </validator>
166
166
  </article>
167
167
  <footer slot="modal-footer" class="modal-footer">
168
+ <button class="btn btn-default" @click="clean()">取消</button>
168
169
  <button class="btn btn-success" v-if="config.hasAudit && !isTodayResult" @click="auditConfirm()"
169
170
  :disabled="!$v.valid">提交审核
170
171
  </button>
171
172
  <button class="btn btn-success" v-if="!config.hasAudit || isTodayResult" @click="confirm()"
172
173
  :disabled="!$v.valid">确认
173
174
  </button>
174
- <button class="btn btn-default" @click="clean()">取消</button>
175
175
  </footer>
176
176
  </modal>
177
177
  </div>
@@ -261,6 +261,7 @@ export default {
261
261
  /** 核销期使用购买时间判断:当前操作时间已超过购买当日 17:30:00 */
262
262
  needsVerificationPeriod (row) {
263
263
  if (!row) return false
264
+ if (row.f_insurance_company !== '太平洋保险') return false
264
265
  const buyDate = this.parseDateTime(row.f_buy_date)
265
266
  if (!buyDate) return false
266
267
  const now = new Date()
@@ -43,7 +43,7 @@
43
43
  <input class="input_search" style="width:60%" type="number"
44
44
  v-model="model.f_remanent_gas"
45
45
  placeholder="补气量"
46
- :disabled="changeType == 'gasToAmount'"
46
+ :disabled="changeType == 'gasToAmount' || !$login.r.includes('换表允许修改补气数据')"
47
47
  v-validate:f_remanent_gas='{required: true, dctest: [-1, ">" ] }'>
48
48
  </div>
49
49
  <div class="col-sm-4 form-group">
@@ -59,7 +59,7 @@
59
59
  v-model="model.f_remanent_money"
60
60
  placeholder="补气金额"
61
61
  @blur="remanentChange"
62
- :disabled="changeType == 'amountToGas'"
62
+ :disabled="changeType == 'amountToGas' || !$login.r.includes('换表允许修改补气数据') "
63
63
  v-validate:f_remanent_money='{required: true, dctest: [-1, ">" ] }'>
64
64
  </div>
65
65
  </div>
@@ -70,6 +70,7 @@
70
70
  <input class="input_search" style="width:60%" type="number"
71
71
  v-model="model.f_remanent_gas"
72
72
  placeholder="补气量"
73
+ :disabled="!$login.r.includes('换表允许修改补气数据')"
73
74
  v-validate:f_remanent_gas='{required: true, dctest: [-1, ">" ] }'>
74
75
  </div>
75
76
  </div>
@@ -82,6 +83,7 @@
82
83
  <input class="input_search" style="width:60%" type="number"
83
84
  v-model="model.f_remanent_money"
84
85
  placeholder="补气金额"
86
+ :disabled="!$login.r.includes('换表允许修改补气数据')"
85
87
  v-validate:f_remanent_money='{required: true, dctest: [-1, ">" ] }'>
86
88
  </div>
87
89
  </div>
@@ -661,7 +663,7 @@ export default {
661
663
  data: {
662
664
  items: 'f_whether_pay',
663
665
  tablename: 't_handplan',
664
- condition: ` f_user_id = '${this.row.f_user_id}' and f_hand_state = '有效' and f_whether_pay = '否'`,
666
+ condition: ` f_user_id = '${this.row.f_user_id}' and f_hand_state = '有效' and f_meter_state='已抄表' and f_whether_pay = '否'`,
665
667
  orderitem: ' id desc'
666
668
  }
667
669
  }, {resolveMsg: null, rejectMsg: null}
@@ -23,7 +23,7 @@
23
23
  <otherinfo v-show="worktype === '其他信息'" style="height:auto" @deal-msg="dealMsg" :data="row" :card-data="cardInfo" v-ref:info></otherinfo>
24
24
  <card-list v-show="worktype === '历史操作'" :btns="operatebtn" :f_orgid="f_orgid" :userinfoid="row ? row.f_userinfo_code : ''" @list-select-oper="recordCancel"
25
25
  v-ref:card></card-list>
26
- <hand-list v-show="worktype === '历史抄表'" :f_userfiles_id="row ? row.f_userfiles_id : ''" v-ref:hand></hand-list>
26
+ <hand-list v-if="worktype === '历史抄表'" :f_userfiles_id="row ? row.f_userfiles_id : ''" v-ref:hand></hand-list>
27
27
  </div>
28
28
 
29
29
  </div>
@@ -5,7 +5,7 @@
5
5
  <p>{{warninginfo.data.msgData}}</p>
6
6
  <div style="font-size: 15px;padding: 10px">
7
7
  <span style="float: right">
8
- <button class="button_search" v-show="!warninginfo.data.state.info" @click="operational('files-complete')" style="width: max-content;">完善信息</button>
8
+ <button class="button_search" v-show="!warninginfo.data.state.info" @click="operational('files_complete')" style="width: max-content;">完善信息</button>
9
9
  <button class="button_search" v-show="warninginfo.data.state.blacklist&&!warninginfo.data.state.dibao" @click="operational('basic-living')" style="width: max-content;">低保续保</button>
10
10
  <button class="button_search" v-show="warninginfo.data.state.blacklist&&!warninginfo.data.state.dibao && warninginfo.data.state.dibaoend" @click="operational('stop-basic-living')" style="width: max-content;">停止续保</button>
11
11
  <button class="button_search" v-show="!(!warninginfo.data.state.dibao&&warninginfo.data.state.dibaoend) && warninginfo.data.canCharge" @click="success()">确认</button>
@@ -5,24 +5,24 @@
5
5
  <div class="row">
6
6
  <div class="col-sm-4 form-group" :class="[$m.f_meternumber.required ? 'has-error' : '']">
7
7
  <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
8
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber" :disabled="(!jurisdiction.includes('档案信息查询修改'))||(row.f_userfiles_id && row.gasbrand[0].f_meter_type==='物联网表')"
8
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber" :disabled="(!jurisdiction.includes('档案信息查询修改'))||(row.f_userfiles_id && row.gasbrand[0].f_meter_type==='物联网表') || (jurisdiction.includes('表号') == false && controlledArray.includes('表号') == true)"
9
9
  @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
10
10
  v-next-el="{id: 'metertitles'}">
11
11
  </div>
12
12
  <div class="col-sm-4 form-group">
13
13
  <label for="f_metertitles" class="font_normal_body">&ensp;表&ensp;箱&ensp;号</label>
14
14
  <input type="text" class="input_search" style="width:60%" v-model="row.f_metertitles" placeholder='表箱号'
15
- v-next-el="{id: 'meterbase'}" :disabled="!jurisdiction.includes('档案信息查询修改')">
15
+ v-next-el="{id: 'meterbase'}" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('表箱号') == false && controlledArray.includes('表箱号') == true)">
16
16
  </div>
17
17
  <div class="col-sm-4 form-group">
18
18
  <label for="f_meter_base" class="font_normal_body">&ensp;表&ensp;读&ensp;数</label>
19
19
  <input type="number" class="input_search" style="width:60%" v-model="row.f_meter_base" placeholder='表底数'
20
- :disabled="!jurisdiction.includes('档案信息查询修改')" :readonly="!row.f_userfiles_id">
20
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('表读数') == false && controlledArray.includes('表读数') == true)" :readonly="!row.f_userfiles_id">
21
21
  </div>
22
22
  <div class="col-sm-4 form-group">
23
23
  <label for="f_meter_base" class="font_normal_body">&ensp;初始底数</label>
24
24
  <input type="number" class="input_search" style="width:60%" v-model="row.f_initial_base" placeholder='表底数'
25
- :disabled="!jurisdiction.includes('档案信息查询修改')">
25
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('初始底数') == false && controlledArray.includes('初始底数') == true)">
26
26
  </div>
27
27
 
28
28
  <div class="col-sm-4 form-group" :class="[$m.brand.required ? 'has-error' : '']">
@@ -30,19 +30,19 @@
30
30
  <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.brand.selectedItems"
31
31
  v-validate:brand='{required: true }'>
32
32
  <v-select :value.sync="row.gasbrand" :options='meterbrands' placeholder='气表品牌' close-on-select
33
- :disabled="!jurisdiction.includes('档案信息查询修改')" search @change='brandChange' v-model='row.gasbrand' v-ref:brand></v-select>
33
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('气表品牌') == false && controlledArray.includes('气表品牌') == true)" search @change='brandChange' v-model='row.gasbrand' v-ref:brand></v-select>
34
34
  </div>
35
35
  <div class="col-sm-4 form-group" :class="[$m.model.required ? 'has-error' : '']">
36
36
  <label for="gasmodel" class="font_normal_body">*气表型号</label>
37
37
  <input type="text" v-show="false" v-model="$refs.model.selectedItems"
38
38
  v-validate:model='{required: true }'>
39
39
  <v-select :value.sync="row.gasmodel" :options='row.gasbrand[0].gasmodel' placeholder='气表型号'
40
- close-on-select :disabled="!jurisdiction.includes('档案信息查询修改')"
40
+ close-on-select :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('气表型号') == false && controlledArray.includes('气表型号') == false)"
41
41
  v-model='row.gasmodel' :disabled='row.gasbrand.length === 0 ' v-ref:model></v-select>
42
42
  </div>
43
43
  <div class="col-sm-4 form-group" :class="[$m.name.required ? 'has-error' : '']">
44
44
  <label for="pricename" class="font_normal_body">*气价名称</label>
45
- <v-select :value.sync="row.pricename" v-model="row.pricename" search :disabled="!jurisdiction.includes('档案信息查询修改')"
45
+ <v-select :value.sync="row.pricename" v-model="row.pricename" search :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('气价名称') == false && controlledArray.includes('气价名称') == true)"
46
46
  placeholder='气价名称' :options="getPricenames" @change="priceChange"
47
47
  close-on-select :disabled="permissionPrice" v-ref:name></v-select>
48
48
  <input type="text" v-show="false" v-model="$refs.name.selectedItems" v-validate:name='{required: true }'>
@@ -83,13 +83,13 @@
83
83
  <div class="col-sm-4 form-group">
84
84
  <label for="f_meter_base" class="font_normal_body">&ensp;累购气量</label>
85
85
  <input type="number" class="input_search" style="width:60%" v-model="row.f_total_gas" placeholder='累购气量'
86
- :disabled="!jurisdiction.includes('档案信息查询修改')">
86
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('累购气量') == false && controlledArray.includes('累购气量') == true)">
87
87
  </div>
88
88
 
89
89
  <div class="col-sm-4 form-group">
90
90
  <label for="f_meter_base" class="font_normal_body">&ensp;累购金额</label>
91
91
  <input type="number" class="input_search" style="width:60%" v-model="row.f_total_fee" placeholder='累购金额'
92
- :disabled="!jurisdiction.includes('档案信息查询修改')">
92
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('累购金额') == false && controlledArray.includes('累购金额') == true)">
93
93
  </div>
94
94
  <!--<div class="row">-->
95
95
  <!--<div class="col-sm-12" style="margin-top: -10px">-->
@@ -102,19 +102,19 @@
102
102
  <label for="gasmodel" class="font_normal_body">&ensp;表&ensp;&ensp;&ensp;&ensp;向</label>
103
103
  <v-select :value.sync="row.f_aroundmeter" :options='aroundmeters' placeholder='左右表'
104
104
  close-on-select :value-single="true"
105
- :disabled="!jurisdiction.includes('档案信息查询修改')" v-model='row.f_aroundmeter'></v-select>
105
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('左右表') == false && controlledArray.includes('左右表') == false)" v-model='row.f_aroundmeter'></v-select>
106
106
  </div>
107
107
  <div class="col-sm-4 form-group">
108
108
  <label for="f_gas_person" class="font_normal_body">&ensp;通&ensp;气&ensp;人</label>
109
109
  <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="row.f_gas_person"
110
- :disabled="!jurisdiction.includes('档案信息查询修改')" placeholder='通气人'></input>
110
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('通气人') == false && controlledArray.includes('通气人') == true)" placeholder='通气人'></input>
111
111
  <!-- <v-select :value.sync="row.f_gas_person" v-model="row.f_gas_person"
112
112
  :options='gasperson' placeholder='通气人'
113
113
  close-on-select></v-select> -->
114
114
  </div>
115
115
  <div class="col-sm-4 form-group">
116
116
  <label for="f_gas_date" class="font_normal_body">&ensp;通气日期</label>
117
- <datepicker style="width:60%" placeholder="通气日期" :disabled="!jurisdiction.includes('档案信息查询修改')"
117
+ <datepicker style="width:60%" placeholder="通气日期" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('通气日期') == false && controlledArray.includes('通气日期') == true)"
118
118
  v-model="row.f_gas_date"
119
119
  :value.sync="row.f_gas_date"
120
120
  :format="'yyyy-MM-dd HH:mm:ss'"
@@ -122,7 +122,7 @@
122
122
  </div>
123
123
  <div class="col-sm-4 form-group">
124
124
  <label for="f_gas_date" class="font_normal_body">&ensp;生产日期</label>
125
- <datepicker style="width:60%" placeholder="生产日期" :disabled="!jurisdiction.includes('档案信息查询修改')"
125
+ <datepicker style="width:60%" placeholder="生产日期" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('生产日期') == false && controlledArray.includes('生产日期') == true)"
126
126
  v-model="row.f_llj_date"
127
127
  :value.sync="row.f_llj_date"
128
128
  :format="'yyyy-MM-dd HH:mm:ss'"
@@ -132,26 +132,26 @@
132
132
  <div class="col-sm-4 form-group" >
133
133
  <label for="f_position" class="font_normal_body" title="参数:安装位置">&ensp;安装位置</label>
134
134
  <v-select :value.sync="row.f_position" v-model="row.f_position"
135
- :options='positions' placeholder='安装位置' :disabled="!jurisdiction.includes('档案信息查询修改')"
135
+ :options='positions' placeholder='安装位置' :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('安装位置') == false && controlledArray.includes('安装位置') == true)"
136
136
  close-on-select></v-select>
137
137
  </div>
138
138
  <div class="col-sm-4 form-group" v-show="false">
139
139
  <label for="f_remanent_gas" class="font_normal_body">剩余气量</label>
140
140
  <input type="number" class="input_search" style="width:60%" style="width:60%" v-model="row.f_remanent_gas"
141
- placeholder='剩余气量' :disabled="!jurisdiction.includes('档案信息查询修改')"
141
+ placeholder='剩余气量' :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('剩余气量') == false && controlledArray.includes('剩余气量') == true)"
142
142
  :disabled="f_userinfo_id"></input>
143
143
  <!--<button type="button" name="button" class="btn btn-link" @click="modefiy('f_remanent_gas')" v-if="f_userinfo_id">修改</button>-->
144
144
  </div>
145
145
  <div class="col-sm-4 form-group" v-show="true">
146
146
  <label for="f_install_person" class="font_normal_body">&ensp;安&ensp;装&ensp;人</label>
147
147
  <v-select :value.sync="row.f_install_person" v-model="row.f_install_person"
148
- :options='installperson' placeholder='安装人' :disabled="!jurisdiction.includes('档案信息查询修改')"
148
+ :options='installperson' placeholder='安装人' :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('安装人') == false && controlledArray.includes('安装人') == true)"
149
149
  close-on-select></v-select>
150
150
  </div>
151
151
  <div class="col-sm-4 form-group">
152
152
  <label for="f_subscribe_date" class="font_normal_body">&ensp;预约时间</label>
153
153
  <datepicker style="width:60%" placeholder="预约通气时间"
154
- v-model="row.f_subscribe_date" :disabled="!jurisdiction.includes('档案信息查询修改')"
154
+ v-model="row.f_subscribe_date" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('预约通气时间') == false && controlledArray.includes('预约通气时间') == true)"
155
155
  :value.sync="row.f_subscribe_date"
156
156
  :format="'yyyy-MM-dd HH:mm:ss'"
157
157
  ></datepicker>
@@ -159,7 +159,7 @@
159
159
  <div class="col-sm-4 form-group" v-show="opteratormetrbook" >
160
160
  <label for="f_position" class="font_normal_body" >&ensp;抄&ensp;表&ensp;册</label>
161
161
  <v-select :value.sync="row.f_meter_book_num" v-model="row.f_meter_book_num"
162
- :value-single="true" :disabled="!jurisdiction.includes('档案信息查询修改')"
162
+ :value-single="true" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('抄表册') == false && controlledArray.includes('抄表册') == false)"
163
163
  :options='meterbookoptions' placeholder='抄表册'
164
164
  close-on-select></v-select>
165
165
  </div>
@@ -168,7 +168,7 @@
168
168
  <datepicker style="width:60%" id="startDate" placeholder="安装日期" width='100%'
169
169
  v-model="row.f_install_date"
170
170
  :value.sync="row.f_install_date"
171
- class="datepicker" :disabled="!jurisdiction.includes('档案信息查询修改')"
171
+ class="datepicker" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('安装日期') == false && controlledArray.includes('安装日期') == true)"
172
172
  :format="'yyyy-MM-dd HH:mm:ss'"
173
173
  :show-reset-button="true">
174
174
  </datepicker>
@@ -176,12 +176,12 @@
176
176
  <div class="col-sm-4 form-group">
177
177
  <label for="f_adjustable" class="font_normal_body">&ensp;调&ensp;压&ensp;箱</label>
178
178
  <v-select :value.sync="row.f_adjustable" :options='adjustables' placeholder='调压箱' close-on-select
179
- :disabled="!jurisdiction.includes('档案信息查询修改')" v-model='row.f_adjustable' :search='true'></v-select>
179
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('调压箱') == false && controlledArray.includes('调压箱') == true)" v-model='row.f_adjustable' :search='true'></v-select>
180
180
  </div>
181
181
  <div class="col-sm-4 form-group">
182
182
  <label for="f_hand_date" class="font_normal_body">&ensp;上次抄表</label>
183
183
  <datepicker style="width:60%" id="f_hand_date" placeholder="上次抄表日期"
184
- v-model="row.f_hand_date" :disabled="!jurisdiction.includes('档案信息查询修改')"
184
+ v-model="row.f_hand_date" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('上次抄表日期') == false && controlledArray.includes('上次抄表日期') == true)"
185
185
  :value.sync="row.f_hand_date"
186
186
  class="datepicker"
187
187
  :format="'yyyy-MM-dd HH:mm:ss'"
@@ -192,7 +192,7 @@
192
192
  :class="[$m.meternumber.required ? 'has-error' : '']">
193
193
  <label for="f_ratio" class="font_normal_body">比&emsp;&emsp;率</label>
194
194
  <input type="number" class="input_search" style="width:60%" style="width:60%" v-model="row.f_price_ratio"
195
- :value.sync="row.f_price_ratio" :disabled="!jurisdiction.includes('档案信息查询修改')"
195
+ :value.sync="row.f_price_ratio" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('比率') == false && controlledArray.includes('比率') == true)"
196
196
  v-validate:meternumber='{required: true }' placeholder='比率'>
197
197
  </div>
198
198
  <div class="col-sm-4 form-group" >
@@ -200,7 +200,7 @@
200
200
  <datepicker style="width:60%" id="ScrapDate" placeholder="报废日期" width='100%'
201
201
  v-model="row.f_scrap_date"
202
202
  :value.sync="row.f_scrap_date"
203
- class="datepicker" :disabled="!jurisdiction.includes('档案信息查询修改')"
203
+ class="datepicker" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('报废日期') == false && controlledArray.includes('报废日期') == true)"
204
204
  :format="'yyyy-MM-dd'"
205
205
  :show-reset-button="true">
206
206
  </datepicker>
@@ -208,18 +208,17 @@
208
208
  <div class="col-sm-4 form-group">
209
209
  <label for="gasmodel" class="font_normal_body">&ensp;阀门状态</label>
210
210
  <v-select :value.sync="row.f_valve_state" :options='valvestate' placeholder='阀门状态' close-on-select
211
- :disabled="!jurisdiction.includes('档案信息查询修改')" v-model='row.f_valve_state'></v-select>
211
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('阀门状态') == false && controlledArray.includes('阀门状态') == true)" v-model='row.f_valve_state'></v-select>
212
212
  </div>
213
213
  <div class="col-sm-4 form-group">
214
214
  <label for="gasmodel" class="font_normal_body">&ensp;垃&ensp;圾&ensp;费</label>
215
215
  <v-select :value.sync="row.f_garbage_fee" :options='garbagefee' placeholder='垃圾费' close-on-select
216
- :value-single="true" :disabled="!jurisdiction.includes('档案信息查询修改')"
217
- v-model='row.f_garbage_fee'></v-select>
216
+ :value-single="true" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('垃圾费') == false && controlledArray.includes('垃圾费') == true)" v-model='row.f_garbage_fee'></v-select>
218
217
  </div>
219
218
  <div class="col-sm-4 form-group">
220
219
  <label class="font_normal_body">&ensp;抄&ensp;表&ensp;员</label>
221
220
  <v-select :value.sync="row.f_inputtor" v-model='row.f_inputtor'
222
- style="width:60%" :disabled="!jurisdiction.includes('档案信息查询修改')"
221
+ style="width:60%" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('抄表员') == false && controlledArray.includes('抄表员') == true)"
223
222
  :options='inputtores' placeholder='抄表员'
224
223
  close-on-select
225
224
  condition="f_inputtor like '%{}%'" v-el:cc></v-select>
@@ -227,19 +226,19 @@
227
226
  <div class="col-sm-4 form-group" >
228
227
  <label for="f_usetype" class="font_normal_body" title="参数:使用类型">&ensp;使用类型</label>
229
228
  <v-select :value.sync="row.f_usetype" v-model="row.f_usetype"
230
- :options='usetype' placeholder='使用类型' :disabled="!jurisdiction.includes('档案信息查询修改')"
229
+ :options='usetype' placeholder='使用类型' :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('使用类型') == false && controlledArray.includes('使用类型') == true)"
231
230
  close-on-select></v-select>
232
231
  </div>
233
232
  <div class="col-sm-4 form-group" >
234
233
  <label for="f_position" class="font_normal_body" title="参数:使用状态">&ensp;使用状态</label>
235
234
  <v-select :value.sync="row.f_usestate" v-model="row.f_usestate"
236
- :options='usestate' placeholder='使用状态' :disabled="!jurisdiction.includes('档案信息查询修改')"
235
+ :options='usestate' placeholder='使用状态' :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('使用状态') == false && controlledArray.includes('使用状态') == true)"
237
236
  close-on-select></v-select>
238
237
  </div>
239
238
  <div class="col-sm-4 form-group" v-show="row.f_gasproperties=='工业用气'">
240
239
  <label for="f_gongye_type" class="font_normal_body">&ensp;用气类型</label>
241
240
  <v-select :value.sync="row.f_gongye_type" v-model='row.f_gongye_type'
242
- style="width:60%" :disabled="!jurisdiction.includes('档案信息查询修改')"
241
+ style="width:60%" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('工业类型') == false && controlledArray.includes('工业类型') == true)"
243
242
  :options='gongyetype' placeholder='工业类型'
244
243
  close-on-select
245
244
  v-el:cc></v-select>
@@ -247,11 +246,11 @@
247
246
  <div class="col-sm-4 form-group" >
248
247
  <label for="f_limit_sms" class="font_normal_body">&ensp;短信限定</label>
249
248
  <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="row.f_limit_sms"
250
- :disabled="!jurisdiction.includes('档案信息查询修改')" placeholder='短信限定'></input>
249
+ :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('短信限定') == false && controlledArray.includes('短信限定') == true)" placeholder='短信限定'></input>
251
250
  </div>
252
251
  <div style="" class="col-sm-8 form-group">
253
252
  <label for="f_userfiles_address" class="font_normal_body ">安装地址&nbsp;</label>
254
- <input class="input_search" style="width:80%" v-model="row.f_userfiles_address" :disabled="!jurisdiction.includes('档案信息查询修改')"/>
253
+ <input class="input_search" style="width:80%" v-model="row.f_userfiles_address" :disabled="!jurisdiction.includes('档案信息查询修改') || (jurisdiction.includes('安装地址') == false && controlledArray.includes('安装地址') == true)"/>
255
254
  </div>
256
255
  </div>
257
256
  </form>
@@ -353,7 +352,8 @@ let meterBookGen = function *(self) {
353
352
  pricetypes: this.$appdata.getParam('气价类型'),
354
353
  meterbookoptions: [], // 抄表册选项
355
354
  opteratormetrbook: false, // 抄表册操作
356
- oldrow: []
355
+ oldrow: [],
356
+ controlledArray: this.$appdata.getParam('档案信息受控配置').map(item => item.value),
357
357
  }
358
358
  },
359
359
  props: ['f_filialeid', 'meter', 'isdecimal', 'valid', 'f_userinfo_id'],
@@ -520,7 +520,7 @@ let meterBookGen = function *(self) {
520
520
  },
521
521
 
522
522
  getPricenames () {
523
- return this.$GetSaleParam.getPriceByOrg(this.f_filialeid)
523
+ return this.$GetSaleParam.getPriceByOrgNoLow(this.f_filialeid)
524
524
  },
525
525
 
526
526
  adjustables () {