sale-client 3.5.55 → 3.5.57

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.
@@ -1,164 +1,164 @@
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://121.36.106.17:8400'
16
- // var fuwu = 'http://121.36.106.17:8400/'
17
- // 铜川正式
18
- // var fuwu = 'http://61.134.55.234:9999/'
19
- // 铜川测试
20
- // var fuwu = 'http://61.134.55.234:9999/'
21
- // var fuwu = 'http://60.222.250.39:8300/'
22
- // 韶关
23
- // var fuwu = 'http://119.146.1.106:8300/'
24
- // 巩义测试服务
25
- // var fuwu = 'http://192.168.0.227:8400'
26
- // 燎原测试服务
27
- // var fuwu = 'http://121.41.19.238:8400 '
28
- // var fuwu = 'http://121.41.19.238:9001/'
29
-
30
- // var fuwu = 'http://139.214.92.34:8301/'
31
-
32
- var proxyTable = {
33
- '/rs/logic/saleExport': {
34
- target: fuwu
35
- },
36
- '/rs/logic/saleGetExportProgress': {
37
- target: fuwu
38
- },
39
- '/rs/file': {
40
- target: fuwu
41
- },
42
- '/files': {
43
- target: fuwu
44
- },
45
- // 查找资源服务数据
46
- '/rs/search': {
47
- target: fuwu
48
- },
49
- // 查找资源服务数据
50
- '/rs/logic/getLogin': {
51
- target: fuwu
52
- },
53
- // 查找资源服务数据
54
- '/rs/logic/getInitData': {
55
- target: fuwu
56
- },
57
- '/rs/logic/getSaleInitData': {
58
- target: fuwu
59
- },
60
- '/invoice': {
61
- target: fuwu
62
- },
63
- // 用户登录服务地址
64
- '/rs/user': {
65
- target: fuwu
66
- },
67
- '/rs/path/getParams': {
68
- target: fuwu
69
- },
70
- '/rs/data': {
71
- target: fuwu
72
- },
73
- '/rs/license': {
74
- target: fuwu
75
- },
76
- '/rs/db': {
77
- target: fuwu
78
- },
79
- '/excel': {
80
- target: fuwu
81
- },
82
- '/rs/config': {
83
- target: fuwu
84
- },
85
- '/rs/sql/getLicenseById': {
86
- target: fuwu
87
- },
88
- '/rs/sql/manage_getarealist': {
89
- target: fuwu
90
- },
91
- '/rs/sql/manage_getstreetlist': {
92
- target: fuwu
93
- },
94
- '/rs/report': {
95
- target: 'http://121.36.106.17:8400/'
96
- },
97
- '/rs/vue': {
98
- target: fuwu
99
- },
100
- '/webmeter': {
101
- target: 'http://192.168.50.4:8450'
102
- },
103
- '/rs': {
104
- // target: 'http://192.168.30.63:8081/'
105
- // target: 'http://121.36.106.17:8400/'
106
- target: bendi
107
- }
108
- }
109
-
110
- var devMiddleware = require('webpack-dev-middleware')(compiler, {
111
- publicPath: config.output.publicPath,
112
- stats: {
113
- colors: true,
114
- chunks: false
115
- }
116
- })
117
-
118
- var hotMiddleware = require('webpack-hot-middleware')(compiler)
119
- // force page reload when html-webpack-plugin template changes
120
- compiler.plugin('compilation', function (compilation) {
121
- compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
122
- hotMiddleware.publish({action: 'reload'})
123
- cb()
124
- })
125
- })
126
-
127
- // proxy api requests
128
- Object.keys(proxyTable).forEach(function (context) {
129
- var options = proxyTable[context]
130
- if (typeof options === 'string') {
131
- options = {target: options}
132
- }
133
- app.use(proxyMiddleware(context, options))
134
- })
135
-
136
- // handle fallback for HTML5 history API
137
- app.use(require('connect-history-api-fallback')())
138
- // app.use(function (req, res, next) {
139
- // res.header('Access-Control-Allow-Origin', '*')
140
- // res.header('Access-Control-Allow-Headers', 'X-Requested-With')
141
- // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
142
- // res.header('X-Powered-By', '3,2,1')
143
- // res.header('Access-Control-Allow-Credentials', 'true')
144
- // res.header('Content-Type', 'application/json;charset=utf-8')
145
- // next()
146
- // })
147
-
148
- // serve webpack bundle output
149
- app.use(devMiddleware)
150
-
151
- // enable hot-reload and state-preserving
152
- // compilation error display
153
- app.use(hotMiddleware)
154
-
155
- // serve pure static assets
156
- app.use('/static', express.static('./static'))
157
-
158
- module.exports = app.listen(8089, function (err) {
159
- if (err) {
160
- console.log(err)
161
- return
162
- }
163
- console.log('Listening at http://localhost:8089')
164
- })
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://117.33.181.102:8400', bendi1 = 'http://121.36.106.17:8400/'
14
+ // 公司测试服务
15
+ var fuwu = 'http://117.33.181.102:8400'
16
+ // var fuwu = 'http://121.36.106.17:8400/'
17
+ // 铜川正式
18
+ // var fuwu = 'http://61.134.55.234:9999/'
19
+ // 铜川测试
20
+ // var fuwu = 'http://61.134.55.234:9999/'
21
+ // var fuwu = 'http://60.222.250.39:8300/'
22
+ // 韶关
23
+ // var fuwu = 'http://119.146.1.106:8300/'
24
+ // 巩义测试服务
25
+ // var fuwu = 'http://192.168.0.227:8400'
26
+ // 燎原测试服务
27
+ // var fuwu = 'http://121.41.19.238:8400 '
28
+ // var fuwu = 'http://121.41.19.238:9001/'
29
+
30
+ // var fuwu = 'http://139.214.92.34:8301/'
31
+
32
+ var proxyTable = {
33
+ '/rs/logic/saleExport': {
34
+ target: fuwu
35
+ },
36
+ '/rs/logic/saleGetExportProgress': {
37
+ target: fuwu
38
+ },
39
+ '/rs/file': {
40
+ target: fuwu
41
+ },
42
+ '/files': {
43
+ target: fuwu
44
+ },
45
+ // 查找资源服务数据
46
+ '/rs/search': {
47
+ target: fuwu
48
+ },
49
+ // 查找资源服务数据
50
+ '/rs/logic/getLogin': {
51
+ target: fuwu
52
+ },
53
+ // 查找资源服务数据
54
+ '/rs/logic/getInitData': {
55
+ target: fuwu
56
+ },
57
+ '/rs/logic/getSaleInitData': {
58
+ target: fuwu
59
+ },
60
+ '/invoice': {
61
+ target: fuwu
62
+ },
63
+ // 用户登录服务地址
64
+ '/rs/user': {
65
+ target: fuwu
66
+ },
67
+ '/rs/path/getParams': {
68
+ target: fuwu
69
+ },
70
+ '/rs/data': {
71
+ target: fuwu
72
+ },
73
+ '/rs/license': {
74
+ target: fuwu
75
+ },
76
+ '/rs/db': {
77
+ target: fuwu
78
+ },
79
+ '/excel': {
80
+ target: fuwu
81
+ },
82
+ '/rs/config': {
83
+ target: fuwu
84
+ },
85
+ '/rs/sql/getLicenseById': {
86
+ target: fuwu
87
+ },
88
+ '/rs/sql/manage_getarealist': {
89
+ target: fuwu
90
+ },
91
+ '/rs/sql/manage_getstreetlist': {
92
+ target: fuwu
93
+ },
94
+ '/rs/report': {
95
+ target: 'http://121.36.106.17:8400/'
96
+ },
97
+ '/rs/vue': {
98
+ target: fuwu
99
+ },
100
+ '/webmeter': {
101
+ target: 'http://192.168.50.4:8450'
102
+ },
103
+ '/rs': {
104
+ // target: 'http://192.168.30.63:8081/'
105
+ // target: 'http://121.36.106.17:8400/'
106
+ target: bendi
107
+ }
108
+ }
109
+
110
+ var devMiddleware = require('webpack-dev-middleware')(compiler, {
111
+ publicPath: config.output.publicPath,
112
+ stats: {
113
+ colors: true,
114
+ chunks: false
115
+ }
116
+ })
117
+
118
+ var hotMiddleware = require('webpack-hot-middleware')(compiler)
119
+ // force page reload when html-webpack-plugin template changes
120
+ compiler.plugin('compilation', function (compilation) {
121
+ compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
122
+ hotMiddleware.publish({action: 'reload'})
123
+ cb()
124
+ })
125
+ })
126
+
127
+ // proxy api requests
128
+ Object.keys(proxyTable).forEach(function (context) {
129
+ var options = proxyTable[context]
130
+ if (typeof options === 'string') {
131
+ options = {target: options}
132
+ }
133
+ app.use(proxyMiddleware(context, options))
134
+ })
135
+
136
+ // handle fallback for HTML5 history API
137
+ app.use(require('connect-history-api-fallback')())
138
+ // app.use(function (req, res, next) {
139
+ // res.header('Access-Control-Allow-Origin', '*')
140
+ // res.header('Access-Control-Allow-Headers', 'X-Requested-With')
141
+ // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
142
+ // res.header('X-Powered-By', '3,2,1')
143
+ // res.header('Access-Control-Allow-Credentials', 'true')
144
+ // res.header('Content-Type', 'application/json;charset=utf-8')
145
+ // next()
146
+ // })
147
+
148
+ // serve webpack bundle output
149
+ app.use(devMiddleware)
150
+
151
+ // enable hot-reload and state-preserving
152
+ // compilation error display
153
+ app.use(hotMiddleware)
154
+
155
+ // serve pure static assets
156
+ app.use('/static', express.static('./static'))
157
+
158
+ module.exports = app.listen(8089, function (err) {
159
+ if (err) {
160
+ console.log(err)
161
+ return
162
+ }
163
+ console.log('Listening at http://localhost:8089')
164
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.5.55",
3
+ "version": "3.5.57",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -1,132 +1,132 @@
1
- <template>
2
- <div class="auto form-horizontal" >
3
- <modal :show.sync="show &&!billConfig.autoPrint" v-ref:modal large backdrop="false">
4
- <header slot="modal-header" class="modal-header">
5
- <h3 style="color:black" class="modal-title">收费发票</h3>
6
- </header>
7
- <article slot="modal-body" class="modal-body">
8
- <!-- <div v-if="bill.data">-->
9
- <!-- {{{bill.data}}}-->
10
- <!-- </div>-->
11
- <validator name='v'>
12
- <form class="form-horizontal select-overspread">
13
- <div class="row" style="display: flex;justify-content: center;" id='normal-bill' v-if="bill.data">
14
- {{{bill.data}}}
15
- </div>
16
- </form>
17
- </validator>
18
- </article>
19
- <footer slot="modal-footer" class="modal-footer">
20
- <div v-if="billConfig.hasBillManage">
21
- <div class="col-sm-2" >
22
- <span><strong>发票号:{{model.f_using_number}}</strong></span>
23
- </div>
24
- </div>
25
- <button type="button" class="btn btn-success" @click='print(true)'>选择打印机打印</button>
26
- <button type="button" class="btn btn-success" @click='print()' @keyup.enter="print()" v-el:confirmbutton>打印</button>
27
- <report-print id='normal-bill' top='5mm' left='5mm' width='90%' height='80%' :notrepeat="true" :showbtn="false" v-ref:reportprint></report-print>
28
- <button type="button" class="btn btn-default" @click='cancel()' v-if="!billConfig.hasBillManage">取消</button>
29
- </footer>
30
- </modal>
31
- </div>
32
- </template>
33
- <script>
34
- import { DataModel } from 'vue-client'
35
-
36
- let getBillData = async function (self, val) {
37
- console.log('temp:', self)
38
- let temp = {
39
- reprint: "'正常'",
40
- operator: `'${self.$login.f.name}'`,
41
- condition: self.data.id
42
- }
43
- if (self.data.fillgasid) {
44
- temp.condition = `"${self.data.fillgasid}"`
45
- }
46
- console.log('self.billData.url:', self.billData.url)
47
- self.bill = new DataModel(self.billData.url, temp)
48
- await self.bill.search(self.data.id)
49
- // 获取发票号
50
- self.model.f_using_number = self.billData.bill.number
51
- }
52
-
53
- export default {
54
- title: '收费发票',
55
- data () {
56
- return {
57
- model: {
58
- f_using_number: null
59
- },
60
- bill: {},
61
- messShow: false
62
- }
63
- },
64
- props: ['show','data','billData', 'billConfig'],
65
- ready () {
66
- console.log('打票', this.billConfig, this.billData)
67
- },
68
- methods: {
69
- // 确认按钮获得焦点
70
- confirmbuttonfocus () {
71
- this.$nextTick(() => {
72
- this.$els.confirmbutton.focus()
73
- })
74
- },
75
- cancel () {
76
- this.$dispatch('toggle')
77
- },
78
- getbill () {
79
- this.$refs.reportprint.isPrint = true
80
- let val = true
81
- getBillData(this, val).then(() => {
82
- this.$emit('ready')
83
- }).catch((error) => {
84
- this.$emit('error', error)
85
- })
86
- },
87
- async print (select) {
88
- // 更新系统发票
89
- try {
90
- if (this.billConfig.hasBillManage) {
91
- if (this.data.f_bill_type != '清算单') { await this.$CommonService.openPaperBill(this.data.id, this.data.f_bill_type, this.billConfig.billType, this.billData.bill, '正常') }
92
- } else {
93
- await this.$resetpost('rs/logic/sale_billReprint', {data: this.data}, {resolveMsg: null, rejectMsg: '票据补打出错!!'})
94
- }
95
- if (select) {
96
- this.$refs.reportprint.print(true)
97
- } else {
98
- this.$refs.reportprint.print()
99
- }
100
- } catch (error) {
101
- this.$dispatch('refresh')
102
- }
103
- }
104
- },
105
- watch: {
106
- 'show' (val) {
107
- if (val) {
108
- getBillData(this, val).then(() => {
109
- if(this.billConfig.autoPrint){
110
- this.print()
111
- }
112
- this.$emit('ready')
113
- }).catch((error) => {
114
- this.$emit('error', error)
115
- })
116
- this.confirmbuttonfocus()
117
- }
118
- }
119
- },
120
- events: {
121
- 'print' () {
122
- // 对票据明细进行更新或插入操作
123
- this.$dispatch('printok', '发票打印', this.data)
124
- },
125
- 'print-error' () {
126
- this.$dispatch('error', '发票打印', this.data, null)
127
- }
128
- }
129
- }
130
- </script>
131
- <style >
132
- </style>
1
+ <template>
2
+ <div class="auto form-horizontal" >
3
+ <modal :show.sync="show &&!billConfig.autoPrint" v-ref:modal large backdrop="false">
4
+ <header slot="modal-header" class="modal-header">
5
+ <h3 style="color:black" class="modal-title">收费发票</h3>
6
+ </header>
7
+ <article slot="modal-body" class="modal-body">
8
+ <!-- <div v-if="bill.data">-->
9
+ <!-- {{{bill.data}}}-->
10
+ <!-- </div>-->
11
+ <validator name='v'>
12
+ <form class="form-horizontal select-overspread">
13
+ <div class="row" style="display: flex;justify-content: center;" id='normal-bill' v-if="bill.data">
14
+ {{{bill.data}}}
15
+ </div>
16
+ </form>
17
+ </validator>
18
+ </article>
19
+ <footer slot="modal-footer" class="modal-footer">
20
+ <div v-if="billConfig.hasBillManage">
21
+ <div class="col-sm-2" >
22
+ <span><strong>发票号:{{model.f_using_number}}</strong></span>
23
+ </div>
24
+ </div>
25
+ <button type="button" class="btn btn-success" @click='print(true)'>选择打印机打印</button>
26
+ <button type="button" class="btn btn-success" @click='print()' @keyup.enter="print()" v-el:confirmbutton>打印</button>
27
+ <report-print id='normal-bill' top='5mm' left='5mm' width='90%' height='80%' :notrepeat="true" :showbtn="false" v-ref:reportprint></report-print>
28
+ <button type="button" class="btn btn-default" @click='cancel()' v-if="!billConfig.hasBillManage">取消</button>
29
+ </footer>
30
+ </modal>
31
+ </div>
32
+ </template>
33
+ <script>
34
+ import { DataModel } from 'vue-client'
35
+
36
+ let getBillData = async function (self, val) {
37
+ console.log('temp:', self)
38
+ let temp = {
39
+ reprint: "'正常'",
40
+ operator: `'${self.$login.f.name}'`,
41
+ condition: self.data.id
42
+ }
43
+ if (self.data.fillgasid) {
44
+ temp.condition = `"${self.data.fillgasid}"`
45
+ }
46
+ console.log('self.billData.url:', self.billData.url)
47
+ self.bill = new DataModel(self.billData.url, temp)
48
+ await self.bill.search(self.data.id)
49
+ // 获取发票号
50
+ self.model.f_using_number = self.billData.bill.number
51
+ }
52
+
53
+ export default {
54
+ title: '收费发票',
55
+ data () {
56
+ return {
57
+ model: {
58
+ f_using_number: null
59
+ },
60
+ bill: {},
61
+ messShow: false
62
+ }
63
+ },
64
+ props: ['show','data','billData', 'billConfig'],
65
+ ready () {
66
+ console.log('打票', this.billConfig, this.billData)
67
+ },
68
+ methods: {
69
+ // 确认按钮获得焦点
70
+ confirmbuttonfocus () {
71
+ this.$nextTick(() => {
72
+ this.$els.confirmbutton.focus()
73
+ })
74
+ },
75
+ cancel () {
76
+ this.$dispatch('toggle')
77
+ },
78
+ getbill () {
79
+ this.$refs.reportprint.isPrint = true
80
+ let val = true
81
+ getBillData(this, val).then(() => {
82
+ this.$emit('ready')
83
+ }).catch((error) => {
84
+ this.$emit('error', error)
85
+ })
86
+ },
87
+ async print (select) {
88
+ // 更新系统发票
89
+ try {
90
+ if (this.billConfig.hasBillManage) {
91
+ if (this.data.f_bill_type != '清算单') { await this.$CommonService.openPaperBill(this.data.id, this.data.f_bill_type, this.billConfig.billType, this.billData.bill, '正常') }
92
+ } else {
93
+ await this.$resetpost('rs/logic/sale_billReprint', {data: this.data}, {resolveMsg: null, rejectMsg: '票据补打出错!!'})
94
+ }
95
+ if (select) {
96
+ this.$refs.reportprint.print(true)
97
+ } else {
98
+ this.$refs.reportprint.print()
99
+ }
100
+ } catch (error) {
101
+ this.$dispatch('refresh')
102
+ }
103
+ }
104
+ },
105
+ watch: {
106
+ 'show' (val) {
107
+ if (val) {
108
+ getBillData(this, val).then(() => {
109
+ if(this.billConfig.autoPrint){
110
+ this.print()
111
+ }
112
+ this.$emit('ready')
113
+ }).catch((error) => {
114
+ this.$emit('error', error)
115
+ })
116
+ this.confirmbuttonfocus()
117
+ }
118
+ }
119
+ },
120
+ events: {
121
+ 'print' () {
122
+ // 对票据明细进行更新或插入操作
123
+ this.$dispatch('printok', '发票打印', this.data)
124
+ },
125
+ 'print-error' () {
126
+ this.$dispatch('error', '发票打印', this.data, null)
127
+ }
128
+ }
129
+ }
130
+ </script>
131
+ <style >
132
+ </style>
@@ -49,7 +49,7 @@
49
49
  <upload :blodid="blodid" v-if="config.showupload" isremark="true" fusetype="用户记录转移管理"></upload>
50
50
  <modal v-if="notarize" :show.sync="notarize" width="100%" title="信息确认" v-ref:modal large backdrop="false">
51
51
  <article slot="modal-body" class="modal-body" style="text-align: center">
52
- <strong>此操作具有一定的风险性,需要您再次确认转出方用户信息,请输入转出方用户编号</strong>
52
+ <strong>此操作具有一定的风险性,需要您再次确认转出方用户信息,请输入转入方用户编号</strong>
53
53
  <div class="row">
54
54
  <div class="col-sm-6 col-sm-offset-3">
55
55
  <label for="f_newuser_name" id="label" class="font_normal_body">再次确认用户编号</label>
@@ -0,0 +1,132 @@
1
+ <template>
2
+ <div class="auto form-horizontal" >
3
+ <modal :show.sync="show &&!billConfig.autoPrint" v-ref:modal large backdrop="false">
4
+ <header slot="modal-header" class="modal-header">
5
+ <h3 style="color:black" class="modal-title">收费发票</h3>
6
+ </header>
7
+ <article slot="modal-body" class="modal-body">
8
+ <!-- <div v-if="bill.data">-->
9
+ <!-- {{{bill.data}}}-->
10
+ <!-- </div>-->
11
+ <validator name='v'>
12
+ <form class="form-horizontal select-overspread">
13
+ <div class="row" style="display: flex;justify-content: center;" id='normal-bill' v-if="bill.data">
14
+ {{{bill.data}}}
15
+ </div>
16
+ </form>
17
+ </validator>
18
+ </article>
19
+ <footer slot="modal-footer" class="modal-footer">
20
+ <div v-if="billConfig.hasBillManage">
21
+ <div class="col-sm-2" >
22
+ <span><strong>发票号:{{model.f_using_number}}</strong></span>
23
+ </div>
24
+ </div>
25
+ <button type="button" class="btn btn-success" @click='print(true)'>选择打印机打印</button>
26
+ <button type="button" class="btn btn-success" @click='print()' @keyup.enter="print()" v-el:confirmbutton>打印</button>
27
+ <report-print id='normal-bill' top='5mm' left='5mm' width='90%' height='80%' :notrepeat="true" :showbtn="false" v-ref:reportprint></report-print>
28
+ <button type="button" class="btn btn-default" @click='cancel()' v-if="!billConfig.hasBillManage">取消</button>
29
+ </footer>
30
+ </modal>
31
+ </div>
32
+ </template>
33
+ <script>
34
+ import { DataModel } from 'vue-client'
35
+
36
+ let getBillData = async function (self, val) {
37
+ console.log('temp:', self)
38
+ let temp = {
39
+ reprint: "'正常'",
40
+ operator: `'${self.$login.f.name}'`,
41
+ condition: self.data.id
42
+ }
43
+ if (self.data.fillgasid) {
44
+ temp.fillgasid = `"${self.data.fillgasid}"`
45
+ }
46
+ console.log('self.billData.url:', self.billData.url)
47
+ self.bill = new DataModel(self.billData.url, temp)
48
+ await self.bill.search(self.data.id)
49
+ // 获取发票号
50
+ self.model.f_using_number = self.billData.bill.number
51
+ }
52
+
53
+ export default {
54
+ title: '收费发票',
55
+ data () {
56
+ return {
57
+ model: {
58
+ f_using_number: null
59
+ },
60
+ bill: {},
61
+ messShow: false
62
+ }
63
+ },
64
+ props: ['show','data','billData', 'billConfig'],
65
+ ready () {
66
+ console.log('打票', this.billConfig, this.billData)
67
+ },
68
+ methods: {
69
+ // 确认按钮获得焦点
70
+ confirmbuttonfocus () {
71
+ this.$nextTick(() => {
72
+ this.$els.confirmbutton.focus()
73
+ })
74
+ },
75
+ cancel () {
76
+ this.$dispatch('toggle')
77
+ },
78
+ getbill () {
79
+ this.$refs.reportprint.isPrint = true
80
+ let val = true
81
+ getBillData(this, val).then(() => {
82
+ this.$emit('ready')
83
+ }).catch((error) => {
84
+ this.$emit('error', error)
85
+ })
86
+ },
87
+ async print (select) {
88
+ // 更新系统发票
89
+ try {
90
+ if (this.billConfig.hasBillManage) {
91
+ if (this.data.f_bill_type != '清算单') { await this.$CommonService.openPaperBill(this.data.id, this.data.f_bill_type, this.billConfig.billType, this.billData.bill, '正常') }
92
+ } else {
93
+ await this.$resetpost('rs/logic/sale_billReprint', {data: this.data}, {resolveMsg: null, rejectMsg: '票据补打出错!!'})
94
+ }
95
+ if (select) {
96
+ this.$refs.reportprint.print(true)
97
+ } else {
98
+ this.$refs.reportprint.print()
99
+ }
100
+ } catch (error) {
101
+ this.$dispatch('refresh')
102
+ }
103
+ }
104
+ },
105
+ watch: {
106
+ 'show' (val) {
107
+ if (val) {
108
+ getBillData(this, val).then(() => {
109
+ if(this.billConfig.autoPrint){
110
+ this.print()
111
+ }
112
+ this.$emit('ready')
113
+ }).catch((error) => {
114
+ this.$emit('error', error)
115
+ })
116
+ this.confirmbuttonfocus()
117
+ }
118
+ }
119
+ },
120
+ events: {
121
+ 'print' () {
122
+ // 对票据明细进行更新或插入操作
123
+ this.$dispatch('printok', '发票打印', this.data)
124
+ },
125
+ 'print-error' () {
126
+ this.$dispatch('error', '发票打印', this.data, null)
127
+ }
128
+ }
129
+ }
130
+ </script>
131
+ <style >
132
+ </style>
@@ -10,6 +10,7 @@ let specialComp = {
10
10
  // 其它补气
11
11
  'other-gas': (resolve) => { require(['./OtherGas'], resolve) },
12
12
  // 其它补气
13
- 'change_fill_sendcard': (resolve) => { require(['./ChangeSendCard'], resolve) }
13
+ 'change_fill_sendcard': (resolve) => { require(['./ChangeSendCard'], resolve) },
14
+ 'print-bill': (resolve) => { require(['./PrintBill'], resolve) }
14
15
  }
15
16
  exports.specialComp = specialComp
@@ -0,0 +1,460 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="span" style="overflow-y: auto;">
4
+ <validator name='v'>
5
+ <form novalidate class="form-horizontal">
6
+ <div class="row">
7
+ <div class="col-sm-4">
8
+ <label for="f_paytype" class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
9
+ <v-select id="f_payment"
10
+ v-model="f_payment"
11
+ placeholder='请选择'
12
+ :value.sync="model.f_payment"
13
+ :options='paytype'
14
+ close-on-select clear-button></v-select>
15
+ </div>
16
+ <div class="col-sm-4"
17
+ :class="[$v.f_pregas.required || $v.f_pregas.dctest? 'has-error' : 'has-success']">
18
+ <label for="f_pregas" class=" font_normal_body">预购气量</label>
19
+ <input class="input_search" style="width:60%" type="number"
20
+ @blur="pregas()" v-model="model.f_pregas" id="fpregas"
21
+ v-validate:f_pregas='{required: true, dctest: [maxgas, "<=" ]}' placeholder="预购气量"
22
+ v-next-el='sk' >
23
+ </div>
24
+ <!-- <div class="col-sm-4" v-if="row.f_collection_type == '按金额'">
25
+ <label for="f_pregas" class=" font_normal_body">预购气量</label>
26
+ <input class="input_search" style="width:60%" type="number"
27
+ @blur="pregas()" v-model="model.f_pregas" placeholder="预购气量"
28
+ v-next-el='sk' disabled>
29
+ </div>-->
30
+
31
+ <div class="col-sm-4">
32
+ <label for="f_preamount" class=" font_normal_body">预购金额</label>
33
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
34
+ v-validate:f_preamount='{required: true, dctest: [maxmoney, "<=" ] }'
35
+ v-scale="[model.f_preamount, 4]" placeholder="预购金额" disabled>
36
+ </div>
37
+ </div>
38
+ <div class="row" style="margin-top:6px;">
39
+
40
+ <div class="col-sm-4">
41
+ <label for="f_print" class="font_normal_body">打印格式</label>
42
+ <v-select id="print"
43
+ v-model="f_print"
44
+ placeholder='请选择'
45
+ :multiple="mulPrint"
46
+ :value.sync="model.f_print"
47
+ :options='printstyle'
48
+ close-on-select clear-button></v-select>
49
+ </div>
50
+ <div class="col-sm-4" v-if="hasLimit&&limitgas">
51
+ <label class="font_normal_body">购气上限</label>
52
+ <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="maxgas"
53
+ v-scale="[maxgas, 2]" placeholder='限购余气' disabled>
54
+ </div>
55
+ <div class="col-sm-4 form-group" v-if="hasLimit&&limitmoney">
56
+ <label class="font_normal_body">金额上限</label>
57
+ <input class="input_search" style="width:60%" style="width:60%" type="number" v-model="maxmoney"
58
+ v-scale="[maxmoney, 2]" placeholder='限购金额' disabled>
59
+ </div>
60
+ <div class="col-sm-4" v-if="!hasLimit">
61
+ </div>
62
+
63
+ <div class="col-sm-4"
64
+ :class="[$v.f_totalcost.required || $v.f_totalcost.dctest ? 'has-error' : 'has-success']">
65
+ <label for="f_temp_amount" v-if="row.f_collection_type === '按气量'"
66
+ class=" font_normal_body">应收金额</label>
67
+ <label for="f_temp_amount" v-if="row.f_collection_type === '按金额'"
68
+ class=" font_normal_body">本次缴费</label>
69
+ <input class="input_search" style="width:60%" type="number"
70
+ @blur="preamount()" v-model="model.f_totalcost"
71
+ v-validate:f_totalcost='{required: true, dctest: [0, ">=" ] }' placeholder="应收金额"
72
+ v-next-el='sk' v-scale="[model.f_totalcost, 4]" >
73
+ </div>
74
+ </div>
75
+ <div class="row">
76
+ <div class="col-sm-4">
77
+ <label for="f_balance" class="font_normal_body">上期结余</label>
78
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_balance"
79
+ v-scale="[model.f_balance, 4]" placeholder="上期结余" disabled>
80
+ </div>
81
+ <div class="col-sm-4">
82
+ <label for="f_curbalance" class="font_normal_body">本期结余</label>
83
+ <input class="input_search" style="width:60%" type="number" v-model="curbalance"
84
+ v-scale="[model.f_curbalance, 4]" placeholder="本期结余" disabled>
85
+ </div>
86
+
87
+ <div class="col-sm-4" v-if="row.f_collection_type === '按气量'"
88
+ :class="[$v.f_collection.required ? 'has-error' : 'has-success']">
89
+ <label for="f_collection" class=" font_normal_body">&nbsp;&nbsp;&nbsp;收款&nbsp;&nbsp;&nbsp;</label>
90
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
91
+ v-validate:f_collection='{required: true, dctest: [model.f_totalcost, ">=" ] }'
92
+ v-el:sk v-scale="[model.f_totalcost, 2]">
93
+ </div>
94
+ <div class="col-sm-4" v-if="row.f_collection_type === '按金额'">
95
+ <label for="f_collection" class=" font_normal_body">&nbsp;&nbsp;&nbsp;收款&nbsp;&nbsp;&nbsp;</label>
96
+ <input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
97
+ v-el:sk v-scale="[model.f_collection, 4]" disabled>
98
+ </div>
99
+ </div>
100
+ <div class="row" style="margin-top:5px;">
101
+ <div class="col-sm-4" v-if="!mjshow" >
102
+ <label for="f_serial_number" class=" font_normal_body">业务单号</label>
103
+ <input class="input_search" style="width:60%" type="text"
104
+ v-model="model.f_serial_number" placeholder="业务单号">
105
+ </div>
106
+ <div class="col-sm-4" v-if="mjshow" :class="[$v.f_serial_number.required || $v.f_serial_number.dctest ? 'has-error' : 'has-success']">
107
+ <label for="f_serial_number" class=" font_normal_body">业务单号</label>
108
+ <input class="input_search" style="width:60%" type="text" v-validate:f_serial_number='{required: true }'
109
+ v-model="model.f_serial_number" placeholder="业务单号">
110
+ </div>
111
+ <div class="col-sm-4">
112
+ <label for="f_write_card" style="color: red" class=" font_normal_body">是否写卡</label>
113
+ <v-select id="f_write_card"
114
+ v-model="model.f_write_card"
115
+ placeholder='是否写卡'
116
+ value-single
117
+ :value.sync="model.f_write_card"
118
+ :options='writecard'
119
+ close-on-select clear-button></v-select>
120
+ </div>
121
+ </div>
122
+ <div class="row" style="margin-top:5px;">
123
+ <div class="col-sm-9">
124
+ </div>
125
+ <div class="col-sm-3">
126
+ <span v-if="$v.f_collection.dctest" style="color:red ">收款不能小于应收金额</span>
127
+ </div>
128
+ </div>
129
+ <div class="row" v-if="model.f_payment[0].includes('POS')">
130
+ <div class="col-sm-4">
131
+ <label for="f_voucher_number" class="font_normal_body">凭证号</label>
132
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_voucher_number" placeholder="凭证号">
133
+ </div>
134
+ </div>
135
+ <div class="row" v-if="!config.notShowFormula">
136
+ <div class="col-sm-4 col-sm-offset-8">
137
+ <strong>计算公式:{{calculatedetail ? calculatedetail : ' 暂无'}}</strong>
138
+ </div>
139
+ </div>
140
+ <div class="row">
141
+ <div class="col-sm-5" v-if="row.f_collection_type === '按气量'">
142
+ <strong style="color:blue">温馨提示: 此气表品牌是按气量收费!!</strong>
143
+ </div>
144
+ <div class="col-sm-4" v-if="row.f_collection_type === '按金额'">
145
+ <strong style="color:blue">温馨提示: 此气表品牌是按金额收费!!</strong>
146
+ </div>
147
+ </div>
148
+ </form>
149
+ <print-bill :show="print" :bill-config='config' v-ref:printbill :bill-data='billData' :data='row'
150
+ v-on:toggle="close" @printok="printok" :data='row'></print-bill>
151
+ <div style="text-align:right;height: 25%;">
152
+ <payment-code-button :clickable="!$v.valid || clickConfirm"
153
+ :payment.sync="model.f_payment" :payment-data="paytype"
154
+ @confirm-payment="confirm()">
155
+ </payment-code-button>
156
+ <button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || clickConfirm'>确认</button>
157
+ <button class="button_clear btn-gn" @click="clean()">取消</button>
158
+ </div>
159
+ </validator>
160
+ <payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_collection"></payment-code>
161
+ <upload :blodid="row.f_userinfo_id" v-if="config.showupload" isremark="true" fusetype="无卡收费"></upload>
162
+ </div>
163
+ </div>
164
+ </template>
165
+ <script>
166
+ /**
167
+ *综合业务
168
+ *卡表收费组件
169
+ */
170
+
171
+ // 输入金额,换算气量
172
+ let preamountGen = async function (self) {
173
+ let dymoney = 0
174
+ let calFee = (self.model.f_totalcost - 0) + (self.row.f_balance - 0)
175
+ let getGas = await self.$CommonService.feeCalculate(self.model, calFee)
176
+ if (getGas.data.gas) {
177
+ if (self.row.f_isdecimal === '是') {
178
+ if (self.row.f_alias === 'QiaoSong') {
179
+ self.model.f_pregas = (getGas.data.gas - 0).toFixed(1)
180
+ } else {
181
+ self.model.f_pregas = (getGas.data.gas - 0).toFixed(4)
182
+ }
183
+ } else {
184
+ let tempnum = Math.floor(getGas.data.gas - 0)
185
+ let dymoney1 = await self.$CommonService.gasCalculate(self.model, (tempnum).toFixed(4))
186
+ dymoney = (getGas.data.chargenum - 0).toFixed(2) - (dymoney1.data.chargenum - 0).toFixed(2)
187
+ self.model.f_pregas = Math.floor(getGas.data.gas - 0)
188
+ }
189
+ }
190
+ self.model.f_preamount = calFee - (dymoney - 0)
191
+ self.model.chargeprice = getGas.data.chargeprice
192
+ Object.assign(self.model, self.model, getGas.data)
193
+ self.model.f_totalcost = ((self.model.f_totalcost - 0) - (dymoney - 0)).toFixed(4)
194
+ // self.model.f_totalcost=Math.ceil(self.model.f_totalcost)
195
+ if(self.config.floor){
196
+ self.model.f_totalcost=Math.ceil(self.model.f_totalcost)
197
+ }
198
+ self.calText(getGas.data.chargeprice)
199
+ }
200
+
201
+ // 输入气量,换算金额
202
+ let pregasGen = async function (self) {
203
+ if (self.row.f_isdecimal === '是') {
204
+ self.model.f_pregas = (self.model.f_pregas - 0).toFixed(4)
205
+ } else {
206
+ self.model.f_pregas = (self.model.f_pregas - 0).toFixed(0)
207
+ }
208
+ if ((self.model.f_pregas - 0) - (self.maxgas - 0) <= 0) {
209
+ self.model.f_meter_type = self.row.f_meter_type
210
+ let getAmount = await self.$CommonService.gasCalculate(self.model, self.model.f_pregas)
211
+ self.model.f_preamount = getAmount.data.chargenum
212
+ 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))
213
+ Object.assign(self.model, self.model, getAmount.data)
214
+ self.model.chargeprice = getAmount.data.chargeprice
215
+ self.model.f_collection = self.model.f_totalcost
216
+ if(self.config.floor){
217
+ self.model.f_collection=Math.ceil(self.model.f_collection)
218
+ }
219
+ self.calText(getAmount.data.chargeprice)
220
+ }
221
+ }
222
+
223
+ // 执行保存逻辑
224
+ let sellgasGen = async function (self) {
225
+ try {
226
+ self.model.f_write_money = self.model.f_preamount
227
+ if (self.row.f_price_type == '阶梯气价' && self.row.f_is_step == '否') {
228
+ self.model.f_write_money = (self.model.f_pregas * self.model.chargeprice[0].f_price)
229
+ self.model.f_write_money = self.model.f_write_money.toFixed(2)
230
+ }
231
+ // 加入扫码盒付款码支付流水号
232
+ self.model.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
233
+
234
+ let res = await self.$CardService.noCardSellGas(self.model, self.row, self.cardallot)
235
+ console.log('卡表收费返回id', res, self.model)
236
+
237
+ // 开始打票
238
+ if (self.config.hasPrint) {
239
+ if (self.model.f_print.indexOf('电子发票') == -1) {
240
+ if (self.config.hasBillManage) {
241
+ // 启用发票管理,获取票据管理中的票号并存储记录
242
+ self.row.id = res
243
+ self.row.f_bill_type = '卡表收费'
244
+ self.row.f_bill_style = self.model.f_print[0]
245
+ self.row.f_preamount = self.model.f_preamount
246
+ self.row.f_collection = self.model.f_collection
247
+ self.print = true
248
+ } else {
249
+ self.row.id = res
250
+ self.print = true
251
+ }
252
+ } else {
253
+ if (self.model.f_print[0] === '电子发票') {
254
+ await self.$CommonService.openEticket(res, '售气收费')
255
+ self.row.id = res
256
+ self.print = true
257
+ }
258
+ }
259
+ } else {
260
+ self.$dispatch('success')
261
+ }
262
+ self.clickConfirm = false
263
+ } catch (error) {
264
+ self.$showAlert(error, 'danger', 0)
265
+ self.$dispatch('refresh')
266
+ self.clickConfirm = false
267
+ }
268
+ }
269
+
270
+ let asyncCardMeterCenter = async function (self) {
271
+ await self.$getConfig(self, 'CardMeterCenter')
272
+ console.log('卡表收费config', self.config)
273
+ // 默认打印格式
274
+ self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
275
+ self.model.f_payment = [self.config.payment]
276
+ self.mulPrint = self.config.printType instanceof Array
277
+ // 判断限购
278
+ let limit_param = {
279
+ f_userinfo_id: self.row.f_userinfo_id,
280
+ f_user_id: self.row.f_user_id,
281
+ f_stairprice_id: self.row.f_stairprice_id
282
+ }
283
+ let getLimit = await self.$resetpost('rs/logic/sale_getLimitGas', {data: limit_param}, {resolveMsg: null, rejectMsg: '获取限购值失败!!'})
284
+ console.log('获取限购值', getLimit)
285
+ self.hasLimit = getLimit.data.hasLimit
286
+ if (self.hasLimit) {
287
+ if (getLimit.data.f_limit_value || getLimit.data.f_limit_amount) {
288
+ if (getLimit.data.f_limit_value < 0 && getLimit.data.f_limit_amount < 0) {
289
+ self.$showAlert(`${getLimit.data.msg}`, 'warning', 3000)
290
+ self.$dispatch('refresh')
291
+ } else {
292
+ if (getLimit.data.f_limit_value) {
293
+ self.maxgas = (getLimit.data.f_limit_value - 0)
294
+ self.limitgas = true
295
+ }
296
+ if (getLimit.data.f_limit_amount) {
297
+ self.maxmoney = (getLimit.data.f_limit_amount - 0)
298
+ self.limitmoney = true
299
+ }
300
+ }
301
+ }
302
+ }
303
+ }
304
+ export default {
305
+ title: '无卡收费',
306
+ data () {
307
+ return {
308
+ serialShow: false,
309
+ config: {
310
+ notShowFormula: false, // 不显示计算公式,默认显示
311
+ hasPrint: true, // 默认打票
312
+ hasBillManage: false, // 默认不启用发票管理
313
+ floor: false, //是否取整收费
314
+ billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
315
+ printType: '普通收据', // 收据/电子票/专用发票/国税发票
316
+ payment: '现金缴费'
317
+ },
318
+ model: {
319
+ f_purchase: 0,
320
+ f_write_card: '不写卡',
321
+ f_payment: '现金缴费',
322
+ f_pregas: '',
323
+ f_preamount: 0,
324
+ f_totalcost: 0,
325
+ f_curbalance: 0,
326
+ f_collection: '',
327
+ f_balance: 0,
328
+ f_print: [],
329
+ f_meter_type: '',
330
+ f_voucher_number: ''
331
+ },
332
+ calculatedetail: '',
333
+ print: false,
334
+ billData: {
335
+ url: 'rs/report/card_bill',
336
+ billnumber: ''
337
+ },
338
+ hasLimit: false,
339
+ maxgas: 99999999, // 限购
340
+ maxmoney: 99999999,
341
+ limitmoney: false,
342
+ limitgas: false,
343
+ mulPrint: false,
344
+ clickConfirm: false, // 控制确认按钮只能点击一次
345
+ // 下拉框值
346
+ paytype: this.$appdata.getParam('付款方式'),
347
+ printstyle: this.$appdata.getParam('打印格式'),
348
+ writecard: [{label: '写卡',value:'写卡'},{label: '不写卡',value:'不写卡'}],
349
+ mjshow: false
350
+ }
351
+ },
352
+ props: ['row'],
353
+ ready () {
354
+ // this.getPurchase()
355
+ this.model.f_price_id = this.row.f_price_id
356
+ this.model.f_user_id = this.row.f_user_id
357
+ this.model.f_userfiles_id = this.row.f_userfiles_id
358
+ this.model.f_userinfo_id = this.row.f_userinfo_id
359
+ this.model.f_balance = this.row.f_alias === 'QiaoSong' ? Math.trunc(this.row.f_balance) : this.row.f_balance
360
+ if (this.row.f_collection_type == '按金额') {
361
+ this.model.f_totalcost = ''
362
+ this.model.f_pregas = 0
363
+ }
364
+ document.getElementById('fpregas').focus()
365
+ asyncCardMeterCenter(this)
366
+ },
367
+ methods: {
368
+ confirm () {
369
+ this.$showMessage(`对客户${this.row.f_user_name}进行收费。该操作只做收费,不做写卡,确定要进行该操作吗?`, ['confirm', 'cancel']).then(async (res) => {
370
+ if (res === 'confirm') {
371
+ let ss = await this.$refs.paymentcode.flowPath()
372
+ this.$refs.paymentcode.paymentCodeShow = false
373
+ console.log('付款码操作返回', ss)
374
+ if (!ss.result) return
375
+ this.clickConfirm = true
376
+ this.model.f_curbalance = this.curbalance
377
+ this.$dispatch('no-button')
378
+ sellgasGen(this)
379
+ }
380
+ })
381
+ },
382
+ clean () {
383
+ this.$info('取消操作')
384
+ this.$dispatch('refresh', this.row)
385
+ },
386
+ printok () {
387
+ // 收据打完,判断是否还有其他票据进行请求
388
+ for (let i = 0; i < this.model.f_print.length; i++) {
389
+ if (this.model.f_print[i] === '电子发票') {
390
+ this.$CommonService.openEticket(this.row.id, '售气收费')
391
+ }
392
+ }
393
+ this.$dispatch('success')
394
+ },
395
+ pregas () {
396
+ if (this.model.f_pregas && this.model.f_pregas > 0) {
397
+ try {
398
+ // 对气量进行验证
399
+ if ((this.row.f_topup_ceil - 0) > 0 && (this.model.f_pregas - 0) > (this.row.f_topup_ceil - 0)) {
400
+ this.$showAlert(`您输入的气量不能大于该表的充值上限: ${this.row.f_topup_ceil}`, 'warning', 5000)
401
+ this.model.f_pregas = null
402
+ } else {
403
+ pregasGen(this)
404
+ }
405
+ } catch (error) {
406
+ this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
407
+ this.$dispatch('error', '发卡售气', this.model, error)
408
+ }
409
+ }
410
+ },
411
+ preamount () {
412
+ if ((this.model.f_totalcost && this.model.f_totalcost > 0) || this.row.f_balance > 0) {
413
+ try {
414
+ preamountGen(this)
415
+ } catch (error) {
416
+ this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
417
+ this.$dispatch('error', '发卡售气', this.model, error)
418
+ }
419
+ }
420
+ },
421
+ calText (val) {
422
+ let str = ''
423
+ val.forEach((item) => {
424
+ str = str + item.f_price + ' x ' + item.f_gas + '+'
425
+ })
426
+ str = str.slice(0, str.length - 1)
427
+ this.calculatedetail = str
428
+ },
429
+ close () {
430
+ this.print = false
431
+ this.clean()
432
+ }
433
+ },
434
+ watch: {
435
+ 'model.f_payment' (val) {
436
+ if (val == '免交') {
437
+ this.mjshow = true
438
+ } else {
439
+ this.mjshow = false
440
+ }
441
+ }
442
+ },
443
+ computed: {
444
+ 'curbalance' () {
445
+ if (this.model.f_preamount) {
446
+ if (this.row.f_collection_type === '按金额') {
447
+ return ((this.model.f_totalcost - 0) + (this.row.f_balance - 0) - (this.model.f_preamount - 0)).toFixed(4)
448
+ } else {
449
+ return ((this.model.f_collection - 0) + (this.row.f_balance - 0) - (this.model.f_preamount - 0)).toFixed(4)
450
+ }
451
+ } else {
452
+ return 0
453
+ }
454
+ }
455
+ }
456
+ }
457
+ </script>
458
+
459
+ <style>
460
+ </style>
@@ -63,7 +63,10 @@ let specialComp = {
63
63
  'eticket-modal': (resolve) => { require(['./eticket/EticketModal'], resolve) },
64
64
  // 打印发票通用组件
65
65
  'ticket-print': (resolve) => { require(['./eticket/EticketPrint'], resolve) },
66
- 'e-ticket-record-list': (resolve) => { require(['./eticket/EticketRecordList'], resolve) }
66
+ 'e-ticket-record-list': (resolve) => { require(['./eticket/EticketRecordList'], resolve) },
67
+
68
+ // 无卡收费
69
+ 'no-card-meter-center': (resolve) => { require(['./NoCardMeterCenter'], resolve) }
67
70
 
68
71
  }
69
72
  exports.specialComp = specialComp
package/src/main.js CHANGED
@@ -1,22 +1,22 @@
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 './sale'
6
- import { address } from 'address-client'
7
- import { ldap } from 'ldap-clients'
8
- import VueClipboard from 'vue-clipboard2'
9
- Vue.use(VueClipboard)
10
- Vue.config.silent = true
11
-
12
- all()
13
- system(false)
14
- sale('kelai')
15
- address()
16
- ldap()
17
- require('system-clients/src/styles/less/bootstrap.less')
18
-
19
- new Vue({
20
- el: 'body',
21
- components: { App }
22
- })
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 './sale'
6
+ import { address } from 'address-client'
7
+ import { ldap } from 'ldap-clients'
8
+ import VueClipboard from 'vue-clipboard2'
9
+ Vue.use(VueClipboard)
10
+ Vue.config.silent = true
11
+
12
+ all()
13
+ system(false)
14
+ sale('guangxi')
15
+ address()
16
+ ldap()
17
+ require('system-clients/src/styles/less/bootstrap.less')
18
+
19
+ new Vue({
20
+ el: 'body',
21
+ components: { App }
22
+ })