sale-client 3.6.291 → 3.6.292

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": "sale-client",
3
- "version": "3.6.291",
3
+ "version": "3.6.292",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -153,6 +153,15 @@
153
153
  condition="f_meternumber like '%{}%'" placeholder='表号'
154
154
  >
155
155
  </div>
156
+ <div class="col-sm-3 form-group">
157
+ <label class="font_normal_body">抄表月份</label>
158
+ <v-select :options='$parent.$parent.handMonths'
159
+ :value.sync="model.f_hand_month"
160
+ v-model="model.f_hand_month"
161
+ close-on-select
162
+ condition="f_hand_month = '{}'"
163
+ placeholder='抄表月份' ></v-select>
164
+ </div>
156
165
  </div>
157
166
  </div>
158
167
  </criteria>
@@ -300,6 +309,7 @@ export default {
300
309
  value: ''
301
310
  }, ...this.$appdata.getParam('小区域')] : [],
302
311
  user_state: [{label: '正常', value: '正常'}, {label: '预备', value: '预备'}, {label: '销户', value: '销户'}],
312
+ handMonths: this.$appdata.getParam('抄表月份') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表月份')] : [],
303
313
  whether_list: [{label: '已在册内', value: 'is not null'}, {label: '不在册内', value: 'is null'}],
304
314
  meterbrands: [],
305
315
  condition: '',
@@ -0,0 +1,410 @@
1
+ <template>
2
+ <div class="auto select-overspread" v-if="refreshDisplay">
3
+ <validator name='v'>
4
+ <form class="form-horizontal" novalidate>
5
+ <ul class="nav nav-tabs" style="margin-bottom: 10px">
6
+ <li class="active"><a href="#">抄表册信息</a></li>
7
+ </ul>
8
+ <div class="row">
9
+ <div class="col-sm-6 form-group">
10
+ <label class="font_normal_body" for="f_book_code" >表&emsp;册&emsp;编&emsp;号&emsp;</label>
11
+ <input :disabled='isEdit' class="input_search" placeholder="抄表册编号" style="width:60%"
12
+ type="text" v-model="model.f_book_code" >
13
+ </div>
14
+ <div :class="[$v.f_book_name.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
15
+ <label class="font_normal_body" for="f_book_name">&emsp;抄表册名称&emsp;&emsp;</label>
16
+ <input :disabled='isEdit' class="input_search" placeholder="抄表册名称" style="width:60%"
17
+ type="text" v-model="model.f_book_name" @blur.prevent="validatename()" v-validate:f_book_name='{required: true }'>
18
+ </div>
19
+
20
+ <div :class="[$v.f_inputtor.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
21
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_inputtor" v-show="false"
22
+ v-validate:f_inputtor='{required: true }'>
23
+ <label class="font_normal_body">&emsp;抄&emsp;表&emsp;员&emsp;&emsp;</label>
24
+ <v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
25
+ style="width:60%"
26
+ :value-single="true"
27
+ :options='inputtores' placeholder='抄表员'
28
+ close-on-select
29
+ v-el:cc></v-select>
30
+ </div>
31
+ <div :class="[$v.f_period.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
32
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_period" v-show="false"
33
+ v-validate:f_period='{required: true }'>
34
+ <label class="font_normal_body">抄&emsp;表&emsp;周&emsp;期&emsp;</label>
35
+ <v-select :value.sync="model.f_period" v-model='model.f_period'
36
+ style="width:55%"
37
+ :value-single="true"
38
+ :options='period' placeholder='抄表周期'
39
+ close-on-select
40
+ v-el:cc></v-select>月
41
+ </div>
42
+
43
+
44
+ <div :class="[$v.f_hand_begin_date.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
45
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_hand_begin_date" v-show="false"
46
+ v-validate:f_hand_begin_date='{required: true }'>
47
+ <label class="font_normal_body" for="f_hand_begin_date">自动下发执行时间</label>
48
+ <datepicker :disabled='isEdit'
49
+ :value.sync="model.f_hand_begin_date"
50
+ id="f_hand_begin_date"
51
+ placeholder="自动下发执行时间"
52
+ :format="'yyyy-MM-dd 00:00:00'"
53
+ style="width: 60%" v-model="model.f_hand_begin_date">
54
+ </datepicker>
55
+ </div>
56
+ <div class="col-sm-6 form-group">
57
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_meterbook_end_date" v-show="false">
58
+ <label class="font_normal_body" for="f_hand_begin_date">自动下发截止日期</label>
59
+ <datepicker
60
+ :value.sync="model.f_meterbook_end_date"
61
+ id="f_meterbook_end_date"
62
+ placeholder="自动下发截止日期"
63
+ :format="'yyyy-MM-dd 00:00:00'"
64
+ style="width: 60%" v-model="model.f_meterbook_end_date">
65
+ </datepicker>
66
+ </div>
67
+
68
+ <div class="col-sm-6 form-group">
69
+ <label class="font_normal_body">所&emsp;属&emsp;公&emsp;司&emsp;</label>
70
+ <res-select :initresid='curorgid'
71
+ @res-select="getorg"
72
+ is-mul="false"
73
+ restype='organization'>
74
+ </res-select>
75
+ </div>
76
+
77
+ <div :class="[$v.f_hand_end_date.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
78
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_hand_end_date" v-show="false"
79
+ v-validate:f_hand_end_date='{required: true }'>
80
+ <label class="font_normal_body" for="f_hand_end_date">抄表录入截止日期</label>
81
+ <datepicker :disabled='isEdit'
82
+ :value.sync="model.f_hand_end_date"
83
+ id="f_hand_end_date"
84
+ placeholder="抄表录入截止日期"
85
+ :format="'yyyy-MM-dd 00:00:00'"
86
+ style="width: 60%" v-model="model.f_hand_end_date">
87
+ </datepicker>
88
+ </div>
89
+ <div :class="[$v.f_period.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
90
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_period" v-show="false"
91
+ v-validate:f_period='{required: true }'>
92
+ <label class="font_normal_body">表&emsp;册&emsp;状&emsp;态&emsp;</label>
93
+ <v-select :value.sync="model.f_book_state" v-model='model.f_book_state'
94
+ style="width:55%"
95
+ :value-single="true"
96
+ :options='bookstates' placeholder='表册状态'
97
+ close-on-select
98
+ v-el:cc></v-select>
99
+ </div>
100
+ <div :class="[$v.f_hand_month.required ? 'has-error' : 'has-success']" class="col-sm-6 form-group">
101
+ <input class="input_search" style="width:60%" type="text" v-model="model.f_hand_month" v-show="false"
102
+ v-validate:f_hand_month='{required: true }'>
103
+ <label class="font_normal_body">抄&emsp;表&emsp;月&emsp;份&emsp;</label>
104
+ <v-select :value.sync="model.f_hand_month" v-model='model.f_hand_month'
105
+ style="width:55%"
106
+ :value-single="true"
107
+ :options='handMonths' placeholder='抄表月份'
108
+ close-on-select
109
+ v-el:cc></v-select>
110
+ </div>
111
+ </div>
112
+
113
+
114
+ <div class="row">
115
+ <div class="col-sm-12 form-group" style="height: auto !important;">
116
+ <label class="font_normal_body ">&emsp;备&emsp;&emsp;&emsp;注&emsp;&emsp;</label>
117
+ <textarea class="input_textarea" rows="3" style="width:80%;margin-top:5px;"
118
+ v-model="model.f_book_remark"></textarea>
119
+ </div>
120
+ </div>
121
+
122
+ </form>
123
+
124
+ <!--<div style="width: 40%;overflow-y: scroll">-->
125
+
126
+
127
+ <div style="text-align:right;height:auto;margin-top:6px;">
128
+ <button :disabled='!$v.valid' @click="confirm()" class="button_search" v-if="!isEdit">确认</button>
129
+ <button @click="deletemeterbook()" class="button_delete" v-if="!isEdit && data.usercount === 0">删除</button>
130
+ <button @click="close()" class="button_clear">取消</button>
131
+ </div>
132
+
133
+ <!--</div>-->
134
+ </validator>
135
+
136
+ </div>
137
+ </template>
138
+ <script>
139
+ import * as Util from '../../Util'
140
+
141
+ import {HttpResetClass} from 'vue-client'
142
+
143
+ /**
144
+ *表册管理
145
+ */
146
+
147
+ let initGen = async function (self, val) {
148
+ let http = new HttpResetClass()
149
+ self.blodid = self.data.id
150
+ let hasUnAudit = false
151
+ console.log('当前信息', val)
152
+ self.model = Object.assign({}, self.model, val)
153
+ self.model.f_book_code = self.model.f_book_code ? self.model.f_book_code : self.f_book_code
154
+ self.model.f_book_name = self.model.f_book_name ? self.model.f_book_name : self.f_book_name
155
+ self.model.f_inputtor = self.model.f_inputtor ? self.model.f_inputtor : self.f_inputtor
156
+ self.model.f_period = self.model.f_period ? self.model.f_period : self.f_period
157
+ self.model.f_hand_begin_date = self.model.f_hand_begin_date ? self.model.f_hand_begin_date : self.f_hand_begin_date
158
+ self.model.f_book_remark = self.model.f_book_remark ? self.model.f_book_remark : self.f_book_remark
159
+ self.model.f_meterbook_end_date = self.model.f_meterbook_end_date ? self.model.f_meterbook_end_date : self.f_meterbook_end_date
160
+ self.model.f_filiale_id = self.model.f_filiale_id ? self.model.f_filiale_id : self.f_filiale_id
161
+ self.model.f_filiale_name = self.model.f_filiale_name ? self.model.f_filiale_name : self.f_filiale_name
162
+ self.model.f_orgid = self.model.f_orgid ? self.model.f_orgid : self.$login.f.orgid
163
+ self.model.f_orgname = self.model.f_orgname ? self.model.f_orgname : self.$login.f.orgs
164
+ self.model.f_depid = self.model.f_depid ? self.model.f_depid : self.$login.f.depids
165
+ self.model.f_depname = self.model.f_depname ? self.model.f_depname : self.$login.f.deps
166
+
167
+ self.curorgid.push(self.model.f_filiale_id)
168
+ self.curorgid.push(self.model.f_filiale_name)
169
+ self.model.f_islow_income = self.model.f_islow_income + ''
170
+ self.model.f_isheat = self.model.f_isheat + ''
171
+ }
172
+
173
+ export default {
174
+ data () {
175
+ return {
176
+ unitshow: false,
177
+ mixshow: false,
178
+ blodid: '',
179
+ // handDate:null,
180
+ stairshow: false,
181
+ model: {
182
+ f_price_type: [],
183
+ f_stairmonths: 1,
184
+ f_perform_date: '',
185
+ detailprice: [],
186
+ f_population_base: 4,
187
+ f_population_increment: 0,
188
+ f_stair_start_date: '',
189
+ f_heat_way: '按月',
190
+ f_deduction_way: this.config.deductionWay,
191
+ f_islow_income: '0',
192
+ f_isheat: '0',
193
+ f_meterbook_end_date: null,
194
+ f_book_name: '',
195
+ f_book_code: '',
196
+ f_inputtor: '',
197
+ f_period: '',
198
+ // 明天
199
+ f_hand_begin_date: this.$login.addDate(this.$login.toStandardDateString() + ' 00:00:00', 1),
200
+ f_hand_end_date: '',
201
+ f_book_remark: '',
202
+ f_filiale_id: '',
203
+ f_filiale_name: '',
204
+ f_comments: '',
205
+ f_priority: 100
206
+ },
207
+ // 编辑控制
208
+ isEdit: false,
209
+
210
+ // 公司树状图信息
211
+ curorgid: [this.$login.f.orgid],
212
+ f_filiale_id: '', // 所属公司
213
+ f_filiale_name: '', // 所属公司名称
214
+
215
+ // 下拉框数据
216
+ usertype: this.$appdata.getParam('用户类型'),
217
+ pricetype: this.$appdata.getParam('气价类型'),
218
+ period: [{label: '1', value: '1'}, {label: '2', value: '2'}, {label: '3', value: '3'},
219
+ {label: '4', value: '4'}, {label: '5', value: '5'}, {label: '6', value: '6'},
220
+ {label: '7', value: '7'}, {label: '8', value: '8'}, {label: '9', value: '9'},
221
+ {label: '10', value: '10'}, {label: '11', value: '11'}, {label: '12', value: '12'}
222
+
223
+ ],
224
+
225
+ inputtores: [{label: '全部', value: ''}],
226
+ refreshDisplay: true,
227
+ currentTime: this.$login.toStandardDateString() + ' 00:00:00'
228
+ }
229
+ },
230
+ props: ['data', 'config'],
231
+ watch: {
232
+ 'data' (val) {
233
+ if (val) {
234
+ initGen(this, val)
235
+ } else {
236
+ this.initModel()
237
+ }
238
+ this.refreshDisplay = false
239
+ this.$nextTick(() => {
240
+ this.refreshDisplay = true
241
+ })
242
+ }
243
+ },
244
+ computed: {
245
+ bookstates () {
246
+ return this.$appdata.getParam('抄表册状态') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('抄表册状态')] : [{label: '全部', value: ''}, {label: '有效', value: '有效'}, {label: '无效', value: '无效'}]
247
+ },
248
+ handMonths () {
249
+ return this.$appdata.getParam('抄表月份') ? this.$appdata.getParam('抄表月份') : []
250
+ },
251
+ dateEdit () {
252
+ return this.model.f_hand_end_date && this.model.f_hand_begin_date && this.model.f_hand_end_date <= this.model.f_hand_begin_date
253
+ }
254
+ },
255
+ ready () {
256
+ initGen(this, this.data)
257
+ },
258
+ methods: {
259
+ async validatename () {
260
+ if (this.model.f_book_name) {
261
+ this.$resetpost('rs/sql/saleSingleTable', {
262
+ data: {
263
+ tablename: 't_meter_book',
264
+ condition: `f_book_name='${this.model.f_book_name}' and f_book_state= '有效' and f_filiale_id=${this.f_filiale_id}`
265
+ }
266
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
267
+ if (res.data.length > 0) {
268
+ this.$showAlert('该册名已被使用', 'warning', 2000)
269
+ this.model.f_book_name = ''
270
+ }
271
+ }
272
+ )
273
+ }
274
+ },
275
+ // async validateCode(){
276
+ // if(this.model.f_book_code){
277
+ // if(this.model.f_book_code.length!=7){
278
+ // this.$showAlert('请填入7位表册编号', 'warning', 2000)
279
+ // this.model.f_book_code=''
280
+ // return
281
+ // }
282
+ // this.$resetpost('rs/sql/saleSingleTable', {
283
+ // data: {
284
+ // tablename: 't_meter_book',
285
+ // condition: `f_book_code='${this.model.f_book_code}' and f_book_state= '有效' and f_filiale_id=${this.f_filiale_id}`
286
+ // }
287
+ // }, {resolveMsg: null, rejectMsg: '验证表册编号失败'}).then((res)=>{
288
+ // if(res.data.length>0){
289
+ // this.$showAlert('该表册编号已被使用', 'warning', 2000)
290
+ // this.model.f_book_code=''
291
+ // }
292
+ // }
293
+ // )
294
+ // }
295
+ // },
296
+ // 机表结束时间范围检测, 返回true表上通过
297
+ endTimeDetection () {
298
+ let result = false
299
+ if (!this.model.f_period) {
300
+ this.$showMessage('请先选择抄表周期')
301
+ this.model.f_hand_end_date = ''
302
+ return result
303
+ }
304
+ if (!this.model.f_hand_begin_date) {
305
+ this.$showMessage('请先选择执行时间')
306
+ this.model.f_hand_end_date = ''
307
+ return result
308
+ }
309
+ if (this.model.f_hand_begin_date <= this.currentTime) {
310
+ this.$showMessage('执行时间不能小于当前时间')
311
+ return result
312
+ }
313
+ // if (this.model.f_hand_end_date <= this.model.f_hand_begin_date) {
314
+ // this.$showMessage('抄表结束时间不能小于等于执行时间')
315
+ // this.model.f_hand_end_date = ''
316
+ // return result
317
+ // }
318
+ // 根据执行时间与抄表周期,计算最大能选中的结束时间
319
+ let arr = this.model.f_hand_begin_date.split(' ')
320
+ let maxSelectDate = this.addMonth(arr[0], this.model.f_period - 0) + ` ${arr[1]}`
321
+ if (this.model.f_hand_end_date >= maxSelectDate) {
322
+ this.$showMessage(`根据选择的抄表周期, 当前抄表结束时间选择范围: ${this.model.f_hand_begin_date} ~ ${maxSelectDate}`)
323
+ this.model.f_hand_end_date = ''
324
+ return result
325
+ }
326
+ result = true
327
+ return result
328
+ },
329
+ addMonth (d, m) {
330
+ var ds = d.split('-'), _d = ds[2] - 0
331
+ var nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0)
332
+ var max = nextM.getDate()
333
+ d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d)
334
+ let month = d.getMonth() + 1
335
+ let date = d.getDate()
336
+ return d.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
337
+ },
338
+ async confirm () {
339
+ try {
340
+ // 提交之前进行验证
341
+ let result = this.endTimeDetection()
342
+ if (!result) return
343
+ this.model.f_filiale_id = this.f_filiale_id ? this.f_filiale_id : this.$login.f.orgid
344
+ this.model.f_filiale_name = this.f_filiale_name ? this.f_filiale_name : this.$login.f.orgs
345
+ await this.$LogicService.gasMeterBook(this.model, this.data)
346
+ this.$dispatch('success', '表册管理', this.data)
347
+ this.initModel()
348
+ } catch (e) {
349
+ this.$dispatch('error', '表册管理', this.data, res)
350
+ }
351
+ },
352
+
353
+ async deletemeterbook () {
354
+ let res = await this.$showMessage(`您确定要删除此表册信息吗?`, ['confirm', 'cancel'])
355
+ if (res === 'confirm') {
356
+ await this.$resetpost('rs/logic/deleteMeterBook', {data: {id: this.model.id}}, {
357
+ resolveMsg: '删除表册成功',
358
+ rejectMsg: '删除表册失败'
359
+ })
360
+ }
361
+ this.$dispatch('success')
362
+ },
363
+ getorg (id, name) {
364
+ if (id.length && name.length) {
365
+ this.f_filiale_id = id[0]
366
+ this.f_filiale_name = name[0].split(' -')[0]
367
+ this.updateParams()
368
+ }
369
+ console.log('11111', id, name, this.model, this.f_filiale_name)
370
+ },
371
+ async updateParams () {
372
+ console.log('重新加载抄表员!!!!!')
373
+ // await this.$LoadParams.loadParam(this.f_filiale_id)
374
+ // await this.$GetSaleParam.initinputtor()
375
+ this.inputtores = []
376
+ this.inputtores.push({label: '全部', value: ''})
377
+ this.inputtores = this.inputtores.concat(this.$GetSaleParam.getresinputtor(this.f_filiale_id))
378
+ },
379
+ initModel () {
380
+ this.model = {
381
+ f_user_type: '',
382
+ f_gasproperties: '',
383
+ f_price_type: '',
384
+ f_book_code: '',
385
+ f_stairmonths: 1,
386
+ f_perform_date: '',
387
+ detailprice: [],
388
+ f_stair_start_date: '',
389
+ f_hand_end_date: '',
390
+ f_population_increment: 0,
391
+ f_population_base: 4,
392
+ f_comments: '',
393
+ f_deduction_way: this.config.deductionWay
394
+ }
395
+ },
396
+ close () {
397
+ this.$dispatch('close')
398
+ }
399
+ }
400
+ }
401
+ </script>
402
+ <style lang="less">
403
+ #gas-price-form {
404
+ .form-group {
405
+ margin-left: 0px;
406
+ margin-right: 0px;
407
+ }
408
+ }
409
+
410
+ </style>
@@ -47,4 +47,6 @@ export default function () {
47
47
  // 当前选择用户的表具基本信息
48
48
  Vue.component('user-meterinfodetail', (resolve) => { require(['./meterinfodetail'], resolve) })
49
49
  Vue.component('user-base-info-new', (resolve) => { require(['./UserBaseInfoNew'], resolve) })
50
+ // 抄表册新增
51
+ Vue.component('meter-book-add', (resolve) => { require(['./MeterBookAdd'], resolve) })
50
52
  }