sale-client 3.5.218 → 3.5.219

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.
@@ -4,7 +4,7 @@ var path = require('path')
4
4
  var webpackDevServer = require('webpack-dev-server')
5
5
  var compiler = webpack(config)
6
6
  // 自己改了这里不要提交 来回覆盖挺麻烦的
7
- const [localUrl, serverRul] = ['http://127.0.0.1:8080', 'http://121.36.106.17:8400']
7
+ const [localUrl, serverRul] = ['http://59.48.150.94:8300', 'http://59.48.150.94:8300']
8
8
  const port = 8089
9
9
 
10
10
  // eslint-disable-next-line new-cap
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.5.218",
3
+ "version": "3.5.219",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -7,6 +7,9 @@
7
7
  <tabs header="卡表调价补差">
8
8
  <price-adjustment-card v-if="show[1]" @deal-msg="dealMsg"></price-adjustment-card>
9
9
  </tabs>
10
+ <tabs header="记录调价补差">
11
+ <price-adjustment-selling @deal-msg="dealMsg"></price-adjustment-selling>
12
+ </tabs>
10
13
  </tab-button>
11
14
  <!-- </div>-->
12
15
  <!-- <div v-if="!listpage">-->
@@ -0,0 +1,377 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main">
4
+ <div class="flex">
5
+ <criteria-paged :model="model" v-ref:paged>
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
+ <input type="text" class="input_search" style="width:60%"
12
+ v-model="model.f_userinfo_code" placeholder='客户编号'
13
+ condition="f_userinfo_code = '{}'" >
14
+ </div>
15
+ <div class="form-group col-sm-2">
16
+ <label class="font_normal_body">客户名称</label>
17
+ <input type="text" class="input_search" style="width:60%"
18
+ v-model="model.f_user_name" placeholder='客户名称'
19
+ condition="f_user_name like '%{}%'">
20
+ </div>
21
+ <div class="form-group col-sm-2" >
22
+ <label class="font_normal_body">开始日期</label>
23
+ <datepicker placeholder="开始日期"
24
+ style="width:60%"
25
+ v-model="model.startDate"
26
+ :value.sync="model.startDate"
27
+ :format="'yyyy-MM-dd'"
28
+ ></datepicker>
29
+ </div>
30
+ <div class="form-group col-sm-2" >
31
+ <label class="font_normal_body">结束日期</label>
32
+ <datepicker placeholder="结束日期"
33
+ style="width:60%"
34
+ v-model="model.endDate"
35
+ :value.sync="model.endDate"
36
+ :format="'yyyy-MM-dd'"
37
+ ></datepicker>
38
+ </div>
39
+ <div class="span" style="float:right;">&nbsp;&nbsp;
40
+ <button class="button_new" style="width: max-content" v-show="$parent.$parent.pricechange" @click="$parent.$parent.priceshow()">批量调价</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
41
+ <button class="button_search" @click="search()" v-el:cx>查询</button>
42
+ <button class="button_clear" @click="$parent.$parent.clear()">清空</button>
43
+ <div style="float: right" class="button_spacing"
44
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
45
+ @click="$parent.$parent.hidden()"></div>
46
+ </div>
47
+ </div>
48
+ <div class="row" v-show="$parent.$parent.criteriaShow">
49
+ <div class="form-group col-sm-2">
50
+ <label class="font_normal_body">客户地址</label>
51
+ <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="model.f_address" placeholder='客户地址'
52
+ condition="u3.f_address like '%{}%'">
53
+ </div>
54
+ <div class="form-group col-sm-2">
55
+ <label class="font_normal_body">电&emsp;&emsp;话</label>
56
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_user_phone" placeholder='电话'
57
+ condition="f_user_phone like '%{}%'">
58
+ </div>
59
+ <div class="form-group col-sm-2">
60
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
61
+ <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="model.f_meternumber" placeholder='表号'
62
+ condition="f_meternumber like '%{}%'">
63
+ </div>
64
+ <div class="form-group col-sm-2">
65
+ <label class="font_normal_body">状&emsp;&emsp;态</label>
66
+ <v-select id="price_states"
67
+ v-model="model.price_states"
68
+ placeholder='未调价'
69
+ style="width: 60%"
70
+ :value.sync="model.price_states"
71
+ :options='$parent.$parent.price_states'
72
+ condition="f_new_price {}"
73
+ close-on-select></v-select>
74
+ </div>
75
+ <div class="form-group col-sm-2">
76
+ <label class="font_normal_body">用户类型</label>
77
+ <v-select id="f_user_tye"
78
+ v-model="model.f_user_type"
79
+ placeholder='用户类型'
80
+ style="width: 60%"
81
+ @change="$parent.$parent.userTypeChange"
82
+ :value.sync="model.f_user_type"
83
+ :options='$parent.$parent.userTypes'
84
+ condition="u2.f_user_type = '{}'"
85
+ close-on-select></v-select>
86
+ </div>
87
+ <div class="form-group col-sm-2">
88
+ <label class="font_normal_body">气&emsp;&emsp;价</label>
89
+ <v-select id="f_price_name"
90
+ v-model="model.price_name"
91
+ placeholder='气价名称'
92
+ style="width: 60%"
93
+ :value.sync="model.price_name"
94
+ :options='$parent.$parent.price_name'
95
+ condition="sp.id = '{}'"
96
+ close-on-select></v-select>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </criteria>
101
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
102
+ <template partial='head'>
103
+ <tr>
104
+ <th><nobr>序号</nobr></th>
105
+ <th><nobr>客户编号</nobr></th>
106
+ <th><nobr>表号</nobr></th>
107
+ <th><nobr>姓名</nobr></th>
108
+ <th><nobr>客户类型</nobr></th>
109
+ <th><nobr>气表类型</nobr></th>
110
+ <th><nobr>气价名称</nobr></th>
111
+ <!-- <th><nobr>地址</nobr></th>-->
112
+ <th><nobr>系统气价</nobr></th>
113
+ <th><nobr>输入气价</nobr></th>
114
+ <th><nobr>补差单价</nobr></th>
115
+ <th><nobr>上期底数</nobr></th>
116
+ <th><nobr>本期底数</nobr></th>
117
+ <th><nobr>补差气量</nobr></th>
118
+ <th><nobr>补差金额</nobr></th>
119
+ <th><nobr>差价来源</nobr></th>
120
+ <th><nobr>抄表日期</nobr></th>
121
+ <th><nobr>操作</nobr></th>
122
+ </tr>
123
+ </template>
124
+ <template partial='body'>
125
+ <td style="text-align: center;">{{$index+1}}</td>
126
+ <th style="text-align: center;">{{row.f_userinfo_code}}</th>
127
+ <th style="text-align: center;">{{row.f_meternumber}}</th>
128
+ <th style="text-align: center;">{{row.f_user_name}}</th>
129
+ <th style="text-align: center;">{{row.f_user_type}}</th>
130
+ <th style="text-align: center;">{{row.f_meter_type}}</th>
131
+ <th style="text-align: center;">{{row.f_price_name}}</th>
132
+ <!-- <th style="text-align: center;">{{row.f_address}}</th>-->
133
+ <th style="text-align: center;">{{row.f_old_price?row.f_old_price:row.f_price}}</th>
134
+ <th style="text-align: center;">
135
+ <div class="form-group" style="margin-bottom:0px;"
136
+ v-if="!row.f_new_price>0">
137
+ <input type="text" class="form-control" v-model="row.newprice" @blur="$parent.$parent.$parent.enter(row)"
138
+ v-next-el="{id: $index+1}" :id="$index" style="width: 100px;padding: 6px;" :disabled="row.state === '开始'">
139
+ </div>
140
+ <div v-else>{{row.f_new_price}}</div>
141
+ </th>
142
+ <th style="text-align: center;">{{row.f_change_price}}</th>
143
+ <th style="text-align: center;">{{row.f_last_tablebase}}</th>
144
+ <th style="text-align: center;">{{row.f_tablebase}}</th>
145
+ <th style="text-align: center;">{{row.pregas}}</th>
146
+ <th style="text-align: center;">{{row.f_surplus_fee}}</th>
147
+ <th style="text-align: center;">{{row.f_source}}</th>
148
+ <th style="text-align: center;">{{row.f_input_date}}</th>
149
+ <th style="text-align: center;">
150
+ <button type="button" name="button" class="btn btn-link" v-if="row.f_new_price"
151
+ @click.stop="$parent.$parent.$parent.delectHand(row) && row.states === 1">冲正
152
+ </button>
153
+ </th>
154
+ </template>
155
+ </data-grid>
156
+ </criteria-paged>
157
+ <modal :show.sync="show" >
158
+ <header slot="modal-header" class="modal-header">
159
+ <h4 class="modal-title">调 价 补 差</h4>
160
+ </header>
161
+ <article slot="modal-body" class="modal-body">
162
+ <div class="form-group">
163
+ <p>价格:</p>
164
+ <input type="text" class="form-control" v-model="f_new_price" >
165
+ </div>
166
+ </article>
167
+ <footer slot="modal-footer" class="modal-footer">
168
+ <button class="button_search" @click="priceadjustment">生成调价补差表</button>
169
+ <button type="button" class="btn btn-default" @click='close'>取消</button>
170
+ </footer>
171
+ </modal>
172
+ <work-busy :is-busy="locking" v-show="locking"></work-busy>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ </template>
177
+
178
+ <script>
179
+ import { HttpResetClass } from 'vue-client'
180
+ import { PagedList } from 'vue-client'
181
+ import Vue from 'vue'
182
+ let readySomething = async function (self) {
183
+ self.$refs.paged.$refs.criteria.model.startDate = self.$login.toStandardDateString()
184
+ self.$refs.paged.$refs.criteria.model.endDate = self.$login.toStandardDateString()
185
+ self.$resetpost('rs/sql/getpriceid', {data: {f_filialeids: self.$login.f.orgid}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
186
+ console.log(res.data)
187
+ let rs = []
188
+ for (let i = 0; i < res.data.length; i++) {
189
+ if (res.data[i].f_price_type === '固定气价') {
190
+ let temp = {
191
+ label: res.data[i].f_price_name,
192
+ flage: res.data[i].f_user_type,
193
+ value: res.data[i].id
194
+ }
195
+ rs.push(temp)
196
+ }
197
+ }
198
+ console.log(rs)
199
+ self.pricers = [{label: '全部', value: '', flage: ''}, ...rs]
200
+ self.$refs.paged.$refs.criteria.search()
201
+ })
202
+ }
203
+
204
+ export default {
205
+ title: '调价补差',
206
+ data () {
207
+ return {
208
+ pricechange: true,
209
+ criteriaShow: false,
210
+ pricers: [{label: '全部', value: '', flage: ''}],
211
+ price_name: [{label: '全部', value: ''}],
212
+ price_states: [{label: '全部', value: ''}, {label: '已调价', value: ' >0'}, {label: '未调价', value: ' <=0'}],
213
+ source: [{label: '卡表抄表', value: '卡表抄表'}, {label: '机表抄表', value: '机表抄表'}],
214
+ userTypes: this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
215
+ condition: '',
216
+ locking: false,
217
+ model: new PagedList('rs/sql/get_UserChargeSelling', 20, {startDate: 'this.model.startDate', endDate: 'this.model.endDate', price_states: 'this.model.price_states[0]', addSelectParam: 'this.model.addSelectParam'}),
218
+ f_new_price: 0.0,
219
+ show: false,
220
+ addSelectParam: ''
221
+ // joinTable:'',
222
+ }
223
+ },
224
+ ready () {
225
+ readySomething(this).then(() => {
226
+ this.$emit('ready')
227
+ }).catch((error) => {
228
+ this.$emit('error', error)
229
+ })
230
+ },
231
+ methods: {
232
+ hidden () {
233
+ this.criteriaShow = !this.criteriaShow
234
+ },
235
+ // 用户类型发生改变
236
+ userTypeChange () {
237
+ this.price_name = []
238
+ if (this.$refs.paged.$refs.criteria.model.f_user_type) {
239
+ if (this.$refs.paged.$refs.criteria.model.f_user_type[0]) {
240
+ for (let i = 0; i < this.pricers.length; i++) {
241
+ if (this.pricers[i].flage === this.$refs.paged.$refs.criteria.model.f_user_type[0]) {
242
+ let rs = {
243
+ label: this.pricers[i].label,
244
+ value: this.pricers[i].value
245
+ }
246
+ this.price_name.push(rs)
247
+ }
248
+ }
249
+ }
250
+ }
251
+ // 选择全部时就放进去所有的气价
252
+ if (this.price_name.length === 0) {
253
+ for (let i = 0; i < this.pricers.length; i++) {
254
+ let rs = {
255
+ label: this.pricers[i].label,
256
+ value: this.pricers[i].value
257
+ }
258
+ this.price_name.push(rs)
259
+ }
260
+ }
261
+ },
262
+ // 冲正
263
+ delectHand (row) {
264
+ this.$showMessage('冲正后不可恢复,确定冲正吗?', ['confirm', 'cancel']).then((res) => {
265
+ if (res === 'confirm') {
266
+ row.f_operator = this.$login.f.name
267
+ row.f_operatorid = this.$login.f.id
268
+ row.f_orgid = this.$login.f.orgid
269
+ row.f_orgname = this.$login.f.orgs
270
+ row.f_depid = this.$login.f.depids
271
+ row.f_depname = this.$login.f.deps
272
+ this.$resetpost('rs/logic/priceAdjustmentOffset', {data: row}).then(() => {
273
+ // this.$dispatch('refresh', '正在处理', row)
274
+ this.selfSearch(this.model)
275
+ })
276
+ }
277
+ })
278
+ },
279
+ priceshow () {
280
+ this.show = true
281
+ },
282
+ close () {
283
+ this.show = false
284
+ this.f_new_price = 0.0
285
+ },
286
+ async priceadjustment () {
287
+ this.$showMessage('确认生成补差记录吗?', ['cancel', 'confirm']).then(
288
+ (response) => {
289
+ if (response === 'confirm') {
290
+ this.show = false
291
+ this.locking = true
292
+ this.getAdjustData()
293
+ }
294
+ })
295
+ },
296
+ async enter (row) {
297
+ let http2 = new HttpResetClass()
298
+ let param = {
299
+ f_state: '有效',
300
+ f_new_price: parseFloat(row.newprice),
301
+ f_operator: this.$login.f.name,
302
+ f_operatorid: this.$login.f.id,
303
+ f_orgid: this.$login.f.orgid,
304
+ f_orgname: this.$login.f.orgs,
305
+ f_depid: this.$login.f.depids,
306
+ f_depname: this.$login.f.deps,
307
+ f_start_date: this.model.model.startDate + ' 00:00:00',
308
+ f_end_date: this.model.model.endDate + ' 23:59:59',
309
+ row: row
310
+ }
311
+ await http2.load('POST', 'rs/logic/priceAdjustment', {data: param}, {resolveMsg: null, rejectMsg: null})
312
+ this.selfSearch(this.model)
313
+ },
314
+ async getAdjustData () {
315
+ try {
316
+ let http = new HttpResetClass()
317
+ let detail = await http.load('POST', 'rs/sql/get_UserCharge',
318
+ {data: {condition: this.condition, startDate: this.model.model.startDate, endDate: this.model.model.endDate, addSelectParam: '', price_states: 'not'}}, {resolveMsg: null, rejectMsg: null})
319
+ console.log(detail.data)
320
+ let param = {
321
+ f_state: '有效',
322
+ f_new_price: parseFloat(this.f_new_price),
323
+ f_operator: this.$login.f.name,
324
+ f_operatorid: this.$login.f.id,
325
+ f_orgid: this.$login.f.orgid,
326
+ f_orgname: this.$login.f.orgs,
327
+ f_depid: this.$login.f.depids,
328
+ f_depname: this.$login.f.deps,
329
+ f_start_date: this.model.model.startDate + ' 00:00:00',
330
+ f_end_date: this.model.model.endDate + ' 23:59:59',
331
+ condition: this.condition
332
+ }
333
+ let http2 = new HttpResetClass()
334
+ for (var i = 0; i < detail.data.length; i++) {
335
+ param.row = detail.data[i]
336
+ await http2.load('POST', 'rs/logic/priceAdjustment', {data: param}, {resolveMsg: null, rejectMsg: null})
337
+ }
338
+ this.close()
339
+ this.$showMessage('已生成了' + detail.data.length + '条调价补差记录', ['confirm'])
340
+ this.$refs.paged.$refs.criteria.search()
341
+ this.locking = false
342
+ } catch (error) {
343
+ this.$showAlert('生成调价补差表失败!!!', 'error', 3)
344
+ this.locking = false
345
+ }
346
+ },
347
+ search () {
348
+ this.selfSearch()
349
+ },
350
+ selfSearch (args) {
351
+ args.model.addSelectParam = ''
352
+ // args.model.joinTable =''
353
+ if (args.model.price_states.toString() === '') {
354
+ this.pricechange = false
355
+ // args.model.addSelectParam = 'u5.f_surplus_fee,u5.id,u5.f_state,u5.f_new_price,u5.f_old_price,u5.f_change_price,u5.f_whether_pay,u5.f_sell_id,'
356
+ // args.model.joinTable = 'left join t_surplus_detail u5 on u5.f_handplan_id = u1.f_handplan_id'
357
+ } else {
358
+ this.pricechange = true
359
+ }
360
+ this.condition = `${args.condition} and u2.f_orgid = '${this.$login.f.orgid}'`
361
+ this.model.search(this.condition, args.model)
362
+ },
363
+ clear () {
364
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
365
+ this.$refs.paged.$refs.criteria.model[key] = ''
366
+ })
367
+ }
368
+ },
369
+ computed: {
370
+ },
371
+ watch: {
372
+ }
373
+ }
374
+ </script>
375
+
376
+ <style >
377
+ </style>
@@ -250,20 +250,20 @@ let CommonService = {
250
250
  result.stairprice2 = cardParams.data.stairprice
251
251
  result.stairprice3 = cardParams.data.stairprice
252
252
  }
253
- if(cardParams.data.cnpricedatestart && (cardParams.data.isHeat === '是')) {
253
+ if (cardParams.data.cnpricedatestart && (cardParams.data.isHeat === '是')) {
254
254
  // 组织采暖参数
255
255
  let cnpricedatestart = cardParams.data.cnpricedatestart
256
256
  let tmp = new Date().getFullYear() + '-' + cnpricedatestart
257
- let standardDate = new Date(tmp);
258
- let end = new Date(standardDate.setMonth(standardDate.getMonth()+cardParams.data.f_heat_cycle));
257
+ let standardDate = new Date(tmp)
258
+ let end = new Date(standardDate.setMonth(standardDate.getMonth() + cardParams.data.f_heat_cycle))
259
259
  var endDate = GetTimeService.getTimeString(end)
260
- endDate = endDate.replaceAll("-","");
261
- cnpricedatestart = tmp.replaceAll("-","").substr(2,tmp.length)
262
- let cnpricedateend = endDate.substr(2,7)
260
+ endDate = endDate.replace(/-/g, '')
261
+ cnpricedatestart = tmp.replace(/-/g, '').substr(2, tmp.length)
262
+ let cnpricedateend = endDate.substr(2, 7)
263
263
 
264
264
  result.cnpricedateend = cnpricedateend
265
265
  result.cnpricedatestart = cnpricedatestart
266
- if(cardParams.data.heatamount.includes(';')) {
266
+ if (cardParams.data.heatamount.includes(';')) {
267
267
  let heatamounts = cardParams.data.heatamount.split(';')
268
268
  if (heatamounts.length >= 2) {
269
269
  result.cnstairgas1 = heatamounts[0] !== '' ? heatamounts[0] : 0
package/src/sale.js CHANGED
@@ -847,6 +847,8 @@ export default function () {
847
847
  Vue.component('price-adjustment', (resolve) => { require(['./components/revenue/HandManager/PriceAdjustment'], resolve) })
848
848
  Vue.component('price-adjustment-manage', (resolve) => { require(['./components/revenue/HandManager/PriceAdjustmentManage'], resolve) })
849
849
  Vue.component('price-adjustment-card', (resolve) => { require(['./components/revenue/HandManager/PriceAdjustmentCard'], resolve) })
850
+ // 收费记录补差
851
+ Vue.component('price-adjustment-selling', (resolve) => { require(['./components/revenue/HandManager/PriceAdjustmentSelling'], resolve) })
850
852
 
851
853
  // 生成余量补差
852
854
  Vue.component('remain-adjustment', (resolve) => { require(['./components/revenue/HandManager/RemainAdjustment'], resolve) })