sale-client 3.4.91 → 3.4.95
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/webpack.base.conf.js +1 -0
- package/build/webpack.singlepage.conf.js +67 -0
- package/package.json +5 -3
- package/singlepage/FileUserFiles/App.vue +9 -0
- package/singlepage/FileUserFiles/index.html +16 -0
- package/singlepage/FileUserFiles/main.js +20 -0
- package/src/components/charge/gasloss/gasLossOperate.vue +14 -11
- package/src/components/common/userinfo_detail/ic_detail/AutomaticPurse.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/CardHandRecord.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/ChangeRecord.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/ChargeQueryUser.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/DeveiceRecord.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/FillCardQueryUser.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/HandQueryUser.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/OtherChargeQueryUser.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/RecordQueryUser.vue +1 -1
- package/src/components/common/userinfo_detail/ic_detail/TransferQueryUser.vue +1 -1
- package/src/components/revenue/Common/PrintBill.vue +7 -2
- package/src/components/revenue/Common/ReissueBill.vue +8 -3
- package/src/components/revenue/batchPreloads/batchPreloads.vue +41 -0
- package/src/components/revenue/batchPreloads/batchPreloadsCharge.vue +117 -0
- package/src/components/revenue/batchPreloads/batchPreloadsList.vue +225 -0
- package/src/components/revenue/comprehen/Maintenance/revenue/MeterOperatemain.vue +6 -1
- package/src/filiale/macheng/UserBaseInfoNew.vue +1 -1
- package/src/filiale/qianneng/FilesManage/MeterinfoTest.vue +2 -6
- package/src/filiale/qianneng/HighMeter.vue +924 -0
- package/src/filiale/qianneng/js/OcxUtil.js +1659 -0
- package/src/filiale/qianneng/js/WsUtil.js +2505 -0
- package/src/filiale/qianneng/js/axCam_Ocx.js +81 -0
- package/src/filiale/qianneng/js/axCam_Ocx2.js +35 -0
- package/src/filiale/qianneng/sale.js +1 -0
- package/src/filiale/shanggao/FileAddressList.vue +139 -0
- package/src/filiale/shanggao/sale.js +7 -0
- package/src/main.js +1 -1
- package/src/sale.js +12 -12
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
var fs = require('fs')
|
|
2
|
+
var path = require('path')
|
|
3
|
+
var webpack = require('webpack')
|
|
4
|
+
var merge = require('webpack-merge')
|
|
5
|
+
var baseConfig = require('./webpack.base.conf')
|
|
6
|
+
var HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
7
|
+
var CompressionWebpackPlugin = require('compression-webpack-plugin')
|
|
8
|
+
|
|
9
|
+
// add hot-reload related code to entry chunks
|
|
10
|
+
Object.keys(baseConfig.entry).forEach(function (name) {
|
|
11
|
+
baseConfig.entry[name] = ['./build/dev-client'].concat(baseConfig.entry[name])
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
// 把singlepage下所有index.html转换成测试例子.html
|
|
15
|
+
fs.readdirSync('./singlepage').forEach((file) => {
|
|
16
|
+
baseConfig.plugins.push(
|
|
17
|
+
// https://github.com/ampedandwired/html-webpack-plugin
|
|
18
|
+
new HtmlWebpackPlugin({
|
|
19
|
+
filename: file + '.html',
|
|
20
|
+
template: `singlepage/${file}/index.html`,
|
|
21
|
+
inject: false
|
|
22
|
+
})
|
|
23
|
+
)
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
// 把singlepage下子目录里的main.js打包成对应组件名的js
|
|
27
|
+
fs.readdirSync('./singlepage').forEach((file) => {
|
|
28
|
+
baseConfig.entry[file] = `./singlepage/${file}/main.js`
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
module.exports = merge(baseConfig, {
|
|
32
|
+
// eval-source-map is faster for development
|
|
33
|
+
devtool: '#eval-source-map',
|
|
34
|
+
output: {
|
|
35
|
+
// necessary for the html plugin to work properly
|
|
36
|
+
// when serving the html from in-memory
|
|
37
|
+
publicPath: './',
|
|
38
|
+
path: path.resolve(__dirname, '../dist/singlepage'),
|
|
39
|
+
chunkFilename: '[name].[hash].js'
|
|
40
|
+
},
|
|
41
|
+
productionGzip: true,
|
|
42
|
+
productionGzipExtensions: ['js', 'css', 'vue'],
|
|
43
|
+
plugins: [
|
|
44
|
+
new CompressionWebpackPlugin({
|
|
45
|
+
filename: '[path].gz[query]',
|
|
46
|
+
algorithm: 'gzip',
|
|
47
|
+
test: new RegExp(
|
|
48
|
+
'\\.(' +
|
|
49
|
+
['js', 'css', 'vue'].join('|') +
|
|
50
|
+
')$'
|
|
51
|
+
),
|
|
52
|
+
threshold: 10240,
|
|
53
|
+
minRatio: 0.8
|
|
54
|
+
}),
|
|
55
|
+
|
|
56
|
+
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
|
|
57
|
+
new webpack.optimize.OccurenceOrderPlugin(),
|
|
58
|
+
new webpack.HotModuleReplacementPlugin(),
|
|
59
|
+
new webpack.NoErrorsPlugin(),
|
|
60
|
+
// https://github.com/ampedandwired/html-webpack-plugin
|
|
61
|
+
new HtmlWebpackPlugin({
|
|
62
|
+
filename: 'index.html',
|
|
63
|
+
template: 'index.html',
|
|
64
|
+
inject: true
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sale-client",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.95",
|
|
4
4
|
"description": "收费模块前台组件",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"unit": "karma start test/unit/karma.conf.js",
|
|
11
11
|
"build": "rimraf dist && mkdirp dist && ncp static dist/mergeUser && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
|
|
12
12
|
"e2e": "node test/e2e/runner.js",
|
|
13
|
-
"release": "bash build/release.sh"
|
|
13
|
+
"release": "bash build/release.sh",
|
|
14
|
+
"page": "rimraf dist && mkdirp dist && ncp static dist/singlepage && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.singlepage.conf.js"
|
|
14
15
|
},
|
|
15
16
|
"repository": {
|
|
16
17
|
"type": "git",
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
"chai": "^3.5.0",
|
|
36
37
|
"co": "^4.6.0",
|
|
37
38
|
"connect-history-api-fallback": "^1.1.0",
|
|
39
|
+
"compression-webpack-plugin": "1.1.2",
|
|
38
40
|
"cross-env": "^1.0.7",
|
|
39
41
|
"cross-spawn": "^2.1.5",
|
|
40
42
|
"css-loader": "^0.23.0",
|
|
@@ -86,7 +88,7 @@
|
|
|
86
88
|
"style-loader": "^0.20.3",
|
|
87
89
|
"system-clients": "3.1.89-14",
|
|
88
90
|
"url-loader": "^0.5.7",
|
|
89
|
-
"vue-client": "1.24.
|
|
91
|
+
"vue-client": "1.24.47",
|
|
90
92
|
"vue-clipboard2": "0.3.1",
|
|
91
93
|
"vue-hot-reload-api": "^1.2.0",
|
|
92
94
|
"vue-html-loader": "^1.0.0",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>档案管理</title>
|
|
6
|
+
</head>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
padding: 20px!important;
|
|
10
|
+
}
|
|
11
|
+
</style>
|
|
12
|
+
<body id="bodymain" class="themeOne" >
|
|
13
|
+
<app ></app>
|
|
14
|
+
<script src="./FileUserFiles.js"></script>
|
|
15
|
+
</body>
|
|
16
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import { all } from 'vue-client'
|
|
3
|
+
import App from './App'
|
|
4
|
+
import { system } from 'system-clients'
|
|
5
|
+
import sale from '../../src/sale'
|
|
6
|
+
import { address } from 'address-client'
|
|
7
|
+
import VueClipboard from 'vue-clipboard2'
|
|
8
|
+
Vue.use(VueClipboard)
|
|
9
|
+
Vue.config.silent = true
|
|
10
|
+
|
|
11
|
+
all()
|
|
12
|
+
system(false)
|
|
13
|
+
sale()
|
|
14
|
+
address()
|
|
15
|
+
require('system-clients/src/styles/less/bootstrap.less')
|
|
16
|
+
|
|
17
|
+
new Vue({
|
|
18
|
+
el: 'body',
|
|
19
|
+
components: { App }
|
|
20
|
+
})
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<validator name='v'>
|
|
5
5
|
<form novalidate class="form-horizontal">
|
|
6
6
|
<div class="flex-auto">
|
|
7
|
-
<div style="height:
|
|
7
|
+
<div style="height:550px;overflow-y: auto;">
|
|
8
8
|
<div style="margin-top:10px;" class="auto row" v-for="row in model.gaslossdetail">
|
|
9
9
|
<div class="panel panel-primary datapanel" style="background-color: #f4f6f8">
|
|
10
10
|
<!-- <div class="auto row">-->
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
</div>
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
55
|
-
<div>
|
|
55
|
+
<div class=" panel panel-primary datapanel" style="height:260px">
|
|
56
56
|
<div class="row">
|
|
57
57
|
<div class="col-sm-4 form-group">
|
|
58
58
|
<label class=" font_normal_body"> 客户编号</label>
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
close-on-select clear-button>
|
|
105
105
|
</v-select>
|
|
106
106
|
</div>
|
|
107
|
-
<div class="col-sm-
|
|
107
|
+
<div class="col-sm-4 auto" style="text-align:right;">
|
|
108
108
|
<label for="f_collection" ><font size="6px" style="font-weight:bold;color:darkred">收 款 : {{model.f_collection}}</font></label>
|
|
109
109
|
</div>
|
|
110
110
|
<div class="col-sm-12 form-group">
|
|
@@ -113,7 +113,18 @@
|
|
|
113
113
|
v-model="model.f_comments"
|
|
114
114
|
placeholder="备注">
|
|
115
115
|
</div>
|
|
116
|
+
<div style="text-align:right;height: 25%;">
|
|
117
|
+
<button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || validateOk'>确认</button>
|
|
118
|
+
<button class="button_clear btn-gn" @click="clean()">取消</button>
|
|
119
|
+
</div>
|
|
116
120
|
</div>
|
|
121
|
+
|
|
122
|
+
<!-- <payment-code-button :clickable="!$v.valid || validateOk"-->
|
|
123
|
+
<!-- :payment.sync="model.f_payment" :payment-data="paytype"-->
|
|
124
|
+
<!-- @confirm-payment="confirm()">-->
|
|
125
|
+
<!-- </payment-code-button>-->
|
|
126
|
+
|
|
127
|
+
|
|
117
128
|
</div>
|
|
118
129
|
</div>
|
|
119
130
|
|
|
@@ -122,14 +133,6 @@
|
|
|
122
133
|
<print-bill :show="print" :data='model' :bill-config='config' :bill-data='billData' v-on:toggle="close" @printok="printok" v-ref:printbill></print-bill>
|
|
123
134
|
<!-- <print-other-charge-bill :show="print" v-ref:printbill :row='row' :logic='model' v-on:success="close" v-on:toggle="close"></print-other-charge-bill> -->
|
|
124
135
|
<!-- <tax-other-bill :show="taxprint" v-ref:taxprintbill :row='row' :logic='model' v-on:success="close" v-on:toggle="close"></tax-other-bill> -->
|
|
125
|
-
<div class="col-sm-12 form-group" style="text-align:right;height: 25%;">
|
|
126
|
-
<!-- <payment-code-button :clickable="!$v.valid || validateOk"-->
|
|
127
|
-
<!-- :payment.sync="model.f_payment" :payment-data="paytype"-->
|
|
128
|
-
<!-- @confirm-payment="confirm()">-->
|
|
129
|
-
<!-- </payment-code-button>-->
|
|
130
|
-
<button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || validateOk'>确认</button>
|
|
131
|
-
<button class="button_clear btn-gn" @click="clean()">取消</button>
|
|
132
|
-
</div>
|
|
133
136
|
|
|
134
137
|
</validator>
|
|
135
138
|
|
|
@@ -160,7 +160,7 @@ let reprintGen = function *(self, row) {
|
|
|
160
160
|
methods: {
|
|
161
161
|
async search () {
|
|
162
162
|
console.log('aaa:', this.$refs.paged.$refs.criteria.condition)
|
|
163
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
163
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
164
164
|
this.model.search(this.condition, this.model)
|
|
165
165
|
let http = new HttpResetClass()
|
|
166
166
|
let res = await http.load('POST', 'rs/sql/sale_AutomaticPurse', {
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
},
|
|
157
157
|
methods: {
|
|
158
158
|
async search () {
|
|
159
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
159
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
160
160
|
this.model.search(this.condition, this.model)
|
|
161
161
|
let http = new HttpResetClass()
|
|
162
162
|
let res = await http.load('POST', 'rs/sql/sale_cardhandplanQuery', {
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
},
|
|
131
131
|
methods: {
|
|
132
132
|
async search () {
|
|
133
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
133
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
134
134
|
this.model.search(this.condition, this.model)
|
|
135
135
|
let http = new HttpResetClass()
|
|
136
136
|
let res = await http.load('POST', 'rs/sql/sale_ChangeMeterQuery', {
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
},
|
|
127
127
|
methods: {
|
|
128
128
|
async search () {
|
|
129
|
-
this.condition = `i.f_user_id = '${this.row.f_user_id}' and ${this.$refs.paged.$refs.criteria.condition}`
|
|
129
|
+
this.condition = `i.f_user_id = '${this.row.f_user_id}' and u.f_orgid = '${this.$login.f.orgid}' and ${this.$refs.paged.$refs.criteria.condition}`
|
|
130
130
|
this.model.search(this.condition, this.model)
|
|
131
131
|
let http = new HttpResetClass()
|
|
132
132
|
let res = await http.load('POST', 'rs/sql/getChangeRecord', {
|
|
@@ -232,7 +232,7 @@ let reprintGen = function * (self, row) {
|
|
|
232
232
|
methods: {
|
|
233
233
|
async search () {
|
|
234
234
|
console.log('aaa:', this.$refs.paged.$refs.criteria.condition)
|
|
235
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
235
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
236
236
|
this.model.search(this.condition, this.model)
|
|
237
237
|
let http = new HttpResetClass()
|
|
238
238
|
let res = await http.load('POST', 'rs/sql/sale_ChargeQuery', {
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
},
|
|
179
179
|
async search () {
|
|
180
180
|
console.log('aaa:', this.$refs.paged.$refs.criteria.condition)
|
|
181
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
181
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
182
182
|
this.model.search(this.condition, this.model)
|
|
183
183
|
let http = new HttpResetClass()
|
|
184
184
|
let res = await http.load('POST', 'rs/sql/sale_deviceQuery', {
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
methods: {
|
|
96
96
|
async search () {
|
|
97
97
|
if (this.row.f_meter_type.includes('卡表')) {
|
|
98
|
-
this.condition = `f_user_id = '${this.row.f_user_id}'`
|
|
98
|
+
this.condition = `f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
99
99
|
if (this.$refs.paged.$refs.criteria.condition) {
|
|
100
100
|
this.condition += `and ${this.$refs.paged.$refs.criteria.condition}`
|
|
101
101
|
}
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
// this.model.search(this.condition, this.model)
|
|
246
246
|
// },
|
|
247
247
|
async search () {
|
|
248
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
248
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
249
249
|
this.model.search(this.condition, this.model)
|
|
250
250
|
let http = new HttpResetClass()
|
|
251
251
|
let res = await http.load('POST', 'rs/sql/sale_HandplanQuery', {
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
},
|
|
146
146
|
methods: {
|
|
147
147
|
async search () {
|
|
148
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
148
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
149
149
|
this.model.search(this.condition, this.model)
|
|
150
150
|
let http = new HttpResetClass()
|
|
151
151
|
let res = await http.load('POST', 'rs/sql/machineRecordQuery', {
|
|
@@ -139,7 +139,7 @@ export default {
|
|
|
139
139
|
},
|
|
140
140
|
methods: {
|
|
141
141
|
async search () {
|
|
142
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
142
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
143
143
|
this.model.search(this.condition, this.model)
|
|
144
144
|
let http = new HttpResetClass()
|
|
145
145
|
let res = await http.load('POST', 'rs/sql/sale_OtherChargeQuery', {
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
},
|
|
143
143
|
methods: {
|
|
144
144
|
async search () {
|
|
145
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
145
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
146
146
|
this.model.search(this.condition, this.model)
|
|
147
147
|
let http = new HttpResetClass()
|
|
148
148
|
let res = await http.load('POST', 'rs/sql/sale_RecordQuery', {
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
},
|
|
115
115
|
methods: {
|
|
116
116
|
async search () {
|
|
117
|
-
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}'`
|
|
117
|
+
this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_user_id = '${this.row.f_user_id}' and f_orgid = '${this.$login.f.orgid}'`
|
|
118
118
|
this.model.search(this.condition, this.model)
|
|
119
119
|
let http = new HttpResetClass()
|
|
120
120
|
let res = await http.load('POST', 'rs/sql/sale_TransferQuery', {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
<span><strong>发票号:{{model.f_using_number}}</strong></span>
|
|
23
23
|
</div>
|
|
24
24
|
</div>
|
|
25
|
+
<button type="button" class="btn btn-success" @click='print(true)'>选择打印机打印</button>
|
|
25
26
|
<button type="button" class="btn btn-success" @click='print()'>打印</button>
|
|
26
27
|
<report-print id='normal-bill' top='5mm' left='5mm' width='90%' height='80%' :notrepeat="true" :showbtn="false" v-ref:reportprint></report-print>
|
|
27
28
|
<button type="button" class="btn btn-default" @click='cancel()' v-if="!billConfig.hasBillManage">取消</button>
|
|
@@ -77,7 +78,7 @@
|
|
|
77
78
|
this.$emit('error', error)
|
|
78
79
|
})
|
|
79
80
|
},
|
|
80
|
-
async print () {
|
|
81
|
+
async print (select) {
|
|
81
82
|
// 更新系统发票
|
|
82
83
|
try {
|
|
83
84
|
if (this.billConfig.hasBillManage) {
|
|
@@ -85,7 +86,11 @@
|
|
|
85
86
|
} else {
|
|
86
87
|
await this.$resetpost('rs/logic/sale_billReprint', {data: this.data}, {resolveMsg: null, rejectMsg: '票据补打出错!!'})
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
+
if (select) {
|
|
90
|
+
this.$refs.reportprint.print(true)
|
|
91
|
+
} else {
|
|
92
|
+
this.$refs.reportprint.print()
|
|
93
|
+
}
|
|
89
94
|
} catch (error) {
|
|
90
95
|
this.$dispatch('refresh')
|
|
91
96
|
}
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
</validator>
|
|
100
100
|
</article>
|
|
101
101
|
<footer slot="modal-footer" class="modal-footer">
|
|
102
|
+
<button type="button" class="btn btn-success" @click='print(true)' :disabled="!$v.valid">选择打印机打印</button>
|
|
102
103
|
<button type="button" class="btn btn-success" @click='print()' :disabled="!$v.valid">打印</button>
|
|
103
104
|
<report-print id='reissue-bill' top='5mm' left='5mm' width='90%' height='80%' :notrepeat="false" :showbtn="false" v-ref:reportprint></report-print>
|
|
104
105
|
<button class="btn btn-default" @click="clean()">取消</button>
|
|
@@ -251,7 +252,7 @@
|
|
|
251
252
|
clean () {
|
|
252
253
|
this.$dispatch('cancel', '票据补打', this.row)
|
|
253
254
|
},
|
|
254
|
-
async print () {
|
|
255
|
+
async print (select) {
|
|
255
256
|
if (this.config.hasBillManage && !this.model.newNumber.number) {
|
|
256
257
|
this.$showMessage('当前没有票号')
|
|
257
258
|
return
|
|
@@ -265,8 +266,12 @@
|
|
|
265
266
|
this.data.f_cause = this.model.f_cause
|
|
266
267
|
await this.$resetpost('rs/logic/sale_billReprint', {data: this.data}, {resolveMsg: null, rejectMsg: '票据补打出错!!'})
|
|
267
268
|
}
|
|
268
|
-
console.log('开始打印、、')
|
|
269
|
-
|
|
269
|
+
console.log('开始打印、、', select)
|
|
270
|
+
if (select) {
|
|
271
|
+
this.$refs.reportprint.print(true)
|
|
272
|
+
} else {
|
|
273
|
+
this.$refs.reportprint.print()
|
|
274
|
+
}
|
|
270
275
|
} catch (error) {
|
|
271
276
|
this.$dispatch('refresh')
|
|
272
277
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row">
|
|
3
|
+
<div class="basic-main" :class="{'basic-main':!chargeShow,'binary-left':chargeShow}" style="height: 98%;">
|
|
4
|
+
<batch-preloads-list :charge-show="chargeShow" v-ref:list></batch-preloads-list>
|
|
5
|
+
</div>
|
|
6
|
+
<div style="height: 98%;width: 40%" class="binary-right" v-if="chargeShow">
|
|
7
|
+
<batch-preloads-charge :batch-id="batch_id" v-ref:charge></batch-preloads-charge>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
11
|
+
<script>
|
|
12
|
+
export default {
|
|
13
|
+
title: '批量预存',
|
|
14
|
+
data () {
|
|
15
|
+
return {
|
|
16
|
+
chargeShow: false,
|
|
17
|
+
batch_id: ''
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
ready () {},
|
|
21
|
+
methods: {},
|
|
22
|
+
events: {
|
|
23
|
+
async batchToSell (condition) {
|
|
24
|
+
await this.$resetpost(`rs/logic/sale_chargePreloads`, {condition}, {
|
|
25
|
+
resolveMsg: '生成收费记录成功',
|
|
26
|
+
rejectMsg: '生成收费记录失败',
|
|
27
|
+
silent: true
|
|
28
|
+
}, 0).then(res => {
|
|
29
|
+
this.batch_id = res.data
|
|
30
|
+
})
|
|
31
|
+
await this.$refs.list.search()
|
|
32
|
+
this.chargeShow = true
|
|
33
|
+
},
|
|
34
|
+
reSearch () {
|
|
35
|
+
this.chargeShow = false
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
<style lang="less" scoped>
|
|
41
|
+
</style>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<criteria-paged :simple="true" :model="model" v-ref:paged>
|
|
3
|
+
<criteria partial='criteria' v-ref:criteria @condition-changed="$parent.selfSearch">
|
|
4
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
5
|
+
</div>
|
|
6
|
+
</criteria>
|
|
7
|
+
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
8
|
+
<template partial='head'>
|
|
9
|
+
<tr>
|
|
10
|
+
<th>客户编号</th>
|
|
11
|
+
<th>用户姓名</th>
|
|
12
|
+
<th>用气性质</th>
|
|
13
|
+
<th>预存金额</th>
|
|
14
|
+
<th>操作</th>
|
|
15
|
+
</tr>
|
|
16
|
+
</template>
|
|
17
|
+
<template partial='body'>
|
|
18
|
+
<td>{{ row.f_userinfo_code }}</td>
|
|
19
|
+
<td>{{ row.f_user_name }}</td>
|
|
20
|
+
<td>{{ row.f_gasproperties }}</td>
|
|
21
|
+
<td>{{ row.f_collection }}</td>
|
|
22
|
+
<td style="text-align: center;">
|
|
23
|
+
<button @click.stop="$parent.$parent.$parent.report(row)" class="btn btn-link" name="button" type="button"
|
|
24
|
+
v-if="row.f_state==='有效'">票据补打
|
|
25
|
+
</button>
|
|
26
|
+
<button @click.stop="$parent.$parent.$parent.cancel(row)" class="btn btn-link" name="button" type="button"
|
|
27
|
+
v-if="row.f_state==='有效'">撤销记录
|
|
28
|
+
</button>
|
|
29
|
+
</td>
|
|
30
|
+
</template>
|
|
31
|
+
</data-grid>
|
|
32
|
+
</criteria-paged>
|
|
33
|
+
<record-cancel :data="cancel_data" :show.sync="cancel_show" @cancel="cancelOper()" @cancel-success="cancelSucc()" v-if="cancel_show"></record-cancel>
|
|
34
|
+
<reissue-bill :data="reissue_data" :show.sync="reissue_show" @cancel="reissueOper()" @reissue-success="reissueSucc()"
|
|
35
|
+
v-if="reissue_show"></reissue-bill>
|
|
36
|
+
</template>
|
|
37
|
+
<script>
|
|
38
|
+
import {PagedList} from 'vue-client'
|
|
39
|
+
import co from 'co'
|
|
40
|
+
|
|
41
|
+
let reprintGen = function* (self, row) {
|
|
42
|
+
try {
|
|
43
|
+
let reissueData = {}
|
|
44
|
+
reissueData = Object.assign({}, reissueData, row)
|
|
45
|
+
reissueData.f_bill_type = '预存缴费'
|
|
46
|
+
reissueData.f_bill_style = '普通收据'
|
|
47
|
+
reissueData.f_operator = self.$login.f.name
|
|
48
|
+
reissueData.f_operatorid = self.$login.f.id
|
|
49
|
+
reissueData.f_orgid = self.$login.f.orgid
|
|
50
|
+
reissueData.f_orgname = self.$login.f.orgs
|
|
51
|
+
reissueData.f_depid = self.$login.f.depids
|
|
52
|
+
reissueData.f_depname = self.$login.f.deps
|
|
53
|
+
reissueData.billUrl = 'rs/report/pre_sell'
|
|
54
|
+
self.reissue_data = reissueData
|
|
55
|
+
self.reissue_show = true
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (error.status) {
|
|
58
|
+
self.$warn(`加载数据出错, ${JSON.stringify(error)}`, 'CardList')
|
|
59
|
+
}
|
|
60
|
+
throw error
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export default {
|
|
64
|
+
title: '批量预存',
|
|
65
|
+
props: ['batchId'],
|
|
66
|
+
data () {
|
|
67
|
+
return {
|
|
68
|
+
model: new PagedList('rs/sql/batchPreloadsQuery', 30),
|
|
69
|
+
reissue_show: false,
|
|
70
|
+
cancel_show: false,
|
|
71
|
+
cancel_data: null,
|
|
72
|
+
reissue_data: null
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
ready () {
|
|
77
|
+
this.search()
|
|
78
|
+
},
|
|
79
|
+
methods: {
|
|
80
|
+
cancel (row) {
|
|
81
|
+
this.cancel_show = true
|
|
82
|
+
this.cancel_data = row
|
|
83
|
+
},
|
|
84
|
+
cancelOper () {
|
|
85
|
+
this.cancel_data = null
|
|
86
|
+
this.cancel_show = false
|
|
87
|
+
},
|
|
88
|
+
cancelSucc () {
|
|
89
|
+
this.cancel_show = false
|
|
90
|
+
this.search()
|
|
91
|
+
this.$dispatch('refresh')
|
|
92
|
+
},
|
|
93
|
+
selfSearch (args) {
|
|
94
|
+
args.condition = args.condition + ` and tbp.f_batch_id = '${this.batchId}'`
|
|
95
|
+
this.model.search(args.condition, this.model)
|
|
96
|
+
},
|
|
97
|
+
reissueSucc () {
|
|
98
|
+
this.reissue_show = false
|
|
99
|
+
this.$dispatch('refresh')
|
|
100
|
+
},
|
|
101
|
+
reissueOper () {
|
|
102
|
+
this.reissue_data = null
|
|
103
|
+
this.reissue_show = false
|
|
104
|
+
},
|
|
105
|
+
report (row) {
|
|
106
|
+
let reprint = reprintGen(this, row)
|
|
107
|
+
return co(reprint)
|
|
108
|
+
},
|
|
109
|
+
search () {
|
|
110
|
+
this.$refs.paged.$refs.criteria.search()
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
}
|
|
115
|
+
</script>
|
|
116
|
+
<style lang="less" scoped>
|
|
117
|
+
</style>
|