sale-client-xianyang 3.3.443 → 3.3.444

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,153 +1,153 @@
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 server = 'http://172.16.16.162:8300'
10
- var local = 'http://172.16.16.162:8300'
11
- var proxyTable = {
12
- '/rs/file': {
13
- target: server
14
- },
15
- '/rs/sql/address_getAddress': {
16
- target: server
17
- },
18
- '/rs/logic/address_updateuseraddress': {
19
- target: server
20
- },
21
- '/rs/sql/address_singleTableOrderBy': {
22
- target: server
23
- },
24
- '/rs/logic/changeMeter': {
25
- target: local
26
- },
27
- '/pos': {
28
- target: server
29
- },
30
- '/kgwx': {
31
- target: server
32
- },
33
- '/wx': {
34
- target: server
35
- },
36
- '/alipay/': {
37
- target: server
38
- },
39
- // 查找资源服务数据
40
- '/rs/search': {
41
- target: server
42
- },
43
- // 查找资源服务数据
44
- '/rs/logic/getLogin': {
45
- target: server
46
- },
47
- // 查找资源服务数据
48
- '/rs/logic/getInitData': {
49
- target: server
50
- },
51
- '/rs/logic/getSaleInitData': {
52
- target: server
53
- },
54
- // 用户登录服务地址
55
- '/rs/user': {
56
- target: server
57
- },
58
- '/rs/path': {
59
- target: server
60
- },
61
- '/rs/data': {
62
- target: server
63
- },
64
- '/rs/license': {
65
- target: server
66
- },
67
- '/rs/db': {
68
- target: server
69
- },
70
- '/excel': {
71
- target: server
72
- },
73
- '/rs/config': {
74
- target: server
75
- },
76
- '/rs/report': {
77
- target: server
78
- },
79
- '/rs/vue': {
80
- target: server
81
- },
82
- '/rs/logic': {
83
- target: local
84
- },
85
- '/rs/entity': {
86
- target: local
87
- },
88
- '/rs/sql': {
89
- target: local
90
- },
91
- '/webmeter': {
92
- target: server
93
- },
94
- '/rs': {
95
- target: server
96
- }
97
- }
98
-
99
- var devMiddleware = require('webpack-dev-middleware')(compiler, {
100
- publicPath: config.output.publicPath,
101
- stats: {
102
- colors: true,
103
- chunks: false
104
- }
105
- })
106
-
107
- var hotMiddleware = require('webpack-hot-middleware')(compiler)
108
- // force page reload when html-webpack-plugin template changes
109
- compiler.plugin('compilation', function (compilation) {
110
- compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
111
- hotMiddleware.publish({action: 'reload'})
112
- cb()
113
- })
114
- })
115
-
116
- // proxy api requests
117
- Object.keys(proxyTable).forEach(function (context) {
118
- var options = proxyTable[context]
119
- if (typeof options === 'string') {
120
- options = {target: options}
121
- }
122
- app.use(proxyMiddleware(context, options))
123
- })
124
-
125
- // handle fallback for HTML5 history API
126
- app.use(require('connect-history-api-fallback')())
127
- // app.use(function (req, res, next) {
128
- // res.header('Access-Control-Allow-Origin', '*')
129
- // res.header('Access-Control-Allow-Headers', 'X-Requested-With')
130
- // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
131
- // res.header('X-Powered-By', '3,2,1')
132
- // res.header('Access-Control-Allow-Credentials', 'true')
133
- // res.header('Content-Type', 'application/json;charset=utf-8')
134
- // next()
135
- // })
136
-
137
- // serve webpack bundle output
138
- app.use(devMiddleware)
139
-
140
- // enable hot-reload and state-preserving
141
- // compilation error display
142
- app.use(hotMiddleware)
143
-
144
- // serve pure static assets
145
- app.use('/static', express.static('./static'))
146
-
147
- module.exports = app.listen(8084, function (err) {
148
- if (err) {
149
- console.log(err)
150
- return
151
- }
152
- console.log('Listening at http://localhost:8084')
153
- })
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 server = 'http://192.168.153.129:8300'
10
+ var local = 'http://127.0.0.1:8080'
11
+ var proxyTable = {
12
+ '/rs/file': {
13
+ target: server
14
+ },
15
+ '/rs/sql/iot_getNewMeterBrandAndModel': {
16
+ target: server
17
+ },
18
+ '/rs/logic/address_updateuseraddress': {
19
+ target: server
20
+ },
21
+ '/rs/sql/address_singleTableOrderBy': {
22
+ target: server
23
+ },
24
+ '/rs/logic/changeMeter': {
25
+ target: server
26
+ },
27
+ '/pos': {
28
+ target: server
29
+ },
30
+ '/kgwx': {
31
+ target: server
32
+ },
33
+ '/wx': {
34
+ target: server
35
+ },
36
+ '/alipay/': {
37
+ target: server
38
+ },
39
+ // 查找资源服务数据
40
+ '/rs/search': {
41
+ target: server
42
+ },
43
+ // 查找资源服务数据
44
+ '/rs/logic/getLogin': {
45
+ target: server
46
+ },
47
+ // 查找资源服务数据
48
+ '/rs/logic/getInitData': {
49
+ target: server
50
+ },
51
+ '/rs/logic/getSaleInitData': {
52
+ target: server
53
+ },
54
+ // 用户登录服务地址
55
+ '/rs/user': {
56
+ target: server
57
+ },
58
+ '/rs/path': {
59
+ target: server
60
+ },
61
+ '/rs/data': {
62
+ target: server
63
+ },
64
+ '/rs/license': {
65
+ target: server
66
+ },
67
+ '/rs/db': {
68
+ target: server
69
+ },
70
+ '/excel': {
71
+ target: server
72
+ },
73
+ '/rs/config': {
74
+ target: server
75
+ },
76
+ '/rs/report': {
77
+ target: server
78
+ },
79
+ '/rs/vue': {
80
+ target: server
81
+ },
82
+ '/rs/logic': {
83
+ target: server
84
+ },
85
+ '/rs/entity': {
86
+ target: server
87
+ },
88
+ '/rs/sql': {
89
+ target: server
90
+ },
91
+ '/webmeter': {
92
+ target: server
93
+ },
94
+ '/rs': {
95
+ target: server
96
+ }
97
+ }
98
+
99
+ var devMiddleware = require('webpack-dev-middleware')(compiler, {
100
+ publicPath: config.output.publicPath,
101
+ stats: {
102
+ colors: true,
103
+ chunks: false
104
+ }
105
+ })
106
+
107
+ var hotMiddleware = require('webpack-hot-middleware')(compiler)
108
+ // force page reload when html-webpack-plugin template changes
109
+ compiler.plugin('compilation', function (compilation) {
110
+ compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
111
+ hotMiddleware.publish({action: 'reload'})
112
+ cb()
113
+ })
114
+ })
115
+
116
+ // proxy api requests
117
+ Object.keys(proxyTable).forEach(function (context) {
118
+ var options = proxyTable[context]
119
+ if (typeof options === 'string') {
120
+ options = {target: options}
121
+ }
122
+ app.use(proxyMiddleware(context, options))
123
+ })
124
+
125
+ // handle fallback for HTML5 history API
126
+ app.use(require('connect-history-api-fallback')())
127
+ // app.use(function (req, res, next) {
128
+ // res.header('Access-Control-Allow-Origin', '*')
129
+ // res.header('Access-Control-Allow-Headers', 'X-Requested-With')
130
+ // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
131
+ // res.header('X-Powered-By', '3,2,1')
132
+ // res.header('Access-Control-Allow-Credentials', 'true')
133
+ // res.header('Content-Type', 'application/json;charset=utf-8')
134
+ // next()
135
+ // })
136
+
137
+ // serve webpack bundle output
138
+ app.use(devMiddleware)
139
+
140
+ // enable hot-reload and state-preserving
141
+ // compilation error display
142
+ app.use(hotMiddleware)
143
+
144
+ // serve pure static assets
145
+ app.use('/static', express.static('./static'))
146
+
147
+ module.exports = app.listen(8084, function (err) {
148
+ if (err) {
149
+ console.log(err)
150
+ return
151
+ }
152
+ console.log('Listening at http://localhost:8084')
153
+ })
package/package.json CHANGED
@@ -1,109 +1,109 @@
1
- {
2
- "name": "sale-client-xianyang",
3
- "version": "3.3.443",
4
- "description": "费模块前台组件",
5
- "main": "src/index.js",
6
- "scripts": {
7
- "example": "node build/example-server.js",
8
- "dev": "node 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 dist && mkdirp dist && ncp static dist/mergeUser && cross-env NODE_ENV=production 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
- "examples": "^0.1.0",
21
- "less-loader": "^2.2.3",
22
- "vue": "^1.0.17",
23
- "js-file-download": "^0.4.12"
24
- },
25
- "devDependencies": {
26
- "crypto-js": "^3.1.9-1",
27
- "jsencrypt": "3.0.0-rc.1",
28
- "address-client-xianyang": "3.0.34",
29
- "babel-core": "^6.0.0",
30
- "babel-loader": "^6.0.0",
31
- "babel-plugin-transform-runtime": "^6.0.0",
32
- "babel-preset-es2015": "^6.0.0",
33
- "babel-preset-stage-2": "^6.0.0",
34
- "chai": "^3.5.0",
35
- "co": "^4.6.0",
36
- "connect-history-api-fallback": "^1.1.0",
37
- "cross-env": "^1.0.7",
38
- "cross-spawn": "^2.1.5",
39
- "css-loader": "^0.23.0",
40
- "echarts": "^4.1.0",
41
- "eslint": "^3.19.0",
42
- "eslint-config-standard": "^10.2.1",
43
- "eslint-friendly-formatter": "^3.0.0",
44
- "eslint-loader": "^1.7.1",
45
- "eslint-plugin-html": "^3.0.0",
46
- "eslint-plugin-import": "^2.7.0",
47
- "eslint-plugin-node": "^5.2.0",
48
- "eslint-plugin-promise": "^3.4.0",
49
- "eslint-plugin-standard": "^3.0.1",
50
- "eventsource-polyfill": "^0.9.6",
51
- "express": "^4.13.3",
52
- "extract-text-webpack-plugin": "^1.0.1",
53
- "file-loader": "^0.8.4",
54
- "function-bind": "^1.0.2",
55
- "html-webpack-plugin": "^2.8.1",
56
- "http-proxy-middleware": "^0.11.0",
57
- "inject-loader": "^2.0.1",
58
- "isparta-loader": "^2.0.0",
59
- "jasmine-core": "^2.4.1",
60
- "jquery": "^3.3.1",
61
- "json-loader": "^0.5.4",
62
- "karma": "^1.4.1",
63
- "karma-chrome-launcher": "^2.2.0",
64
- "karma-coverage": "^1.1.1",
65
- "karma-mocha": "^1.3.0",
66
- "karma-sinon-chai": "^1.3.1",
67
- "karma-sourcemap-loader": "^0.3.7",
68
- "karma-spec-reporter": "0.0.31",
69
- "karma-webpack": "^2.0.2",
70
- "ldap-clients": "3.0.19-xy",
71
- "less": "^2.7.3",
72
- "mkdirp": "^0.5.1",
73
- "mocha": "^3.2.0",
74
- "ncp": "^2.0.0",
75
- "nightwatch": "^0.8.18",
76
- "rimraf": "^2.5.0",
77
- "selenium-server": "2.52.0",
78
- "sinon": "^2.1.0",
79
- "sinon-chai": "^2.8.0",
80
- "style": "0.0.3",
81
- "style-loader": "^0.20.3",
82
- "system-clients": "3.1.90-xianyang",
83
- "url-loader": "^0.5.7",
84
- "vue-client": "1.22.46-xy",
85
- "vue-hot-reload-api": "^1.2.0",
86
- "vue-html-loader": "^1.0.0",
87
- "vue-loader": "^8.2.1",
88
- "vue-resource": "^1.5.0",
89
- "vue-router": "^0.7.13",
90
- "vue-strap": "^1.0.9",
91
- "vue-style-loader": "^1.0.0",
92
- "vue-validator": "2.1.7",
93
- "webpack": "^1.12.2",
94
- "webpack-dev-middleware": "^1.4.0",
95
- "webpack-hot-middleware": "^2.6.0",
96
- "webpack-merge": "^0.8.3",
97
- "weixin-js-sdk": "^1.2.0",
98
- "axios": "0.15.3"
99
- },
100
- "keywords": [
101
- "selling-clients"
102
- ],
103
- "author": "张桥",
104
- "license": "ISC",
105
- "directories": {
106
- "example": "examples",
107
- "test": "test"
108
- }
109
- }
1
+ {
2
+ "name": "sale-client-xianyang",
3
+ "version": "3.3.444",
4
+ "description": "费模块前台组件",
5
+ "main": "src/index.js",
6
+ "scripts": {
7
+ "example": "node build/example-server.js",
8
+ "dev": "node 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 dist && mkdirp dist && ncp static dist/mergeUser && cross-env NODE_ENV=production 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
+ "examples": "^0.1.0",
21
+ "less-loader": "^2.2.3",
22
+ "vue": "^1.0.17",
23
+ "js-file-download": "^0.4.12"
24
+ },
25
+ "devDependencies": {
26
+ "crypto-js": "^3.1.9-1",
27
+ "jsencrypt": "3.0.0-rc.1",
28
+ "address-client-xianyang": "3.0.34",
29
+ "babel-core": "^6.0.0",
30
+ "babel-loader": "^6.0.0",
31
+ "babel-plugin-transform-runtime": "^6.0.0",
32
+ "babel-preset-es2015": "^6.0.0",
33
+ "babel-preset-stage-2": "^6.0.0",
34
+ "chai": "^3.5.0",
35
+ "co": "^4.6.0",
36
+ "connect-history-api-fallback": "^1.1.0",
37
+ "cross-env": "^1.0.7",
38
+ "cross-spawn": "^2.1.5",
39
+ "css-loader": "^0.23.0",
40
+ "echarts": "^4.1.0",
41
+ "eslint": "^3.19.0",
42
+ "eslint-config-standard": "^10.2.1",
43
+ "eslint-friendly-formatter": "^3.0.0",
44
+ "eslint-loader": "^1.7.1",
45
+ "eslint-plugin-html": "^3.0.0",
46
+ "eslint-plugin-import": "^2.7.0",
47
+ "eslint-plugin-node": "^5.2.0",
48
+ "eslint-plugin-promise": "^3.4.0",
49
+ "eslint-plugin-standard": "^3.0.1",
50
+ "eventsource-polyfill": "^0.9.6",
51
+ "express": "^4.13.3",
52
+ "extract-text-webpack-plugin": "^1.0.1",
53
+ "file-loader": "^0.8.4",
54
+ "function-bind": "^1.0.2",
55
+ "html-webpack-plugin": "^2.8.1",
56
+ "http-proxy-middleware": "^0.11.0",
57
+ "inject-loader": "^2.0.1",
58
+ "isparta-loader": "^2.0.0",
59
+ "jasmine-core": "^2.4.1",
60
+ "jquery": "^3.3.1",
61
+ "json-loader": "^0.5.4",
62
+ "karma": "^1.4.1",
63
+ "karma-chrome-launcher": "^2.2.0",
64
+ "karma-coverage": "^1.1.1",
65
+ "karma-mocha": "^1.3.0",
66
+ "karma-sinon-chai": "^1.3.1",
67
+ "karma-sourcemap-loader": "^0.3.7",
68
+ "karma-spec-reporter": "0.0.31",
69
+ "karma-webpack": "^2.0.2",
70
+ "ldap-clients": "3.0.19-xy",
71
+ "less": "^2.7.3",
72
+ "mkdirp": "^0.5.1",
73
+ "mocha": "^3.2.0",
74
+ "ncp": "^2.0.0",
75
+ "nightwatch": "^0.8.18",
76
+ "rimraf": "^2.5.0",
77
+ "selenium-server": "2.52.0",
78
+ "sinon": "^2.1.0",
79
+ "sinon-chai": "^2.8.0",
80
+ "style": "0.0.3",
81
+ "style-loader": "^0.20.3",
82
+ "system-clients": "3.1.90-xianyang",
83
+ "url-loader": "^0.5.7",
84
+ "vue-client": "1.22.46-xy",
85
+ "vue-hot-reload-api": "^1.2.0",
86
+ "vue-html-loader": "^1.0.0",
87
+ "vue-loader": "^8.2.1",
88
+ "vue-resource": "^1.5.0",
89
+ "vue-router": "^0.7.13",
90
+ "vue-strap": "^1.0.9",
91
+ "vue-style-loader": "^1.0.0",
92
+ "vue-validator": "2.1.7",
93
+ "webpack": "^1.12.2",
94
+ "webpack-dev-middleware": "^1.4.0",
95
+ "webpack-hot-middleware": "^2.6.0",
96
+ "webpack-merge": "^0.8.3",
97
+ "weixin-js-sdk": "^1.2.0",
98
+ "axios": "0.15.3"
99
+ },
100
+ "keywords": [
101
+ "selling-clients"
102
+ ],
103
+ "author": "张桥",
104
+ "license": "ISC",
105
+ "directories": {
106
+ "example": "examples",
107
+ "test": "test"
108
+ }
109
+ }
@@ -1,236 +1,236 @@
1
- <template>
2
- <div class="auto" id="orderApplyDispose">
3
- <validator name='v'>
4
- <form novalidate class="form-horizontal select-overspread">
5
- <ul class="nav nav-tabs">
6
- <li class="active"><a href="#" style="font-size: large">报装信息</a></li>
7
- </ul>
8
- <div class="form-group" style="margin-top: 10px">
9
- <label class="col-sm-2 control-label">报装类型</label>
10
- <div class="col-sm-4">
11
- <input class="form-control" type="text" v-model="row.f_type" placeholder="报装类型" disabled>
12
- </div>
13
- <label class="col-sm-2 control-label">报装单位</label>
14
- <div class="col-sm-4">
15
- <input class="form-control" type="text" v-model="row.f_unit" placeholder="报装单位" disabled>
16
- </div>
17
- </div>
18
- <div class="form-group" style="margin-top: 10px">
19
- <label class="col-sm-2 control-label">联系电话</label>
20
- <div class="col-sm-4">
21
- <input class="form-control" type="text" v-model="row.f_phone" placeholder="联系电话" disabled>
22
- </div>
23
- <label class="col-sm-2 control-label">联系人员</label>
24
- <div class="col-sm-4">
25
- <input class="form-control" type="text" v-model="row.f_user_name" placeholder="联系人员" disabled>
26
- </div>
27
- </div>
28
- <div class="form-group" style="margin-top: 10px">
29
- <label class="col-sm-2 control-label">地址</label>
30
- <div class="col-sm-10">
31
- <textarea class="form-control" readonly v-el:useraddress
32
- cols="2" disabled style="resize: none"
33
- v-model="row.f_address">
34
- </textarea>
35
- </div>
36
- </div>
37
- <div class="form-group" style="margin-top: 10px">
38
- <label class="col-sm-2 control-label">情况说明</label>
39
- <div class="col-sm-10">
40
- <textarea class="form-control" readonly v-el:useraddress
41
- cols="2" disabled style="resize: none"
42
- v-model="row.f_orderremark">
43
- </textarea>
44
- </div>
45
- </div>
46
- <div v-if="idImgList.length >0" class="form-group" style="margin-top: 10px">
47
- <label class="col-sm-2 control-label">营业执照</label>
48
- <div v-for="row in idImgList" class="col-sm-3">
49
- <img-self :src="row.imgUrl" alt="图片加载失败" :width="100" :height="100"></img-self>
50
- </div>
51
- </div>
52
- <div v-if="docImgList.length >0" class="form-group" style="margin-top: 10px">
53
- <label class="col-sm-2 control-label">申请表</label>
54
- <div v-for="row in docImgList" class="col-sm-3">
55
- <img-self :src="row.imgUrl" alt="图片加载失败" :width="100" :height="100"></img-self>
56
- </div>
57
- </div>
58
- </form>
59
- </validator>
60
- <step :active="index" :items="items"></step>
61
-
62
- <button class="button_search" @click="cancel()">取消
63
- </button>
64
- <data-grid :model="msg_data" class="table_sy" partial='list' v-ref:grid style="margin-top:2rem" v-show="msg_data.rows.length > 0">
65
- <template partial='head'>
66
- <th>
67
- <nobr>操作日志</nobr>
68
- </th>
69
- </template>
70
- <template partial='body'>
71
- <td style="text-align:center;white-space: nowrap;">{{ row.msg }}</td>
72
- </template>
73
- </data-grid>
74
- </div>
75
- </template>
76
- <script>
77
-
78
- import Step from '../../Step'
79
-
80
- export default {
81
- data () {
82
- return {
83
- show: false,
84
- f_operator: this.$login.f.name,
85
- // 所有地址
86
- address: [],
87
- placeholder: '',
88
- msg_data:{rows:[]},
89
- items:
90
- [{f_apply_type: '踏勘现场', f_apply_state: '', f_apply_msg: '', id: ''},
91
- {f_apply_type: '方案设计', f_apply_state: '', f_apply_msg: '', id: ''},
92
- {f_apply_type: '合同签订', f_apply_state: '', f_apply_msg: '', id: ''},
93
- {f_apply_type: '财务到账', f_apply_state: '', f_apply_msg: '', id: ''},
94
- {f_apply_type: '组织施工', f_apply_state: '', f_apply_msg: '', id: ''},
95
- {f_apply_type: '验收通气', f_apply_state: '', f_apply_msg: '', id: ''}
96
- ],
97
- index: 0,
98
- idImgList: [],
99
- docImgList: []
100
- }
101
- },
102
- components: {Step},
103
- props: {
104
- row: {
105
- type: Object
106
- },
107
- title: {
108
- type: String
109
- }
110
- },
111
- async ready () {
112
- },
113
- methods: {
114
- cancel () {
115
- this.$dispatch('refresh')
116
- },
117
- // 根据id查询报装进度
118
- async init (val) {
119
- if (val.f_imageurl) {
120
- try {
121
- let f_imageurl = JSON.parse(val.f_imageurl)
122
- this.idImgList = f_imageurl.f_idimglist || []
123
- this.docImgList = f_imageurl.f_docimglist || []
124
- } catch (e) {
125
- this.idImgList = []
126
- this.docImgList = []
127
- }
128
- }
129
- let msg_data = {rows: []}
130
- console.log('==========', JSON.stringify(val))
131
- let data = await this.$SqlService.singleTable('t_apply_info', `f_order_id = ${val.id} order by f_apply_date`)
132
- for (const datum of data.data) {
133
- msg_data.rows.push({msg: `${datum.f_person} ${datum.f_apply_date} 于 ${datum.f_apply_type} ${datum.f_apply_state}`,id:datum.id})
134
- }
135
- this.items = this.items.map((h, i) => {
136
- h.f_order_id = val.id
137
- if (data.data[i]) {
138
- h.f_apply_state = data.data[i].f_apply_state
139
- h.f_apply_msg = data.data[i].f_apply_msg
140
- h.id = data.data[i].id
141
- } else {
142
- h.f_apply_state = '未通过'
143
- h.f_apply_msg = ''
144
- h.id = undefined
145
- }
146
- return h
147
- }
148
- )
149
- if (data.data.length>0 && data.data[data.data.length - 1]['f_apply_state']==='未通过') {
150
- this.index = data.data.length - 1
151
- }else {
152
- this.index = val.f_apply_type === '验收通气' ? -1 : data.data.length
153
- }
154
- if (this.items[2]['f_apply_state'] === '项目取消') {
155
- this.items[3]['f_apply_state'] = '项目取消'
156
- this.items[3]['f_apply_msg'] = ''
157
- this.items[4]['f_apply_state'] = '项目取消'
158
- this.items[4]['f_apply_msg'] = ''
159
- this.items[5]['f_apply_state'] = '项目取消'
160
- this.items[5]['f_apply_msg'] = ''
161
- }
162
- console.log(JSON.stringify(this.items))
163
- msg_data.rows = msg_data.rows.sort((a,b)=> - b.id - a.id )
164
- this.msg_data = msg_data
165
- },
166
- // 获取所有地址
167
- async getAreas () {
168
-
169
- },
170
- showModal () {
171
- this.show = true
172
- },
173
- close () {
174
- this.show = false
175
- },
176
- async confirm () {
177
-
178
- }
179
- },
180
- watch: {
181
- 'row' (val) {
182
- if (!!val) {
183
- this.init(val)
184
- }
185
- }
186
- },
187
- computed: {},
188
- events: {
189
- 'nextindex' (index, row) {
190
- console.log(JSON.stringify(row), JSON.stringify(this.row))
191
- if (!!!row.id) {
192
- this.row.f_apply_type = row.f_apply_type
193
- this.row.f_apply_state = row.f_apply_state
194
- this.row.f_person = row.f_person
195
- this.row.f_apply_date = row.f_apply_date
196
- this.row.f_apply_msg = row.f_apply_msg
197
- }
198
- if (row.f_apply_type === this.row.f_apply_type) {
199
- this.row.f_apply_msg = row.f_apply_msg
200
- this.row.f_apply_date = row.f_apply_date
201
- }
202
- if (row.f_apply_state === '未通过') {
203
- this.index = index
204
- return true
205
- }else {
206
- this.index = index + 1
207
- return true
208
- }
209
- }
210
- }
211
- }
212
- </script>
213
- <style lang="less">
214
- #orderApplyDispose {
215
- .modal-header {
216
- border: none;
217
-
218
- .close {
219
- position: absolute;
220
- top: 7px;
221
- right: 10px;
222
- }
223
- }
224
-
225
- overflow: scroll;
226
-
227
- .modal-body {
228
- padding-bottom: 0px;
229
- }
230
-
231
- .modal-footer {
232
- padding: 10px 15px;
233
- border: none;
234
- }
235
- }
236
- </style>
1
+ <template>
2
+ <div class="auto" id="orderApplyDispose">
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal select-overspread">
5
+ <ul class="nav nav-tabs">
6
+ <li class="active"><a href="#" style="font-size: large">报装信息</a></li>
7
+ </ul>
8
+ <div class="form-group" style="margin-top: 10px">
9
+ <label class="col-sm-2 control-label">报装类型</label>
10
+ <div class="col-sm-4">
11
+ <input class="form-control" type="text" v-model="row.f_type" placeholder="报装类型" disabled>
12
+ </div>
13
+ <label class="col-sm-2 control-label">报装单位</label>
14
+ <div class="col-sm-4">
15
+ <input class="form-control" type="text" v-model="row.f_unit" placeholder="报装单位" disabled>
16
+ </div>
17
+ </div>
18
+ <div class="form-group" style="margin-top: 10px">
19
+ <label class="col-sm-2 control-label">联系电话</label>
20
+ <div class="col-sm-4">
21
+ <input class="form-control" type="text" v-model="row.f_phone" placeholder="联系电话" disabled>
22
+ </div>
23
+ <label class="col-sm-2 control-label">联系人员</label>
24
+ <div class="col-sm-4">
25
+ <input class="form-control" type="text" v-model="row.f_user_name" placeholder="联系人员" disabled>
26
+ </div>
27
+ </div>
28
+ <div class="form-group" style="margin-top: 10px">
29
+ <label class="col-sm-2 control-label">地址</label>
30
+ <div class="col-sm-10">
31
+ <textarea class="form-control" readonly v-el:useraddress
32
+ cols="2" disabled style="resize: none"
33
+ v-model="row.f_address">
34
+ </textarea>
35
+ </div>
36
+ </div>
37
+ <div class="form-group" style="margin-top: 10px">
38
+ <label class="col-sm-2 control-label">情况说明</label>
39
+ <div class="col-sm-10">
40
+ <textarea class="form-control" readonly v-el:useraddress
41
+ cols="2" disabled style="resize: none"
42
+ v-model="row.f_orderremark">
43
+ </textarea>
44
+ </div>
45
+ </div>
46
+ <div v-if="idImgList.length >0" class="form-group" style="margin-top: 10px">
47
+ <label class="col-sm-2 control-label">营业执照</label>
48
+ <div v-for="row in idImgList" class="col-sm-3">
49
+ <img-self :src="row.imgUrl" alt="图片加载失败" :width="100" :height="100"></img-self>
50
+ </div>
51
+ </div>
52
+ <div v-if="docImgList.length >0" class="form-group" style="margin-top: 10px">
53
+ <label class="col-sm-2 control-label">申请表</label>
54
+ <div v-for="row in docImgList" class="col-sm-3">
55
+ <img-self :src="row.imgUrl" alt="图片加载失败" :width="100" :height="100"></img-self>
56
+ </div>
57
+ </div>
58
+ </form>
59
+ </validator>
60
+ <step :active="index" :items="items"></step>
61
+
62
+ <button class="button_search" @click="cancel()">取消
63
+ </button>
64
+ <data-grid :model="msg_data" class="table_sy" partial='list' v-ref:grid style="margin-top:2rem" v-show="msg_data.rows.length > 0">
65
+ <template partial='head'>
66
+ <th>
67
+ <nobr>操作日志</nobr>
68
+ </th>
69
+ </template>
70
+ <template partial='body'>
71
+ <td style="text-align:center;white-space: nowrap;">{{ row.msg }}</td>
72
+ </template>
73
+ </data-grid>
74
+ </div>
75
+ </template>
76
+ <script>
77
+
78
+ import Step from '../../Step'
79
+
80
+ export default {
81
+ data () {
82
+ return {
83
+ show: false,
84
+ f_operator: this.$login.f.name,
85
+ // 所有地址
86
+ address: [],
87
+ placeholder: '',
88
+ msg_data:{rows:[]},
89
+ items:
90
+ [{f_apply_type: '踏勘现场', f_apply_state: '', f_apply_msg: '', id: ''},
91
+ {f_apply_type: '方案设计', f_apply_state: '', f_apply_msg: '', id: ''},
92
+ {f_apply_type: '合同签订', f_apply_state: '', f_apply_msg: '', id: ''},
93
+ {f_apply_type: '财务到账', f_apply_state: '', f_apply_msg: '', id: ''},
94
+ {f_apply_type: '组织施工', f_apply_state: '', f_apply_msg: '', id: ''},
95
+ {f_apply_type: '验收通气', f_apply_state: '', f_apply_msg: '', id: ''}
96
+ ],
97
+ index: 0,
98
+ idImgList: [],
99
+ docImgList: []
100
+ }
101
+ },
102
+ components: {Step},
103
+ props: {
104
+ row: {
105
+ type: Object
106
+ },
107
+ title: {
108
+ type: String
109
+ }
110
+ },
111
+ async ready () {
112
+ },
113
+ methods: {
114
+ cancel () {
115
+ this.$dispatch('refresh')
116
+ },
117
+ // 根据id查询报装进度
118
+ async init (val) {
119
+ if (val.f_imageurl) {
120
+ try {
121
+ let f_imageurl = JSON.parse(val.f_imageurl)
122
+ this.idImgList = f_imageurl.f_idimglist || []
123
+ this.docImgList = f_imageurl.f_docimglist || []
124
+ } catch (e) {
125
+ this.idImgList = []
126
+ this.docImgList = []
127
+ }
128
+ }
129
+ let msg_data = {rows: []}
130
+ console.log('==========', JSON.stringify(val))
131
+ let data = await this.$SqlService.singleTable('t_apply_info', `f_order_id = ${val.id} order by f_apply_date`)
132
+ for (const datum of data.data) {
133
+ msg_data.rows.push({msg: `${datum.f_person} ${datum.f_apply_date} 于 ${datum.f_apply_type} ${datum.f_apply_state}`,id:datum.id})
134
+ }
135
+ this.items = this.items.map((h, i) => {
136
+ h.f_order_id = val.id
137
+ if (data.data[i]) {
138
+ h.f_apply_state = data.data[i].f_apply_state
139
+ h.f_apply_msg = data.data[i].f_apply_msg
140
+ h.id = data.data[i].id
141
+ } else {
142
+ h.f_apply_state = '未通过'
143
+ h.f_apply_msg = ''
144
+ h.id = undefined
145
+ }
146
+ return h
147
+ }
148
+ )
149
+ if (data.data.length>0 && data.data[data.data.length - 1]['f_apply_state']==='未通过') {
150
+ this.index = data.data.length - 1
151
+ }else {
152
+ this.index = val.f_apply_type === '验收通气' ? -1 : data.data.length
153
+ }
154
+ if (this.items[2]['f_apply_state'] === '项目取消') {
155
+ this.items[3]['f_apply_state'] = '项目取消'
156
+ this.items[3]['f_apply_msg'] = ''
157
+ this.items[4]['f_apply_state'] = '项目取消'
158
+ this.items[4]['f_apply_msg'] = ''
159
+ this.items[5]['f_apply_state'] = '项目取消'
160
+ this.items[5]['f_apply_msg'] = ''
161
+ }
162
+ console.log(JSON.stringify(this.items))
163
+ msg_data.rows = msg_data.rows.sort((a,b)=> - b.id - a.id )
164
+ this.msg_data = msg_data
165
+ },
166
+ // 获取所有地址
167
+ async getAreas () {
168
+
169
+ },
170
+ showModal () {
171
+ this.show = true
172
+ },
173
+ close () {
174
+ this.show = false
175
+ },
176
+ async confirm () {
177
+
178
+ }
179
+ },
180
+ watch: {
181
+ 'row' (val) {
182
+ if (!!val) {
183
+ this.init(val)
184
+ }
185
+ }
186
+ },
187
+ computed: {},
188
+ events: {
189
+ 'nextindex' (index, row) {
190
+ console.log(JSON.stringify(row), JSON.stringify(this.row))
191
+ if (!!!row.id) {
192
+ this.row.f_apply_type = row.f_apply_type
193
+ this.row.f_apply_state = row.f_apply_state
194
+ this.row.f_person = row.f_person
195
+ this.row.f_apply_date = row.f_apply_date
196
+ this.row.f_apply_msg = row.f_apply_msg
197
+ }
198
+ if (row.f_apply_type === this.row.f_apply_type) {
199
+ this.row.f_apply_msg = row.f_apply_msg
200
+ this.row.f_apply_date = row.f_apply_date
201
+ }
202
+ if (row.f_apply_state === '未通过') {
203
+ this.index = index
204
+ return true
205
+ }else {
206
+ this.index = index + 1
207
+ return true
208
+ }
209
+ }
210
+ }
211
+ }
212
+ </script>
213
+ <style lang="less">
214
+ #orderApplyDispose {
215
+ .modal-header {
216
+ border: none;
217
+
218
+ .close {
219
+ position: absolute;
220
+ top: 7px;
221
+ right: 10px;
222
+ }
223
+ }
224
+
225
+ overflow: scroll;
226
+
227
+ .modal-body {
228
+ padding-bottom: 0px;
229
+ }
230
+
231
+ .modal-footer {
232
+ padding: 10px 15px;
233
+ border: none;
234
+ }
235
+ }
236
+ </style>
@@ -109,7 +109,9 @@
109
109
  </div>
110
110
  </form>
111
111
  <validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
112
- <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="close" :data='row' @printok="printok" v-ref:printbill></print-bill>
112
+ <print-bill :show="print" :bill-config='config' :bill-data='billData' v-on:toggle="printok" :data='row' @printok="printok" v-ref:printbill></print-bill>
113
+ <book-bill :show="bookprint" :url="'rs/report/book_detail_bill'" :data='bookData' @toggle="close"
114
+ @printok="printok2" v-ref:bookbill></book-bill>
113
115
  <div style="text-align:right;margin-top:30px;margin-right:50px;">
114
116
  <button class="button_search" @click="confirm()" :disabled='!$v.valid || validateOk'>确认</button>
115
117
  <button class="button_clear" @click="clean()" >取消</button>
@@ -125,8 +127,8 @@
125
127
  *超用收费组件
126
128
  */
127
129
 
128
- let getOverUseGen = async function(self) {
129
- await self.$getConfig(self,'OverUseCharge')
130
+ let getOverUseGen = async function (self) {
131
+ await self.$getConfig(self, 'OverUseCharge')
130
132
  console.log('超用config...', self.config)
131
133
  self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
132
134
  self.model.f_payment = [self.config.payment]
@@ -170,14 +172,13 @@ let overChargeGen = async function (self) {
170
172
  if (!ss.result) return
171
173
 
172
174
  let res = await self.$ChangeMeterService.overCharge(self.model, self.row)
173
- console.log('超用收费返回id', res.data.id,)
175
+ console.log('超用收费返回id', res.data.id)
174
176
  if (self.model.f_payment[0].indexOf('&') !== -1) {
175
177
  self.sellinggasId = res.data.id
176
178
  // 付款成功更新收费记录订单号
177
179
  await self.$refs.paymentcode.updateSellinggas(self.sellinggasId)
178
180
  }
179
181
  if (self.config.hasPrint) {
180
-
181
182
  if (self.model.f_print.indexOf('普通收据') !== -1) {
182
183
  if (self.config.hasBillManage) {
183
184
  // 启用发票管理,获取票据管理中的票号并存储记录
@@ -209,9 +210,9 @@ export default {
209
210
  data () {
210
211
  return {
211
212
  config: {
212
- showupload:false, //默认不显示附件
213
- hasPrint : false, //默认打票
214
- hasBillManage :false, //默认不启用发票管理
213
+ showupload: false, // 默认不显示附件
214
+ hasPrint: false, // 默认打票
215
+ hasBillManage: false, // 默认不启用发票管理
215
216
  billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
216
217
  printType: '普通收据', // 收据/电子票/专用发票/国税发票
217
218
  payment: '现金缴费'
@@ -229,11 +230,11 @@ export default {
229
230
  timer: null,
230
231
  // 收费成功id
231
232
  sellinggasId: null,
232
- Change:{
233
- //实收
234
- paid:'',
235
- //找零
236
- change:''
233
+ Change: {
234
+ // 实收
235
+ paid: '',
236
+ // 找零
237
+ change: ''
237
238
  },
238
239
  model: {
239
240
  f_pregas: '0',
@@ -242,7 +243,7 @@ export default {
242
243
  f_totalcost: 0,
243
244
  f_collection: 0,
244
245
  f_balance: '',
245
- f_is_add:'是',
246
+ f_is_add: '是',
246
247
  f_curbalance: '',
247
248
  f_payment: '现金缴费',
248
249
  f_print: [],
@@ -266,9 +267,10 @@ export default {
266
267
  bill: ''
267
268
  },
268
269
  print: false,
269
-
270
+ bookprint: false,
271
+ bookData: {},
270
272
  mulPrint: false,
271
- istotals:[{label:'是',value:'是'},{label:'否',value:'否'}]
273
+ istotals: [{label: '是', value: '是'}, {label: '否', value: '否'}]
272
274
  }
273
275
  },
274
276
  props: ['row'],
@@ -292,7 +294,25 @@ export default {
292
294
  this.clean()
293
295
  },
294
296
  printok () {
295
- // 收据打完,判断是否还有其他票据进行请求
297
+ this.bookData = {
298
+ f_userinfo_id: this.row.f_userinfo_id,
299
+ f_book_no: this.row.f_book_no,
300
+ f_zzhh: this.row.f_zzhh ? this.row.f_zzhh : '',
301
+ content: {
302
+ f_operate_date: `'${this.$login.toStandardDateString()}'`,
303
+ f_zy: `'超用收费'`,
304
+ jfzs: `''`,
305
+ f_jfql: `'${this.model.f_pregas}'`,
306
+ f_jfje: `'${this.model.f_preamount}'`,
307
+ f_ljql: `'${this.row.f_collection_type == '按气量' ? (this.row.f_total_gas - 0) + (this.model.f_pregas - 0) : ''}'`,
308
+ f_operator: `'${this.$login.f.name}'`
309
+ }
310
+ }
311
+ this.print = false
312
+ this.bookprint = true
313
+ },
314
+ printok2 () {
315
+ // 折子打完,判断是否还有其他票据进行请求
296
316
  for (let i = 0; i < this.model.f_print.length; i++) {
297
317
  if (this.model.f_print[i] === '电子普票') {
298
318
  this.$CommonService.openEticket(this.row.id, '超用收费')
@@ -304,7 +324,7 @@ export default {
304
324
  this.validateOk = !val.isOk
305
325
  this.billData.bill = val.bill
306
326
  },
307
- calPreamount (){
327
+ calPreamount () {
308
328
  this.model.f_preamount = (this.model.f_pregas - 0) * (this.model.f_price - 0)
309
329
  this.model.f_totalcost = this.model.f_balance > this.model.f_preamount ? 0 : (this.model.f_preamount - 0) - (this.model.f_balance - 0)
310
330
  this.model.f_collection = this.model.f_totalcost - 0
@@ -332,13 +352,13 @@ export default {
332
352
  'model.f_price' (newVal, oldVal) {
333
353
  this.oldprice = oldVal
334
354
  this.calPreamount()
335
- },
355
+ }
336
356
  },
337
357
  computed: {
338
- paytype() {
339
- return this.row.f_filialeid === '1767'?this.$appdata.getParam('付款方式').filter(item=>item.label!=='&扫码'):this.$appdata.getParam('付款方式')
358
+ paytype () {
359
+ return this.row.f_filialeid === '1767' ? this.$appdata.getParam('付款方式').filter(item => item.label !== '&扫码') : this.$appdata.getParam('付款方式')
340
360
  },
341
- printstyle() {
361
+ printstyle () {
342
362
  return this.$appdata.getParam('打印格式')
343
363
  },
344
364
  'f_curbalance' () {
@@ -7,7 +7,7 @@
7
7
  <article slot="modal-body" class="modal-body">
8
8
  <validator name='v'>
9
9
  <form class="form-horizontal select-overspread">
10
- <div class="row" style="display: flex;justify-content: center;" id='normal-bill' v-if="bill.data">
10
+ <div class="row" style="display: flex;justify-content: center;" id='book-bill' v-if="bill.data">
11
11
  {{{bill.data}}}
12
12
  </div>
13
13
  </form>
@@ -15,7 +15,7 @@
15
15
  </article>
16
16
  <footer slot="modal-footer" class="modal-footer">
17
17
  <button type="button" class="btn btn-success" @click='print()'>打印</button>
18
- <report-print id='normal-bill' :top='top' left='0mm' width='90%' height='80%' :notrepeat="false" :showbtn="false" v-ref:reportprint></report-print>
18
+ <report-print id='book-bill' :top='top' left='0mm' width='90%' height='80%' :notrepeat="false" :showbtn="false" v-ref:reportprint></report-print>
19
19
  <button type="button" class="btn btn-default" @click='cancel()'>取消</button>
20
20
  </footer>
21
21
  </modal>