sale-client 4.2.99 → 4.2.101

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.
@@ -0,0 +1,689 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <validator name='m'>
4
+ <div class="basic-main" style="margin-left: 1%;">
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
6
+ <criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch">
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
8
+ <div class="row">
9
+ <div class="form-group col-sm-2">
10
+ <label class="font_normal_body">组织机构</label>
11
+ <res-select
12
+ restype='organization'
13
+ @res-select="$parent.$parent.getorg"
14
+ is-mul="false"
15
+ :initresid='$parent.$parent.curorgid'>
16
+ </res-select>
17
+ </div>
18
+ <div class="form-group col-sm-2">
19
+ <label class="font_normal_body">客户编号</label>
20
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
21
+ @keyup.enter="search()" condition="f_userinfo_code = '{}'" placeholder='客户编号'>
22
+ </div>
23
+ <div class="form-group col-sm-2">
24
+ <label class="font_normal_body">客户名称</label>
25
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_user_name"
26
+ @keyup.enter="search()" condition="f_user_name like '%{}%'" placeholder='客户姓名'>
27
+ </div>
28
+ <div style="float:right">
29
+ <button class="button_search" @click="search(), $parent.$parent.clean()">查询</button>
30
+ <button class="button_clear" @click="$parent.$parent.clear()">清空</button>
31
+ <div style="float: right" class="button_spacing"
32
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
33
+ @click="$parent.$parent.hidden()"></div>
34
+ </div>
35
+ </div>
36
+ <div class="row" v-if="$parent.$parent.criteriaShow">
37
+ <div class="form-group col-sm-2">
38
+ <label class="font_normal_body">旧客户号</label>
39
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_olduserinfo_code"
40
+ placeholder='客户编号'
41
+ condition="f_olduserinfo_code = '{}'">
42
+ </div>
43
+ <div class="form-group col-sm-2">
44
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
45
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_meternumber"
46
+ placeholder='表号'
47
+ condition="f_meternumber = '{}'">
48
+ </div>
49
+ <div class="form-group col-sm-2">
50
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
51
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_card_id" placeholder='卡号'
52
+ condition="f_card_id = '{}'">
53
+ </div>
54
+ <div class="form-group col-sm-2">
55
+ <label class="font_normal_body">用气性质</label>
56
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
57
+ :options='$parent.$parent.gasproperties2' placeholder='用气性质'
58
+ close-on-select condition="f_gasproperties='{}'">
59
+ </v-select>
60
+ </div>
61
+ <div class="form-group col-sm-2">
62
+ <label class="font_normal_body">客户电话</label>
63
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_user_phone"
64
+ placeholder='客户电话'
65
+ condition="f_user_phone = '{}'">
66
+ </div>
67
+ <div class="form-group col-sm-2">
68
+ <label class="font_normal_body">客户地址</label>
69
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_address"
70
+ condition="f_address like '%{}%'" placeholder='客户地址'>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </criteria>
75
+ <data-grid :model="model" class="list_area table_sy" v-ref:grid partial='list'>
76
+ <template partial='head'>
77
+ <tr>
78
+ <th>
79
+ <nobr>序号</nobr>
80
+ </th>
81
+ <th>
82
+ <nobr>客户编号</nobr>
83
+ </th>
84
+ <th>
85
+ <nobr>客户信息</nobr>
86
+ </th>
87
+ <th>
88
+ <nobr>表号</nobr>
89
+ </th>
90
+ <th>
91
+ <nobr>卡号</nobr>
92
+ </th>
93
+ <th>
94
+ <nobr>客户地址</nobr>
95
+ </th>
96
+ <th>
97
+ <nobr>气价名称</nobr>
98
+ </th>
99
+ <th>
100
+ <nobr>表具信息</nobr>
101
+ </th>
102
+ <th>
103
+ <nobr>状态</nobr>
104
+ </th>
105
+ <th>
106
+ <nobr>操作</nobr>
107
+ </th>
108
+ <th>
109
+ <nobr>历史操作</nobr>
110
+ </th>
111
+ </tr>
112
+ </template>
113
+ <template partial='body'>
114
+ <td style="text-align: center;">{{ $index + 1 }}</td>
115
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_userinfo_code }}</td>
116
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_user_name }}</td>
117
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_meternumber }}</td>
118
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_card_id }}</td>
119
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_address }}</td>
120
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_price_name }}</td>
121
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_meter_brand }}</td>
122
+ <td style="text-align: center;white-space: nowrap;">{{ row.f_user_state }}</td>
123
+ <td style="text-align: center;white-space: nowrap;">
124
+ <button type="button" name="button"
125
+ class="button_search button_spacing width-60"
126
+ v-if="row.f_user_state === '正常'"
127
+ @click.stop="$parent.$parent.$parent.priceshow(row)">调价
128
+ </button>
129
+ </td>
130
+ <td style="text-align: center;white-space: nowrap;">
131
+ <button type="button" name="button"
132
+ class="button_search button_spacing width-60"
133
+ v-if="row.f_user_state === '正常'"
134
+ @click.stop="$parent.$parent.$parent.lookOver(row)">查看
135
+ </button>
136
+ </td>
137
+ </template>
138
+ </data-grid>
139
+ </criteria-paged>
140
+ </div>
141
+ <modal :show.sync="show" width="50%" backdrop="false" style="overflow: scroll;">
142
+ <header slot="modal-header" class="modal-header">
143
+ <h4 class="modal-title" style="text-align: center;">气价调整</h4>
144
+ </header>
145
+ <article slot="modal-body" class="modal-body">
146
+ <div class="panel panel-primary datapanel">
147
+ <form class="form-horizontal">
148
+ <div class="form-group">
149
+ <div class="row">
150
+ <div class="col-sm-4 flex-row ">
151
+ <label class="control-label">客户编号</label>
152
+ <p class="form-control-static">{{ row.f_userinfo_code }}</p>
153
+ </div>
154
+ <div class="col-sm-4 flex-row ">
155
+ <label class="control-label">客户名称</label>
156
+ <p class="form-control-static">{{ row.f_user_name }}</p>
157
+ </div>
158
+ <div class="col-sm-4 flex-row ">
159
+ <label class="control-label">客户电话</label>
160
+ <p class="form-control-static">{{ row.f_user_phone }}</p>
161
+ </div>
162
+ </div>
163
+ <div class="row">
164
+ <div class="col-sm-12 flex-row ">
165
+ <label class="control-label">客户地址</label>
166
+ <p class="form-control-static">{{ row.f_address }}</p>
167
+ </div>
168
+ </div>
169
+ </div>
170
+ </form>
171
+ </div>
172
+ <div class="panel panel-primary datapanel">
173
+ <div class="form-group">
174
+ <div class="row bg-info text-center text-center" style="height:35px">
175
+ <div style="float: left">
176
+ <label class="font_normal_body">旧气价信息</label>
177
+ </div>
178
+ </div>
179
+ <div class="row" style="margin-top: 2%">
180
+ <div class="col-sm-3 flex-row ">
181
+ <label class="control-label">客户类型</label>
182
+ <p class="form-control-static">{{ row.f_user_type }}</p>
183
+ </div>
184
+ <div class="col-sm-3 flex-row ">
185
+ <label class="control-label">用气性质</label>
186
+ <p class="form-control-static">{{ row.f_gasproperties }}</p>
187
+ </div>
188
+ <div class="col-sm-3 flex-row ">
189
+ <label class="control-label">气价类型</label>
190
+ <p class="form-control-static">{{ row.f_price_type }}</p>
191
+ </div>
192
+ <div class="col-sm-3 flex-row ">
193
+ <label class="control-label">气价名称</label>
194
+ <p class="form-control-static">{{ row.f_price_name }}</p>
195
+ </div>
196
+ </div>
197
+ <div class="row bg-info text-center text-center" style="height:35px">
198
+ <div style="float: left">
199
+ <label class="font_normal_body">新气价信息</label>
200
+ </div>
201
+ </div>
202
+ <div class="row" style="margin-top: 2%">
203
+ <label class="radio-inline col-sm-3">
204
+ <input type="radio" value="系统气价" v-model="model.type" class="magic-radio" checked id="type_two">
205
+ <label for="type_two">系统气价</label>
206
+ </label>
207
+ <label class="radio-inline col-sm-4">
208
+ <input type="radio" value="自定义气价" v-model="model.type" class="magic-radio" id="type_three">
209
+ <label for="type_three">自定义气价</label>
210
+ </label>
211
+ </div>
212
+ <div class="row" style="margin-top: 2%" v-if="model.type ==='自定义气价'">
213
+ <div :class="[$m.f_price_type.required ? 'has-error' : '']" class="col-sm-4 form-group">
214
+ <input class="input_search" style="width:60%" type="text" v-model="newinfo.f_price_type"
215
+ v-show="false"
216
+ v-validate:f_price_type='{required: true }'>
217
+ <label title="参数:气价类型" class="font_normal_body" for="f_price_type">气价类型</label>
218
+ <v-select :disabled='isEdit'
219
+ :options='pricetype'
220
+ :value-single="true"
221
+ :value.sync="newinfo.f_price_type"
222
+ close-on-select
223
+ id="f_price_type"
224
+ placeholder='请选择'
225
+ v-model="newinfo.f_price_type">
226
+ </v-select>
227
+ </div>
228
+ <div class="col-sm-4" :class="[$m.f_price_name.required ? 'has-error' : 'has-success']">
229
+ <label for="f_price_name" class="font_normal_body">气价名称</label>
230
+ <input style="width:60%" class="input_search" type="text" v-model="newinfo.f_price_name"
231
+ v-validate:f_price_name='{required: true }' placeholder="气价名称">
232
+ </div>
233
+ <div :class="[$m.f_stairmonths.required || $v.f_stairmonths.dctest ? 'has-error' : 'has-success']"
234
+ class="col-sm-4 form-group" v-if="newinfo.f_price_type ==='阶梯气价'">
235
+ <label class="font_normal_body" for="f_stairmonths">阶段月数</label>
236
+ <input class="input_search" style="width:60%" type="number"
237
+ v-model="newinfo.f_stairmonths"
238
+ v-validate:f_stairmonths='{required: true, dctest: [ 12, "<=" ] }'>
239
+ </div>
240
+ <div :class="[$m.f_stair_start_date.required ? 'has-error' : 'has-success']" class="col-sm-4 form-group"
241
+ v-if="newinfo.f_price_type ==='阶梯气价'">
242
+ <input class="input_search" style="width:60%" type="text" v-model="newinfo.f_stair_start_date"
243
+ v-show="false"
244
+ v-validate:f_stair_start_date='{required: true }'>
245
+ <label class="font_normal_body" for="f_stair_start_date">开始日期</label>
246
+ <datepicker :format="'yyyy-MM-dd'"
247
+ :value.sync="newinfo.f_stair_start_date"
248
+ class="datepicker"
249
+ id="f_stair_start_date"
250
+ placeholder="阶梯开始日期"
251
+ style="width: 60%"
252
+ v-model="newinfo.f_stair_start_date">
253
+ </datepicker>
254
+ </div>
255
+ <div class="col-sm-4" :class="[$m.f_price.required ? 'has-error' : 'has-success']"
256
+ v-if="newinfo.f_price_type ==='固定气价'">
257
+ <label for="f_price" class="font_normal_body">&nbsp;&nbsp;&nbsp;单价&nbsp;&nbsp;&nbsp;</label>
258
+ <input style="width:60%" class="input_search" type="number" v-model="detailprice[0].f_price"
259
+ v-validate:f_price='{required: true }' placeholder="单价">
260
+ </div>
261
+ <div class='auto' style="margin-top: 10px;">
262
+ <stair-price :isheat.sync="model.f_isheat" :stairmodel.sync='detailprice'
263
+ v-if="newinfo.f_price_type ==='阶梯气价'"></stair-price>
264
+ </div>
265
+ </div>
266
+ <div class="row" style="margin-top: 2%" v-if="model.type ==='自定义气价'">
267
+ <div class="col-sm-4 flex-row">
268
+ <label class="control-label">调价原因</label>
269
+ <v-select :value.sync="newinfo.f_comments" v-model="newinfo.f_comments"
270
+ placeholder='调价原因' :options="adjustpricereasons" :value-single="true"
271
+ close-on-select v-ref:type>
272
+ </v-select>
273
+ </div>
274
+ </div>
275
+ <div class="row" style="margin-top: 2%" v-if="model.type ==='自定义气价'">
276
+ <div class="col-sm-12 flex-row" v-if="newinfo.f_comments==='其他原因'">
277
+ <label class="control-label">其他原因</label>
278
+ <input type="text" class="input_search" style="width:80%" v-model="newinfo.f_other_comments"
279
+ placeholder='其他原因'>
280
+ </div>
281
+ </div>
282
+ <div class="row" style="margin-top: 2%" v-if="model.type ==='系统气价'">
283
+ <div class="col-sm-4 flex-row">
284
+ <label class="control-label">用户类型</label>
285
+ <v-select :value.sync="newinfo.f_user_type"
286
+ :options='usertypes' placeholder='用户类型'
287
+ @change="userTypeChange()"
288
+ close-on-select></v-select>
289
+ </div>
290
+ <div class="col-sm-4 flex-row"
291
+ :class="[$m.gas.required ? 'has-error' : '']">
292
+ <label class="control-label">用气性质</label>
293
+ <input type="text" v-show="false" v-model="$refs.gas.selectedItems"
294
+ v-validate:gas='{required: true }'>
295
+ <v-select :value.sync="newinfo.f_gasproperties" v-model="newinfo.f_gasproperties"
296
+ :options='gasproperties' placeholder='用气性质'
297
+ close-on-select v-ref:gas></v-select>
298
+ </div>
299
+ <div class="col-sm-4 flex-row" :class="[$m.type.required ? 'has-error' : '']">
300
+ <label class="control-label">气价类型</label>
301
+ <v-select :value.sync="newinfo.pricetype" v-model="newinfo.pricetype"
302
+ placeholder='气价类型' :options="pricetypes"
303
+ close-on-select v-ref:type>
304
+ </v-select>
305
+ <input type="text" v-show="false" v-model="$refs.type.selectedItems"
306
+ v-validate:type='{required: true }'>
307
+ </div>
308
+ </div>
309
+ <div class="row" style="margin-top: 2%" v-if="model.type ==='系统气价'">
310
+ <div class="col-sm-4 flex-row" :class="[$m.name.required ? 'has-error' : '']">
311
+ <label class="control-label">气价名称</label>
312
+ <v-select :value.sync="newinfo.pricename" v-model="newinfo.pricename"
313
+ placeholder='气价名称' :options="getPricenames()" @change="priceChange"
314
+ close-on-select :disabled='newinfo.pricetype.length === 0 ' v-ref:name></v-select>
315
+ <input type="text" v-show="false" v-model="$refs.name.selectedItems"
316
+ v-validate:name='{required: true }'>
317
+ <span class="col-sm-3" v-if="newinfo.pricetype.length === 1 && gasproperties.length === 0"
318
+ style="color:red;text-align:right">请确定用气性质已选择!!</span>
319
+ </div>
320
+ <div class="col-sm-4 flex-row">
321
+ <label class="control-label">气价备注</label>
322
+ <input type="text" class="input_search" style="width:60%" v-model="newinfo.f_price_comments"
323
+ placeholder='气价备注' disabled>
324
+ </div>
325
+ <div class="col-sm-4 flex-row">
326
+ <label class="control-label">生效日期</label>
327
+ <input class="input_search" style="width:60%" type="text" v-model="preformdate"
328
+ :disabled="true">
329
+ </div>
330
+ </div>
331
+ <div class="row" style="margin-top: 2%">
332
+ <div class="col-sm-12 flex-row">
333
+ <label class="control-label">调价原因</label>
334
+ <input type="text" class="input_search" style="width:87%" v-model="newinfo.f_comments"
335
+ placeholder='调价原因'>
336
+ </div>
337
+ </div>
338
+ </div>
339
+ </div>
340
+ <upload :blodid="row.f_userinfo_id" v-if="config.showupload" isremark="true" fusetype="单户调价"></upload>
341
+ </article>
342
+ <footer slot="modal-footer" class="modal-footer">
343
+ <button class="button_search" :disabled='!$m.valid ' @click="modifyUser">确定</button>
344
+ <button type="button" class="button_clear" @click='close'>取消</button>
345
+ </footer>
346
+ </modal>
347
+ <modal :backdrop="false" :show.sync="showPopUps" v-if="showPopUps" width="1000px">
348
+ <header class="modal-header" slot="modal-header">
349
+ <button @click="showPopUps=!showPopUps" class="close" type="button"><span>&times;</span></button>
350
+ <h4 class="modal-title">历史记录</h4>
351
+ </header>
352
+ <article class="modal-body" slot="modal-body" style="height:100%;width:100%" title="历史记录">
353
+ <user-price-change-history :row="row" :show.sync="showPopUps" v-on:toggle="close"></user-price-change-history>
354
+ </article>
355
+ <footer class="modal-footer" slot="modal-footer">
356
+ </footer>
357
+ </modal>
358
+ </validator>
359
+ </div>
360
+ </template>
361
+
362
+ <script>
363
+ import {PagedList} from 'vue-client'
364
+
365
+ let loadParamGem = async function (self) {
366
+ if (!self.f_filialeid) {
367
+ self.f_filialeid = self.$login.f.orgid
368
+ }
369
+ await self.$LoadParams.loadParam(self.f_filialeid)
370
+ }
371
+
372
+ export default {
373
+ title: '单户调价',
374
+ data () {
375
+ return {
376
+ model: new PagedList('api/af-revenue/sql/sale_getUserPrice', 30, {orderitem: '"f_userinfo_id DESC"'}),
377
+ row: null, // 选择一条客户信息,对其进行修改
378
+ rows: [], // 客户档案选择一条时,将只显示一条信息,rows用来存放整页的数据
379
+ orderDefault: 'f_createfile_date desc',
380
+ orderFields: {
381
+ f_userinfo_id: 'no'
382
+ },
383
+ config: {
384
+ showupload: true
385
+ },
386
+ detailprice: [],
387
+ newinfo: {
388
+ f_user_type: '',
389
+ f_gasproperties: '',
390
+ pricetype: '',
391
+ pricename: '',
392
+ f_comments: '',
393
+ f_perform_date: this.$login.toStandardDateString() + ' 00:00:00' // 操作时间
394
+ },
395
+ preformdate: this.$login.toStandardDateString() + ' 00:00:00',
396
+ showPerformDate: false,
397
+ show: false,
398
+ showPopUps: false,
399
+ curorgid: [this.$login.f.orgid],
400
+ f_filialeid: this.$login.f.orgid,
401
+ criteriaShow: false,
402
+ valid: false,
403
+ pricetype: [{label: '固定气价', value: '固定气价'}, {label: '阶梯气价', value: '阶梯气价'}],
404
+ gasproperties: [],
405
+ gasproperties2: this.$appdata.getParam('用气性质') ? [{
406
+ label: '全部',
407
+ value: ''
408
+ }, ...this.$appdata.getParam('用气性质')] : [],
409
+ usertypes: this.$appdata.getParam('用户类型') ? [{
410
+ label: '全部',
411
+ value: ''
412
+ }, ...this.$appdata.getParam('用户类型')] : [],
413
+ pricetypes: this.$appdata.getParam('气价类型') ? [{
414
+ label: '全部',
415
+ value: ''
416
+ }, ...this.$appdata.getParam('气价类型')] : [],
417
+ adjustpricereasons: this.$appdata.getParam('批量调价原因')
418
+ }
419
+ },
420
+ methods: {
421
+ userTypeChange () {
422
+ this.gasproperties = []
423
+ if (this.newinfo.f_user_type.length === 1) {
424
+ this.gasproperties = this.$appdata.getParam(this.newinfo.f_user_type[0])
425
+ }
426
+ },
427
+ hidden () {
428
+ this.criteriaShow = !this.criteriaShow
429
+ },
430
+ search () {
431
+ this.$refs.paged.$refs.criteria.search()
432
+ },
433
+ priceshow (row) {
434
+ this.show = true
435
+ this.showPerformDate = (row.f_calculation == '表端结算')
436
+ this.row = row
437
+ },
438
+ lookOver (row) {
439
+ this.showPopUps = true
440
+ this.row = row
441
+ },
442
+ getPricenames () {
443
+ console.log('气价。,。。', this.newinfo.pricetype, this.newinfo.f_user_type, this.newinfo.f_gasproperties)
444
+ let rs = []
445
+ if (this.newinfo.f_user_type.length === 1 && this.newinfo.f_gasproperties.length === 1 && this.newinfo.pricetype.length === 1) {
446
+ let params = {
447
+ f_user_type: this.newinfo.f_user_type[0],
448
+ f_gasproperties: this.newinfo.f_gasproperties[0],
449
+ f_price_type: this.newinfo.pricetype[0],
450
+ filter: this.f_filialeid
451
+ }
452
+ rs = this.$GetSaleParam.getPriceAll(params)
453
+ }
454
+ if (rs.length === 0) {
455
+ this.newinfo.f_price_name = ''
456
+ }
457
+ return rs
458
+ },
459
+ priceChange (val) {
460
+ if (val && val.length > 0) {
461
+ // 展示气价备注
462
+ this.$set('newinfo.f_price_comments', val[0].f_comments ? val[0].f_comments : '无')
463
+ }
464
+ },
465
+ close () {
466
+ this.showPerformDate = false
467
+ this.show = false
468
+ this.row = null
469
+ this.newinfo = {
470
+ f_user_type: '',
471
+ f_gasproperties: '',
472
+ pricetype: '',
473
+ pricename: ''
474
+ }
475
+ },
476
+ async modifyUser () {
477
+ if (this.model.type === '系统气价') {
478
+ let param = {
479
+ f_userinfo_id: this.row.f_userinfo_id,
480
+ f_userfiles_id: this.row.f_userfiles_id,
481
+ f_user_id: this.row.f_user_id,
482
+ f_user_name: this.row.f_user_name,
483
+ f_user_type: this.newinfo.f_user_type[0],
484
+ f_gasproperties: this.newinfo.f_gasproperties[0],
485
+ f_price_type: this.newinfo.pricetype[0],
486
+ f_price_id: this.newinfo.pricename[0].f_price_id,
487
+ f_filialeid: this.f_filialeid,
488
+ f_operator: this.$login.f.name,
489
+ f_operatorid: this.$login.f.id,
490
+ f_orgid: this.$login.f.orgid,
491
+ f_orgname: this.$login.f.orgs,
492
+ f_depid: this.$login.f.depids,
493
+ f_depname: this.$login.f.deps,
494
+ f_perform_date: this.row.f_perform_date,
495
+ f_change_reason: '',
496
+ f_comments: this.newinfo.f_other_comments ? this.newinfo.f_other_comments : this.newinfo.f_comments
497
+ }
498
+ await this.$resetpost('api/af-revenue/logic/user_pricechange', {data: param}, {
499
+ resolveMsg: '更新成功',
500
+ rejectMsg: '更新失败'
501
+ }).then(() => {
502
+ this.criteriaShow = false
503
+ this.close()
504
+ this.search()
505
+ })
506
+ } else if (this.model.type === '自定义气价') {
507
+ let data = {
508
+ f_userinfo_id: this.row.f_userinfo_id,
509
+ f_userfiles_id: this.row.f_userfiles_id,
510
+ f_user_id: this.row.f_user_id,
511
+ f_user_name: this.row.f_user_name,
512
+ f_price_type: this.newinfo.f_price_type,
513
+ f_price_name: this.newinfo.f_price_name,
514
+ f_user_type: this.row.f_user_type,
515
+ f_gasproperties: this.row.f_gasproperties,
516
+ f_perform_date: '2021-01-01 00:00:00',
517
+ f_perform_date_change: this.row.f_perform_date,
518
+ f_end_date: '2099-12-31 23:59:59',
519
+ f_islow_income: 0,
520
+ f_limit_cycle: 0,
521
+ f_limit_gas: 0,
522
+ f_stairmonths: null,
523
+ f_population_base: null,
524
+ f_stair_start_date: null,
525
+ f_isheat: 0,
526
+ f_deduction_way: 'cycle',
527
+ f_heat_start_date: null,
528
+ f_heat_cycle: null,
529
+ f_priority: 100,
530
+ f_comments: this.newinfo.f_other_comments ? this.newinfo.f_other_comments : this.newinfo.f_comments,
531
+ f_state: '有效',
532
+ f_filialeid: this.f_filialeid,
533
+ f_operator: this.$login.f.name,
534
+ f_operatorid: this.$login.f.id,
535
+ f_orgid: this.$login.f.orgid,
536
+ f_orgname: this.$login.f.orgs,
537
+ f_depid: this.$login.f.depids,
538
+ f_depname: this.$login.f.deps,
539
+ userid: this.$login.f.id,
540
+ audit: false,
541
+ type: '添加',
542
+ detailprice: this.detailprice,
543
+ f_custom: '自定义气价'
544
+ }
545
+ if (this.newinfo.f_price_type === '阶梯气价') {
546
+ data.f_stairmonths = this.newinfo.f_stairmonths
547
+ data.f_population_base = 0
548
+ data.f_stair_start_date = this.newinfo.f_stair_start_date
549
+ }
550
+ if (data.f_price_type === '固定气价') {
551
+ if (data.detailprice[0].id) {
552
+ delete data.detailprice[0].id
553
+ }
554
+ data.detailprice[0].f_price_name = 1
555
+ } else if (data.f_price_type === '阶梯气价') {
556
+ data.detailprice.forEach((item, index) => {
557
+ data.detailprice[index].f_price_name = index + 1
558
+ if (data.detailprice[index].id) {
559
+ if (delete data.detailprice[index].id) {
560
+ delete data.detailprice[index].id
561
+ }
562
+ } else if (data.detailprice[index].f_ratio) {
563
+ data.detailprice[index].f_ratio = null
564
+ } else if (!data.detailprice[index].f_add_gas) {
565
+ data.detailprice[index].f_add_gas = 0
566
+ } else if (!data.detailprice[index].f_add_gas_heat) {
567
+ data.detailprice[index].f_add_gas_heat = 0
568
+ }
569
+ })
570
+ }
571
+
572
+ this.$resetpost('api/af-revenue/logic/customprice', {data: data}, {
573
+ resolveMsg: '更新成功',
574
+ rejectMsg: '更新失败'
575
+ }).then(() => {
576
+ this.criteriaShow = false
577
+ this.close()
578
+ this.search()
579
+ })
580
+ }
581
+ },
582
+ clean () {
583
+ this.row = null
584
+ this.areainfo = null
585
+ this.$refs.paged.$refs.grid.select(null)
586
+ this.$refs.paged.$refs.grid.model.rows = this.rows
587
+ },
588
+ selfSearch (args) {
589
+ console.log('开始查询档案', this.f_filialeid)
590
+ if (this.f_filialeid && this.f_filialeid !== '') {
591
+ args.condition = `${args.condition} and f_filialeid = '${this.f_filialeid}'`
592
+ } else {
593
+ args.condition = `${args.condition} and f_filialeid = '${this.$login.f.orgid}'`
594
+ }
595
+ this.criteriaShow = false
596
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
597
+ this.model.search(args.condition, args.model)
598
+ this.clean()
599
+ },
600
+ sort (field, rule) {
601
+ // 将所有排序方式设为不排序,实现相互排斥
602
+ for (let key in this.orderFields) {
603
+ if (key === field) {
604
+ this.orderFields[key] = rule
605
+ } else {
606
+ this.orderFields[key] = 'no'
607
+ }
608
+ }
609
+ // 如果新规则不排序,还原为默认排序
610
+ if (rule === 'no') {
611
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
612
+ } else {
613
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
614
+ }
615
+
616
+ this.search()
617
+ },
618
+
619
+ clear () {
620
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
621
+ this.$refs.paged.$refs.criteria.model[key] = []
622
+ })
623
+ },
624
+ getorg (val) {
625
+ this.f_filialeid = val[0]
626
+ }
627
+ },
628
+ ready () {
629
+ },
630
+ watch: {
631
+ // 每次查询将查询到的数据存储起来,供选择操作后的替换
632
+ 'model.state' (val) {
633
+ if (val === '正确') {
634
+ this.rows = this.model.rows
635
+ }
636
+ },
637
+ 'newinfo.f_price_type' (val) {
638
+ if (val === '固定气价') {
639
+ this.detailprice = []
640
+ } else if (val === '阶梯气价') {
641
+ this.detailprice = [{f_gas: '', f_price: '', f_add_gas: 0, f_add_gas_heat: 0}]
642
+ }
643
+ },
644
+ 'show' (val) {
645
+ if (!val) {
646
+ this.newinfo = {
647
+ f_user_type: '',
648
+ f_gasproperties: '',
649
+ pricetype: '',
650
+ pricename: ''
651
+ }
652
+ this.row = null
653
+ } else {
654
+ this.newinfo = {
655
+ f_user_type: [this.row.f_user_type],
656
+ f_gasproperties: [this.row.f_gasproperties],
657
+ pricetype: [this.row.f_price_type],
658
+ pricename: ''
659
+ }
660
+ }
661
+ },
662
+ 'f_filialeid' (val) {
663
+ loadParamGem(this)
664
+ },
665
+ async 'newinfo.pricename' () {
666
+ if (this.newinfo.pricename == null || !(this.newinfo.pricename instanceof Array) || this.newinfo.pricename.length == 0) return
667
+ let qij = await this.$resetpost('api/af-revenue/sql/saleSingleTable', {
668
+ data: {
669
+ tablename: 't_stairprice',
670
+ condition: ` f_price_id = ${this.newinfo.pricename[0].f_price_id} and getDate()>= f_perform_date and getDate()<f_end_date `
671
+ }
672
+ }, {resolveMsg: null, rejectMsg: null})
673
+ if (qij.data && qij.data.length > 0) {
674
+ this.preformdate = qij.data[0].f_perform_date
675
+ }
676
+ }
677
+ }
678
+ }
679
+ </script>
680
+ <style scoped>
681
+ .datapanel {
682
+ color: #333;
683
+ background-color: white;
684
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
685
+ padding: 10px 30px 10px 30px;
686
+ height: auto;
687
+ border-radius: 15px;
688
+ }
689
+ </style>