sale-client 3.6.418 → 3.6.419-2

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