sale-client 3.6.260 → 3.6.261

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,94 +1,97 @@
1
- var path = require('path')
2
- const [ serverRul, localUrl ] = ['http://192.168.50.4:8400/', 'http://127.0.0.1:8080/']
3
- var merge = require('webpack-merge')
4
- var baseConfig = require('./webpack.dev.conf')
5
- var devConfig = {
6
- devServer: {
7
- contentBase: path.join(__dirname, 'src'),
8
- hot: true,
9
- publicPath: baseConfig.output.publicPath,
10
- historyApiFallback: true,
11
- host: '127.0.0.1',
12
- port: 8089,
13
- open: false,
14
- stats: {
15
- colors: false, // 配置控制台输出彩色日志
16
- chunks: false, // 不输出构建 chunk 信息
17
- children: false // 不输出子模块构建信息
18
- },
19
- proxy: {
20
- '/invoice/rs/logic/getInvoice': {
21
- target: serverRul
22
- },
23
- '/rs/file': {
24
- target: serverRul
25
- },
26
- '/webapps': {
27
- target: serverRul
28
- },
29
- '/rs/sql/singleTable': {
30
- target: serverRul
31
- },
32
- '/invoice': {
33
- target: serverRul
34
- },
35
- // 查找资源服务数据
36
- '/rs/search': {
37
- target: serverRul
38
- },
39
- // 查找资源服务数据
40
- '/rs/logic/getLogin': {
41
- target: serverRul
42
- },
43
- // 查找资源服务数据
44
- '/rs/logic/getInitData': {
45
- target: serverRul
46
- },
47
- '/rs/logic/getSaleInitData': {
48
- target: serverRul
49
- },
50
- // 用户登录服务地址
51
- '/rs/user': {
52
- target: serverRul
53
- },
54
- '/rs/path': {
55
- target: serverRul
56
- },
57
- '/rs/data': {
58
- target: serverRul
59
- },
60
- '/rs/license': {
61
- target: serverRul
62
- },
63
- '/rs/db': {
64
- target: serverRul
65
- },
66
- '/excel': {
67
- target: serverRul
68
- },
69
- '/rs/config': {
70
- target: serverRul
71
- },
72
- '/rs/report': {
73
- target: serverRul
74
- },
75
- '/rs/vue': {
76
- target: serverRul
77
- },
78
- '/rs/logic/getWarningMsg': {
79
- target: localUrl
80
- },
81
- '/rs/sql': {
82
- target: serverRul
83
- },
84
- '/webmeter': {
85
- target: serverRul
86
- },
87
- '/rs': {
88
- target: serverRul
89
- // changeOrigin: true
90
- }
91
- }
92
- }
93
- }
94
- module.exports = merge(baseConfig, devConfig)
1
+ var path = require('path')
2
+ const [ serverRul, localUrl ] = ['http://192.168.50.4:8400/', 'http://192.168.50.4:8400/']
3
+ var merge = require('webpack-merge')
4
+ var baseConfig = require('./webpack.dev.conf')
5
+ var devConfig = {
6
+ devServer: {
7
+ contentBase: path.join(__dirname, 'src'),
8
+ hot: true,
9
+ publicPath: baseConfig.output.publicPath,
10
+ historyApiFallback: true,
11
+ host: '127.0.0.1',
12
+ port: 8089,
13
+ open: false,
14
+ stats: {
15
+ colors: false, // 配置控制台输出彩色日志
16
+ chunks: false, // 不输出构建 chunk 信息
17
+ children: false // 不输出子模块构建信息
18
+ },
19
+ proxy: {
20
+ '/invoice/rs/logic/getInvoice': {
21
+ target: serverRul
22
+ },
23
+ '/rs/file': {
24
+ target: serverRul
25
+ },
26
+ '/webapps': {
27
+ target: serverRul
28
+ },
29
+ '/rs/sql/singleTable': {
30
+ target: serverRul
31
+ },
32
+ '/invoice': {
33
+ target: serverRul
34
+ },
35
+ // 查找资源服务数据
36
+ '/rs/search': {
37
+ target: serverRul
38
+ },
39
+ // 查找资源服务数据
40
+ '/rs/logic/getLogin': {
41
+ target: serverRul
42
+ },
43
+ // 查找资源服务数据
44
+ '/rs/logic/getInitData': {
45
+ target: serverRul
46
+ },
47
+ '/rs/logic/getSaleInitData': {
48
+ target: serverRul
49
+ },
50
+ // 用户登录服务地址
51
+ '/rs/user': {
52
+ target: serverRul
53
+ },
54
+ '/rs/path': {
55
+ target: serverRul
56
+ },
57
+ '/rs/data': {
58
+ target: serverRul
59
+ },
60
+ '/rs/license': {
61
+ target: serverRul
62
+ },
63
+ '/rs/db': {
64
+ target: serverRul
65
+ },
66
+ '/excel': {
67
+ target: serverRul
68
+ },
69
+ '/rs/config': {
70
+ target: serverRul
71
+ },
72
+ '/rs/report': {
73
+ target: serverRul
74
+ },
75
+ '/rs/vue': {
76
+ target: serverRul
77
+ },
78
+ '/rs/logic/webHandReverse': {
79
+ target: 'http://localhost:8085'
80
+ },
81
+ '/rs/logic': {
82
+ target: localUrl
83
+ },
84
+ '/rs/sql': {
85
+ target: localUrl
86
+ },
87
+ '/webmeter': {
88
+ target: serverRul
89
+ },
90
+ '/rs': {
91
+ target: serverRul
92
+ // changeOrigin: true
93
+ }
94
+ }
95
+ }
96
+ }
97
+ module.exports = merge(baseConfig, devConfig)
package/package.json CHANGED
@@ -1,120 +1,120 @@
1
- {
2
- "name": "sale-client",
3
- "version": "3.6.260",
4
- "description": "收费模块前台组件",
5
- "main": "src/index.js",
6
- "scripts": {
7
- "example": "node build/example-server.js",
8
- "dev": "webpack-dev-server --config ./build/dev-server.js",
9
- "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
10
- "unit": "karma start test/unit/karma.conf.js",
11
- "build": "rimraf lib && mkdirp lib && cross-env webpack --progress --hide-modules --config build/webpack.prod.conf.js",
12
- "e2e": "node test/e2e/runner.js",
13
- "release": "bash build/release.sh"
14
- },
15
- "repository": {
16
- "type": "git",
17
- "url": "https://gitee.com/aote/product.git"
18
- },
19
- "dependencies": {
20
- "crypto-js": "^4.1.1",
21
- "examples": "^0.1.0",
22
- "js-file-download": "0.4.12",
23
- "less-loader": "^2.2.3",
24
- "qrcodejs2": "0.0.2",
25
- "vue": "^1.0.17",
26
- "webpack-dev-server": "^2.11.5",
27
- "vue-client": "1.24.137",
28
- "yarn": "^1.22.10"
29
- },
30
- "devDependencies": {
31
- "address-client": "3.2.56",
32
- "axios": "0.15.3",
33
- "babel-core": "^6.0.0",
34
- "babel-loader": "^6.0.0",
35
- "babel-plugin-transform-runtime": "^6.0.0",
36
- "babel-preset-es2015": "^6.0.0",
37
- "babel-preset-stage-2": "^6.0.0",
38
- "chai": "^3.5.0",
39
- "co": "^4.6.0",
40
- "compression-webpack-plugin": "1.1.2",
41
- "connect-history-api-fallback": "^1.1.0",
42
- "cross-env": "^1.0.7",
43
- "cross-spawn": "^2.1.5",
44
- "css-loader": "^0.23.0",
45
- "echarts": "^4.1.0",
46
- "eslint": "^3.19.0",
47
- "eslint-config-standard": "^10.2.1",
48
- "eslint-friendly-formatter": "^3.0.0",
49
- "eslint-loader": "^1.7.1",
50
- "eslint-plugin-html": "^3.0.0",
51
- "eslint-plugin-import": "^2.7.0",
52
- "eslint-plugin-node": "^5.2.0",
53
- "eslint-plugin-promise": "^3.4.0",
54
- "eslint-plugin-standard": "^3.0.1",
55
- "eventsource-polyfill": "^0.9.6",
56
- "express": "^4.13.3",
57
- "extract-text-webpack-plugin": "^3.0.2",
58
- "terser-webpack-plugin-legacy": "^1.2.5",
59
- "file-loader": "^0.8.4",
60
- "filemanager-webpack-plugin": "^2.0.5",
61
- "function-bind": "^1.0.2",
62
- "html-webpack-plugin": "^2.8.1",
63
- "http-proxy-middleware": "^0.11.0",
64
- "inject-loader": "^2.0.1",
65
- "isparta-loader": "^2.0.0",
66
- "jasmine-core": "^2.4.1",
67
- "jquery": "^3.3.1",
68
- "jsencrypt": "3.0.0-rc.1",
69
- "json-loader": "^0.5.4",
70
- "karma": "^1.4.1",
71
- "karma-chrome-launcher": "^2.2.0",
72
- "karma-coverage": "^1.1.1",
73
- "karma-mocha": "^1.3.0",
74
- "karma-sinon-chai": "^1.3.1",
75
- "karma-sourcemap-loader": "^0.3.7",
76
- "karma-spec-reporter": "0.0.31",
77
- "karma-webpack": "^2.0.2",
78
- "ldap-clients": "3.0.62",
79
- "less": "^2.7.3",
80
- "manage-client": "3.1.8-88",
81
- "mkdirp": "^0.5.1",
82
- "mocha": "^3.2.0",
83
- "moment": "2.24.0",
84
- "ncp": "^2.0.0",
85
- "nightwatch": "^0.8.18",
86
- "qrcodejs2": "0.0.2",
87
- "rimraf": "^2.5.0",
88
- "selenium-server": "2.52.0",
89
- "sinon": "^2.1.0",
90
- "sinon-chai": "^2.8.0",
91
- "style": "0.0.3",
92
- "style-loader": "^0.20.3",
93
- "system-clients": "3.2.61",
94
- "url-loader": "^0.5.7",
95
- "vue-clipboard2": "0.3.1",
96
- "vue-hot-reload-api": "^1.2.0",
97
- "vue-html-loader": "^1.0.0",
98
- "vue-loader": "^8.2.1",
99
- "vue-resource": "^1.5.0",
100
- "vue-router": "^0.7.13",
101
- "vue-strap": "^1.0.9",
102
- "vue-style-loader": "^1.0.0",
103
- "vue-validator": "2.1.7",
104
- "webpack": "^3.12.0",
105
- "webpack-dev-middleware": "^1.4.0",
106
- "webpack-hot-middleware": "^2.6.0",
107
- "webpack-merge": "^0.8.3",
108
- "webpack-parallel-uglify-plugin": "^1.0.0",
109
- "weixin-js-sdk": "^1.2.0"
110
- },
111
- "keywords": [
112
- "selling-clients"
113
- ],
114
- "author": "张桥",
115
- "license": "ISC",
116
- "directories": {
117
- "example": "examples",
118
- "test": "test"
119
- }
120
- }
1
+ {
2
+ "name": "sale-client",
3
+ "version": "3.6.261",
4
+ "description": "收费模块前台组件",
5
+ "main": "src/index.js",
6
+ "scripts": {
7
+ "example": "node build/example-server.js",
8
+ "dev": "webpack-dev-server --config ./build/dev-server.js",
9
+ "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
10
+ "unit": "karma start test/unit/karma.conf.js",
11
+ "build": "rimraf lib && mkdirp lib && cross-env webpack --progress --hide-modules --config build/webpack.prod.conf.js",
12
+ "e2e": "node test/e2e/runner.js",
13
+ "release": "bash build/release.sh"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://gitee.com/aote/product.git"
18
+ },
19
+ "dependencies": {
20
+ "crypto-js": "^4.1.1",
21
+ "examples": "^0.1.0",
22
+ "js-file-download": "0.4.12",
23
+ "less-loader": "^2.2.3",
24
+ "qrcodejs2": "0.0.2",
25
+ "vue": "^1.0.17",
26
+ "webpack-dev-server": "^2.11.5",
27
+ "vue-client": "1.24.137",
28
+ "yarn": "^1.22.10"
29
+ },
30
+ "devDependencies": {
31
+ "address-client": "3.2.56",
32
+ "axios": "0.15.3",
33
+ "babel-core": "^6.0.0",
34
+ "babel-loader": "^6.0.0",
35
+ "babel-plugin-transform-runtime": "^6.0.0",
36
+ "babel-preset-es2015": "^6.0.0",
37
+ "babel-preset-stage-2": "^6.0.0",
38
+ "chai": "^3.5.0",
39
+ "co": "^4.6.0",
40
+ "compression-webpack-plugin": "1.1.2",
41
+ "connect-history-api-fallback": "^1.1.0",
42
+ "cross-env": "^1.0.7",
43
+ "cross-spawn": "^2.1.5",
44
+ "css-loader": "^0.23.0",
45
+ "echarts": "^4.1.0",
46
+ "eslint": "^3.19.0",
47
+ "eslint-config-standard": "^10.2.1",
48
+ "eslint-friendly-formatter": "^3.0.0",
49
+ "eslint-loader": "^1.7.1",
50
+ "eslint-plugin-html": "^3.0.0",
51
+ "eslint-plugin-import": "^2.7.0",
52
+ "eslint-plugin-node": "^5.2.0",
53
+ "eslint-plugin-promise": "^3.4.0",
54
+ "eslint-plugin-standard": "^3.0.1",
55
+ "eventsource-polyfill": "^0.9.6",
56
+ "express": "^4.13.3",
57
+ "extract-text-webpack-plugin": "^3.0.2",
58
+ "terser-webpack-plugin-legacy": "^1.2.5",
59
+ "file-loader": "^0.8.4",
60
+ "filemanager-webpack-plugin": "^2.0.5",
61
+ "function-bind": "^1.0.2",
62
+ "html-webpack-plugin": "^2.8.1",
63
+ "http-proxy-middleware": "^0.11.0",
64
+ "inject-loader": "^2.0.1",
65
+ "isparta-loader": "^2.0.0",
66
+ "jasmine-core": "^2.4.1",
67
+ "jquery": "^3.3.1",
68
+ "jsencrypt": "3.0.0-rc.1",
69
+ "json-loader": "^0.5.4",
70
+ "karma": "^1.4.1",
71
+ "karma-chrome-launcher": "^2.2.0",
72
+ "karma-coverage": "^1.1.1",
73
+ "karma-mocha": "^1.3.0",
74
+ "karma-sinon-chai": "^1.3.1",
75
+ "karma-sourcemap-loader": "^0.3.7",
76
+ "karma-spec-reporter": "0.0.31",
77
+ "karma-webpack": "^2.0.2",
78
+ "ldap-clients": "3.0.62",
79
+ "less": "^2.7.3",
80
+ "manage-client": "3.1.8-88",
81
+ "mkdirp": "^0.5.1",
82
+ "mocha": "^3.2.0",
83
+ "moment": "2.24.0",
84
+ "ncp": "^2.0.0",
85
+ "nightwatch": "^0.8.18",
86
+ "qrcodejs2": "0.0.2",
87
+ "rimraf": "^2.5.0",
88
+ "selenium-server": "2.52.0",
89
+ "sinon": "^2.1.0",
90
+ "sinon-chai": "^2.8.0",
91
+ "style": "0.0.3",
92
+ "style-loader": "^0.20.3",
93
+ "system-clients": "3.2.61",
94
+ "url-loader": "^0.5.7",
95
+ "vue-clipboard2": "0.3.1",
96
+ "vue-hot-reload-api": "^1.2.0",
97
+ "vue-html-loader": "^1.0.0",
98
+ "vue-loader": "^8.2.1",
99
+ "vue-resource": "^1.5.0",
100
+ "vue-router": "^0.7.13",
101
+ "vue-strap": "^1.0.9",
102
+ "vue-style-loader": "^1.0.0",
103
+ "vue-validator": "2.1.7",
104
+ "webpack": "^3.12.0",
105
+ "webpack-dev-middleware": "^1.4.0",
106
+ "webpack-hot-middleware": "^2.6.0",
107
+ "webpack-merge": "^0.8.3",
108
+ "webpack-parallel-uglify-plugin": "^1.0.0",
109
+ "weixin-js-sdk": "^1.2.0"
110
+ },
111
+ "keywords": [
112
+ "selling-clients"
113
+ ],
114
+ "author": "张桥",
115
+ "license": "ISC",
116
+ "directories": {
117
+ "example": "examples",
118
+ "test": "test"
119
+ }
120
+ }
@@ -163,9 +163,9 @@
163
163
  <input class="input_search" style="width:60%" type="text" v-validate:f_serial_number='{required: true }'
164
164
  v-model="model.f_serial_number" placeholder="业务单号">
165
165
  </div>
166
- <div class="col-sm-4" v-if="model.f_payment == '银行转账'" :class="[$v.f_serial_number.required || $v.f_serial_number.dctest ? 'has-error' : 'has-success']">
166
+ <div class="col-sm-4" v-if="model.f_payment == '银行转账'" >
167
167
  <label for="f_serial_number" class=" font_normal_body">银行流水</label>
168
- <input class="input_search" style="width:60%" type="text" v-validate:f_serial_number='{required: true }'
168
+ <input class="input_search" style="width:60%" type="text"
169
169
  v-model="model.f_serial_number" placeholder="银行流水">
170
170
  </div>
171
171
 
@@ -160,7 +160,7 @@
160
160
  class="button_search" type="button" @click="clearBarrier">清除障碍</button>
161
161
  <button v-if="row.f_meter_type.includes('物联网表')"
162
162
  class="button_search" type="button" @click="openUser">开户</button>
163
- <button v-if="row.f_meter_type.includes('物联网表')"
163
+ <button v-if="row.f_meter_type.includes('物联网表') && valveLimit"
164
164
  class="button_search" type="button" @click="valvecontrol">开关阀</button>
165
165
  <button v-if="row.f_meter_type.includes('物联网表')"
166
166
  class="button_search" type="button" @click="zdfk">开关自动阀控</button>
@@ -13,13 +13,13 @@
13
13
  <input class="form-control col-sm-2"
14
14
  v-model="row.f_paper_name" placeholder="开票名称">
15
15
  </div>
16
- <div class="col-sm-6 form-group form-input-group">
16
+ <div class="col-sm-6 form-group form-input-group" :class="[ row.invoice_is_pax.length < 1 ? 'has-error' : '']">
17
17
  <nobr class="col-sm-4"><label class="control-label">是否征税:</label></nobr>
18
18
  <v-select v-model="row.invoice_is_pax"
19
19
  placeholder='请选择'
20
20
  :value.sync="row.invoice_is_pax"
21
21
  close-on-select
22
- :width="60" disabled
22
+ :width="60"
23
23
  :value-single="true"
24
24
  :search="false"
25
25
  :options='is_pax' clear-button>
@@ -56,7 +56,7 @@
56
56
  </article>
57
57
  <footer slot="modal-footer" class="modal-footer">
58
58
  <button type="button" class="btn button_search"
59
- :disabled="!(row.f_paper_name&&row.f_address_phone&&row.f_taxpayer_id.length>=16 && row.f_taxpayer_id.length<=18)"
59
+ :disabled="!(row.f_paper_name&&row.f_address_phone&&row.f_taxpayer_id.length>=16 && row.f_taxpayer_id.length<=18&&row.invoice_is_pax.length >0)"
60
60
  @click='confirm'>确认收费
61
61
  </button>
62
62
  </footer>
@@ -85,7 +85,7 @@ export default {
85
85
  },
86
86
  watch: {
87
87
  'row'(){
88
- this.row.invoice_is_pax=['征税']
88
+ this.row.invoice_is_pax = '征税'
89
89
  }
90
90
  },
91
91
  events: {}
@@ -73,6 +73,7 @@ export default {
73
73
  let result = await axios.post('/invoice/rs/logic/getInvoice', Object.assign({
74
74
  id,
75
75
  f_charge_type,
76
+ isTax: model.invoice_is_pax === '征税' ? '1' : '0',
76
77
  bill_type: model.f_print ? model.f_print : null,
77
78
  f_paper_name: model.f_paper_name,
78
79
  f_taxpayer_id: model.f_taxpayer_id,
@@ -167,7 +167,7 @@
167
167
  <footer slot="modal-footer" class="modal-footer">
168
168
  <button type="button" class="btn button_search"
169
169
  :disabled="!(row.f_paper_name&&row.f_address_phone)"
170
- @click='confirm'>确认收费
170
+ @click='confirm'>确认开票
171
171
  </button>
172
172
  </footer>
173
173
  </modal>
@@ -278,6 +278,7 @@
278
278
  },
279
279
  confirm () {
280
280
  this.row.f_print = this.row.f_print[0]
281
+ this.row.invoice_is_pax = this.invoice_is_pax
281
282
  this.eticket_msg = false
282
283
  this.disabled = false
283
284
  this.eticket_show = true
@@ -1,18 +1,18 @@
1
1
  <template>
2
2
  <tab-button v-ref:list>
3
- <tabs header="开票记录">
3
+ <tabs header="开票记录" v-if="permission('开票记录查询')">
4
4
  <e-ticket-record-list-query-v4></e-ticket-record-list-query-v4>
5
5
  </tabs>
6
- <tabs header="物联网表结算">
6
+ <tabs header="物联网表结算" v-if="permission('物联网表结算开票')">
7
7
  <e-ticket-open-iot-query-v4></e-ticket-open-iot-query-v4>
8
8
  </tabs>
9
- <tabs header="卡表结算">
9
+ <tabs header="卡表结算" v-if="permission('卡表结算开票')">
10
10
  <e-ticket-open-card-query-v4></e-ticket-open-card-query-v4>
11
11
  </tabs>
12
- <tabs header="机表抄表结算">
12
+ <tabs header="机表抄表结算" v-if="permission('机表抄表结算开票')">
13
13
  <e-ticket-open-hand-query-v4></e-ticket-open-hand-query-v4>
14
14
  </tabs>
15
- <tabs header="自定义开票">
15
+ <tabs header="自定义开票" v-if="permission('自定义开票')">
16
16
  <cust-query-eticket-query-v4></cust-query-eticket-query-v4>
17
17
  </tabs>
18
18
  </tab-button>
@@ -41,6 +41,13 @@ export default {
41
41
  },
42
42
  ready () {},
43
43
  methods: {
44
+ permission (name) {
45
+ if (!this.$login.r.find(value => value == name)) {
46
+ return false
47
+ } else {
48
+ return true
49
+ }
50
+ },
44
51
  cancel (obj) {
45
52
  this.listpage = true
46
53
  },
@@ -126,11 +126,11 @@
126
126
  :options='is_pax' clear-button>
127
127
  </v-select>
128
128
  </div>
129
- <div class="col-sm-6 form-group form-input-group" :class="[!invoice_type ? 'has-error' : '']">
129
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_type ? 'has-error' : '']">
130
130
  <label class="control-label">发票种类:</label>
131
- <v-select v-model="invoice_type"
131
+ <v-select v-model="row.f_paper_type"
132
132
  placeholder='请选择'
133
- :value.sync="invoice_type"
133
+ :value.sync="row.f_paper_type"
134
134
  close-on-select
135
135
  :width="60"
136
136
  :value-single="true"
@@ -292,7 +292,7 @@ export default {
292
292
  confirm () {
293
293
  this.eticket_msg = false
294
294
  this.eticket_show = true
295
- this.$refs.eticketbill.openETicket(this.row.id, this.row, '机表结算', this.invoice_is_pax, this.invoice_type)
295
+ this.$refs.eticketbill.openETicket([this.row.id], this.row, '', this.invoice_is_pax, '机表结算')
296
296
  },
297
297
  selfSearch (args) {
298
298
  this.selecteds = []
@@ -68,6 +68,10 @@
68
68
  @click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
69
69
  </div>
70
70
 
71
+ <export-excel :data="$parent.$parent.getCondition"
72
+ :field="$parent.$parent.getfield"
73
+ sqlurl="rs/logic/saleExport" sql-name="getIotHand" template-name='泰鹏抄表导出'
74
+ :choose-col="true"></export-excel>
71
75
  <div class="row" v-show="$parent.$parent.criteriaShow">
72
76
 
73
77
 
@@ -255,7 +259,20 @@ export default {
255
259
  orderFields: {
256
260
  f_userinfo_id: 'no'
257
261
  },
258
- getfield: {},
262
+ getfield: {
263
+ 'f_userinfo_code': '客户编号',
264
+ 'f_user_name': '客户姓名',
265
+ 'f_address': '客户地址',
266
+ 'f_user_phone': '用户电话',
267
+ 'f_idnumber': '身份证号',
268
+ 'f_card_id': '卡号',
269
+ 'f_meternumber': '表号',
270
+ 'f_table_state': '表具状态',
271
+ 'f_meter_base': '上期底数',
272
+ 'f_tablebase': '本期底数',
273
+ 'f_last_input_date': '最近一次抄表时间',
274
+ 'f_inputtor': '抄表员'
275
+ },
259
276
  outlet: '',
260
277
  filiale: '',
261
278
  condition2: '',
@@ -7,13 +7,13 @@
7
7
  <!-- <e-ticket-open-iot></e-ticket-open-iot>-->
8
8
  <!-- </tabs>-->
9
9
  <tabs header="卡表结算">
10
- <e-ticket-open-card></e-ticket-open-card>
10
+ <e-ticket-open-card-query-v4></e-ticket-open-card-query-v4>
11
11
  </tabs>
12
12
  <tabs header="抄表结算">
13
- <e-ticket-open-hand></e-ticket-open-hand>
13
+ <e-ticket-open-hand-query-v4></e-ticket-open-hand-query-v4>
14
14
  </tabs>
15
15
  <tabs header="自定义开票">
16
- <cust-query-eticket></cust-query-eticket>
16
+ <cust-query-eticket-query-v4></cust-query-eticket-query-v4>
17
17
  </tabs>
18
18
  </tab-button>
19
19
  </template>
@@ -131,15 +131,16 @@
131
131
  :options='is_pax' clear-button>
132
132
  </v-select>
133
133
  </div>
134
- <div class="col-sm-6 form-group form-input-group">
135
- <label for="f_print" class="font_normal_body">打印格式</label>
136
- <v-select id="print"
137
- v-model="f_print"
134
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_type ? 'has-error' : '']">
135
+ <label class="control-label">发票种类:</label>
136
+ <v-select v-model="row.f_paper_type"
138
137
  placeholder='请选择'
139
- :multiple="false"
140
- :value.sync="row.f_print"
141
- :options='printstyle'
142
- close-on-select clear-button v-ref:printstyle>
138
+ :value.sync="row.f_paper_type"
139
+ close-on-select
140
+ :width="60"
141
+ :value-single="true"
142
+ :search="false"
143
+ :options='invoice_types' clear-button>
143
144
  </v-select>
144
145
  </div>
145
146
  <div class="col-sm-12 form-group form-input-group">
@@ -158,14 +159,14 @@
158
159
  v-model="row.f_address_phone" placeholder="开票地址">
159
160
  </div>
160
161
  <div class="col-sm-12 form-group form-input-group">
161
- <label class="control-label">邮箱推送:</label>
162
+ <label class="control-label">手机推送:</label>
162
163
  <input class="form-control col-sm-2"
163
- v-model="row.f_email" placeholder="邮箱推送">
164
+ v-model="row.f_buy_phone" placeholder="手机号码">
164
165
  </div>
165
166
  <div class="col-sm-12 form-group form-input-group">
166
- <label class="control-label">备注:</label>
167
+ <label class="control-label">邮箱推送:</label>
167
168
  <input class="form-control col-sm-2"
168
- v-model="row.f_remarks" placeholder="备注">
169
+ v-model="row.f_email" placeholder="邮箱推送">
169
170
  </div>
170
171
  </div>
171
172
  </div>
@@ -200,6 +201,8 @@
200
201
  invoice_is_pax: '征税',
201
202
  is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
202
203
  selecteds: [],
204
+ invoice_types: this.$appdata.getParam('发票种类'),
205
+ invoice_type: '',
203
206
  eticket_show: false,
204
207
  eticket_msg: false,
205
208
  invoice_show_gas: '否',
@@ -283,11 +286,10 @@
283
286
  this.eticket_msg = true
284
287
  },
285
288
  confirm () {
286
- this.row.f_print = this.row.f_print[0]
287
289
  this.eticket_msg = false
288
290
  this.disabled = false
289
291
  this.eticket_show = true
290
- this.$refs.eticketbill.openETicket(this.row.id, this.row, this.row.f_type)
292
+ this.$refs.eticketbill.openETicket([this.row.id], this.row, '是', this.invoice_is_pax, this.row.f_type)
291
293
  },
292
294
  eticket_toggle () {
293
295
  this.eticket_show = false
@@ -232,7 +232,7 @@ export default {
232
232
  //
233
233
  // }
234
234
  // })
235
- return this.$showAlert('已结算的记录不能再次结算开票','warning',3000)
235
+ return this.$showAlert('已结算的记录不能再次结算开票', 'warning', 3000)
236
236
  }
237
237
  let HttpReset = new HttpResetClass()
238
238
  let row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
@@ -252,7 +252,7 @@ export default {
252
252
  if (!this.row.f_address_phone) {
253
253
  this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
254
254
  }
255
- if(!this.row.f_email){
255
+ if (!this.row.f_email) {
256
256
  this.row.f_email = this.row.f_email
257
257
  }
258
258
  this.eticket_msg = true
@@ -260,7 +260,7 @@ export default {
260
260
  confirm () {
261
261
  this.eticket_msg = false
262
262
  this.eticket_show = true
263
- this.$refs.eticketbill.openETicket(this.selecteds.map(item => item.id), this.row, '是',this.invoice_is_pax, '结算收费')
263
+ this.$refs.eticketbill.openETicket(this.selecteds.map(item => item.id), this.row, '是', this.invoice_is_pax, '卡表收费')
264
264
  },
265
265
  selfSearch (args) {
266
266
  this.selecteds = []
@@ -291,7 +291,8 @@ export default {
291
291
  confirm () {
292
292
  this.eticket_msg = false
293
293
  this.eticket_show = true
294
- this.$refs.eticketbill.openETicket(this.row.id, this.row, '机表结算')
294
+ console.log('>>> 机表结算开票')
295
+ this.$refs.eticketbill.openETicket([this.row.id], this.row, this.invoice_show_gas, this.invoice_is_pax, '机表结算')
295
296
  },
296
297
  selfSearch (args) {
297
298
  this.selecteds = []
@@ -56,6 +56,7 @@ export default {
56
56
  await this.$resetpost('rs/entity/t_eticket', model, {resolveMsg: null, rejectMsg: '保存发票记录失败'})
57
57
  },
58
58
  async openETicket (sellId, row, show_gas, is_pax, type, invoice_kind = '电子发票', retry = false) {
59
+ console.log('>>> 看看 openETicket 的参数是什么', sellId, row, show_gas, is_pax, type, invoice_kind, retry)
59
60
  try {
60
61
  let model = {
61
62
  id: sellId,
@@ -130,6 +130,8 @@ export default function () {
130
130
  // 抄表列表
131
131
  Vue.component('hand-list', (resolve) => { require(['./handList'], resolve) })
132
132
  Vue.component('e-ticket-open-hand', (resolve) => { require(['./EticketOpenJBPage.vue'], resolve) })
133
+ // 电子发票管理
134
+ Vue.component('e-ticket-manage-query-v4', (resolve) => { require(['./EticketManage'], resolve) })
133
135
  // 物联网表结算
134
136
  Vue.component('e-ticket-open-iot-query-v4', (resolve) => { require(['./bill/EticketOpenPage'], resolve) })
135
137
  // 卡表结算
package/src/main.js CHANGED
@@ -1,33 +1,33 @@
1
- import Vue from 'vue'
2
- import all from 'vue-client/src/all'
3
- import App from './App'
4
- import system from 'system-clients/src/system'
5
- import sale from './sale'
6
- import FilialeSale from './filiale/fugu/sale'
7
- import address from 'address-client/src/address'
8
- import ldap from 'ldap-clients/src/ldap'
9
- import VueClipboard from 'vue-clipboard2'
10
-
11
- // 开启 nginx 加密
12
- // Vue.mmType = 'nginx'
13
- // Vue.HWQMM = [51, 150, 231, 300, 565, 708, 721, 952, 738, 560, 935, 912, 1274, 1148, 840, 1440]
14
-
15
- // 开启 AES 加密
16
- // Vue.mmType = 'AES'
17
- // Vue.mm = '3KMKqvgwR8ULbR8Z'
18
-
19
- Vue.use(VueClipboard)
20
- Vue.config.silent = true
21
-
22
- all()
23
- system(false)
24
- sale()
25
- FilialeSale()
26
- address()
27
- ldap()
28
- require('system-clients/src/styles/less/bootstrap.less')
29
-
30
- new Vue({
31
- el: 'body',
32
- components: { App }
33
- })
1
+ import Vue from 'vue'
2
+ import all from 'vue-client/src/all'
3
+ import App from './App'
4
+ import system from 'system-clients/src/system'
5
+ import sale from './sale'
6
+ // import FilialeSale from './filiale/wuhai/sale'
7
+ import address from 'address-client/src/address'
8
+ import ldap from 'ldap-clients/src/ldap'
9
+ import VueClipboard from 'vue-clipboard2'
10
+
11
+ // 开启 nginx 加密
12
+ // Vue.mmType = 'nginx'
13
+ // Vue.HWQMM = [51, 150, 231, 300, 565, 708, 721, 952, 738, 560, 935, 912, 1274, 1148, 840, 1440]
14
+
15
+ // 开启 AES 加密
16
+ // Vue.mmType = 'AES'
17
+ // Vue.mm = '3KMKqvgwR8ULbR8Z'
18
+
19
+ Vue.use(VueClipboard)
20
+ Vue.config.silent = true
21
+
22
+ all()
23
+ system(false)
24
+ sale()
25
+ // FilialeSale()
26
+ address()
27
+ ldap()
28
+ require('system-clients/src/styles/less/bootstrap.less')
29
+
30
+ new Vue({
31
+ el: 'body',
32
+ components: { App }
33
+ })