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.
Files changed (37) hide show
  1. package/build/webpack.base.conf.js +1 -0
  2. package/build/webpack.singlepage.conf.js +67 -0
  3. package/package.json +5 -3
  4. package/singlepage/FileUserFiles/App.vue +9 -0
  5. package/singlepage/FileUserFiles/index.html +16 -0
  6. package/singlepage/FileUserFiles/main.js +20 -0
  7. package/src/components/charge/gasloss/gasLossOperate.vue +14 -11
  8. package/src/components/common/userinfo_detail/ic_detail/AutomaticPurse.vue +1 -1
  9. package/src/components/common/userinfo_detail/ic_detail/CardHandRecord.vue +1 -1
  10. package/src/components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser.vue +1 -1
  11. package/src/components/common/userinfo_detail/ic_detail/ChangeRecord.vue +1 -1
  12. package/src/components/common/userinfo_detail/ic_detail/ChargeQueryUser.vue +1 -1
  13. package/src/components/common/userinfo_detail/ic_detail/DeveiceRecord.vue +1 -1
  14. package/src/components/common/userinfo_detail/ic_detail/FillCardQueryUser.vue +1 -1
  15. package/src/components/common/userinfo_detail/ic_detail/HandQueryUser.vue +1 -1
  16. package/src/components/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +1 -1
  17. package/src/components/common/userinfo_detail/ic_detail/OtherChargeQueryUser.vue +1 -1
  18. package/src/components/common/userinfo_detail/ic_detail/RecordQueryUser.vue +1 -1
  19. package/src/components/common/userinfo_detail/ic_detail/TransferQueryUser.vue +1 -1
  20. package/src/components/revenue/Common/PrintBill.vue +7 -2
  21. package/src/components/revenue/Common/ReissueBill.vue +8 -3
  22. package/src/components/revenue/batchPreloads/batchPreloads.vue +41 -0
  23. package/src/components/revenue/batchPreloads/batchPreloadsCharge.vue +117 -0
  24. package/src/components/revenue/batchPreloads/batchPreloadsList.vue +225 -0
  25. package/src/components/revenue/comprehen/Maintenance/revenue/MeterOperatemain.vue +6 -1
  26. package/src/filiale/macheng/UserBaseInfoNew.vue +1 -1
  27. package/src/filiale/qianneng/FilesManage/MeterinfoTest.vue +2 -6
  28. package/src/filiale/qianneng/HighMeter.vue +924 -0
  29. package/src/filiale/qianneng/js/OcxUtil.js +1659 -0
  30. package/src/filiale/qianneng/js/WsUtil.js +2505 -0
  31. package/src/filiale/qianneng/js/axCam_Ocx.js +81 -0
  32. package/src/filiale/qianneng/js/axCam_Ocx2.js +35 -0
  33. package/src/filiale/qianneng/sale.js +1 -0
  34. package/src/filiale/shanggao/FileAddressList.vue +139 -0
  35. package/src/filiale/shanggao/sale.js +7 -0
  36. package/src/main.js +1 -1
  37. package/src/sale.js +12 -12
@@ -35,6 +35,7 @@ module.exports = {
35
35
  /src/,
36
36
  /build/,
37
37
  /examples/,
38
+ /singlepage/,
38
39
  /test/,
39
40
  /node_modules\/vue-client\/src/,
40
41
  /node_modules\/vue-strap\/src/,
@@ -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.91",
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.39",
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,9 @@
1
+ <template>
2
+ <app-base class="bg">
3
+ <div class='flex'>
4
+ <article>
5
+ <route :comp="{name: 'file-user-files'}"></route>
6
+ </article>
7
+ </div>
8
+ </app-base>
9
+ </template>
@@ -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:600px;overflow-y: auto;">
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">&emsp;客户编号</label>
@@ -104,7 +104,7 @@
104
104
  close-on-select clear-button>
105
105
  </v-select>
106
106
  </div>
107
- <div class="col-sm-12" style="text-align:right;">
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">收&emsp;款&emsp;:&emsp;{{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
- this.$refs.reportprint.print()
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
- this.$refs.reportprint.print()
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>