sale-client 4.3.43 → 4.3.44
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 +1 -1
- package/src/filiale/hongYa/components/charge/business/machine/MachineCharge.vue +179 -0
- package/src/filiale/hongYa/components/charge/{machine → business/machine}/OweDetailList.vue +6 -6
- package/src/filiale/hongYa/components/charge/{machine → business/machine}/OweList.vue +4 -4
- package/src/filiale/hongYa/components/charge/business/machine/WorkBusySmall.vue +127 -0
- package/src/filiale/hongYa/sale.js +2 -0
package/build/dev-server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
2
|
var checkVersion = require('./versionCheck.js')
|
|
3
3
|
checkVersion()
|
|
4
|
-
const [ serverRul, localUrl ] = ['http://
|
|
4
|
+
const [ serverRul, localUrl ] = ['http://192.168.50.67:31567/', 'http://192.168.50.67:31567/']
|
|
5
5
|
var merge = require('webpack-merge')
|
|
6
6
|
var baseConfig = require('./webpack.dev.conf')
|
|
7
7
|
var devConfig = {
|
package/package.json
CHANGED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex" style="overflow-y: auto!important;">
|
|
3
|
+
<div class="auto" style="height: 50%; overflow: auto">
|
|
4
|
+
<div v-for="owe of list" >
|
|
5
|
+
<owe-list :row='owe' :floor="config.floor" :charge="config.charge" @refresh-center="refreshCenter"></owe-list>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="span" v-if="chargeView">
|
|
9
|
+
<p v-if="row.f_totalsplit_type === '总表'"><strong>分表承担总量 (单位: 方): {{splitAllgas}}</strong></p>
|
|
10
|
+
<machine-meter-center :data='model' :owelist="list[0].rows" :charge="config.charge" :row='row' :floor="config.floor" :ceil="config.ceil" v-ref:mainche></machine-meter-center>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="span" v-if="!chargeView">
|
|
13
|
+
<work-busy-small :is-busy="!chargeView"></work-busy-small>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<upload :blodid="blodid" v-if="config.showupload" isremark="true" fusetype="机表收费"></upload>
|
|
17
|
+
</template>
|
|
18
|
+
<script>
|
|
19
|
+
import OweList from './OweList'
|
|
20
|
+
import WorkBusySmall from './WorkBusySmall'
|
|
21
|
+
import {HttpResetClass} from 'vue-client'
|
|
22
|
+
|
|
23
|
+
let loadGen = async function (self) {
|
|
24
|
+
await self.$getConfig(self, 'MachineCharge')
|
|
25
|
+
let http = new HttpResetClass()
|
|
26
|
+
let res = await http.load('POST', 'api/af-revenue/logic/sale_getOwe', {data: {f_userinfo_id: self.row.f_userinfo_id}}, {resolveMsg: null, rejectMsg: '获取欠费出错!!', newly: true})
|
|
27
|
+
self.list = res.data
|
|
28
|
+
|
|
29
|
+
let owes = []
|
|
30
|
+
for (let i = 0; i < res.data.length; i++) {
|
|
31
|
+
for (let j = 0; j < res.data[i].rows.length; j++) {
|
|
32
|
+
owes.push(res.data[i].rows[j])
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
self.refreshCenter(owes)
|
|
36
|
+
// let res = await self.$refs.pv.load('api/af-revenue/sql/getOverdue', {data: {f_user_id: self.row.f_user_id}})
|
|
37
|
+
// if (res.data) {
|
|
38
|
+
// for (let i = 0; i < res.data.length; i++) {
|
|
39
|
+
// res.data[i].f_totalsplit_type = self.row.f_totalsplit_type
|
|
40
|
+
// res.data[i].f_user_id = res.data[i].f_user_id + ''
|
|
41
|
+
// let getSplit = await self.$resetpost('api/af-revenue/logic/splitInfo', {data: {totalInfo: res.data[i]}}, {resolveMsg: null, rejectMsg: '获取分表抄表信息出错!!!'})
|
|
42
|
+
// if (getSplit.data.length > 0) {
|
|
43
|
+
// for (let j = 0; j < getSplit.data.length; j++) {
|
|
44
|
+
// self.splitAllgas = self.splitAllgas + (getSplit.data[j].f_oughtamount - 0)
|
|
45
|
+
// }
|
|
46
|
+
// }
|
|
47
|
+
// }
|
|
48
|
+
// self.list.metertitle = self.row.f_user_id
|
|
49
|
+
// self.list.rows = self.model.rows = [...self.model.rows, ...res.data]
|
|
50
|
+
// // 控制欠费列表承担量的显示
|
|
51
|
+
// self.model.f_totalsplit_type = self.row.f_totalsplit_type
|
|
52
|
+
// }
|
|
53
|
+
self.chargeView = true
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
*售气收费
|
|
58
|
+
*机表收费组合组件,包括抄表列表以及机表收费主组件
|
|
59
|
+
*/
|
|
60
|
+
export default {
|
|
61
|
+
title: '收费',
|
|
62
|
+
components: {OweList, WorkBusySmall},
|
|
63
|
+
data () {
|
|
64
|
+
return {
|
|
65
|
+
config: {
|
|
66
|
+
showupload: false, // 控制附件显示
|
|
67
|
+
floor: false, // 向下取整
|
|
68
|
+
ceil: false, // 向上取整
|
|
69
|
+
charge: true // 是否需要缴清欠费
|
|
70
|
+
},
|
|
71
|
+
blodid: '',
|
|
72
|
+
oweArr: [],
|
|
73
|
+
model: {},
|
|
74
|
+
list: [],
|
|
75
|
+
splitAllgas: 0,
|
|
76
|
+
chargeView: false
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
props: ['row'],
|
|
80
|
+
ready () {
|
|
81
|
+
this.blodid = this.row.f_userinfo_id
|
|
82
|
+
loadGen(this)
|
|
83
|
+
},
|
|
84
|
+
methods: {
|
|
85
|
+
refreshCenter (val, rows, f_userfiles_id) {
|
|
86
|
+
console.log(f_userfiles_id)
|
|
87
|
+
if (f_userfiles_id) {
|
|
88
|
+
console.log(f_userfiles_id)
|
|
89
|
+
this.oweArr[f_userfiles_id] = val
|
|
90
|
+
}
|
|
91
|
+
this.initData(this.row)
|
|
92
|
+
let arr = Object.values(this.oweArr).reduce((acc, val) => acc.concat(val), [])
|
|
93
|
+
this.getRows(arr)
|
|
94
|
+
},
|
|
95
|
+
initData (row) {
|
|
96
|
+
let temp = {
|
|
97
|
+
f_payment: ['现金缴费'],
|
|
98
|
+
f_user_id: row.f_user_id,
|
|
99
|
+
f_userinfo_id: row.f_userinfo_id,
|
|
100
|
+
f_userfiles_id: row.f_userfiles_id,
|
|
101
|
+
f_balance: row.f_balance,
|
|
102
|
+
otherprice: '',
|
|
103
|
+
f_pregas: 0,
|
|
104
|
+
f_preamount: 0,
|
|
105
|
+
f_totalcost: 0,
|
|
106
|
+
f_curbalance: 0,
|
|
107
|
+
f_collection: '',
|
|
108
|
+
f_garbage_fee: 0,
|
|
109
|
+
f_overdue: 0,
|
|
110
|
+
f_lowest: 0,
|
|
111
|
+
f_print: ['普通收据'],
|
|
112
|
+
f_privilege_id: 0,
|
|
113
|
+
f_privilege_money: 0,
|
|
114
|
+
f_privilege_gas: 0,
|
|
115
|
+
f_after_discount: 0
|
|
116
|
+
}
|
|
117
|
+
this.model = Object.assign({}, this.model, temp)
|
|
118
|
+
},
|
|
119
|
+
getRows (val) {
|
|
120
|
+
this.model.selectedids = []
|
|
121
|
+
for (let i = 0; i < val.length; i++) {
|
|
122
|
+
if (val[i]) {
|
|
123
|
+
this.model.f_pregas = this.model.f_pregas + val[i].f_oughtamount
|
|
124
|
+
this.model.f_preamount = this.model.f_preamount + val[i].f_oughtfee
|
|
125
|
+
this.model.f_overdue = this.model.f_overdue + val[i].overdue
|
|
126
|
+
this.model.f_garbage_fee = this.model.f_garbage_fee + val[i].f_garbage_fee
|
|
127
|
+
this.model.selectedids.push({id: val[i].handplan_id})
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (val.length == 0) {
|
|
131
|
+
this.model.f_overdue = 0
|
|
132
|
+
this.model.f_totalcost = 0
|
|
133
|
+
this.model.f_collection = 0
|
|
134
|
+
this.model.f_pregas = 0
|
|
135
|
+
this.model.f_preamount = 0
|
|
136
|
+
this.model.f_garbage_fee = 0
|
|
137
|
+
}
|
|
138
|
+
this.model.f_overdue = this.model.f_overdue.toFixed(2)
|
|
139
|
+
this.model.f_totalcost = (this.model.f_preamount - 0) + (this.model.f_overdue - 0)
|
|
140
|
+
/* if (this.model.f_totalcost === 0) {
|
|
141
|
+
this.model.f_totalcost = this.row.f_balance < 0 ? (0 - this.row.f_balance) : 0
|
|
142
|
+
} */
|
|
143
|
+
this.model.f_totalcost += this.model.f_garbage_fee
|
|
144
|
+
if (this.config.floor) {
|
|
145
|
+
this.model.f_collection = Math.floor((this.model.f_totalcost - 0) - (this.model.f_balance - 0))
|
|
146
|
+
} else if (this.config.ceil) {
|
|
147
|
+
this.model.f_collection = Math.ceil((this.model.f_totalcost - 0) - (this.model.f_balance - 0))
|
|
148
|
+
} else {
|
|
149
|
+
this.model.f_collection = (this.model.f_totalcost - 0) - (this.model.f_balance - 0)
|
|
150
|
+
}
|
|
151
|
+
this.model.f_collection = this.model.f_collection < 0 ? 0 : this.model.f_collection
|
|
152
|
+
},
|
|
153
|
+
// 获取欠费里面有违约金的最大的一笔欠费的角标
|
|
154
|
+
getMaxIndex (val) {
|
|
155
|
+
if (val.findIndex((item) => { return item.f_oughtfee < 0 }) !== -1) {
|
|
156
|
+
return val.findIndex((item) => { return item.f_oughtfee < 0 })
|
|
157
|
+
} else {
|
|
158
|
+
let firstOverdue = val.findIndex((item) => { return item.overdue > 0 })
|
|
159
|
+
if (firstOverdue === -1) {
|
|
160
|
+
return 0
|
|
161
|
+
} else {
|
|
162
|
+
let lastOverdue = val.slice(firstOverdue).findIndex((item) => { return item.overdue === 0 }) - 1
|
|
163
|
+
return lastOverdue < 0 ? val.length - 1 : firstOverdue + lastOverdue
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
watch: {
|
|
169
|
+
chargeView () {
|
|
170
|
+
// this.$refs.mainche && this.$refs.mainche.checkOverdue()
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
</script>
|
|
175
|
+
<style lang="less">
|
|
176
|
+
#tooltip div {
|
|
177
|
+
height: auto;
|
|
178
|
+
}
|
|
179
|
+
</style>
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
<th><nobr>总气量</nobr></th>
|
|
18
18
|
<th><nobr>用气金额</nobr></th>
|
|
19
19
|
<th><nobr>已交气费</nobr></th>
|
|
20
|
-
<th><nobr>已交违约金</nobr></th
|
|
20
|
+
<!-- <th><nobr>已交违约金</nobr></th>-->
|
|
21
21
|
<th><nobr>实欠气费</nobr></th>
|
|
22
22
|
<th><nobr>是否缴费</nobr></th>
|
|
23
|
-
<th><nobr>违约金</nobr></th
|
|
24
|
-
<th><nobr>违约天数</nobr></th
|
|
23
|
+
<!-- <th><nobr>违约金</nobr></th>-->
|
|
24
|
+
<!-- <th><nobr>违约天数</nobr></th>-->
|
|
25
25
|
</tr>
|
|
26
26
|
</template>
|
|
27
27
|
<template partial='body'>
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
<td>{{row.f_oughtamount}}</td>
|
|
34
34
|
<td>{{row.f_allfee}}</td>
|
|
35
35
|
<td>{{row.f_debt_money}}</td>
|
|
36
|
-
<td>{{row.f_selloverdue}}</td
|
|
36
|
+
<!-- <td>{{row.f_selloverdue}}</td>-->
|
|
37
37
|
<td>{{row.f_oughtfee}}</td>
|
|
38
38
|
<td>{{row.f_whether_pay}}</td>
|
|
39
|
-
<td>{{row.overdue}}</td
|
|
40
|
-
<td>{{row.overduedays}}</td
|
|
39
|
+
<!-- <td>{{row.overdue}}</td>-->
|
|
40
|
+
<!-- <td>{{row.overduedays}}</td>-->
|
|
41
41
|
<td v-if="row.splitnum > 0">
|
|
42
42
|
<button class="btn btn-info" @click="$parent.$parent.getSplitInfo(row)">分表详情</button>
|
|
43
43
|
</td>
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
<th><nobr>已交气费</nobr></th>
|
|
23
23
|
<!--<th><nobr>已交违约金</nobr></th>-->
|
|
24
24
|
<!--<th><nobr>是否缴费</nobr></th>-->
|
|
25
|
-
<th><nobr>违约金</nobr></th
|
|
25
|
+
<!-- <th><nobr>违约金</nobr></th>-->
|
|
26
26
|
<th><nobr>总欠费</nobr></th>
|
|
27
|
-
<th><nobr>违约天数</nobr></th
|
|
27
|
+
<!-- <th><nobr>违约天数</nobr></th>-->
|
|
28
28
|
</tr>
|
|
29
29
|
</template>
|
|
30
30
|
<template partial='body'>
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
<td>{{row.f_debt_money}}</td>
|
|
43
43
|
<!--<td>{{row.f_selloverdue}}</td>-->
|
|
44
44
|
<!--<td>{{row.f_whether_pay}}</td>-->
|
|
45
|
-
<td>{{row.overdue}}</td
|
|
45
|
+
<!-- <td>{{row.overdue}}</td>-->
|
|
46
46
|
<td>{{((row.f_oughtfee - 0) + (row.overdue - 0)).toFixed(2)}}</td>
|
|
47
|
-
<td>{{row.overduedays}}</td
|
|
47
|
+
<!-- <td>{{row.overduedays}}</td>-->
|
|
48
48
|
<td v-if="row.splitnum > 0">
|
|
49
49
|
<button class="btn btn-info" @click="$parent.$parent.getSplitInfo(row)">分表详情</button>
|
|
50
50
|
</td>
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="loadering_small" class="" v-if="isBusy">
|
|
3
|
+
<div class="content">
|
|
4
|
+
<div id="loader">
|
|
5
|
+
<div id="dot1" class="dot"></div>
|
|
6
|
+
<div id="dot2" class="dot"></div>
|
|
7
|
+
<div id="dot3" class="dot"></div>
|
|
8
|
+
<div id="dot4" class="dot"></div>
|
|
9
|
+
</div>
|
|
10
|
+
<h4 class="loadmessage">正在工作,请等待!</h4>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
export default {
|
|
17
|
+
title: 'busy',
|
|
18
|
+
props: ['isBusy'],
|
|
19
|
+
data() {
|
|
20
|
+
return {
|
|
21
|
+
isBusy: false
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<style>
|
|
28
|
+
#loadering_small {
|
|
29
|
+
bottom: 0;
|
|
30
|
+
right: 0;
|
|
31
|
+
left: 0;
|
|
32
|
+
z-index: 9999;
|
|
33
|
+
display: flex;
|
|
34
|
+
text-align: center;
|
|
35
|
+
margin: 15% auto;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
position: relative;
|
|
38
|
+
align-items: center;
|
|
39
|
+
background: rgba(255, 255, 255, 0.8);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#loader {
|
|
43
|
+
display: flex;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
align-items: center;
|
|
46
|
+
background: rgba(255, 255, 255, 0.8);
|
|
47
|
+
height: auto;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.dot {
|
|
51
|
+
height: 20px;
|
|
52
|
+
width: 20px;
|
|
53
|
+
border-radius: 10px;
|
|
54
|
+
display: inline-block;
|
|
55
|
+
position: relative;
|
|
56
|
+
margin-left: 2em;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.bg-white {
|
|
60
|
+
height: 100%;
|
|
61
|
+
width: 100%;
|
|
62
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
#dot1 {
|
|
66
|
+
background: #ea4335;
|
|
67
|
+
animation-name: dotloader;
|
|
68
|
+
animation-duration: 1s;
|
|
69
|
+
animation-delay: 0.1s;
|
|
70
|
+
animation-iteration-count: infinite;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
#dot2 {
|
|
74
|
+
background: #34a853;
|
|
75
|
+
animation-name: dotloader;
|
|
76
|
+
animation-duration: 1s;
|
|
77
|
+
animation-delay: 0.2s;
|
|
78
|
+
animation-iteration-count: infinite;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.content {
|
|
82
|
+
top: 50%;
|
|
83
|
+
position: relative;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#dot3 {
|
|
87
|
+
background: #4285f4;
|
|
88
|
+
animation-name: dotloader;
|
|
89
|
+
animation-duration: 1s;
|
|
90
|
+
animation-delay: 0.3s;
|
|
91
|
+
animation-iteration-count: infinite;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#dot4 {
|
|
95
|
+
background: #fbbc05;
|
|
96
|
+
animation-name: dotloader;
|
|
97
|
+
animation-duration: 1s;
|
|
98
|
+
animation-delay: 0.4s;
|
|
99
|
+
animation-iteration-count: infinite;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#loader h4 {
|
|
103
|
+
width: 100%;
|
|
104
|
+
text-align: center;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.loadmessage {
|
|
108
|
+
text-align: center;
|
|
109
|
+
margin-left: 2em;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@keyframes dotloader {
|
|
113
|
+
0% {
|
|
114
|
+
top: 0px;
|
|
115
|
+
}
|
|
116
|
+
15% {
|
|
117
|
+
top: 10px;
|
|
118
|
+
}
|
|
119
|
+
30% {
|
|
120
|
+
top: 0px;
|
|
121
|
+
}
|
|
122
|
+
100% {
|
|
123
|
+
top: 0px;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
}
|
|
127
|
+
</style>
|
|
@@ -32,6 +32,8 @@ export default function () {
|
|
|
32
32
|
Vue.component('user-pricechange-manage', (resolve) => {
|
|
33
33
|
require(['./UserPriceChangeManage'], resolve)
|
|
34
34
|
})
|
|
35
|
+
// 机表收费引导
|
|
36
|
+
Vue.component('machine-charge', (resolve) => { require(['./components/charge/business/machine/MachineCharge'], resolve) })
|
|
35
37
|
// 机表收费
|
|
36
38
|
Vue.component('machine-meter-center', (resolve) => {
|
|
37
39
|
require(['./components/charge/business/machine/MachineMeterCenter'], resolve)
|