sale-client 3.6.58 → 3.6.60
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/build/dev-server.js +1 -1
- package/package.json +2 -2
- package/src/components/charge/business/OtherChargeNew.vue +25 -1
- package/src/components/revenue/comprehen/Bill/CustQueryEticket.vue +26 -46
- package/src/filiale/qianneng/eticket/EticketPrint.vue +2 -2
- package/src/filiale/shanxian/sale.js +1 -1
- package/src/filiale/shexian/revenue/newchangemeter/ChangeMeter.vue +13 -0
- package/src/filiale/shexian/revenue/newchangemeter/ResetMeter.vue +13 -0
- package/src/filiale/tongchuan/bill/EticketPrint.vue +1 -1
- package/src/filiale/wenxi/IOTRefund.vue +242 -0
- package/src/filiale/wenxi/UserDeviceInfoTest.vue +4 -3
- package/src/filiale/wenxi/UserPriceChangeManage.vue +662 -0
- package/src/filiale/wenxi/sale.js +4 -0
- package/src/main.js +2 -4
package/build/dev-server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
|
-
const [localUrl, serverRul] = ['
|
|
2
|
+
const [localUrl, serverRul] = ['https://qnjtkf.cn:8400/', 'https://qnjtkf.cn:8400/']
|
|
3
3
|
var merge = require('webpack-merge')
|
|
4
4
|
var baseConfig = require('./webpack.dev.conf')
|
|
5
5
|
var devConfig = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sale-client",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.60",
|
|
4
4
|
"description": "收费模块前台组件",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"yarn": "^1.22.10"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"address-client": "3.2.
|
|
30
|
+
"address-client": "3.2.56",
|
|
31
31
|
"axios": "0.15.3",
|
|
32
32
|
"babel-core": "^6.0.0",
|
|
33
33
|
"babel-loader": "^6.0.0",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div style="margin-top:10px;" v-for="(index, row) in model.otherdetail">
|
|
10
10
|
<div class="row">
|
|
11
11
|
<div class="col-sm-4" :class="{'has-success':row.f_brand_spec,'select-error':!row.f_brand_spec}">
|
|
12
|
-
<label for="f_brand_spec" class="font_normal_body " title="参数名称:品名及规格"
|
|
12
|
+
<label for="f_brand_spec" class="font_normal_body " title="参数名称:品名及规格">{{brandType}}</label>
|
|
13
13
|
<v-select id="f_brand_spec"
|
|
14
14
|
placeholder='请选择'
|
|
15
15
|
v-model="row.f_brand_spec"
|
|
@@ -175,6 +175,7 @@
|
|
|
175
175
|
</div>
|
|
176
176
|
</template>
|
|
177
177
|
<script>
|
|
178
|
+
import {HttpResetClass} from 'vue-client'
|
|
178
179
|
let otherChargeGen = async function (self, parameter) {
|
|
179
180
|
try {
|
|
180
181
|
// 加入扫码盒付款码支付流水号
|
|
@@ -275,6 +276,7 @@ let asyncOtherCharge = async function (self) {
|
|
|
275
276
|
self.model.f_use_type = self.config.billType
|
|
276
277
|
self.model.f_bill_type = self.model.f_print
|
|
277
278
|
self.hasValidateBill = self.config.hasBillManage
|
|
279
|
+
self.initSecuritypersons()
|
|
278
280
|
// self.setTypename(self.model.f_brand_spec[0])
|
|
279
281
|
}
|
|
280
282
|
export default {
|
|
@@ -327,6 +329,7 @@ export default {
|
|
|
327
329
|
typeNameList: [],
|
|
328
330
|
typenumberList: [],
|
|
329
331
|
brandspec: this.$appdata.getParam('品名及规格'),
|
|
332
|
+
brandType: this.$appdata.getSingleValue('其他收费类型') ? this.$appdata.getSingleValue('其他收费类型') : '收费类型',
|
|
330
333
|
printstyle: this.$appdata.getParam('打印格式'),
|
|
331
334
|
paytype: this.$appdata.getParam('付款方式'),
|
|
332
335
|
feetype: this.$appdata.getParam('其他费用'),
|
|
@@ -347,6 +350,27 @@ export default {
|
|
|
347
350
|
}
|
|
348
351
|
},
|
|
349
352
|
methods: {
|
|
353
|
+
// 初始化安检人
|
|
354
|
+
initSecuritypersons () {
|
|
355
|
+
let origin = this.$appdata.getSingleValue('服务人员来源')
|
|
356
|
+
if (origin) {
|
|
357
|
+
try {
|
|
358
|
+
this.services = []
|
|
359
|
+
let http = new HttpResetClass()
|
|
360
|
+
http.load('post', '/rs/search', {
|
|
361
|
+
source: `this.getParentByType($organization$).getChildByName($${origin}$).getUsers()`,
|
|
362
|
+
userid: this.$login.f.id
|
|
363
|
+
}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
364
|
+
console.log('获取安检人员', res.data)
|
|
365
|
+
for (let i = 0; i < res.data.length; i++) {
|
|
366
|
+
this.services.push({label: res.data[i].name, value: res.data[i].name})
|
|
367
|
+
}
|
|
368
|
+
})
|
|
369
|
+
} catch (e) {
|
|
370
|
+
console.log('获取安检人员失败')
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
},
|
|
350
374
|
setTypeprice (val) {
|
|
351
375
|
console.log("单价变化:",val)
|
|
352
376
|
if (this.model.otherdetail[val] && this.model.otherdetail[val].f_typenumber[0]) {
|
|
@@ -72,12 +72,9 @@
|
|
|
72
72
|
</div>
|
|
73
73
|
</div>
|
|
74
74
|
</criteria>
|
|
75
|
-
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
|
|
75
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :optional="true">
|
|
76
76
|
<template partial='head'>
|
|
77
77
|
<tr>
|
|
78
|
-
<th>
|
|
79
|
-
<input type="checkbox" @click="$parent.$parent.$parent.addOrRemove($parent.$parent.$parent.selectAll)" :checked="$parent.$parent.$parent.selectAll">
|
|
80
|
-
</th>
|
|
81
78
|
<th>序号</th>
|
|
82
79
|
<th>客户编号</th>
|
|
83
80
|
<th>用户姓名</th>
|
|
@@ -90,9 +87,6 @@
|
|
|
90
87
|
</tr>
|
|
91
88
|
</template>
|
|
92
89
|
<template partial='body' >
|
|
93
|
-
<td style="text-align:center">
|
|
94
|
-
<input type="checkbox" v-model="$parent.$parent.$parent.selecteds" :value="row">
|
|
95
|
-
</td>
|
|
96
90
|
<td style="text-align:center">{{$index+1}}</td>
|
|
97
91
|
<td style="text-align:center">{{row.f_userinfo_code}}</td>
|
|
98
92
|
<td style="text-align:center">{{row.f_user_name}}</td>
|
|
@@ -173,21 +167,20 @@
|
|
|
173
167
|
return {
|
|
174
168
|
criteriaShow: false,
|
|
175
169
|
f_filialeids: Vue.$login.f.orgids,
|
|
176
|
-
model: new PagedList('rs/sql/openSellelent', 50, {}
|
|
170
|
+
model: new PagedList('rs/sql/openSellelent', 50, {}),
|
|
177
171
|
f_outlets: Vue.$login.f.f_parentname,
|
|
178
172
|
f_filiale: Vue.$login.f.f_fengongsi,
|
|
179
173
|
f_operator: Vue.$login.f.name,
|
|
180
174
|
f_orgstr: Vue.$login.f.orgpathstr,
|
|
181
|
-
f_filialeids: Vue.$login.f.f_orgids,
|
|
182
175
|
invoice_is_pax: '征税',
|
|
183
176
|
is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
|
|
184
177
|
selecteds: [],
|
|
185
|
-
eticket_show:false,
|
|
178
|
+
eticket_show: false,
|
|
186
179
|
eticket_msg: false,
|
|
187
180
|
invoice_show_gas: '否',
|
|
188
181
|
show_gas: [{label: '是', value: '是'}, {label: '否', value: '否'}],
|
|
189
182
|
row: {},
|
|
190
|
-
disabled:false,
|
|
183
|
+
disabled: false,
|
|
191
184
|
mid: [{label: '全部', value: ''}, {label: '是', value: ' > 0 '}, {label: '否', value: ' is null'}]
|
|
192
185
|
}
|
|
193
186
|
},
|
|
@@ -196,20 +189,21 @@
|
|
|
196
189
|
this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
197
190
|
},
|
|
198
191
|
methods: {
|
|
199
|
-
closeEticket(){
|
|
200
|
-
this.eticket_msg=false
|
|
201
|
-
this.disabled=false
|
|
192
|
+
closeEticket () {
|
|
193
|
+
this.eticket_msg = false
|
|
194
|
+
this.disabled = false
|
|
202
195
|
},
|
|
203
196
|
getorg (val) {
|
|
204
197
|
this.f_orgid = this.$login.convertToIn(val)
|
|
205
198
|
this.f_filialeids = val[0]
|
|
206
199
|
},
|
|
207
|
-
cancel(){
|
|
208
|
-
this.show=false
|
|
209
|
-
this.info={}
|
|
200
|
+
cancel () {
|
|
201
|
+
this.show = false
|
|
202
|
+
this.info = {}
|
|
210
203
|
},
|
|
211
204
|
async open_eTicket () {
|
|
212
|
-
|
|
205
|
+
this.selecteds = this.$refs.paged.$refs.grid.getRowData()
|
|
206
|
+
if (this.selecteds.length > 1) {
|
|
213
207
|
this.$showAlert('选中条数大于一条,请重新修改!!', 'warning', 2000)
|
|
214
208
|
return
|
|
215
209
|
}
|
|
@@ -217,7 +211,7 @@
|
|
|
217
211
|
let row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
|
|
218
212
|
data: {
|
|
219
213
|
orderitem: 'f_userinfo_code',
|
|
220
|
-
condition: `f_userinfo_code = '${
|
|
214
|
+
condition: `f_userinfo_code = '${this.selecteds[0].f_userinfo_code}'`
|
|
221
215
|
}
|
|
222
216
|
}, {resolveMsg: null, rejectMsg: '获取地址失败!'})
|
|
223
217
|
this.row = row.data[0]
|
|
@@ -231,20 +225,20 @@
|
|
|
231
225
|
if (!this.row.f_address_phone) {
|
|
232
226
|
this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
|
|
233
227
|
}
|
|
234
|
-
if(this.selecteds.map(item => item.f_type).toString()=='其他收费'){
|
|
235
|
-
this.disabled=true
|
|
228
|
+
if (this.selecteds.map(item => item.f_type).toString() == '其他收费') {
|
|
229
|
+
this.disabled = true
|
|
236
230
|
}
|
|
237
231
|
|
|
238
232
|
this.eticket_msg = true
|
|
239
233
|
},
|
|
240
234
|
confirm () {
|
|
241
235
|
this.eticket_msg = false
|
|
242
|
-
this.disabled=false
|
|
236
|
+
this.disabled = false
|
|
243
237
|
this.eticket_show = true
|
|
244
|
-
if(this.selecteds.map(item => item.f_type).toString()=='其他收费'||this.selecteds.map(item => item.f_type).toString()=='卡表收费'||this.selecteds.map(item => item.f_type).toString()=='发卡售气'){
|
|
245
|
-
this.invoice_show_gas='是'
|
|
238
|
+
if (this.selecteds.map(item => item.f_type).toString() == '其他收费' || this.selecteds.map(item => item.f_type).toString() == '卡表收费' || this.selecteds.map(item => item.f_type).toString() == '发卡售气') {
|
|
239
|
+
this.invoice_show_gas = '是'
|
|
246
240
|
}
|
|
247
|
-
this.$refs.eticketbill.openETicket(this.selecteds.map(item => item.id), this.row,
|
|
241
|
+
this.$refs.eticketbill.openETicket(this.selecteds.map(item => item.id), this.row, this.selecteds[0].f_type)
|
|
248
242
|
},
|
|
249
243
|
eticket_toggle () {
|
|
250
244
|
this.eticket_show = false
|
|
@@ -254,37 +248,23 @@
|
|
|
254
248
|
if (!this.f_orgid) {
|
|
255
249
|
this.getorg([this.$login.f.orgid])
|
|
256
250
|
}
|
|
257
|
-
args.condition
|
|
251
|
+
args.condition = ` f_orgid='${this.f_filialeids}' and ${args.condition}`
|
|
258
252
|
|
|
259
253
|
await this.model.search(args.condition, this.model)
|
|
260
|
-
this.addOrRemove(true)
|
|
261
254
|
},
|
|
262
255
|
search () {
|
|
263
256
|
this.$refs.paged.$refs.cri.search()
|
|
264
257
|
this.$dispatch('refresh')
|
|
265
|
-
},
|
|
266
|
-
addOrRemove (is) {
|
|
267
|
-
this.selecteds = []
|
|
268
|
-
if (!is) { // 添加本页所有数据到ids中
|
|
269
|
-
this.model.rows.forEach((row) => {
|
|
270
|
-
this.selecteds.push(row)
|
|
271
|
-
})
|
|
272
|
-
this.selectAll = true
|
|
273
|
-
} else { // 从ids中取消所有的数据
|
|
274
|
-
this.selecteds = []
|
|
275
|
-
this.selectAll = false
|
|
276
|
-
}
|
|
277
|
-
console.log("selectdde",this.selecteds)
|
|
278
258
|
}
|
|
279
259
|
},
|
|
280
260
|
computed: {
|
|
281
|
-
chargetypes(){
|
|
282
|
-
return [{label: '全部', value: ''}
|
|
283
|
-
}
|
|
261
|
+
chargetypes () {
|
|
262
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费类型')]
|
|
263
|
+
}
|
|
284
264
|
},
|
|
285
|
-
watch:{
|
|
286
|
-
selecteds(){
|
|
287
|
-
console.log(
|
|
265
|
+
watch: {
|
|
266
|
+
selecteds () {
|
|
267
|
+
console.log('框框的长度', this.selecteds.length)
|
|
288
268
|
}
|
|
289
269
|
}
|
|
290
270
|
}
|
|
@@ -347,10 +347,10 @@ export default {
|
|
|
347
347
|
// TODO 查询失败后保存发票详情
|
|
348
348
|
await this.save_msg({
|
|
349
349
|
f_eticket_id: ticket_id,
|
|
350
|
-
f_sign_result: result.
|
|
350
|
+
f_sign_result: result.msg,
|
|
351
351
|
f_bill_state: '开票失败'
|
|
352
352
|
})
|
|
353
|
-
this.return_msg = '电子票开票出错,错误【' + result.
|
|
353
|
+
this.return_msg = '电子票开票出错,错误【' + result.msg + '】,请前往发票管理重新尝试'
|
|
354
354
|
} else {
|
|
355
355
|
await this.save_msg({
|
|
356
356
|
f_eticket_id: ticket_id,
|
|
@@ -42,7 +42,7 @@ export default function () {
|
|
|
42
42
|
// 卡表收费
|
|
43
43
|
Vue.component('card-meter-center', (resolve) => { require(['./components/revenue/CardMeterCenter'], resolve) })
|
|
44
44
|
// 收费(综合)-其他收费xin
|
|
45
|
-
Vue.component('other-charge-new', (resolve) => { require(['./OtherChargeNew'], resolve) })
|
|
45
|
+
// Vue.component('other-charge-new', (resolve) => { require(['./OtherChargeNew'], resolve) })
|
|
46
46
|
// 收费(综合)-换表
|
|
47
47
|
Vue.component('change-meter', (resolve) => { require(['./ChangeMeter'], resolve) })
|
|
48
48
|
// 清零
|
|
@@ -636,6 +636,19 @@ export default {
|
|
|
636
636
|
)
|
|
637
637
|
},
|
|
638
638
|
async apply () {
|
|
639
|
+
let data = {
|
|
640
|
+
items: 'id',
|
|
641
|
+
condition: `f_blobid = '${this.row.f_userinfo_id}' and f_uploaddate > '${this.$login.toStandardDateString()} 00:00:00'`,
|
|
642
|
+
tablename: '"t_files"',
|
|
643
|
+
orderitem: '"id"'
|
|
644
|
+
}
|
|
645
|
+
let http = new HttpResetClass()
|
|
646
|
+
let res = await http.load('POST', 'rs/sql/saleSingleTable', {data: data},
|
|
647
|
+
{resolveMsg: null, rejectMsg: '获取文件失败!!'})
|
|
648
|
+
if (!res.data.length > 0) {
|
|
649
|
+
this.$showAlert('请上传文件后再进行换标审批!!!', 'warning', 3000)
|
|
650
|
+
return
|
|
651
|
+
}
|
|
639
652
|
this.addTaskModel.f_task_name = `用户:${this.row.f_user_name},编号:${this.row.f_userinfo_code} 申请换表`
|
|
640
653
|
this.addTaskModel.f_userinfo_code = this.row.f_userinfo_code
|
|
641
654
|
this.addTaskModel.f_memorandum = this.model.f_difference_reason
|
|
@@ -590,6 +590,19 @@ export default {
|
|
|
590
590
|
)
|
|
591
591
|
},
|
|
592
592
|
async apply () {
|
|
593
|
+
let data = {
|
|
594
|
+
items: 'id',
|
|
595
|
+
condition: `f_blobid = '${this.row.f_userinfo_id}' and f_uploaddate > '${this.$login.toStandardDateString()} 00:00:00'`,
|
|
596
|
+
tablename: '"t_files"',
|
|
597
|
+
orderitem: '"id"'
|
|
598
|
+
}
|
|
599
|
+
let http = new HttpResetClass()
|
|
600
|
+
let res = await http.load('POST', 'rs/sql/saleSingleTable', {data: data},
|
|
601
|
+
{resolveMsg: null, rejectMsg: '获取文件失败!!'})
|
|
602
|
+
if (!res.data.length > 0) {
|
|
603
|
+
this.$showAlert('请上传文件后再进行清零审批!!!', 'warning', 3000)
|
|
604
|
+
return
|
|
605
|
+
}
|
|
593
606
|
this.addTaskModel.f_task_name = `用户:${this.row.f_user_name},编号:${this.row.f_userinfo_code} 申请清零`
|
|
594
607
|
this.addTaskModel.f_userinfo_code = this.row.f_userinfo_code
|
|
595
608
|
this.addTaskModel.f_memorandum = this.model.f_difference_reason
|
|
@@ -54,7 +54,7 @@ export default {
|
|
|
54
54
|
}
|
|
55
55
|
await this.$resetpost('rs/entity/t_eticket', model, {resolveMsg: null, rejectMsg: '保存发票记录失败'})
|
|
56
56
|
},
|
|
57
|
-
async openETicket (sellId, row, show_gas, is_pax
|
|
57
|
+
async openETicket (sellId, row,type, show_gas ='是', is_pax ='征税') {
|
|
58
58
|
try {
|
|
59
59
|
let model = {
|
|
60
60
|
id: sellId,
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<validator name='v'>
|
|
4
|
+
<form novalidate class="form-horizontal">
|
|
5
|
+
<div class="row">
|
|
6
|
+
<div class="col-sm-4 form-group" :class="[$v.payment.required ? 'select-error' : '']">
|
|
7
|
+
<label class="font_normal_body" title="参数名称:付款方式">收款方式</label>
|
|
8
|
+
<input type="text" v-show="false" v-model="$refs.payment.selectedItems" v-validate:payment='{required: true }'>
|
|
9
|
+
<v-select v-model="f_payment"
|
|
10
|
+
placeholder='请选择'
|
|
11
|
+
style="width:60%"
|
|
12
|
+
:value.sync="model.f_payment"
|
|
13
|
+
:options='paytype'
|
|
14
|
+
v-ref:payment
|
|
15
|
+
close-on-select clear-button></v-select>
|
|
16
|
+
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-4 form-group">
|
|
19
|
+
<label for="f_print" class="font_normal_body">打印格式</label>
|
|
20
|
+
|
|
21
|
+
<v-select id="print"
|
|
22
|
+
v-model="f_print"
|
|
23
|
+
style="width:60%"
|
|
24
|
+
placeholder='请选择'
|
|
25
|
+
:value.sync="model.f_print"
|
|
26
|
+
:options='printstyle'
|
|
27
|
+
close-on-select clear-button>
|
|
28
|
+
</v-select>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="col-sm-4 form-group" v-if="data.f_collection_type === '按气量'">
|
|
31
|
+
<label class="font_normal_body">剩余气量</label>
|
|
32
|
+
<input class="input_search" style="width:60%" type="number" v-model="data.f_balance_gas" readonly>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-sm-4 form-group" v-if="data.f_collection_type === '按气量'">
|
|
35
|
+
<label class="font_normal_body">核算单价</label>
|
|
36
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_price" >
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-sm-4 form-group" v-if="data.f_collection_type === '按金额'">
|
|
39
|
+
<label class="font_normal_body">剩余金额</label>
|
|
40
|
+
<input class="input_search" style="width:60%" type="number" v-model="data.f_balance_amount" readonly>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="col-sm-4 form-group" v-if="config.overBalance && data.f_collection_type === '按气量'"
|
|
43
|
+
:class="[$v.f_refund_gas.required || $v.f_refund_gas.dctest ? 'has-error' : 'has-success']">
|
|
44
|
+
<label class="font_normal_body">冲减气量</label>
|
|
45
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_refund_gas"
|
|
46
|
+
v-validate:f_refund_gas='{required: true, dctest: [0, ">=" ]}' placeholder="冲减气量" >
|
|
47
|
+
</div>
|
|
48
|
+
<div class="col-sm-4 form-group" v-if="!config.overBalance && data.f_collection_type === '按气量'"
|
|
49
|
+
:class="[$v.f_refund_gas.required || $v.f_refund_gas.dctest ? 'has-error' : 'has-success']">
|
|
50
|
+
<label class="font_normal_body">冲减气量</label>
|
|
51
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_refund_gas"
|
|
52
|
+
v-validate:f_refund_gas='{required: true, dctest: [data.f_balance_gas, "<=" ]}' placeholder="冲减气量" >
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<div class="row">
|
|
57
|
+
|
|
58
|
+
<div class="col-sm-8">
|
|
59
|
+
<label for="f_paper_account" class="font_normal_body "> 备注 </label>
|
|
60
|
+
<input class="input_search" style="width:80%" v-model="model.f_comments">
|
|
61
|
+
</div>
|
|
62
|
+
<div class="col-sm-4 form-group" v-if="data.f_collection_type === '按气量'">
|
|
63
|
+
<label class="font_normal_body">退费金额</label>
|
|
64
|
+
<input class="input_search" style="width:60%"
|
|
65
|
+
type="number" v-model="model.f_refund_fee"
|
|
66
|
+
placeholder="退费金额">
|
|
67
|
+
</div>
|
|
68
|
+
<div class="col-sm-4 form-group" v-if="!config.overBalance && data.f_collection_type === '按金额'"
|
|
69
|
+
:class="[$v.f_refund_fee.required || $v.f_refund_fee.dctest ? 'has-error' : 'has-success']">
|
|
70
|
+
<label class="font_normal_body">退费金额</label>
|
|
71
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_refund_fee"
|
|
72
|
+
v-validate:f_refund_fee='{required: true, dctest: [data.f_balance_amount, "<=" ]}' placeholder="退费金额">
|
|
73
|
+
</div>
|
|
74
|
+
<div class="col-sm-4 form-group" v-if="config.overBalance && data.f_collection_type === '按金额'"
|
|
75
|
+
:class="[$v.f_refund_fee.required || $v.f_refund_fee.dctest ? 'has-error' : 'has-success']">
|
|
76
|
+
<label class="font_normal_body">退费金额</label>
|
|
77
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_refund_fee"
|
|
78
|
+
v-validate:f_refund_fee='{required: true, dctest: [0, ">=" ]}' placeholder="退费金额">
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</form>
|
|
82
|
+
<div style="text-align:right;">
|
|
83
|
+
<button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid||!check'>确认</button>
|
|
84
|
+
<button class="button_clear btn-gn" @click="clean()">取消</button>
|
|
85
|
+
</div>
|
|
86
|
+
</validator>
|
|
87
|
+
<validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
|
|
88
|
+
<!--<print-bill :show="print" :bill-manager='config.hasBillManage' v-ref:printbill :bill-url='billUrl' v-on:toggle="clean" @printok="printok" :data='printModel'></print-bill>-->
|
|
89
|
+
<print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="clean" @printok="printok" :data='printModel' v-ref:printbill></print-bill>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<upload :blodid="data.f_userinfo_id" isremark="true" fusetype="退费管理"></upload>
|
|
93
|
+
</template>
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<script>
|
|
97
|
+
let readyGen = async function (self) {
|
|
98
|
+
await self.$getConfig(self, 'IOTRefund')
|
|
99
|
+
// 默认打印格式
|
|
100
|
+
self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
|
|
101
|
+
self.model.f_payment = [self.config.payment]
|
|
102
|
+
|
|
103
|
+
self.model.f_use_type = self.config.billType
|
|
104
|
+
self.model.f_bill_type = self.model.f_print
|
|
105
|
+
self.hasValidateBill = self.config.hasBillManage
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export default {
|
|
109
|
+
title: '物联网表退费',
|
|
110
|
+
data () {
|
|
111
|
+
return {
|
|
112
|
+
config: {
|
|
113
|
+
showupload: false, // 默认不上传附件
|
|
114
|
+
hasPrint: false, // 默认打票
|
|
115
|
+
hasBillManage: false, // 默认不启用发票管理
|
|
116
|
+
overBalance: false, //为true时退费金额可以大于余额
|
|
117
|
+
printType: '普通收据', // 收据/电子票/专用发票/国税发票
|
|
118
|
+
payment: '现金缴费',
|
|
119
|
+
billType: '燃气费'
|
|
120
|
+
},
|
|
121
|
+
model: {
|
|
122
|
+
f_refund_fee: '',
|
|
123
|
+
f_refund_gas: '',
|
|
124
|
+
f_comments: '',
|
|
125
|
+
f_payment: '',
|
|
126
|
+
f_print: '',
|
|
127
|
+
f_price: 0
|
|
128
|
+
},
|
|
129
|
+
check:true,
|
|
130
|
+
blodid: '',
|
|
131
|
+
hasValidateBill: false,
|
|
132
|
+
validateOk: false,
|
|
133
|
+
|
|
134
|
+
printModel: {},
|
|
135
|
+
print: false,
|
|
136
|
+
billUrl: '',
|
|
137
|
+
billData: {
|
|
138
|
+
url: 'rs/report/refund_sell',
|
|
139
|
+
bill: ''
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
// 下拉框值
|
|
143
|
+
paytype: this.$appdata.getParam('付款方式'),
|
|
144
|
+
printstyle: this.$appdata.getParam('打印格式')
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
props: ['data'],
|
|
148
|
+
ready () {
|
|
149
|
+
readyGen(this)
|
|
150
|
+
if (this.data.f_collection_type === '按气量') {
|
|
151
|
+
// this.$showAlert('按气量缴费的物联网表退费功能尚未开放!!', 'warning', 3000)
|
|
152
|
+
this.model.f_price = this.data.f_price
|
|
153
|
+
|
|
154
|
+
// this.$dispatch('refresh')
|
|
155
|
+
}
|
|
156
|
+
console.log(123)
|
|
157
|
+
if(this.data.f_calculation!=='系统结算'){
|
|
158
|
+
this.check = false
|
|
159
|
+
this.$showAlert('表端计费表不支持扣费!!', 'warning', 3000)
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
methods: {
|
|
163
|
+
async confirm () {
|
|
164
|
+
let param = {
|
|
165
|
+
f_user_id: this.data.f_user_id,
|
|
166
|
+
f_userfiles_id: this.data.f_userfiles_id,
|
|
167
|
+
version: this.data.version,
|
|
168
|
+
f_price: this.model.f_price,
|
|
169
|
+
f_refund_gas: this.model.f_refund_gas,
|
|
170
|
+
f_refund_fee: this.model.f_refund_fee,
|
|
171
|
+
f_comments: this.model.f_comments,
|
|
172
|
+
f_collection_type: this.data.f_collection_type,
|
|
173
|
+
f_payment: this.model.f_payment[0],
|
|
174
|
+
f_print: this.model.f_print[0],
|
|
175
|
+
f_price_id: this.data.f_price_id,
|
|
176
|
+
f_total_gas: parseFloat(this.data.f_total_gas) - parseFloat(this.model.f_refund_gas),
|
|
177
|
+
f_total_fee: parseFloat(this.data.f_total_fee) - parseFloat(this.model.f_refund_fee),
|
|
178
|
+
f_stairprice_id: this.data.f_stairprice_id,
|
|
179
|
+
operInfo: {
|
|
180
|
+
f_operator: this.$login.f.name,
|
|
181
|
+
f_operatorid: this.$login.f.id,
|
|
182
|
+
f_orgid: this.$login.f.orgid,
|
|
183
|
+
f_orgname: this.$login.f.orgs,
|
|
184
|
+
f_depid: this.$login.f.depids,
|
|
185
|
+
f_depname: this.$login.f.deps
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
console.log('退费传参', param)
|
|
189
|
+
let res = await this.$resetpost('rs/logic/iotRefund', {data: param}, {warnMsg: `确定要对用户${this.data.f_user_name}进行退费吗?`, resolveMsg: '退费成功!!', rejectMsg: '退费失败!!请重试!!'})
|
|
190
|
+
console.log('退费', res)
|
|
191
|
+
console.log('退费this.config', this.config)
|
|
192
|
+
console.log('退费this.model', this.model)
|
|
193
|
+
if (this.config.hasPrint) {
|
|
194
|
+
if (this.model.f_print.indexOf('电子发票') == -1) {
|
|
195
|
+
console.log('this.config.hasBillManage', this.config.hasBillManage)
|
|
196
|
+
if (this.config.hasBillManage) {
|
|
197
|
+
// 启用发票管理,获取票据管理中的票号并存储记录
|
|
198
|
+
this.printModel.id = res.data.id
|
|
199
|
+
this.printModel.f_bill_type = '退费'
|
|
200
|
+
this.printModel.f_bill_style = this.model.f_print[0]
|
|
201
|
+
// this.billUrl = 'rs/report/refund_sell'
|
|
202
|
+
this.print = true
|
|
203
|
+
} else {
|
|
204
|
+
this.printModel.id = res.data.id
|
|
205
|
+
// this.billUrl = 'rs/report/refund_sell'
|
|
206
|
+
this.print = true
|
|
207
|
+
}
|
|
208
|
+
} else if (this.config.printType === '国税发票') {
|
|
209
|
+
// TODO
|
|
210
|
+
this.$dispatch('success')
|
|
211
|
+
} else if (this.config.printType === '电子发票') {
|
|
212
|
+
// TODO
|
|
213
|
+
this.$dispatch('success')
|
|
214
|
+
}
|
|
215
|
+
}else{
|
|
216
|
+
this.$dispatch('success')
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
refundChange () {
|
|
220
|
+
this.model.f_refund_fee = (this.model.f_refund_gas - 0) * (this.model.f_price - 0)
|
|
221
|
+
},
|
|
222
|
+
clean () {
|
|
223
|
+
this.$dispatch('refresh')
|
|
224
|
+
},
|
|
225
|
+
printok () {
|
|
226
|
+
this.$dispatch('success')
|
|
227
|
+
},
|
|
228
|
+
validateBill (val) {
|
|
229
|
+
this.validateOk = !val.isOk
|
|
230
|
+
this.billData.bill = val.bill
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
watch:{
|
|
234
|
+
'model.f_price'(){
|
|
235
|
+
this.model.f_refund_fee = (this.model.f_refund_gas - 0) * (this.model.f_price - 0)
|
|
236
|
+
},
|
|
237
|
+
'model.f_refund_gas'(){
|
|
238
|
+
this.model.f_refund_fee = (this.model.f_refund_gas - 0) * (this.model.f_price - 0)
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
</script>
|
|
@@ -269,7 +269,7 @@ export default {
|
|
|
269
269
|
builders: this.$appdata.getParam('施工单位'),
|
|
270
270
|
is_zibifa: this.$appdata.getParam('有无自闭阀'),
|
|
271
271
|
f_make_date: '',
|
|
272
|
-
f_expire_date:
|
|
272
|
+
f_expire_date: null,
|
|
273
273
|
f_service_life: 0,
|
|
274
274
|
devicesinfoShow: true
|
|
275
275
|
}
|
|
@@ -307,8 +307,9 @@ export default {
|
|
|
307
307
|
console.log('表具信息', this.devicesinfo)
|
|
308
308
|
},
|
|
309
309
|
expireDate (index) {
|
|
310
|
-
|
|
311
|
-
|
|
310
|
+
console.log(this.devicesinfo[index].f_make_date)
|
|
311
|
+
if (!this.devicesinfo[index].f_make_date || this.devicesinfo[index].f_service_life === 0 || this.devicesinfo[index].f_service_life === undefined) {
|
|
312
|
+
this.devicesinfo[index].f_expire_date = null
|
|
312
313
|
} else {
|
|
313
314
|
var b = new Date(this.devicesinfo[index].f_make_date)
|
|
314
315
|
var year = (b.getFullYear() - 0) + (this.devicesinfo[index].f_service_life - 0)
|
|
@@ -0,0 +1,662 @@
|
|
|
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 = '{}'" 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">表  号</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">卡  号</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"
|
|
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"
|
|
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"> 单价 </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>×</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
|
+
filter: this.f_filialeid
|
|
426
|
+
}
|
|
427
|
+
rs = this.$GetSaleParam.getPriceAll(params)
|
|
428
|
+
}
|
|
429
|
+
if (rs.length === 0) {
|
|
430
|
+
this.newinfo.f_price_name = ''
|
|
431
|
+
}
|
|
432
|
+
return rs
|
|
433
|
+
},
|
|
434
|
+
priceChange (val) {
|
|
435
|
+
if (val && val.length > 0) {
|
|
436
|
+
// 展示气价备注
|
|
437
|
+
this.$set('newinfo.f_price_comments', val[0].f_comments ? val[0].f_comments : '无')
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
close () {
|
|
441
|
+
this.showPerformDate = false
|
|
442
|
+
this.show = false
|
|
443
|
+
this.row = null
|
|
444
|
+
this.newinfo = {
|
|
445
|
+
f_user_type: '',
|
|
446
|
+
f_gasproperties: '',
|
|
447
|
+
pricetype: '',
|
|
448
|
+
pricename: ''
|
|
449
|
+
}
|
|
450
|
+
},
|
|
451
|
+
async modifyUser () {
|
|
452
|
+
if (this.model.type === '系统气价') {
|
|
453
|
+
let param = {
|
|
454
|
+
f_userinfo_id: this.row.f_userinfo_id,
|
|
455
|
+
f_userfiles_id: this.row.f_userfiles_id,
|
|
456
|
+
f_user_id: this.row.f_user_id,
|
|
457
|
+
f_user_name: this.row.f_user_name,
|
|
458
|
+
f_user_type: this.newinfo.f_user_type[0],
|
|
459
|
+
f_gasproperties: this.newinfo.f_gasproperties[0],
|
|
460
|
+
f_price_type: this.newinfo.pricetype[0],
|
|
461
|
+
f_price_id: this.newinfo.pricename[0].f_price_id,
|
|
462
|
+
f_filialeid: this.f_filialeid,
|
|
463
|
+
f_operator: this.$login.f.name,
|
|
464
|
+
f_operatorid: this.$login.f.id,
|
|
465
|
+
f_orgid: this.$login.f.orgid,
|
|
466
|
+
f_orgname: this.$login.f.orgs,
|
|
467
|
+
f_depid: this.$login.f.depids,
|
|
468
|
+
f_depname: this.$login.f.deps,
|
|
469
|
+
f_perform_date: this.row.f_perform_date,
|
|
470
|
+
f_change_reason: ''
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
await this.$resetpost('rs/logic/user_pricechange', {data: param}, {resolveMsg: '更新成功', rejectMsg: '更新失败'})
|
|
474
|
+
|
|
475
|
+
this.criteriaShow = false
|
|
476
|
+
this.close()
|
|
477
|
+
this.search()
|
|
478
|
+
} else if (this.model.type === '自定义气价') {
|
|
479
|
+
let data = {
|
|
480
|
+
f_userinfo_id: this.row.f_userinfo_id,
|
|
481
|
+
f_userfiles_id: this.row.f_userfiles_id,
|
|
482
|
+
f_user_id: this.row.f_user_id,
|
|
483
|
+
f_user_name: this.row.f_user_name,
|
|
484
|
+
f_price_type: this.newinfo.f_price_type,
|
|
485
|
+
f_price_name: this.newinfo.f_price_name,
|
|
486
|
+
f_user_type: this.row.f_user_type,
|
|
487
|
+
f_gasproperties: this.row.f_gasproperties,
|
|
488
|
+
f_perform_date: '2021-01-01 00:00:00',
|
|
489
|
+
f_perform_date_change: this.row.f_perform_date,
|
|
490
|
+
f_end_date: '2099-12-31 23:59:59',
|
|
491
|
+
f_islow_income: 0,
|
|
492
|
+
f_limit_cycle: 0,
|
|
493
|
+
f_limit_gas: 0,
|
|
494
|
+
f_stairmonths: null,
|
|
495
|
+
f_population_base: null,
|
|
496
|
+
f_stair_start_date: null,
|
|
497
|
+
f_isheat: 0,
|
|
498
|
+
f_deduction_way: 'cycle',
|
|
499
|
+
f_heat_start_date: null,
|
|
500
|
+
f_heat_cycle: null,
|
|
501
|
+
f_priority: 100,
|
|
502
|
+
f_comments: '',
|
|
503
|
+
f_state: '有效',
|
|
504
|
+
f_filialeid: this.f_filialeid,
|
|
505
|
+
f_operator: this.$login.f.name,
|
|
506
|
+
f_operatorid: this.$login.f.id,
|
|
507
|
+
f_orgid: this.$login.f.orgid,
|
|
508
|
+
f_orgname: this.$login.f.orgs,
|
|
509
|
+
f_depid: this.$login.f.depids,
|
|
510
|
+
f_depname: this.$login.f.deps,
|
|
511
|
+
userid: this.$login.f.id,
|
|
512
|
+
audit: false,
|
|
513
|
+
type: '添加',
|
|
514
|
+
detailprice: this.detailprice,
|
|
515
|
+
f_custom: '自定义气价'
|
|
516
|
+
}
|
|
517
|
+
if (this.newinfo.f_price_type === '阶梯气价') {
|
|
518
|
+
data.f_stairmonths = this.newinfo.f_stairmonths
|
|
519
|
+
data.f_population_base = 0
|
|
520
|
+
data.f_stair_start_date = this.newinfo.f_stair_start_date
|
|
521
|
+
}
|
|
522
|
+
if (data.f_price_type === '固定气价') {
|
|
523
|
+
if (data.detailprice[0].id) {
|
|
524
|
+
delete data.detailprice[0].id
|
|
525
|
+
}
|
|
526
|
+
data.detailprice[0].f_price_name = 1
|
|
527
|
+
} else if (data.f_price_type === '阶梯气价') {
|
|
528
|
+
data.detailprice.forEach((item, index) => {
|
|
529
|
+
data.detailprice[index].f_price_name = index + 1
|
|
530
|
+
if (data.detailprice[index].id) {
|
|
531
|
+
if (delete data.detailprice[index].id) {
|
|
532
|
+
delete data.detailprice[index].id
|
|
533
|
+
}
|
|
534
|
+
} else if (data.detailprice[index].f_ratio) {
|
|
535
|
+
data.detailprice[index].f_ratio = null
|
|
536
|
+
} else if (!data.detailprice[index].f_add_gas) {
|
|
537
|
+
data.detailprice[index].f_add_gas = 0
|
|
538
|
+
} else if (!data.detailprice[index].f_add_gas_heat) {
|
|
539
|
+
data.detailprice[index].f_add_gas_heat = 0
|
|
540
|
+
}
|
|
541
|
+
})
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
this.$resetpost('rs/logic/customprice', {data: data}, {resolveMsg: '更新成功', rejectMsg: '更新失败'})
|
|
545
|
+
|
|
546
|
+
this.criteriaShow = false
|
|
547
|
+
this.close()
|
|
548
|
+
this.search()
|
|
549
|
+
}
|
|
550
|
+
},
|
|
551
|
+
clean () {
|
|
552
|
+
this.row = null
|
|
553
|
+
this.areainfo = null
|
|
554
|
+
this.$refs.paged.$refs.grid.select(null)
|
|
555
|
+
this.$refs.paged.$refs.grid.model.rows = this.rows
|
|
556
|
+
},
|
|
557
|
+
|
|
558
|
+
selfSearch (args) {
|
|
559
|
+
console.log('开始查询档案', this.f_filialeid)
|
|
560
|
+
if (this.f_filialeid && this.f_filialeid !== '') {
|
|
561
|
+
args.condition = `${args.condition} and f_filialeid = '${this.f_filialeid}'`
|
|
562
|
+
} else {
|
|
563
|
+
args.condition = `${args.condition} and f_filialeid = '${this.$login.f.orgid}'`
|
|
564
|
+
}
|
|
565
|
+
this.criteriaShow = false
|
|
566
|
+
this.$refs.paged.$refs.grid.$el.scrollTop = 0
|
|
567
|
+
this.model.search(args.condition, args.model)
|
|
568
|
+
this.clean()
|
|
569
|
+
},
|
|
570
|
+
sort (field, rule) {
|
|
571
|
+
// 将所有排序方式设为不排序,实现相互排斥
|
|
572
|
+
for (let key in this.orderFields) {
|
|
573
|
+
if (key === field) {
|
|
574
|
+
this.orderFields[key] = rule
|
|
575
|
+
} else {
|
|
576
|
+
this.orderFields[key] = 'no'
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
// 如果新规则不排序,还原为默认排序
|
|
580
|
+
if (rule === 'no') {
|
|
581
|
+
this.model.paramSource.orderitem = `'${this.orderDefault}'`
|
|
582
|
+
} else {
|
|
583
|
+
this.model.paramSource.orderitem = `'${field} ${rule}'`
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
this.search()
|
|
587
|
+
},
|
|
588
|
+
|
|
589
|
+
clear () {
|
|
590
|
+
Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
|
|
591
|
+
this.$refs.paged.$refs.criteria.model[key] = []
|
|
592
|
+
})
|
|
593
|
+
},
|
|
594
|
+
getorg (val) {
|
|
595
|
+
this.f_filialeid = val[0]
|
|
596
|
+
}
|
|
597
|
+
},
|
|
598
|
+
ready () {
|
|
599
|
+
// this.search()
|
|
600
|
+
},
|
|
601
|
+
watch: {
|
|
602
|
+
// 每次查询将查询到的数据存储起来,供选择操作后的替换
|
|
603
|
+
'model.state' (val) {
|
|
604
|
+
if (val === '正确') {
|
|
605
|
+
this.rows = this.model.rows
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
'newinfo.f_price_type' (val) {
|
|
609
|
+
if (val === '固定气价') {
|
|
610
|
+
this.detailprice = []
|
|
611
|
+
} else if (val === '阶梯气价') {
|
|
612
|
+
this.detailprice = [{f_gas: '', f_price: '', f_add_gas: 0, f_add_gas_heat: 0}]
|
|
613
|
+
}
|
|
614
|
+
},
|
|
615
|
+
'show' (val) {
|
|
616
|
+
if (!val) {
|
|
617
|
+
this.newinfo = {
|
|
618
|
+
f_user_type: '',
|
|
619
|
+
f_gasproperties: '',
|
|
620
|
+
pricetype: '',
|
|
621
|
+
pricename: ''
|
|
622
|
+
}
|
|
623
|
+
this.row = null
|
|
624
|
+
} else {
|
|
625
|
+
this.newinfo = {
|
|
626
|
+
f_user_type: [this.row.f_user_type],
|
|
627
|
+
f_gasproperties: [this.row.f_gasproperties],
|
|
628
|
+
pricetype: [this.row.f_price_type],
|
|
629
|
+
pricename: ''
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
'f_filialeid' (val) {
|
|
634
|
+
loadParamGem(this)
|
|
635
|
+
},
|
|
636
|
+
async 'newinfo.pricename' () {
|
|
637
|
+
if (this.newinfo.pricename == null || !(this.newinfo.pricename instanceof Array) || this.newinfo.pricename.length == 0) return
|
|
638
|
+
let qij = await this.$resetpost('rs/sql/saleSingleTable', {
|
|
639
|
+
data: {
|
|
640
|
+
tablename: 't_stairprice',
|
|
641
|
+
condition: ` f_price_id = ${this.newinfo.pricename[0].f_price_id} and getDate()>= f_perform_date and getDate()<f_end_date `
|
|
642
|
+
}
|
|
643
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
644
|
+
if (qij.data && qij.data.length > 0) {
|
|
645
|
+
this.preformdate = qij.data[0].f_perform_date
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
</script>
|
|
651
|
+
<style scoped>
|
|
652
|
+
|
|
653
|
+
.datapanel {
|
|
654
|
+
color: #333;
|
|
655
|
+
background-color: white;
|
|
656
|
+
box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
|
|
657
|
+
padding: 10px 30px 10px 30px;
|
|
658
|
+
height: auto;
|
|
659
|
+
border-radius:15px;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
</style>
|
|
@@ -4,6 +4,8 @@ import Vue from 'vue'
|
|
|
4
4
|
export default function () {
|
|
5
5
|
// 卡表抄表
|
|
6
6
|
Vue.component('cards-hand', (resolve) => { require(['./cardsHand'], resolve) })
|
|
7
|
+
// 单户调价
|
|
8
|
+
Vue.component('user-pricechange-manage', (resolve) => { require(['./UserPriceChangeManage'], resolve) })
|
|
7
9
|
// 表具停用
|
|
8
10
|
Vue.component('disable-manage', (resolve) => { require(['./DisableManage'], resolve) })
|
|
9
11
|
Vue.component('iot-meter-center', (resolve) => { require(['./IOTMeterCenter'], resolve) })
|
|
@@ -41,4 +43,6 @@ export default function () {
|
|
|
41
43
|
Vue.component('transfer-manage', (resolve) => { require(['./TransferManage'], resolve) })
|
|
42
44
|
// 使用该气价的用户信息
|
|
43
45
|
Vue.component('gasprice-user', (resolve) => { require(['./GasPriceUser'], resolve) })
|
|
46
|
+
// 使用该气价的用户信息
|
|
47
|
+
Vue.component('iot-refund', (resolve) => { require(['./IOTRefund'], resolve) })
|
|
44
48
|
}
|
package/src/main.js
CHANGED
|
@@ -3,8 +3,7 @@ import all from 'vue-client/src/all'
|
|
|
3
3
|
import App from './App'
|
|
4
4
|
import system from 'system-clients/src/system'
|
|
5
5
|
import sale from './sale'
|
|
6
|
-
import
|
|
7
|
-
// import FilialeSale from './filiale/yuansheng/sale'
|
|
6
|
+
import FilialeSale from './filiale/qianneng/sale'
|
|
8
7
|
import address from 'address-client/src/address'
|
|
9
8
|
import ldap from 'ldap-clients/src/ldap'
|
|
10
9
|
import VueClipboard from 'vue-clipboard2'
|
|
@@ -15,8 +14,7 @@ Vue.config.silent = true
|
|
|
15
14
|
all()
|
|
16
15
|
system(false)
|
|
17
16
|
sale()
|
|
18
|
-
|
|
19
|
-
// FilialeSale()
|
|
17
|
+
FilialeSale()
|
|
20
18
|
address()
|
|
21
19
|
ldap()
|
|
22
20
|
require('system-clients/src/styles/less/bootstrap.less')
|