sale-client 4.3.42 → 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.
Files changed (33) hide show
  1. package/build/dev-server.js +1 -1
  2. package/package.json +1 -1
  3. package/src/filiale/HuaiLai/SafeCheck.vue +1 -1
  4. package/src/filiale/hongYa/components/charge/business/machine/MachineCharge.vue +179 -0
  5. package/src/filiale/hongYa/components/charge/{machine → business/machine}/OweDetailList.vue +6 -6
  6. package/src/filiale/hongYa/components/charge/{machine → business/machine}/OweList.vue +4 -4
  7. package/src/filiale/hongYa/components/charge/business/machine/WorkBusySmall.vue +127 -0
  8. package/src/filiale/hongYa/sale.js +2 -0
  9. package/src/main.js +1 -1
  10. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  11. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  12. package/.gradle/5.2.1/gc.properties +0 -0
  13. package/.gradle/6.7/executionHistory/executionHistory.lock +0 -0
  14. package/.gradle/6.7/fileChanges/last-build.bin +0 -0
  15. package/.gradle/6.7/fileHashes/fileHashes.lock +0 -0
  16. package/.gradle/6.7/gc.properties +0 -0
  17. package/.gradle/9.0.0/checksums/checksums.lock +0 -0
  18. package/.gradle/9.0.0/fileChanges/last-build.bin +0 -0
  19. package/.gradle/9.0.0/fileHashes/fileHashes.bin +0 -0
  20. package/.gradle/9.0.0/fileHashes/fileHashes.lock +0 -0
  21. package/.gradle/9.0.0/gc.properties +0 -0
  22. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  23. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  24. package/.gradle/checksums/checksums.lock +0 -0
  25. package/.gradle/configuration-cache/gc.properties +0 -0
  26. package/.gradle/vcs-1/gc.properties +0 -0
  27. package/.history/src/components/charge//346/211/271/351/207/217/346/226/260/345/273/272/346/255/243/345/274/217/346/210/267/346/241/243/346/241/210_/351/224/231/350/257/257/346/217/220/347/244/272/345/242/236/345/212/240/350/241/214/345/217/267_20260409222129.groovy +0 -418
  28. package/.history/src/components/charge//346/211/271/351/207/217/346/226/260/345/273/272/346/255/243/345/274/217/346/210/267/346/241/243/346/241/210_/351/224/231/350/257/257/346/217/220/347/244/272/345/242/236/345/212/240/350/241/214/345/217/267_20260409222230.groovy +0 -418
  29. package/.history/src/components/revenue/base/rightview/CardList_20260413150433.vue +0 -572
  30. package/.history/src/components/revenue/base/rightview/CardList_20260413154215.vue +0 -572
  31. package/hs_err_pid32452.log +0 -625
  32. package/hs_err_pid36896.log +0 -249
  33. package/src/components/charge//346/211/271/351/207/217/346/226/260/345/273/272/346/255/243/345/274/217/346/210/267/346/241/243/346/241/210_/351/224/231/350/257/257/346/217/220/347/244/272/345/242/236/345/212/240/350/241/214/345/217/267.groovy +0 -418
@@ -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://36.134.191.191:31467/', 'http://36.134.191.191:31467/']
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.3.42",
3
+ "version": "4.3.44",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -74,7 +74,7 @@
74
74
  <td style="margin: auto;text-align: center">
75
75
  <div class="container" style="background: #FFFFFF;margin:0;width:100%;">
76
76
  <div class="img" v-for="img in model.f_overall_imgs">
77
- <img-self v-if="img.f_overall_path!='' && img.f_overall_path!=null" :src="'rs/image/file/'+img.f_overall_path" style="float: left" width="100" height="150"></img-self>
77
+ <img-self v-if="img.f_overall_path!='' && img.f_overall_path!=null" :src="img.f_overall_path" style="float: left" width="100" height="150"></img-self>
78
78
  </div>
79
79
 
80
80
  </div>
@@ -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)
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/hongYa/sale'
5
+ import FilialeSale from './filiale/meihekou/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
File without changes
File without changes
@@ -1,2 +0,0 @@
1
- #Mon Mar 09 11:40:35 CST 2026
2
- gradle.version=5.2.1
Binary file
File without changes
File without changes