sale-client 3.5.120 → 3.5.121
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 +193 -193
- package/package.json +1 -1
- package/src/components/charge/business/ShowCardSellGas.vue +15 -24
- package/src/filiale/meihekou/CardHand.vue +18 -12
- package/src/filiale/qianneng/revenue/machineHandManage/machinePhoneManage.vue +339 -0
- package/src/filiale/qianneng/revenue/machineHandManage/machineSync.vue +329 -0
- package/src/filiale/qianneng/sale.js +3 -0
- package/src/filiale/tongchuan/common/userinfo_detail/iot_detail/MeterParamIot.vue +7 -7
package/build/dev-server.js
CHANGED
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
var express = require('express')
|
|
2
|
-
var webpack = require('webpack')
|
|
3
|
-
var config = require('./webpack.dev.conf')
|
|
4
|
-
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
-
// var httpProxy = require('http-proxy')
|
|
6
|
-
|
|
7
|
-
var app = express()
|
|
8
|
-
var compiler = webpack(config)
|
|
9
|
-
// var proxy = httpProxy.createProxyServer()
|
|
10
|
-
|
|
11
|
-
// Define HTTP proxies to your custom API backend
|
|
12
|
-
// https://github.com/chimurai/http-proxy-middleware
|
|
13
|
-
var bendi = 'http://121.36.106.17:8400', bendi1 = 'http://121.36.106.17:8400/'
|
|
14
|
-
// 公司测试服务
|
|
15
|
-
// var fuwu = 'http://192.168.50.4:8400'
|
|
16
|
-
var fuwu = 'http://
|
|
17
|
-
// var fuwu = 'http://121.36.106.17:8400/'
|
|
18
|
-
// 铜川正式
|
|
19
|
-
// var fuwu = 'http://61.134.55.234:9999/'
|
|
20
|
-
// 铜川测试
|
|
21
|
-
// var fuwu = 'http://61.134.55.234:9999/'
|
|
22
|
-
// var fuwu = 'http://60.222.250.39:8300/'
|
|
23
|
-
// 韶关
|
|
24
|
-
// var fuwu = 'http://119.146.1.106:8300/'
|
|
25
|
-
// 巩义测试服务
|
|
26
|
-
// var fuwu = 'http://192.168.0.227:8400'
|
|
27
|
-
// 燎原测试服务
|
|
28
|
-
// var fuwu = 'http://121.41.19.238:8400 '
|
|
29
|
-
// var fuwu = 'http://121.41.19.238:9001/'
|
|
30
|
-
|
|
31
|
-
// var fuwu = 'http://139.214.92.34:8301/'
|
|
32
|
-
|
|
33
|
-
var proxyTable = {
|
|
34
|
-
// '/'
|
|
35
|
-
// '/rs/logic/stopBasicLivingNew':{
|
|
36
|
-
// target:'http://127.0.0.1:8080'
|
|
37
|
-
// },
|
|
38
|
-
// '/rs/logic/getBatchOperaPro':{
|
|
39
|
-
// target:'http://127.0.0.1:8080'
|
|
40
|
-
// },
|
|
41
|
-
// '/rs/sql/sale_getUser':{
|
|
42
|
-
// target:'http://127.0.0.1:8080'
|
|
43
|
-
// },
|
|
44
|
-
// '/rs/logic/getOperBtns':{
|
|
45
|
-
// target:'http://127.0.0.1:8080'
|
|
46
|
-
// },
|
|
47
|
-
// '/rs/file/uploadFile':{
|
|
48
|
-
// target:'http://127.0.0.1:8080'
|
|
49
|
-
// },
|
|
50
|
-
// '/rs/business/batchRunExcelDefault/filemanage_fileSave/newSettleFileImport':{
|
|
51
|
-
// target:'http://127.0.0.1:8080'
|
|
52
|
-
// },
|
|
53
|
-
// '/rs/business/batchRunNew/BatchmachineDownHand/machineDownHand':{
|
|
54
|
-
// target:'http:127.0.0.1:8080'
|
|
55
|
-
// },
|
|
56
|
-
// '/rs/sql/getDownPlan':{
|
|
57
|
-
// target:'http:127.0.0.1:8080'
|
|
58
|
-
// },
|
|
59
|
-
// '/rs/logic/saleExport': {
|
|
60
|
-
// target: fuwu
|
|
61
|
-
// },
|
|
62
|
-
// '/rs/logic/saleGetExportProgress': {
|
|
63
|
-
// target: fuwu
|
|
64
|
-
// },
|
|
65
|
-
// '/rs/logic/getWarningMsg': {
|
|
66
|
-
// target: 'http://localhost:8080/'
|
|
67
|
-
// },
|
|
68
|
-
'/rs/file': {
|
|
69
|
-
target: fuwu
|
|
70
|
-
},
|
|
71
|
-
'/files': {
|
|
72
|
-
target: fuwu
|
|
73
|
-
},
|
|
74
|
-
// 查找资源服务数据
|
|
75
|
-
'/rs/search': {
|
|
76
|
-
target: fuwu
|
|
77
|
-
},
|
|
78
|
-
// 查找资源服务数据
|
|
79
|
-
'/rs/logic/getLogin': {
|
|
80
|
-
target: fuwu
|
|
81
|
-
},
|
|
82
|
-
// 查找资源服务数据
|
|
83
|
-
'/rs/logic/getInitData': {
|
|
84
|
-
target: fuwu
|
|
85
|
-
},
|
|
86
|
-
'/rs/logic/getSaleInitData': {
|
|
87
|
-
target: fuwu
|
|
88
|
-
},
|
|
89
|
-
'/invoice': {
|
|
90
|
-
target: fuwu
|
|
91
|
-
},
|
|
92
|
-
// 用户登录服务地址
|
|
93
|
-
'/rs/user': {
|
|
94
|
-
target: fuwu
|
|
95
|
-
},
|
|
96
|
-
'/rs/path/getParams': {
|
|
97
|
-
target: fuwu
|
|
98
|
-
},
|
|
99
|
-
'/rs/data': {
|
|
100
|
-
target: fuwu
|
|
101
|
-
},
|
|
102
|
-
'/rs/license': {
|
|
103
|
-
target: fuwu
|
|
104
|
-
},
|
|
105
|
-
'/rs/db': {
|
|
106
|
-
target: fuwu
|
|
107
|
-
},
|
|
108
|
-
'/excel': {
|
|
109
|
-
target: fuwu
|
|
110
|
-
},
|
|
111
|
-
'/rs/config': {
|
|
112
|
-
target: fuwu
|
|
113
|
-
},
|
|
114
|
-
'/rs/sql/getLicenseById': {
|
|
115
|
-
target: fuwu
|
|
116
|
-
},
|
|
117
|
-
'/rs/sql/manage_getarealist': {
|
|
118
|
-
target: fuwu
|
|
119
|
-
},
|
|
120
|
-
'/rs/sql/manage_getstreetlist': {
|
|
121
|
-
target: fuwu
|
|
122
|
-
},
|
|
123
|
-
'/rs/report': {
|
|
124
|
-
target: 'http://121.36.106.17:8400/'
|
|
125
|
-
},
|
|
126
|
-
'/rs/vue': {
|
|
127
|
-
target: fuwu
|
|
128
|
-
},
|
|
129
|
-
'/webmeter': {
|
|
130
|
-
target: 'http://192.168.50.4:8450'
|
|
131
|
-
},
|
|
132
|
-
'/rs': {
|
|
133
|
-
// target: 'http://192.168.30.63:8081/'
|
|
134
|
-
// target: 'http://121.36.106.17:8400/'
|
|
135
|
-
target: fuwu
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
140
|
-
publicPath: config.output.publicPath,
|
|
141
|
-
stats: {
|
|
142
|
-
colors: true,
|
|
143
|
-
chunks: false
|
|
144
|
-
}
|
|
145
|
-
})
|
|
146
|
-
|
|
147
|
-
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
148
|
-
// force page reload when html-webpack-plugin template changes
|
|
149
|
-
compiler.plugin('compilation', function (compilation) {
|
|
150
|
-
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
151
|
-
hotMiddleware.publish({action: 'reload'})
|
|
152
|
-
cb()
|
|
153
|
-
})
|
|
154
|
-
})
|
|
155
|
-
|
|
156
|
-
// proxy api requests
|
|
157
|
-
Object.keys(proxyTable).forEach(function (context) {
|
|
158
|
-
var options = proxyTable[context]
|
|
159
|
-
if (typeof options === 'string') {
|
|
160
|
-
options = {target: options}
|
|
161
|
-
}
|
|
162
|
-
app.use(proxyMiddleware(context, options))
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
// handle fallback for HTML5 history API
|
|
166
|
-
app.use(require('connect-history-api-fallback')())
|
|
167
|
-
// app.use(function (req, res, next) {
|
|
168
|
-
// res.header('Access-Control-Allow-Origin', '*')
|
|
169
|
-
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
170
|
-
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
171
|
-
// res.header('X-Powered-By', '3,2,1')
|
|
172
|
-
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
173
|
-
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
174
|
-
// next()
|
|
175
|
-
// })
|
|
176
|
-
|
|
177
|
-
// serve webpack bundle output
|
|
178
|
-
app.use(devMiddleware)
|
|
179
|
-
|
|
180
|
-
// enable hot-reload and state-preserving
|
|
181
|
-
// compilation error display
|
|
182
|
-
app.use(hotMiddleware)
|
|
183
|
-
|
|
184
|
-
// serve pure static assets
|
|
185
|
-
app.use('/static', express.static('./static'))
|
|
186
|
-
|
|
187
|
-
module.exports = app.listen(8085, function (err) {
|
|
188
|
-
if (err) {
|
|
189
|
-
console.log(err)
|
|
190
|
-
return
|
|
191
|
-
}
|
|
192
|
-
console.log('Listening at http://localhost:8089')
|
|
193
|
-
})
|
|
1
|
+
var express = require('express')
|
|
2
|
+
var webpack = require('webpack')
|
|
3
|
+
var config = require('./webpack.dev.conf')
|
|
4
|
+
var proxyMiddleware = require('http-proxy-middleware')
|
|
5
|
+
// var httpProxy = require('http-proxy')
|
|
6
|
+
|
|
7
|
+
var app = express()
|
|
8
|
+
var compiler = webpack(config)
|
|
9
|
+
// var proxy = httpProxy.createProxyServer()
|
|
10
|
+
|
|
11
|
+
// Define HTTP proxies to your custom API backend
|
|
12
|
+
// https://github.com/chimurai/http-proxy-middleware
|
|
13
|
+
var bendi = 'http://121.36.106.17:8400', bendi1 = 'http://121.36.106.17:8400/'
|
|
14
|
+
// 公司测试服务
|
|
15
|
+
// var fuwu = 'http://192.168.50.4:8400'
|
|
16
|
+
var fuwu = 'http://121.36.106.17:8400'
|
|
17
|
+
// var fuwu = 'http://121.36.106.17:8400/'
|
|
18
|
+
// 铜川正式
|
|
19
|
+
// var fuwu = 'http://61.134.55.234:9999/'
|
|
20
|
+
// 铜川测试
|
|
21
|
+
// var fuwu = 'http://61.134.55.234:9999/'
|
|
22
|
+
// var fuwu = 'http://60.222.250.39:8300/'
|
|
23
|
+
// 韶关
|
|
24
|
+
// var fuwu = 'http://119.146.1.106:8300/'
|
|
25
|
+
// 巩义测试服务
|
|
26
|
+
// var fuwu = 'http://192.168.0.227:8400'
|
|
27
|
+
// 燎原测试服务
|
|
28
|
+
// var fuwu = 'http://121.41.19.238:8400 '
|
|
29
|
+
// var fuwu = 'http://121.41.19.238:9001/'
|
|
30
|
+
|
|
31
|
+
// var fuwu = 'http://139.214.92.34:8301/'
|
|
32
|
+
|
|
33
|
+
var proxyTable = {
|
|
34
|
+
// '/'
|
|
35
|
+
// '/rs/logic/stopBasicLivingNew':{
|
|
36
|
+
// target:'http://127.0.0.1:8080'
|
|
37
|
+
// },
|
|
38
|
+
// '/rs/logic/getBatchOperaPro':{
|
|
39
|
+
// target:'http://127.0.0.1:8080'
|
|
40
|
+
// },
|
|
41
|
+
// '/rs/sql/sale_getUser':{
|
|
42
|
+
// target:'http://127.0.0.1:8080'
|
|
43
|
+
// },
|
|
44
|
+
// '/rs/logic/getOperBtns':{
|
|
45
|
+
// target:'http://127.0.0.1:8080'
|
|
46
|
+
// },
|
|
47
|
+
// '/rs/file/uploadFile':{
|
|
48
|
+
// target:'http://127.0.0.1:8080'
|
|
49
|
+
// },
|
|
50
|
+
// '/rs/business/batchRunExcelDefault/filemanage_fileSave/newSettleFileImport':{
|
|
51
|
+
// target:'http://127.0.0.1:8080'
|
|
52
|
+
// },
|
|
53
|
+
// '/rs/business/batchRunNew/BatchmachineDownHand/machineDownHand':{
|
|
54
|
+
// target:'http:127.0.0.1:8080'
|
|
55
|
+
// },
|
|
56
|
+
// '/rs/sql/getDownPlan':{
|
|
57
|
+
// target:'http:127.0.0.1:8080'
|
|
58
|
+
// },
|
|
59
|
+
// '/rs/logic/saleExport': {
|
|
60
|
+
// target: fuwu
|
|
61
|
+
// },
|
|
62
|
+
// '/rs/logic/saleGetExportProgress': {
|
|
63
|
+
// target: fuwu
|
|
64
|
+
// },
|
|
65
|
+
// '/rs/logic/getWarningMsg': {
|
|
66
|
+
// target: 'http://localhost:8080/'
|
|
67
|
+
// },
|
|
68
|
+
'/rs/file': {
|
|
69
|
+
target: fuwu
|
|
70
|
+
},
|
|
71
|
+
'/files': {
|
|
72
|
+
target: fuwu
|
|
73
|
+
},
|
|
74
|
+
// 查找资源服务数据
|
|
75
|
+
'/rs/search': {
|
|
76
|
+
target: fuwu
|
|
77
|
+
},
|
|
78
|
+
// 查找资源服务数据
|
|
79
|
+
'/rs/logic/getLogin': {
|
|
80
|
+
target: fuwu
|
|
81
|
+
},
|
|
82
|
+
// 查找资源服务数据
|
|
83
|
+
'/rs/logic/getInitData': {
|
|
84
|
+
target: fuwu
|
|
85
|
+
},
|
|
86
|
+
'/rs/logic/getSaleInitData': {
|
|
87
|
+
target: fuwu
|
|
88
|
+
},
|
|
89
|
+
'/invoice': {
|
|
90
|
+
target: fuwu
|
|
91
|
+
},
|
|
92
|
+
// 用户登录服务地址
|
|
93
|
+
'/rs/user': {
|
|
94
|
+
target: fuwu
|
|
95
|
+
},
|
|
96
|
+
'/rs/path/getParams': {
|
|
97
|
+
target: fuwu
|
|
98
|
+
},
|
|
99
|
+
'/rs/data': {
|
|
100
|
+
target: fuwu
|
|
101
|
+
},
|
|
102
|
+
'/rs/license': {
|
|
103
|
+
target: fuwu
|
|
104
|
+
},
|
|
105
|
+
'/rs/db': {
|
|
106
|
+
target: fuwu
|
|
107
|
+
},
|
|
108
|
+
'/excel': {
|
|
109
|
+
target: fuwu
|
|
110
|
+
},
|
|
111
|
+
'/rs/config': {
|
|
112
|
+
target: fuwu
|
|
113
|
+
},
|
|
114
|
+
'/rs/sql/getLicenseById': {
|
|
115
|
+
target: fuwu
|
|
116
|
+
},
|
|
117
|
+
'/rs/sql/manage_getarealist': {
|
|
118
|
+
target: fuwu
|
|
119
|
+
},
|
|
120
|
+
'/rs/sql/manage_getstreetlist': {
|
|
121
|
+
target: fuwu
|
|
122
|
+
},
|
|
123
|
+
'/rs/report': {
|
|
124
|
+
target: 'http://121.36.106.17:8400/'
|
|
125
|
+
},
|
|
126
|
+
'/rs/vue': {
|
|
127
|
+
target: fuwu
|
|
128
|
+
},
|
|
129
|
+
'/webmeter': {
|
|
130
|
+
target: 'http://192.168.50.4:8450'
|
|
131
|
+
},
|
|
132
|
+
'/rs': {
|
|
133
|
+
// target: 'http://192.168.30.63:8081/'
|
|
134
|
+
// target: 'http://121.36.106.17:8400/'
|
|
135
|
+
target: fuwu
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
var devMiddleware = require('webpack-dev-middleware')(compiler, {
|
|
140
|
+
publicPath: config.output.publicPath,
|
|
141
|
+
stats: {
|
|
142
|
+
colors: true,
|
|
143
|
+
chunks: false
|
|
144
|
+
}
|
|
145
|
+
})
|
|
146
|
+
|
|
147
|
+
var hotMiddleware = require('webpack-hot-middleware')(compiler)
|
|
148
|
+
// force page reload when html-webpack-plugin template changes
|
|
149
|
+
compiler.plugin('compilation', function (compilation) {
|
|
150
|
+
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
|
|
151
|
+
hotMiddleware.publish({action: 'reload'})
|
|
152
|
+
cb()
|
|
153
|
+
})
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
// proxy api requests
|
|
157
|
+
Object.keys(proxyTable).forEach(function (context) {
|
|
158
|
+
var options = proxyTable[context]
|
|
159
|
+
if (typeof options === 'string') {
|
|
160
|
+
options = {target: options}
|
|
161
|
+
}
|
|
162
|
+
app.use(proxyMiddleware(context, options))
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
// handle fallback for HTML5 history API
|
|
166
|
+
app.use(require('connect-history-api-fallback')())
|
|
167
|
+
// app.use(function (req, res, next) {
|
|
168
|
+
// res.header('Access-Control-Allow-Origin', '*')
|
|
169
|
+
// res.header('Access-Control-Allow-Headers', 'X-Requested-With')
|
|
170
|
+
// res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
|
|
171
|
+
// res.header('X-Powered-By', '3,2,1')
|
|
172
|
+
// res.header('Access-Control-Allow-Credentials', 'true')
|
|
173
|
+
// res.header('Content-Type', 'application/json;charset=utf-8')
|
|
174
|
+
// next()
|
|
175
|
+
// })
|
|
176
|
+
|
|
177
|
+
// serve webpack bundle output
|
|
178
|
+
app.use(devMiddleware)
|
|
179
|
+
|
|
180
|
+
// enable hot-reload and state-preserving
|
|
181
|
+
// compilation error display
|
|
182
|
+
app.use(hotMiddleware)
|
|
183
|
+
|
|
184
|
+
// serve pure static assets
|
|
185
|
+
app.use('/static', express.static('./static'))
|
|
186
|
+
|
|
187
|
+
module.exports = app.listen(8085, function (err) {
|
|
188
|
+
if (err) {
|
|
189
|
+
console.log(err)
|
|
190
|
+
return
|
|
191
|
+
}
|
|
192
|
+
console.log('Listening at http://localhost:8089')
|
|
193
|
+
})
|
package/package.json
CHANGED
|
@@ -258,9 +258,10 @@ import {HttpResetClass} from 'vue-client'
|
|
|
258
258
|
import XML from '../../../plugins/ObjTree'
|
|
259
259
|
|
|
260
260
|
let preamountGen = async function (self) {
|
|
261
|
-
|
|
262
|
-
if (self.
|
|
263
|
-
|
|
261
|
+
let calFee = ((self.model.f_preamount - 0)).toFixed(4)
|
|
262
|
+
if (self.model.f_payment == '赠气') {
|
|
263
|
+
calFee = (self.model.f_preamount - 0).toFixed(4)
|
|
264
|
+
}
|
|
264
265
|
// 通过金额进行划价
|
|
265
266
|
let getGas = await self.$CommonService.feeCalculate(self.model, calFee)
|
|
266
267
|
if (getGas.data.gas) {
|
|
@@ -279,17 +280,12 @@ let preamountGen = async function (self) {
|
|
|
279
280
|
} else {
|
|
280
281
|
// 如果不支持小数,将划价出的多余非整数气量进行划价为金额
|
|
281
282
|
let tempnum = Math.floor(getGas.data.gas - 0)
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
self.dymoney = (getGas.data.chargenum - 0).toFixed(2) - (dymoney1.data.chargenum - 0).toFixed(2)
|
|
285
|
-
} else {
|
|
286
|
-
self.dymoney = 0
|
|
287
|
-
}
|
|
283
|
+
let dymoney1 = await self.$CommonService.gasCalculate(self.model, (tempnum).toFixed(4))
|
|
284
|
+
self.dymoney = (getGas.data.chargenum - 0).toFixed(2) - (dymoney1.data.chargenum - 0).toFixed(2)
|
|
288
285
|
self.model.f_pregas = Math.floor(getGas.data.gas - 0)
|
|
289
286
|
}
|
|
290
287
|
}
|
|
291
288
|
self.model.f_totalcost = ((self.row.f_balance - 0) > (calFee - 0) ? 0 : ((calFee - 0) - (self.row.f_balance - 0)).toFixed(2))
|
|
292
|
-
// self.model.f_preamount = calFee
|
|
293
289
|
self.model.chargeprice = getGas.data.chargeprice
|
|
294
290
|
Object.assign(self.model, self.model, getGas.data)
|
|
295
291
|
self.model.f_totalcost = ((self.model.f_totalcost - 0) - (self.dymoney - 0)).toFixed(2)
|
|
@@ -301,26 +297,18 @@ let preamountGen = async function (self) {
|
|
|
301
297
|
self.calText(getGas.data.chargeprice)
|
|
302
298
|
}
|
|
303
299
|
|
|
300
|
+
// 输入气量,换算金额
|
|
304
301
|
let pregasGen = async function (self) {
|
|
305
302
|
if (self.row.f_isdecimal === '是') {
|
|
306
303
|
self.model.f_pregas = (self.model.f_pregas - 0).toFixed(4)
|
|
307
304
|
} else {
|
|
308
305
|
self.model.f_pregas = (self.model.f_pregas - 0).toFixed(0)
|
|
309
306
|
}
|
|
310
|
-
self.model.f_meter_type = self.row.f_meter_type
|
|
311
|
-
// 有账号结余时, 需要把账号结余能买的气加上
|
|
312
|
-
let lsBalance = self.row.f_balance
|
|
313
|
-
if ((lsBalance - 0) > 0) {
|
|
314
|
-
// 通过金额进行划价
|
|
315
|
-
let getGas = await self.$CommonService.feeCalculate(self.model, lsBalance)
|
|
316
|
-
self.model.f_pregas = (self.model.f_pregas - 0) + (Math.floor(getGas.data.gas) - 0)
|
|
317
|
-
}
|
|
318
307
|
if ((self.model.f_pregas - 0) - (self.maxgas - 0) <= 0) {
|
|
308
|
+
self.model.f_meter_type = self.row.f_meter_type
|
|
319
309
|
let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
|
|
320
310
|
self.model.f_preamount = getAmount.data.chargenum
|
|
321
|
-
|
|
322
|
-
let total = (getAmount.data.chargenum - 0) + (self.openFee - 0)
|
|
323
|
-
self.model.f_totalcost = (lsBalance - 0) > (total - 0) ? 0 : ((total - 0) - (lsBalance - 0)).toFixed(4)
|
|
311
|
+
self.model.f_totalcost = ((self.row.f_balance - 0) > (getAmount.data.chargenum - 0) ? 0 : ((getAmount.data.chargenum - 0) - (self.row.f_balance - 0)).toFixed(4))
|
|
324
312
|
Object.assign(self.model, self.model, getAmount.data)
|
|
325
313
|
self.model.chargeprice = getAmount.data.chargeprice
|
|
326
314
|
self.model.f_collection = self.model.f_totalcost
|
|
@@ -856,14 +844,17 @@ export default {
|
|
|
856
844
|
return this.$login.r ? this.$login.r : []
|
|
857
845
|
},
|
|
858
846
|
'curbalance' () {
|
|
847
|
+
if (this.model.f_payment === '赠气') {
|
|
848
|
+
return this.model.f_balance
|
|
849
|
+
}
|
|
859
850
|
if (this.model.f_preamount) {
|
|
860
|
-
if (this.row.
|
|
861
|
-
return ((this.
|
|
851
|
+
if ((this.row.f_balance - 0) > (this.model.f_preamount - 0)) {
|
|
852
|
+
return ((this.row.f_balance - 0) - (this.model.f_preamount - 0) + (this.model.f_collection - 0)).toFixed(4)
|
|
862
853
|
} else {
|
|
863
854
|
return ((this.model.f_collection - 0) - (this.model.f_totalcost - 0)).toFixed(4)
|
|
864
855
|
}
|
|
865
856
|
} else {
|
|
866
|
-
return
|
|
857
|
+
return this.row.f_balance
|
|
867
858
|
}
|
|
868
859
|
},
|
|
869
860
|
'islegal' () {
|
|
@@ -295,24 +295,26 @@
|
|
|
295
295
|
<td style="text-align: center;">{{row.f_total_fee}}</td>
|
|
296
296
|
<td style="text-align: center;">{{row.f_hand_date}}</td>
|
|
297
297
|
<td style="text-align: center;">{{row.f_last_hand_date}}</td>
|
|
298
|
-
|
|
298
|
+
<td style="text-align: center;">
|
|
299
299
|
|
|
300
300
|
<!-- <button type="button" name="button" class="btn btn-link"-->
|
|
301
301
|
<!-- @click.stop="$parent.$parent.$parent.modify(row)"-->
|
|
302
302
|
<!-- v-if="row.f_meter_state === '已抄表' && !$parent.$parent.$parent.jurisdiction.includes('审核权限')">修正</button>-->
|
|
303
303
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
304
|
+
<!-- <button type="button" name="button" class="btn btn-link"
|
|
305
|
+
@click.stop="$parent.$parent.$parent.pass(row)"
|
|
306
|
+
v-if="$parent.$parent.$parent.jurisdiction.includes('审核权限') && row.f_meter_state === '待审核'">通过</button>
|
|
307
307
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
308
|
+
<button type="button" name="button" class="btn btn-link"
|
|
309
|
+
@click.stop="$parent.$parent.$parent.nopass(row)"
|
|
310
|
+
v-if="row.f_meter_state === '待审核' && $parent.$parent.$parent.jurisdiction.includes('审核权限')">不通过</button>-->
|
|
311
|
+
<button type="button" name="button" class="btn btn-link" title="权限名称:(卡表抄表冲正)"
|
|
312
|
+
@click.stop="$parent.$parent.$parent.cardhandCenter(row)"
|
|
313
|
+
v-if="row.f_meter_state === '已抄表'">冲正</button>
|
|
314
|
+
<button type="button" name="button" class="btn btn-link" @click.stop="$parent.$parent.$parent.deleteCardhandCenter(row)"
|
|
315
|
+
v-if="row.id && row.f_meter_state === '未抄表'">删除</button>
|
|
316
|
+
</td>
|
|
317
|
+
<td><span title="{{row.f_card_reason}}" v-if="row.f_card_reason !== ''">{{row.f_card_reason.substring(0,5)}} ...</span></td>
|
|
316
318
|
</template>
|
|
317
319
|
</data-grid>
|
|
318
320
|
</criteria-paged>
|
|
@@ -647,6 +649,10 @@
|
|
|
647
649
|
nopass (row) {
|
|
648
650
|
co(modifyGen(this, row, 'rs/logic/cardhandnopass'))
|
|
649
651
|
},
|
|
652
|
+
async deleteCardhandCenter (row) {
|
|
653
|
+
await this.$resetpost('rs/logic/deleteCardhandCancel', {data: row}, {resolveMsg: '删除成功!', rejectMsg: '删除失败!'})
|
|
654
|
+
this.search()
|
|
655
|
+
},
|
|
650
656
|
cardhandCenter (row) {
|
|
651
657
|
// let load = new HttpResetClass()
|
|
652
658
|
// load.load('POST', 'rs/logic/Correct', {data: row}, {warnMsg: null, resolveMsg: null})
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 98%">
|
|
3
|
+
<div class="flex">
|
|
4
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
5
|
+
<criteria partial='criteria' v-ref:cri @condition-changed="$parent.selfSearch">
|
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<!--<div class="col-sm-6">-->
|
|
9
|
+
<!--style="border: 1px solid #a6d5ea; box-shadow: darkgrey 1px 1px 1px 2px;padding: 0.5%">-->
|
|
10
|
+
<div class="col-sm-2 form-group">
|
|
11
|
+
<label class="font_normal_body">上传日期</label>
|
|
12
|
+
<datepicker placeholder="开始日期"
|
|
13
|
+
style="width:60%"
|
|
14
|
+
class="datepicker"
|
|
15
|
+
v-model="model.startDate"
|
|
16
|
+
:value.sync="model.startDate"
|
|
17
|
+
condition="f_hand_date >='{} 00:00:00'"
|
|
18
|
+
:format="'yyyy-MM-dd'"
|
|
19
|
+
></datepicker>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label class="font_normal_body">  至 </label>
|
|
23
|
+
<datepicker placeholder="抄表日期"
|
|
24
|
+
style="width:60%"
|
|
25
|
+
v-model="model.endDate"
|
|
26
|
+
:value.sync="model.endDate"
|
|
27
|
+
condition="f_hand_date <='{} 23:59:59'"
|
|
28
|
+
:format="'yyyy-MM-dd'"
|
|
29
|
+
></datepicker>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="col-sm-2 form-group">
|
|
33
|
+
<label class="font_normal_body">客户编号</label>
|
|
34
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
35
|
+
condition="f_userinfo_code='{}'" placeholder='客户编号'>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div class="span" style="float:right;">
|
|
39
|
+
|
|
40
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()">查询</button>
|
|
41
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
42
|
+
<export-excel
|
|
43
|
+
:data="{condition: $parent.$parent.excelCondition}"
|
|
44
|
+
:field="$parent.$parent.fields"
|
|
45
|
+
sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="getAuditMachineHand"
|
|
46
|
+
template-name='抄表审核导出'
|
|
47
|
+
:choose-col="true">
|
|
48
|
+
</export-excel>
|
|
49
|
+
<div
|
|
50
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
51
|
+
@click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
55
|
+
<div class="col-sm-2 form-group">
|
|
56
|
+
<label class="font_normal_body">表  号</label>
|
|
57
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
|
|
58
|
+
condition="f_meternumber like '%{}%'" placeholder='表号'>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="col-sm-2 form-group">
|
|
61
|
+
<label class="font_normal_body">客户姓名</label>
|
|
62
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name" placeholder='客户姓名'
|
|
63
|
+
condition="f_user_name like '%{}%'">
|
|
64
|
+
</div>
|
|
65
|
+
<div class="col-sm-2 form-group">
|
|
66
|
+
<label class="font_normal_body">小    区</label>
|
|
67
|
+
<v-select :value.sync="model.f_residential_area"
|
|
68
|
+
class="select_list select"
|
|
69
|
+
enter-push
|
|
70
|
+
v-model="model.f_residential_area"
|
|
71
|
+
style="width: 60%"
|
|
72
|
+
multiple="true"
|
|
73
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
74
|
+
close-on-select v-el:cc>
|
|
75
|
+
</v-select>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="col-sm-2 form-group">
|
|
78
|
+
<label class="font_normal_body">客户地址</label>
|
|
79
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
80
|
+
condition="f_address like '%{}%'" placeholder='客户地址'>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="col-sm-2 form-group">
|
|
83
|
+
<label class="font_normal_body">抄 表 员</label>
|
|
84
|
+
<v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
|
|
85
|
+
style="width:60%"
|
|
86
|
+
multiple="true"
|
|
87
|
+
:options='$parent.$parent.inputtores' placeholder='抄表员'
|
|
88
|
+
close-on-select
|
|
89
|
+
v-el:cc></v-select>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="col-sm-2 form-group">
|
|
92
|
+
<label class="font_normal_body">客户类型</label>
|
|
93
|
+
<v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
|
|
94
|
+
:options='$parent.$parent.usertypes' placeholder='客户类型'
|
|
95
|
+
style="width:60%"
|
|
96
|
+
close-on-select
|
|
97
|
+
condition="f_user_type = '{}'"></v-select>
|
|
98
|
+
</div>
|
|
99
|
+
<div class="col-sm-2 form-group">
|
|
100
|
+
<label class="font_normal_body">抄表状态</label>
|
|
101
|
+
<v-select :value.sync="model.f_meter_state" v-model="model.f_meter_state"
|
|
102
|
+
:options='$parent.$parent.meterstates' placeholder='客户类型'
|
|
103
|
+
style="width:60%"
|
|
104
|
+
close-on-select
|
|
105
|
+
condition="(f_meter_state = '{}' or h_meter_state = '{}')"></v-select>
|
|
106
|
+
</div>
|
|
107
|
+
<div class="col-sm-2 form-group">
|
|
108
|
+
<label class="font_normal_body">抄表单状态</label>
|
|
109
|
+
<v-select :value.sync="model.f_hand_state" v-model="model.f_hand_state"
|
|
110
|
+
:options='$parent.$parent.handstates' placeholder='客户类型'
|
|
111
|
+
style="width:60%"
|
|
112
|
+
close-on-select
|
|
113
|
+
condition="(f_hand_state = '{}' or hand_state ='{}')"></v-select>
|
|
114
|
+
</div>
|
|
115
|
+
<div class="col-sm-2 form-group">
|
|
116
|
+
<label class="font_normal_body">抄 表 册</label>
|
|
117
|
+
<v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
|
|
118
|
+
:options='$parent.$parent.meterbooks' placeholder='抄表册'
|
|
119
|
+
style="width:60%"
|
|
120
|
+
:multiple="true"
|
|
121
|
+
condition="f_meter_book_num in {}"></v-select>
|
|
122
|
+
</div>
|
|
123
|
+
<res-select-group :show-component="['company','department','operator']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
|
|
124
|
+
v-ref:sel></res-select-group>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
</div>
|
|
128
|
+
</criteria>
|
|
129
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid id="hand_manager_grid">
|
|
130
|
+
<template partial='head'>
|
|
131
|
+
<tr>
|
|
132
|
+
<th><nobr>客户编号</nobr></th>
|
|
133
|
+
<th><nobr>基本信息</nobr></th>
|
|
134
|
+
<th><nobr>表号</nobr></th>
|
|
135
|
+
<th><nobr>下发日期</nobr></th>
|
|
136
|
+
<th><nobr>抄表录入日期</nobr></th>
|
|
137
|
+
<th><nobr>抄表册</nobr></th>
|
|
138
|
+
<th><nobr>中间表状态</nobr></th>
|
|
139
|
+
<th><nobr>抄表表状态</nobr></th>
|
|
140
|
+
<th><nobr>中间表抄表状态</nobr></th>
|
|
141
|
+
<th><nobr>抄表表抄表状态</nobr></th>
|
|
142
|
+
<th><nobr>操作</nobr></th>
|
|
143
|
+
</tr>
|
|
144
|
+
</template>
|
|
145
|
+
<template partial='body'>
|
|
146
|
+
<td>{{row.f_userinfo_code}}</td>
|
|
147
|
+
<td> <nobr>{{row.f_user_name}} {{row.f_address}} </nobr></td>
|
|
148
|
+
<td>{{row.f_meternumber}}</td>
|
|
149
|
+
<td><nobr>{{row.f_hand_date}}</nobr></td>
|
|
150
|
+
<td><nobr>{{row.f_input_date}}</nobr></td>
|
|
151
|
+
<td> <nobr>{{row.f_book_name}} </nobr></td>
|
|
152
|
+
<td> <nobr>{{row.f_hand_state}} </nobr></td>
|
|
153
|
+
<td> <nobr>{{row.hand_state}} </nobr></td>
|
|
154
|
+
<td> <nobr>{{row.f_meter_state}} </nobr></td>
|
|
155
|
+
<td> <nobr>{{row.h_meter_state}} </nobr></td>
|
|
156
|
+
|
|
157
|
+
<td>
|
|
158
|
+
<button type="button" name="button" v-if="$parent.$parent.$parent.buttonShow(row)" class="button_search button_spacing width-60"
|
|
159
|
+
@click.stop="$parent.$parent.$parent.synchronization(row)"
|
|
160
|
+
>同步
|
|
161
|
+
</button>
|
|
162
|
+
</td>
|
|
163
|
+
|
|
164
|
+
</template>
|
|
165
|
+
</data-grid>
|
|
166
|
+
</criteria-paged>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
</template>
|
|
171
|
+
<script>
|
|
172
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
173
|
+
import co from "co";
|
|
174
|
+
|
|
175
|
+
let readyGen = async function (self) {
|
|
176
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
|
|
177
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
178
|
+
await self.$LoadParams.loadMeterBook(self.f_filialeid)
|
|
179
|
+
self.loadMeterBooks()
|
|
180
|
+
self.getaddress()
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export default {
|
|
184
|
+
title: '抄表单状态同步',
|
|
185
|
+
data () {
|
|
186
|
+
return {
|
|
187
|
+
timer: null,
|
|
188
|
+
model: new PagedList('rs/sql/getMachinePhoneState', 50,{startDate: 'this.model.startDate', endDate: 'this.model.endDate', }),
|
|
189
|
+
initres: {
|
|
190
|
+
org: [this.$login.f.orgid],
|
|
191
|
+
dep: [],
|
|
192
|
+
user: []
|
|
193
|
+
},
|
|
194
|
+
config: {
|
|
195
|
+
examine: false
|
|
196
|
+
},
|
|
197
|
+
imgfilename: '',
|
|
198
|
+
// 小区
|
|
199
|
+
residentialArea: [],
|
|
200
|
+
imgshow: false,
|
|
201
|
+
criteriaShow: false,
|
|
202
|
+
orgCondtionStr: '',
|
|
203
|
+
excelCondition: '',
|
|
204
|
+
fields: {
|
|
205
|
+
'f_userinfo_code': '客户编号',
|
|
206
|
+
'f_user_name': '客户名称',
|
|
207
|
+
'f_address': '客户地址',
|
|
208
|
+
'f_balance': '上期结余',
|
|
209
|
+
'f_meternumber': '表号',
|
|
210
|
+
'f_last_tablebase': '上期底数',
|
|
211
|
+
'f_tablebase': '本期底数',
|
|
212
|
+
'f_last_input_date': '上次抄表录入日期',
|
|
213
|
+
'f_hand_date': '下发日期',
|
|
214
|
+
'f_input_date': '抄表录入日期',
|
|
215
|
+
'f_book_name': '抄表册',
|
|
216
|
+
'f_inputtor': '抄表员'
|
|
217
|
+
},
|
|
218
|
+
auditState: [{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
|
|
219
|
+
auditState1: [{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
|
|
220
|
+
meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
|
|
221
|
+
resultstate: this.$appdata.getParam('抄表结果状态'),
|
|
222
|
+
meterstates: this.$appdata.getParam('抄表状态') ? [{
|
|
223
|
+
label: '全部',
|
|
224
|
+
value: ''
|
|
225
|
+
}, ...this.$appdata.getParam('抄表状态')] : [],
|
|
226
|
+
handstates: this.$appdata.getParam('抄表单状态') ? [{
|
|
227
|
+
label: '全部',
|
|
228
|
+
value: ''
|
|
229
|
+
}, ...this.$appdata.getParam('抄表单状态')] : [],
|
|
230
|
+
usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
|
|
231
|
+
meterbooks: [],
|
|
232
|
+
// 公司下拉
|
|
233
|
+
curorgid: [this.$login.f.orgid]
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
props: [],
|
|
237
|
+
beforeDestroy () {
|
|
238
|
+
// 销毁定时器
|
|
239
|
+
if (this.timer) clearInterval(this.timer)
|
|
240
|
+
},
|
|
241
|
+
ready () {
|
|
242
|
+
this.model.pageSizeMax = 9999999
|
|
243
|
+
readyGen(this)
|
|
244
|
+
},
|
|
245
|
+
methods: {
|
|
246
|
+
buttonShow(row){
|
|
247
|
+
if (row.f_hand_state!=row.hand_state){
|
|
248
|
+
return true
|
|
249
|
+
}else {
|
|
250
|
+
if (row.f_meter_state != row.h_meter_state){
|
|
251
|
+
if (row.f_meter_state =='已上传' && row.h_meter_state =='待审核'){
|
|
252
|
+
return false
|
|
253
|
+
}else {
|
|
254
|
+
return true
|
|
255
|
+
}
|
|
256
|
+
}else {
|
|
257
|
+
return false
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
},
|
|
262
|
+
synchronization(row){
|
|
263
|
+
this.$resetpost('rs/logic/machinePhoneSync', {data: row}).then(() => {
|
|
264
|
+
this.$dispatch('refresh', '同步抄表册数据', row)
|
|
265
|
+
this.search()
|
|
266
|
+
})
|
|
267
|
+
},
|
|
268
|
+
hidden () {
|
|
269
|
+
this.criteriaShow = !this.criteriaShow
|
|
270
|
+
},
|
|
271
|
+
getRes (obj) {
|
|
272
|
+
this.orgCondtionStr = obj
|
|
273
|
+
},
|
|
274
|
+
view (row) {
|
|
275
|
+
this.$parent.showupload = true
|
|
276
|
+
this.$parent.row = row
|
|
277
|
+
},
|
|
278
|
+
async getaddress () {
|
|
279
|
+
console.log('开始获取小区')
|
|
280
|
+
let HttpReset = new HttpResetClass()
|
|
281
|
+
var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
|
|
282
|
+
data: {
|
|
283
|
+
condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
|
|
284
|
+
}
|
|
285
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
286
|
+
console.log('小区', data)
|
|
287
|
+
let house = []
|
|
288
|
+
house.push()
|
|
289
|
+
for (let row of data.data) {
|
|
290
|
+
console.log('开始保存小区')
|
|
291
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
292
|
+
}
|
|
293
|
+
this.residentialArea = house
|
|
294
|
+
},
|
|
295
|
+
search () {
|
|
296
|
+
this.$refs.paged.$refs.cri.search()
|
|
297
|
+
},
|
|
298
|
+
clear () {
|
|
299
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
300
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
301
|
+
})
|
|
302
|
+
},
|
|
303
|
+
selfSearch (args) {
|
|
304
|
+
if (!this.orgCondtionStr) {
|
|
305
|
+
args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
|
|
306
|
+
} else {
|
|
307
|
+
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
308
|
+
}
|
|
309
|
+
this.excelCondition = args.condition
|
|
310
|
+
this.$refs.paged.$refs.grid.selectInit()
|
|
311
|
+
this.model.search(args.condition, args.model)
|
|
312
|
+
},
|
|
313
|
+
loadMeterBooks () {
|
|
314
|
+
this.meterbooks = this.$GetSaleParam.getMeterBooks()
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
computed: {
|
|
318
|
+
inputtores () {
|
|
319
|
+
// 获取抄表员
|
|
320
|
+
console.log('获取抄表员', this.$login.f)
|
|
321
|
+
let rs = []
|
|
322
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
323
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
324
|
+
let temp = {
|
|
325
|
+
label: this.$login.f.f_gasman[i].name,
|
|
326
|
+
value: this.$login.f.f_gasman[i].name
|
|
327
|
+
}
|
|
328
|
+
rs.push(temp)
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
this.inputtores2 = rs
|
|
332
|
+
return [...rs]
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
watch: {
|
|
336
|
+
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
</script>
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 98%">
|
|
3
|
+
<div class="flex">
|
|
4
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
5
|
+
<criteria partial='criteria' v-ref:cri @condition-changed="$parent.selfSearch">
|
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
7
|
+
<div class="row">
|
|
8
|
+
<!--<div class="col-sm-6">-->
|
|
9
|
+
<!--style="border: 1px solid #a6d5ea; box-shadow: darkgrey 1px 1px 1px 2px;padding: 0.5%">-->
|
|
10
|
+
<div class="col-sm-2 form-group">
|
|
11
|
+
<label class="font_normal_body">上传日期</label>
|
|
12
|
+
<datepicker placeholder="开始日期"
|
|
13
|
+
style="width:60%"
|
|
14
|
+
class="datepicker"
|
|
15
|
+
v-model="model.startDate"
|
|
16
|
+
:value.sync="model.startDate"
|
|
17
|
+
condition="f_hand_date >='{} 00:00:00'"
|
|
18
|
+
:format="'yyyy-MM-dd'"
|
|
19
|
+
></datepicker>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-sm-2 form-group">
|
|
22
|
+
<label class="font_normal_body">  至 </label>
|
|
23
|
+
<datepicker placeholder="抄表日期"
|
|
24
|
+
style="width:60%"
|
|
25
|
+
v-model="model.endDate"
|
|
26
|
+
:value.sync="model.endDate"
|
|
27
|
+
condition="f_hand_date <='{} 23:59:59'"
|
|
28
|
+
:format="'yyyy-MM-dd'"
|
|
29
|
+
></datepicker>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="col-sm-2 form-group">
|
|
33
|
+
<label class="font_normal_body">客户编号</label>
|
|
34
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
35
|
+
condition="f_userinfo_code='{}'" placeholder='客户编号'>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div class="span" style="float:right;">
|
|
39
|
+
|
|
40
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()">查询</button>
|
|
41
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
42
|
+
<export-excel
|
|
43
|
+
:data="{condition: $parent.$parent.excelCondition}"
|
|
44
|
+
:field="$parent.$parent.fields"
|
|
45
|
+
sqlurl="rs/logic/saleExport" progress="saleGetExportProgress" sql-name="getAuditMachineHand"
|
|
46
|
+
template-name='抄表审核导出'
|
|
47
|
+
:choose-col="true">
|
|
48
|
+
</export-excel>
|
|
49
|
+
<div
|
|
50
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
51
|
+
@click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
55
|
+
<div class="col-sm-2 form-group">
|
|
56
|
+
<label class="font_normal_body">表  号</label>
|
|
57
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
|
|
58
|
+
condition="f_meternumber like '%{}%'" placeholder='表号'>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="col-sm-2 form-group">
|
|
61
|
+
<label class="font_normal_body">客户姓名</label>
|
|
62
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name" placeholder='客户姓名'
|
|
63
|
+
condition="f_user_name like '%{}%'">
|
|
64
|
+
</div>
|
|
65
|
+
<div class="col-sm-2 form-group">
|
|
66
|
+
<label class="font_normal_body">小    区</label>
|
|
67
|
+
<v-select :value.sync="model.f_residential_area"
|
|
68
|
+
class="select_list select"
|
|
69
|
+
enter-push
|
|
70
|
+
v-model="model.f_residential_area"
|
|
71
|
+
style="width: 60%"
|
|
72
|
+
multiple="true"
|
|
73
|
+
:options='$parent.$parent.residentialArea' placeholder='选择小区'
|
|
74
|
+
close-on-select v-el:cc>
|
|
75
|
+
</v-select>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="col-sm-2 form-group">
|
|
78
|
+
<label class="font_normal_body">楼  栋</label>
|
|
79
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_building"
|
|
80
|
+
condition="f_building = '{}'" placeholder='楼栋'>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="col-sm-2 form-group">
|
|
83
|
+
<label class="font_normal_body">单  元</label>
|
|
84
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_unit"
|
|
85
|
+
condition="f_unit = '{}'" placeholder='单元'>
|
|
86
|
+
</div>
|
|
87
|
+
<div class="col-sm-2 form-group">
|
|
88
|
+
<label class="font_normal_body">楼  层</label>
|
|
89
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_floor"
|
|
90
|
+
condition="f_floor = '{}'" placeholder='楼层'>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="col-sm-2 form-group">
|
|
93
|
+
<label class="font_normal_body">门 牌 号</label>
|
|
94
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_room"
|
|
95
|
+
condition="f_room like '%{}%'" placeholder='门牌号'>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="col-sm-2 form-group">
|
|
98
|
+
<label class="font_normal_body">客户地址</label>
|
|
99
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
100
|
+
condition="f_address like '%{}%'" placeholder='客户地址'>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="col-sm-2 form-group">
|
|
103
|
+
<label class="font_normal_body">抄 表 员</label>
|
|
104
|
+
<v-select :value.sync="model.f_inputtor" v-model='model.f_inputtor'
|
|
105
|
+
style="width:60%"
|
|
106
|
+
multiple="true"
|
|
107
|
+
:options='$parent.$parent.inputtores' placeholder='抄表员'
|
|
108
|
+
close-on-select
|
|
109
|
+
v-el:cc></v-select>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="col-sm-2 form-group">
|
|
112
|
+
<label class="font_normal_body">客户类型</label>
|
|
113
|
+
<v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
|
|
114
|
+
:options='$parent.$parent.usertypes' placeholder='客户类型'
|
|
115
|
+
style="width:60%"
|
|
116
|
+
close-on-select
|
|
117
|
+
condition="f_user_type = '{}'"></v-select>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="col-sm-2 form-group">
|
|
120
|
+
<label class="font_normal_body">抄 表 册</label>
|
|
121
|
+
<v-select :value.sync="model.f_meter_book" v-model="model.f_meter_book"
|
|
122
|
+
:options='$parent.$parent.meterbooks' placeholder='抄表册'
|
|
123
|
+
style="width:60%"
|
|
124
|
+
:multiple="true"
|
|
125
|
+
condition="f_meter_book_num in {}"></v-select>
|
|
126
|
+
</div>
|
|
127
|
+
<res-select-group :show-component="['company','department','operator']" :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes"
|
|
128
|
+
v-ref:sel></res-select-group>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
</div>
|
|
132
|
+
</criteria>
|
|
133
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid id="hand_manager_grid">
|
|
134
|
+
<template partial='head'>
|
|
135
|
+
<tr>
|
|
136
|
+
<th><nobr>客户编号</nobr></th>
|
|
137
|
+
<th><nobr>基本信息</nobr></th>
|
|
138
|
+
<th><nobr>上期结余</nobr></th>
|
|
139
|
+
<th><nobr>表号</nobr></th>
|
|
140
|
+
<th><nobr>上期底数</nobr></th>
|
|
141
|
+
<th><nobr>本期底数</nobr></th>
|
|
142
|
+
<th><nobr>上次抄表录入日期</nobr></th>
|
|
143
|
+
<th><nobr>下发日期</nobr></th>
|
|
144
|
+
<th><nobr>抄表录入日期</nobr></th>
|
|
145
|
+
<th><nobr>抄表册</nobr></th>
|
|
146
|
+
<th><nobr>抄表员</nobr></th>
|
|
147
|
+
<th><nobr>操作</nobr></th>
|
|
148
|
+
</tr>
|
|
149
|
+
</template>
|
|
150
|
+
<template partial='body'>
|
|
151
|
+
<td>{{row.f_userinfo_code}}</td>
|
|
152
|
+
<td> <nobr>{{row.f_user_name}} {{row.f_address}} </nobr></td>
|
|
153
|
+
<td>{{row.f_balance}}</td>
|
|
154
|
+
<td>{{row.f_meternumber}}</td>
|
|
155
|
+
<td>{{row.f_last_tablebase}}</td>
|
|
156
|
+
<td>{{row.f_tablebase}}</td>
|
|
157
|
+
<td><nobr>{{row.f_last_input_date}}</nobr></td>
|
|
158
|
+
<td><nobr>{{row.f_hand_date}}</nobr></td>
|
|
159
|
+
<td><nobr>{{row.f_input_date}}</nobr></td>
|
|
160
|
+
<td> <nobr>{{row.f_book_name}} </nobr></td>
|
|
161
|
+
<td>{{row.f_inputtor}}</td>
|
|
162
|
+
<td>
|
|
163
|
+
<button type="button" name="button" class="button_search button_spacing width-60"
|
|
164
|
+
@click.stop="$parent.$parent.$parent.synchronization(row)"
|
|
165
|
+
>同步
|
|
166
|
+
</button>
|
|
167
|
+
</td>
|
|
168
|
+
|
|
169
|
+
</template>
|
|
170
|
+
</data-grid>
|
|
171
|
+
</criteria-paged>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
</template>
|
|
176
|
+
<script>
|
|
177
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
178
|
+
import co from "co";
|
|
179
|
+
|
|
180
|
+
let readyGen = async function (self) {
|
|
181
|
+
self.$refs.paged.$refs.cri.model.startDate = self.$login.toStartAndEndDateString()[0]
|
|
182
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
183
|
+
await self.$LoadParams.loadMeterBook(self.f_filialeid)
|
|
184
|
+
self.loadMeterBooks()
|
|
185
|
+
self.getaddress()
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export default {
|
|
189
|
+
title: '已上传抄表查询',
|
|
190
|
+
data () {
|
|
191
|
+
return {
|
|
192
|
+
timer: null,
|
|
193
|
+
model: new PagedList('rs/sql/getMachineUploaded', 50,{startDate: 'this.model.startDate', endDate: 'this.model.endDate', }),
|
|
194
|
+
initres: {
|
|
195
|
+
org: [this.$login.f.orgid],
|
|
196
|
+
dep: [],
|
|
197
|
+
user: []
|
|
198
|
+
},
|
|
199
|
+
config: {
|
|
200
|
+
examine: false
|
|
201
|
+
},
|
|
202
|
+
imgfilename: '',
|
|
203
|
+
// 小区
|
|
204
|
+
residentialArea: [],
|
|
205
|
+
imgshow: false,
|
|
206
|
+
criteriaShow: false,
|
|
207
|
+
orgCondtionStr: '',
|
|
208
|
+
excelCondition: '',
|
|
209
|
+
fields: {
|
|
210
|
+
'f_userinfo_code': '客户编号',
|
|
211
|
+
'f_user_name': '客户名称',
|
|
212
|
+
'f_address': '客户地址',
|
|
213
|
+
'f_balance': '上期结余',
|
|
214
|
+
'f_meternumber': '表号',
|
|
215
|
+
'f_last_tablebase': '上期底数',
|
|
216
|
+
'f_tablebase': '本期底数',
|
|
217
|
+
'f_last_input_date': '上次抄表录入日期',
|
|
218
|
+
'f_hand_date': '下发日期',
|
|
219
|
+
'f_input_date': '抄表录入日期',
|
|
220
|
+
'f_book_name': '抄表册',
|
|
221
|
+
'f_inputtor': '抄表员'
|
|
222
|
+
},
|
|
223
|
+
auditState: [{label: '全部', value: ''}, {label: '已审核', value: '已抄表'}, {label: '未审核', value: '待审核'}],
|
|
224
|
+
auditState1: [{label: '全部', value: ''}, {label: '审核失败', value: '审核失败'}],
|
|
225
|
+
meters: [{label: '全部', value: ''}, {label: '机表', value: '机表'}, {label: '物联网表', value: '物联网表'}],
|
|
226
|
+
resultstate: this.$appdata.getParam('抄表结果状态'),
|
|
227
|
+
meterstates: this.$appdata.getParam('抄表状态') ? [{
|
|
228
|
+
label: '全部',
|
|
229
|
+
value: ''
|
|
230
|
+
}, ...this.$appdata.getParam('抄表状态')] : [],
|
|
231
|
+
usertypes: this.$appdata.getParam('客户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('客户类型')] : [],
|
|
232
|
+
userlevels: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : [],
|
|
233
|
+
adjustablename: this.$appdata.getParam('调压箱名称') ? [{
|
|
234
|
+
label: '全部',
|
|
235
|
+
value: ''
|
|
236
|
+
}, ...this.$appdata.getParam('调压箱名称')] : [],
|
|
237
|
+
meterbooks: [],
|
|
238
|
+
// 公司下拉
|
|
239
|
+
curorgid: [this.$login.f.orgid]
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
props: [],
|
|
243
|
+
beforeDestroy () {
|
|
244
|
+
// 销毁定时器
|
|
245
|
+
if (this.timer) clearInterval(this.timer)
|
|
246
|
+
},
|
|
247
|
+
ready () {
|
|
248
|
+
this.model.pageSizeMax = 9999999
|
|
249
|
+
readyGen(this)
|
|
250
|
+
},
|
|
251
|
+
methods: {
|
|
252
|
+
synchronization(row){
|
|
253
|
+
this.$resetpost('rs/logic/syncHandAudit', {data: row}).then(() => {
|
|
254
|
+
this.$dispatch('refresh', '同步抄表册数据', row)
|
|
255
|
+
this.search()
|
|
256
|
+
})
|
|
257
|
+
},
|
|
258
|
+
hidden () {
|
|
259
|
+
this.criteriaShow = !this.criteriaShow
|
|
260
|
+
},
|
|
261
|
+
getRes (obj) {
|
|
262
|
+
this.orgCondtionStr = obj
|
|
263
|
+
},
|
|
264
|
+
view (row) {
|
|
265
|
+
this.$parent.showupload = true
|
|
266
|
+
this.$parent.row = row
|
|
267
|
+
},
|
|
268
|
+
async getaddress () {
|
|
269
|
+
console.log('开始获取小区')
|
|
270
|
+
let HttpReset = new HttpResetClass()
|
|
271
|
+
var data = await HttpReset.load('POST', 'rs/sql/manage_getarealist', {
|
|
272
|
+
data: {
|
|
273
|
+
condition: `1=1 and s.f_filialeid = '${this.$login.f.orgid}'`
|
|
274
|
+
}
|
|
275
|
+
}, {resolveMsg: null, rejectMsg: '获取小区失败!'})
|
|
276
|
+
console.log('小区', data)
|
|
277
|
+
let house = []
|
|
278
|
+
house.push()
|
|
279
|
+
for (let row of data.data) {
|
|
280
|
+
console.log('开始保存小区')
|
|
281
|
+
house.push({label: row.f_residential_area, value: row.f_residential_area})
|
|
282
|
+
}
|
|
283
|
+
this.residentialArea = house
|
|
284
|
+
},
|
|
285
|
+
search () {
|
|
286
|
+
this.$refs.paged.$refs.cri.search()
|
|
287
|
+
},
|
|
288
|
+
clear () {
|
|
289
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
290
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
291
|
+
})
|
|
292
|
+
},
|
|
293
|
+
selfSearch (args) {
|
|
294
|
+
if (!this.orgCondtionStr) {
|
|
295
|
+
args.condition = `${args.condition}` + ' and f_orgid = ' + this.$login.f.orgid
|
|
296
|
+
} else {
|
|
297
|
+
args.condition = `${args.condition}` + this.orgCondtionStr
|
|
298
|
+
}
|
|
299
|
+
this.excelCondition = args.condition
|
|
300
|
+
this.$refs.paged.$refs.grid.selectInit()
|
|
301
|
+
this.model.search(args.condition, args.model)
|
|
302
|
+
},
|
|
303
|
+
loadMeterBooks () {
|
|
304
|
+
this.meterbooks = this.$GetSaleParam.getMeterBooks()
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
computed: {
|
|
308
|
+
inputtores () {
|
|
309
|
+
// 获取抄表员
|
|
310
|
+
console.log('获取抄表员', this.$login.f)
|
|
311
|
+
let rs = []
|
|
312
|
+
if (this.$login.f.f_gasman.length > 0) {
|
|
313
|
+
for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
|
|
314
|
+
let temp = {
|
|
315
|
+
label: this.$login.f.f_gasman[i].name,
|
|
316
|
+
value: this.$login.f.f_gasman[i].name
|
|
317
|
+
}
|
|
318
|
+
rs.push(temp)
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
this.inputtores2 = rs
|
|
322
|
+
return [...rs]
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
watch: {
|
|
326
|
+
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
</script>
|
|
@@ -55,6 +55,9 @@ let specialComp = {
|
|
|
55
55
|
'machine-down': (resolve) => { require(['./revenue/machineHandManage/machineDown'], resolve) },
|
|
56
56
|
// 抄表审核
|
|
57
57
|
'machine-hand-audit': (resolve) => { require(['./revenue/machineHandManage/machineHandAudit'], resolve) },
|
|
58
|
+
//机表抄表册未同步
|
|
59
|
+
'machine-sync': (resolve) => { require(['./revenue/machineHandManage/machineSync'], resolve) },
|
|
60
|
+
'machine-phone-manage': (resolve) => { require(['./revenue/machineHandManage/machinePhoneManage'], resolve) },
|
|
58
61
|
|
|
59
62
|
// 用户综合信息
|
|
60
63
|
'file-user-general-info-new': (resolve) => { require(['./FilesManageNew/UserGeneralInfoTest'], resolve) },
|
|
@@ -59,13 +59,13 @@
|
|
|
59
59
|
model: new PagedList('rs/sql/sale_meterparamQuery', 20, {}),
|
|
60
60
|
jsonFields: {
|
|
61
61
|
f_insert_date: '插入日期',
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
operatingmodetotal: '工况累计',
|
|
63
|
+
standardconditionflow: '标况流量',
|
|
64
|
+
operatingmodeflow: '工况流量',
|
|
65
|
+
flowmetertemperature: '温度',
|
|
66
|
+
flowmeterpressure: '压力',
|
|
67
|
+
flowmetertemperaturestate: '流量计温度状态',
|
|
68
|
+
flowmeterpressurestate: '流量计压力状态'
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
},
|