address-client 3.2.72 → 3.2.74

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,162 +1,162 @@
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 str = 'http://127.0.0.1:8078', str2= 'http://192.168.50.4:8400/'
14
- var str3= 'http://192.168.50.4:8400/'
15
- var proxyTable = {
16
- '/rs/sql':{
17
- target: str3,
18
- secure:true,
19
- changeOrigin:true
20
- // target: 'http://127.0.0.1:8080'
21
- },
22
- '/webapps':{
23
- target: str3,
24
- secure:true,
25
- changeOrigin:true
26
- // target: 'http://127.0.0.1:8080'
27
- },
28
- '/rs/logic/getLogin': {
29
- target: str3,
30
- secure:true,
31
- changeOrigin:true
32
- },
33
- '/rs/logic/getInitData': {
34
- target: str3,
35
- secure:true,
36
- changeOrigin:true,
37
- },
38
- '/rs/logic/getSaleInitData': {
39
- target: str3,
40
- secure:true,
41
- changeOrigin:true
42
- },
43
- '/rs/logic':{
44
- target: str3,
45
- secure:true,
46
- changeOrigin:true
47
- // target: 'http://127.0.0.1:8080'
48
- },
49
- '/rs/vue': {
50
- target: str3,
51
- secure:true,
52
- changeOrigin:true
53
- },
54
- '/rs/user': {
55
- target: str3,
56
- secure:true,
57
- changeOrigin:true
58
- },
59
- '/rs/db': {
60
- target: str3,
61
- secure:true,
62
- changeOrigin:true
63
- },
64
- '/rs/search': {
65
- target: str3,
66
- secure:true,
67
- changeOrigin:true
68
- // target: 'http://127.0.0.1:8080'
69
- },
70
- '/rs/data': {
71
- target: str3,
72
- secure:true,
73
- changeOrigin:true
74
- },
75
- '/rs': {
76
- // target: 'http://192.168.50.199:8300'
77
- target: str3,
78
- secure:true,
79
- changeOrigin:true
80
- }
81
- }
82
-
83
- var devMiddleware = require('webpack-dev-middleware')(compiler, {
84
- publicPath: config.output.publicPath,
85
- stats: {
86
- colors: true,
87
- chunks: false
88
- }
89
- })
90
-
91
- var hotMiddleware = require('webpack-hot-middleware')(compiler)
92
- // force page reload when html-webpack-plugin template changes
93
- compiler.plugin('compilation', function (compilation) {
94
- compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
95
- hotMiddleware.publish({ action: 'reload' })
96
- cb()
97
- })
98
- })
99
-
100
- // proxy api requests
101
- Object.keys(proxyTable).forEach(function (context) {
102
- var options = proxyTable[context]
103
- if (typeof options === 'string') {
104
- options = { target: options }
105
- }
106
- app.use(proxyMiddleware(context, options))
107
- })
108
-
109
- // handle fallback for HTML5 history API
110
- app.use(require('connect-history-api-fallback')())
111
-
112
- // serve webpack bundle output
113
- app.use(devMiddleware)
114
-
115
- // enable hot-reload and state-preserving
116
- // compilation error display
117
- app.use(hotMiddleware)
118
-
119
- // serve pure static assets
120
- app.use('/static', express.static('./static'))
121
-
122
- // app.all('/rs/*', function (req, res) {
123
- // proxy.web(req, res, {
124
- // target: 'http://127.0.0.1:8081/reports'
125
- // })
126
- // })
127
-
128
- // app.all('/rs/*', function (req, res) {
129
- // proxy.web(req, res, {
130
- // target: 'http://127.0.0.1:8081/ldap'
131
- // })
132
- // })
133
- // app.all('/excel/*', function (req, res) {
134
- // proxy.web(req, res, {
135
- // target: 'http://127.0.0.1:8081/charge'
136
- // })
137
- // })
138
-
139
- // app.all('/rs/*', function (req, res) {
140
- // proxy.web(req, res, {
141
- // target: 'http://127.0.0.1:82/charge'
142
- // })
143
- // })
144
-
145
- // app.all('/*', function (req, res) {
146
- // proxy.web(req, res, {
147
- // target: 'http://127.0.0.1:82'
148
- // })
149
- // })
150
- // app.all('/rs/user', function (req, res) {
151
- // proxy.web(req, res, {
152
- // target: 'http://127.0.0.1:82'
153
- // })
154
- // })
155
-
156
- module.exports = app.listen(8085, function (err) {
157
- if (err) {
158
- console.log(err)
159
- return
160
- }
161
- console.log('Listening at http://localhost:8085')
162
- })
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 str = 'http://127.0.0.1:8078', str2= 'http://192.168.50.4:8400/'
14
+ var str3= 'https://qnjtkf.cn:8400/'
15
+ var proxyTable = {
16
+ '/rs/sql':{
17
+ target: str3,
18
+ secure:true,
19
+ changeOrigin:true
20
+ // target: 'http://127.0.0.1:8080'
21
+ },
22
+ '/webapps':{
23
+ target: str3,
24
+ secure:true,
25
+ changeOrigin:true
26
+ // target: 'http://127.0.0.1:8080'
27
+ },
28
+ '/rs/logic/getLogin': {
29
+ target: str3,
30
+ secure:true,
31
+ changeOrigin:true
32
+ },
33
+ '/rs/logic/getInitData': {
34
+ target: str3,
35
+ secure:true,
36
+ changeOrigin:true,
37
+ },
38
+ '/rs/logic/getSaleInitData': {
39
+ target: str3,
40
+ secure:true,
41
+ changeOrigin:true
42
+ },
43
+ '/rs/logic':{
44
+ target: str3,
45
+ secure:true,
46
+ changeOrigin:true
47
+ // target: 'http://127.0.0.1:8080'
48
+ },
49
+ '/rs/vue': {
50
+ target: str3,
51
+ secure:true,
52
+ changeOrigin:true
53
+ },
54
+ '/rs/user': {
55
+ target: str3,
56
+ secure:true,
57
+ changeOrigin:true
58
+ },
59
+ '/rs/db': {
60
+ target: str3,
61
+ secure:true,
62
+ changeOrigin:true
63
+ },
64
+ '/rs/search': {
65
+ target: str3,
66
+ secure:true,
67
+ changeOrigin:true
68
+ // target: 'http://127.0.0.1:8080'
69
+ },
70
+ '/rs/data': {
71
+ target: str3,
72
+ secure:true,
73
+ changeOrigin:true
74
+ },
75
+ '/rs': {
76
+ // target: 'http://192.168.50.199:8300'
77
+ target: str3,
78
+ secure:true,
79
+ changeOrigin:true
80
+ }
81
+ }
82
+
83
+ var devMiddleware = require('webpack-dev-middleware')(compiler, {
84
+ publicPath: config.output.publicPath,
85
+ stats: {
86
+ colors: true,
87
+ chunks: false
88
+ }
89
+ })
90
+
91
+ var hotMiddleware = require('webpack-hot-middleware')(compiler)
92
+ // force page reload when html-webpack-plugin template changes
93
+ compiler.plugin('compilation', function (compilation) {
94
+ compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
95
+ hotMiddleware.publish({ action: 'reload' })
96
+ cb()
97
+ })
98
+ })
99
+
100
+ // proxy api requests
101
+ Object.keys(proxyTable).forEach(function (context) {
102
+ var options = proxyTable[context]
103
+ if (typeof options === 'string') {
104
+ options = { target: options }
105
+ }
106
+ app.use(proxyMiddleware(context, options))
107
+ })
108
+
109
+ // handle fallback for HTML5 history API
110
+ app.use(require('connect-history-api-fallback')())
111
+
112
+ // serve webpack bundle output
113
+ app.use(devMiddleware)
114
+
115
+ // enable hot-reload and state-preserving
116
+ // compilation error display
117
+ app.use(hotMiddleware)
118
+
119
+ // serve pure static assets
120
+ app.use('/static', express.static('./static'))
121
+
122
+ // app.all('/rs/*', function (req, res) {
123
+ // proxy.web(req, res, {
124
+ // target: 'http://127.0.0.1:8081/reports'
125
+ // })
126
+ // })
127
+
128
+ // app.all('/rs/*', function (req, res) {
129
+ // proxy.web(req, res, {
130
+ // target: 'http://127.0.0.1:8081/ldap'
131
+ // })
132
+ // })
133
+ // app.all('/excel/*', function (req, res) {
134
+ // proxy.web(req, res, {
135
+ // target: 'http://127.0.0.1:8081/charge'
136
+ // })
137
+ // })
138
+
139
+ // app.all('/rs/*', function (req, res) {
140
+ // proxy.web(req, res, {
141
+ // target: 'http://127.0.0.1:82/charge'
142
+ // })
143
+ // })
144
+
145
+ // app.all('/*', function (req, res) {
146
+ // proxy.web(req, res, {
147
+ // target: 'http://127.0.0.1:82'
148
+ // })
149
+ // })
150
+ // app.all('/rs/user', function (req, res) {
151
+ // proxy.web(req, res, {
152
+ // target: 'http://127.0.0.1:82'
153
+ // })
154
+ // })
155
+
156
+ module.exports = app.listen(8085, function (err) {
157
+ if (err) {
158
+ console.log(err)
159
+ return
160
+ }
161
+ console.log('Listening at http://localhost:8085')
162
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "address-client",
3
- "version": "3.2.72",
3
+ "version": "3.2.74",
4
4
  "description": "地址管理前台组件",
5
5
  "author": "wanbochao",
6
6
  "license": "ISC",
@@ -79,9 +79,9 @@
79
79
  "style": "0.0.3",
80
80
  "style-loader": "^0.20.3",
81
81
  "ldap-clients": "3.0.55-test-1",
82
- "system-clients": "3.2.54-test-1",
82
+ "system-clients": "3.2.61",
83
83
  "url-loader": "^0.5.7",
84
- "vue-client": "1.24.72",
84
+ "vue-client": "1.24.86",
85
85
  "vue-hot-reload-api": "^1.2.0",
86
86
  "vue-html-loader": "^1.0.0",
87
87
  "vue-loader": "^8.2.1",
@@ -0,0 +1,615 @@
1
+ <template>
2
+ <div class="flex" @keyup.enter="search">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div :class="$parent.$parent.style">
8
+ <label class="font_normal_body">组织机构</label>
9
+ <res-select
10
+ restype='organization'
11
+ @res-select="$parent.$parent.getorg"
12
+ is-mul="false"
13
+ :initresid='$parent.$parent.curorgid'
14
+ >
15
+ </res-select>
16
+ </div>
17
+ <div :class="$parent.$parent.style" v-if="$parent.$parent.showrightchange">
18
+ <label class="font_normal_body">用户编号</label>
19
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code" style="width:60%"
20
+ condition="f_userinfo_code = '{}'" placeholder="用户编号"/>
21
+ </div>
22
+ <div v-if="$parent.$parent.showrightchange" :class="$parent.$parent.style">
23
+ <label class="font_normal_body">小&emsp;&emsp;区111</label>
24
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_arearea" style="width:60%"
25
+ condition="a.f_residential_area like '%{}%'" placeholder="小区"
26
+ :size="model.f_residential_arearea ? model.f_residential_arearea.length*2 : 8"/>
27
+ </div>
28
+ <!--<div v-if="$parent.$parent.showrightchange" :class="$parent.$parent.style" v-if="!$parent.$parent.$parent.useraddressShow">-->
29
+ <div :class="$parent.$parent.style" v-if="$parent.$parent.$parent.showrightchange">
30
+ <label class="font_normal_body">楼&emsp;&emsp;号</label>
31
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_building" style="width:60%"
32
+ condition="a.f_building like '%{}%'" placeholder="楼号"
33
+ :size="model.f_building ? model.f_building.length*2 : 6"/>
34
+ </div>
35
+ <div class="col-sm-4 form-group button-range" >
36
+ <button class="button_search button_spacing" @click="search()" >查询</button>
37
+ <button class="button_new button_spacing" style="width: max-content" @click="$parent.$parent.add('民用')">添加民用</button>
38
+ <button class="button_new button_spacing" style="width: max-content" @click="$parent.$parent.add('非民用')">添加特殊地址</button>
39
+ <button class="button_new button_spacing" style="width: max-content" v-show="this.$login.r.includes('批量修改')" @click="$parent.$parent.modifyBatch()">批量修改</button>
40
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
41
+ <button class="button_export button_spacing" @click="$parent.$parent.importAddress('导入')">模板导入</button>
42
+ <button class="button_export button_spacing"
43
+ v-show="this.$login.r.includes('完善地址')"
44
+ @click="$parent.$parent.importAddress('完善')">完善地址</button>
45
+ <export-excel :data="$parent.$parent.getCondition"
46
+ :field="$parent.$parent.getfield"
47
+ sqlurl="rs/logic/exportfile"
48
+ sql-name="addressGetAddress"
49
+ template-name='地址管理查询导出'
50
+ :choose-col="true"></export-excel>
51
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
52
+ </div>
53
+ </div>
54
+ <div class="row" v-show="$parent.$parent.criteriaShow">
55
+ <div :class="$parent.$parent.style" v-if="!$parent.$parent.showrightchange">
56
+ <label class="font_normal_body">用户编号</label>
57
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code" style="width:60%"
58
+ condition="f_userinfo_code = '{}'" placeholder="用户编号"/>
59
+ </div>
60
+ <div v-if="!$parent.$parent.showrightchange" :class="$parent.$parent.style">
61
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
62
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_arearea" style="width:60%"
63
+ condition="a.f_residential_area like '%{}%'" placeholder="小区"
64
+ :size="model.f_residential_arearea ? model.f_residential_arearea.length*2 : 8"/>
65
+ </div>
66
+ <div :class="$parent.$parent.style" v-if="!$parent.$parent.$parent.showrightchange">
67
+ <label class="font_normal_body">楼&emsp;&emsp;号</label>
68
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_building" style="width:60%"
69
+ condition="a.f_building like '%{}%'" placeholder="楼号"
70
+ :size="model.f_building ? model.f_building.length*2 : 6"/>
71
+ </div>
72
+ <div :class="$parent.$parent.style" >
73
+ <label class="font_normal_body">单&emsp;&emsp;元</label>
74
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_unit" style="width:60%"
75
+ condition="a.f_unit like '%{}%'" placeholder="单元"
76
+ :size="model.f_unit ? model.f_unit.length*2 : 6"/>
77
+ </div>
78
+ <div :class="$parent.$parent.style">
79
+ <label class="font_normal_body">楼&emsp;&emsp;层</label>
80
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_floor" style="width:60%"
81
+ condition="a.f_floor like '%{}%'" placeholder="楼层"
82
+ :size="model.f_floor ? model.f_floor.length*2 : 6"/>
83
+ </div>
84
+ <div :class="$parent.$parent.style">
85
+ <label class="font_normal_body">门&ensp;牌&ensp;号</label>
86
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_room" style="width:60%"
87
+ condition="a.f_room like '%{}%'" placeholder="门牌号"
88
+ :size="model.f_room ? model.f_room.length*2 : 6"/>
89
+ </div>
90
+ <!-- <div :class="$parent.$parent.style">-->
91
+ <!-- <label class="font_normal_body">小&emsp;&emsp;区</label>-->
92
+ <!-- <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_arearea" style="width:60%"-->
93
+ <!-- condition="a.f_residential_area like '%{}%'" placeholder="小区"-->
94
+ <!-- :size="model.f_residential_arearea ? model.f_residential_arearea.length*2 : 8"/>-->
95
+ <!-- </div>-->
96
+
97
+ <div :class="$parent.$parent.style">
98
+ <label class="font_normal_body">地址&emsp;ID</label>
99
+ <input type="text" class="input_search" style="width:60%" v-model="model.id" style="width:60%"
100
+ condition="a.id = '{}'" placeholder="地址ID"
101
+ />
102
+ </div>
103
+ <div :class="$parent.$parent.style" >
104
+ <label class="font_normal_body">详细地址</label>
105
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_address" style="width:60%"
106
+ condition="a.f_address like '%{}%'" placeholder="详细地址"
107
+ :size="model.f_address ? model.f_address.length*2 : 8"/>
108
+ </div>
109
+ <div :class="$parent.$parent.style" v-if="!$parent.$parent.$parent.showrightchange">
110
+ <label class="font_normal_body">街道/乡镇</label>
111
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_street"
112
+ condition="f_street like '%{}%'" placeholder="街道/乡镇"
113
+ :size="model.f_street ? model.f_street.length*2 : 6"/>
114
+ </div>
115
+ <div :class="$parent.$parent.style" >
116
+ <label class="font_normal_body">地址状态</label>
117
+ <v-select :value.sync="model.f_address_state"
118
+ class="select_list select"
119
+ v-model="model.f_address_state"
120
+ condition="a.f_address_state = '{}'"
121
+ :options='$parent.$parent.getaddresstate' placeholder='地址状态'
122
+ close-on-select>
123
+ </v-select>
124
+ </div>
125
+ <div :class="$parent.$parent.style" >
126
+ <label class="font_normal_body">状&emsp;&emsp;态</label>
127
+ <v-select :value.sync="model.f_state"
128
+ class="select_list select"
129
+ v-model="model.f_state"
130
+ condition="a.f_state {}"
131
+ :options='$parent.$parent.getstate' placeholder='地址状态'
132
+ close-on-select>
133
+ </v-select>
134
+ </div>
135
+ </div>
136
+ </div>
137
+ </criteria>
138
+ <data-grid :model="model" partial='list' style="overflow: auto" class="list_area table_sy" :optional="true" v-ref:grid>
139
+ <template partial='head'>
140
+ <th><nobr>序号</nobr></th>
141
+ <th><nobr>用户编号</nobr></th>
142
+ <th><nobr>用户姓名</nobr></th>
143
+ <th v-show="!$parent.$parent.$parent.$parent.useraddressShow"><nobr>区/县</nobr></th>
144
+ <th v-show="!$parent.$parent.$parent.$parent.useraddressShow"><nobr>片区/管理站</nobr></th>
145
+ <th><nobr>街道/乡镇</nobr></th>
146
+ <th><nobr>小区(单位)</nobr></th>
147
+ <th v-show="!$parent.$parent.$parent.$parent.useraddressShow"><nobr>楼号</nobr></th>
148
+ <th v-show="!$parent.$parent.$parent.$parent.useraddressShow"><nobr>单元</nobr></th>
149
+ <th v-show="!$parent.$parent.$parent.$parent.useraddressShow"><nobr>楼层</nobr></th>
150
+ <th v-show="!$parent.$parent.$parent.$parent.useraddressShow"><nobr>门牌号</nobr></th>
151
+ <th><nobr>详细地址</nobr></th>
152
+ <th><nobr>地址状态</nobr></th>
153
+ <th><nobr>状态</nobr></th>
154
+ <th><nobr>时间</nobr></th>
155
+ <th><nobr>操作</nobr></th>
156
+ </template>
157
+ <template partial='body'>
158
+ <td style="text-align:center"><nobr>{{$index + 1}}</nobr></td>
159
+ <td style="text-align:center"><nobr>{{row.f_userinfo_code}}</nobr></td>
160
+ <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
161
+ <td v-show="!$parent.$parent.$parent.$parent.useraddressShow" style="text-align:center"><nobr>{{row.f_pcd}}</nobr></td>
162
+ <td v-show="!$parent.$parent.$parent.$parent.useraddressShow" style="text-align:center"><nobr>{{row.f_slice_area}}</nobr></td>
163
+ <td style="text-align:center"><nobr>{{row.f_street}}</nobr></td>
164
+ <td style="text-align:center"><nobr>{{row.f_residential_area}}</nobr></td>
165
+ <td v-show="!$parent.$parent.$parent.$parent.useraddressShow" style="text-align:center"><nobr>{{row.f_building}}{{row.f_building_suffix}}</nobr></td>
166
+ <td v-show="!$parent.$parent.$parent.$parent.useraddressShow" style="text-align:center"><nobr>{{row.f_unit}}{{row.f_unit_suffix}}</nobr></td>
167
+ <td v-show="!$parent.$parent.$parent.$parent.useraddressShow" style="text-align:center"><nobr>{{row.f_floor}}{{row.f_floor_suffix}}</nobr></td>
168
+ <td v-show="!$parent.$parent.$parent.$parent.useraddressShow" style="text-align:center"><nobr>{{row.f_room}}{{row.f_room_suffix}}</nobr></td>
169
+ <td style="text-align:center"><nobr>{{row.f_address}}</nobr></td>
170
+ <td style="text-align:center"><nobr>{{row.f_address_state}}</nobr></td>
171
+ <td style="text-align:center"><nobr>{{row.f_state ==='作废'?'作废':'有效'}}</nobr></td>
172
+ <td style="text-align:center"><nobr>{{row.f_create_date}}</nobr></td>
173
+ <td style="text-align:center">
174
+ <!-- <button type="button" name="button" class="btn btn-link"
175
+ @click.stop="$parent.$parent.$parent.modify(row)">修改</button>-->
176
+ <button v-if="!row.f_useraddress_id" type="button" name="button" class="btn btn-danger"
177
+ style="padding: 5px 12px"
178
+ @click.stop="$parent.$parent.$parent.delete(row)">删除</button>
179
+ </td>
180
+ </template>
181
+ <template partial='foot'></template>
182
+ </data-grid>
183
+ </criteria-paged>
184
+ </div>
185
+ <work-busy :is-busy='isbusy'></work-busy>
186
+ <modal :show.sync="showFile" width="480px" v-ref:modal backdrop="true">
187
+ <header slot="modal-header" class="modal-header">
188
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
189
+ <h4 class="modal-title">选择文件</h4>
190
+ </header>
191
+ <article slot="modal-body" class="modal-body">
192
+ <div class="form-group">
193
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
194
+ </div>
195
+ </article>
196
+ <footer slot="modal-footer" class="modal-footer" style="display: none"></footer>
197
+ </modal>
198
+
199
+ <modal :show.sync="showModify" large backdrop="false" :width="900">
200
+ <header slot="modal-header" class="modal-header">
201
+ </header>
202
+ <article slot="modal-body" class="modal-body">
203
+
204
+ <validator name='v'>
205
+ <div class="auto select-overspread form-horizontal">
206
+ <div class="col-sm-6 form-group">
207
+ <label class="font_normal_body">省&ensp;市&ensp;区</label>
208
+ <input type="text" class="input_search" class="input_search" style="width:60%" v-show="false" v-model="areamodel.f_pcd_id">
209
+ <v-select
210
+ :value.sync="areamodel.f_pcd_id" :value-single="true"
211
+ :options='pcdslist' placeholder='请选择'
212
+ close-on-select search="true" @change="pcdChange">
213
+ </v-select>
214
+ </div>
215
+ <div class="col-sm-6 form-group"
216
+ :class="[$v.f_street_id.required ? 'has-error' : 'has-success']">
217
+ <label class="font_normal_body">街道名称</label>
218
+ <input type="text" style="width:60%" class="input_search" v-show="false" v-model="areamodel.f_street_id"
219
+ v-validate:f_street_id='{required: true }'>
220
+ <v-select
221
+ :value.sync="areamodel.f_street_id" :value-single="true"
222
+ :options='streetslist' placeholder='请选择'
223
+ close-on-select search="true" @change="streetChange">
224
+ </v-select>
225
+ </div>
226
+ <div class="col-sm-6 form-group " v-if="showModify"
227
+ :class="[$v.f_residential_area_id.required ? 'has-error' : 'has-success']">
228
+ <label class="font_normal_body">小区名称</label>
229
+ <input type="text" style="width:41%" v-show="false" v-model="areamodel.f_residential_area_id"
230
+ v-validate:f_area_id='{required: true }'>
231
+ <v-select :value.sync="areamodel.f_residential_area_id" :value-single="true"
232
+ :options='areaslist' placeholder='请选择'
233
+ @change=""
234
+ close-on-select search="true">
235
+ </v-select>
236
+ </div>
237
+ </div>
238
+ </validator>
239
+
240
+ </article>
241
+ <footer slot="modal-footer" class="modal-footer">
242
+ <button v-show="showModify" type="button" class="button_search button_spacing" @click='confirmModify()' :disabled='!$v.valid'>确认</button>
243
+ <button v-show="showModify" type="button" class="button_clear button_spacing" @click='cancelModify()'>取消</button>
244
+ </footer>
245
+ </modal>
246
+ </template>
247
+
248
+ <script>
249
+ import {HttpResetClass} from 'vue-client'
250
+ import { PagedList } from 'vue-client'
251
+ let readyGen = async function (self) {
252
+ self.getfield = self.config.excelHeaders
253
+ }
254
+ export default {
255
+ data () {
256
+ return {
257
+ criteriaShow: false,
258
+ model: new PagedList('rs/sql/address_getAddress',20,{tablename: `'t_user_address'`,items: `'*'`,orderitem: `'id desc'`}),
259
+ config: {
260
+ // 导出列要和查询列相同
261
+ excelHeaders: {
262
+ 'f_user_name':'用户姓名',
263
+ 'f_userinfo_code':'用户编号',
264
+ 'id':'地址ID',
265
+ 'f_pcd':'区/县',
266
+ 'f_slice_area':'片区',
267
+ 'f_street':'街道',
268
+ 'f_residential_area':'小区',
269
+ 'f_building':'楼号',
270
+ 'f_unit':'单元',
271
+ 'f_floor':'楼层',
272
+ 'f_room':'门牌号',
273
+ 'f_address':'详细地址',
274
+ 'f_address_state':'地址状态',
275
+ 'f_create_date':'时间',
276
+ 'f_state':'状态'
277
+ },
278
+ },
279
+ isbusy:false,
280
+ addflag: false,
281
+ addtitle:'',
282
+ other: [],
283
+ footer: [],
284
+ getfield: {},
285
+ imptype:'',
286
+ // 公司下拉
287
+ curorgid: [this.$login.f.orgid],
288
+ f_orgid: '',
289
+ getstate:[{label:'全部',value:''},{label:'有效',value:" = '有效' or a.f_state is null"},{label:'作废',value:" = '作废'"}],
290
+ //文件上传弹框
291
+ showFile: false,
292
+ showrightchange:true,
293
+ showModify: false,
294
+ //小区
295
+ areamodel: {
296
+ f_area_id: '',
297
+ f_pcd_id:'',
298
+ f_street_id:'',
299
+ f_residential_area:'',
300
+ f_residential_area_id:''
301
+ },
302
+ //初始化省市区数据
303
+ pcdslist:[],
304
+ //初始化街道数据
305
+ streetslist:[],
306
+ //初始化街道数据
307
+ areaslist:[],
308
+ // 要修改的用户信息
309
+ userInfos: []
310
+ }
311
+ },
312
+ title: '地址列表',
313
+ props:{
314
+ f_filialeids:{
315
+ type: String
316
+ },
317
+ style: {
318
+ type: String,
319
+ default: 'col-sm-2 '
320
+ }
321
+ },
322
+ ready(){
323
+ readyGen(this)
324
+ this.search()
325
+ this.initpcds(`f_filialeid = '${this.f_filialeids}'`)
326
+ this.initareas(`f_filialeid = '${this.f_filialeids}'`)
327
+ //this.$refs.paged.$refs.grid.selectInit()
328
+ },
329
+ methods: {
330
+ getotherfooter() {
331
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
332
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
333
+ this.other = [];
334
+ this.footer = [];
335
+ // let exportdata = this.getCondition;
336
+ let otherInData = [];
337
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
338
+ let footerData = [], exportfield = this.getfield;
339
+ footerData.push("合计");
340
+ let self = this;
341
+ for (var field in self.sumsmodel) {
342
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
343
+ }
344
+ this.footer.push(footerData);
345
+ this.other.push(otherInData);
346
+ },
347
+ hidden() {
348
+ this.criteriaShow = !this.criteriaShow
349
+ },
350
+ //添加方法
351
+ add(val){
352
+ if (this.f_filialeids) {
353
+ this.$refs.paged.$refs.grid.selectStore.selected = null
354
+ this.$dispatch('add',val)
355
+ this.showrightchange = false;
356
+ } else {
357
+ this.$showAlert('请先选择左上角的所在分公司', 'warning', 2000)
358
+ }
359
+ },
360
+ importAddress(val){
361
+ this.imptype = val
362
+ this.showFile = true
363
+ },
364
+ // 关闭文件上传对话框
365
+ closeFile() {
366
+ this.showFile = false
367
+ // 将选的文件清空
368
+ this.$refs.file.$el.querySelector('input').value = ''
369
+ },
370
+ //修改
371
+ modify(val){
372
+ this.$refs.paged.$refs.grid.selectStore.selected = null
373
+ this.$dispatch('modify',val)
374
+ },
375
+ async delete(row){
376
+ if(row.id >= 0){
377
+ var id = row.id
378
+ let userfiles = await this.$resetpost('rs/sql/address_singleTable', {data: {items: 'f_useraddress_id',tablename: 't_userfiles',condition: `f_useraddress_id='${id}' and f_table_state = '正常'`}},{resolveMsg: null, rejectMsg: null})
379
+ if(userfiles.data.length){
380
+ this.$showAlert('该地址下已有正常表具档案,无法删除!','warning',1000)
381
+ }else{
382
+ this.$resetdelete('rs/entity/t_user_address', {id: id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
383
+ this.$dispatch('cancel')
384
+ })
385
+ }
386
+ }
387
+ },
388
+ search () {
389
+ this.$refs.paged.$refs.cri.search()
390
+ },
391
+ selfSearch (args) {
392
+ if (!this.f_orgid) {
393
+ this.getorg([this.$login.f.orgid])
394
+ }
395
+ args.condition = `${args.condition} and a.f_filialeid = '${this.f_filialeids}'`
396
+ this.model.search(args.condition, args.model)
397
+ },
398
+
399
+ //清空
400
+ clear(){
401
+ this.$refs.paged.$refs.cri.model = {}
402
+ this.$refs.paged.$refs.grid.selectInit()
403
+ },
404
+ getorg (val) {
405
+ this.f_orgid = this.$login.convertToIn(val)
406
+ this.f_filialeids = val[0]
407
+ },
408
+ async modifyBatch () {
409
+ if (this.f_filialeids) {
410
+ if (this.$refs.paged.$refs.grid.getRowData().length != 0) {
411
+ this.areamodel.f_pcd_id = this.$refs.paged.$refs.grid.getRowData()[0].f_pcd_id
412
+ this.showModify = true
413
+ } else {
414
+ this.$showAlert('请至少选择一项!', 'warning', 2000)
415
+ }
416
+ }else {
417
+ this.$showAlert('请先选择左上角的所在分公司', 'warning', 2000)
418
+ }
419
+ },
420
+ confirmModify () {
421
+ this.userInfos = []
422
+ this.$refs.paged.$refs.grid.getRowData().forEach((row,n) => {
423
+ this.userInfos[n] = {
424
+ userid: row.id,
425
+ f_residential_area: row.f_residential_area,
426
+ f_street: row.f_street,
427
+ f_address: row.f_address,
428
+ f_address_rest: row.f_street + row.f_residential_area + (row.f_building?row.f_building+row.f_building_suffix:'') + (row.f_unit?row.f_unit+row.f_unit_suffix:'') + (row.f_floor?row.f_floor+row.f_floor_suffix:'') + (row.f_room?row.f_room+row.f_room_suffix:'')
429
+ }
430
+ })
431
+ let modifyBatchData = {
432
+ userInfos: this.userInfos,
433
+ f_pcd_id: this.areamodel.f_pcd_id,
434
+ f_residential_area_id: this.areamodel.f_residential_area_id,
435
+ f_street_id: this.areamodel.f_street_id,
436
+ f_operator: this.$login.f.name,
437
+ f_operatorid: this.$login.f.id,
438
+ f_orgid: this.$login.f.orgid,
439
+ f_orgname: this.$login.f.orgs,
440
+ f_depid: this.$login.f.depids,
441
+ f_depname: this.$login.f.deps,
442
+ f_filialeid: this.f_filialeids
443
+ }
444
+ this.$resetpost('rs/logic/modifyBatch',modifyBatchData)
445
+ this.initpcds(`f_filialeid = '${this.f_filialeids}'`)
446
+ this.showModify = false
447
+ this.$refs.paged.$refs.grid.selectInit()
448
+ this.$refs.paged.$refs.cri.search()
449
+ },
450
+ cancelModify() {
451
+ this.initpcds(`f_filialeid = '${this.f_filialeids}'`)
452
+ this.showModify = false
453
+ this.$refs.paged.$refs.grid.selectInit()
454
+ },
455
+
456
+ //初始化省市区,添加街道
457
+ async initpcds(pconditon){
458
+ this.pcdslist = []
459
+ let HttpReset = new HttpResetClass()
460
+ let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
461
+ data: {
462
+ items: '*',
463
+ tablename: 't_pcd',
464
+ orderitem: 'id',
465
+ condition: pconditon
466
+ }
467
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
468
+ let redata = []
469
+ req.data.forEach((row, n) => {
470
+ redata[n] = {
471
+ label: row.f_pcd,
472
+ value: row.id,
473
+ data:row,
474
+ id:row.id
475
+ }
476
+ })
477
+ this.pcdslist=redata
478
+ },
479
+
480
+ //初始化街道
481
+ async initstreets(pconditon){
482
+ this.streetslist = []
483
+ let HttpReset = new HttpResetClass()
484
+ let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
485
+ data: {
486
+ items: '*',
487
+ tablename: 't_street',
488
+ orderitem: 'id',
489
+ condition: pconditon
490
+ }
491
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
492
+ let redata = []
493
+ req.data.forEach((row, n) => {
494
+ redata[n] = {
495
+ label: row.f_street,
496
+ value: row.id,
497
+ data:row,
498
+ id:row.id
499
+ }
500
+ })
501
+ this.streetslist=redata
502
+ },
503
+ //初始化小区
504
+ async initareas(pconditon){
505
+ this.areaslist = []
506
+ let HttpReset = new HttpResetClass()
507
+ let req = await HttpReset.load('POST', 'rs/sql/address_singleTableOrderBy', {
508
+ data: {
509
+ items: '*',
510
+ tablename: 't_area',
511
+ orderitem: 'id',
512
+ condition: pconditon
513
+ }
514
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
515
+ let redata = []
516
+ req.data.forEach((row) => {
517
+ redata.push({
518
+ label: row.f_residential_area,
519
+ value: row.id,
520
+ data: row,
521
+ id: row.id
522
+ })
523
+ })
524
+ this.areaslist=redata
525
+ },
526
+
527
+
528
+ //省/市/区变化
529
+ async pcdChange(val){
530
+ if(val){
531
+ //那就把街道数据重新组织一下
532
+ await this.initstreets(` f_filialeid = '${this.f_filialeids}' and f_pcd_id ='${val}' `)
533
+ if(this.areamodel.f_street_id){
534
+ if (this.findbyid(this.streetslist,this.areamodel.f_street_id)) {
535
+ let pcd_id=this.findbyid(this.streetslist,this.areamodel.f_street_id).f_pcd_id
536
+ if(pcd_id!=val){
537
+ this.areamodel.f_street_id=''
538
+ }
539
+ } else {
540
+ this.areamodel.f_street_id=''
541
+ }
542
+ }
543
+ }
544
+ this.$resetValidation()
545
+ },
546
+ //街道变化
547
+ async streetChange(val){
548
+ if(val){
549
+ await this.initareas(` f_filialeid = '${this.f_filialeids}' and f_street_id ='${val}' `)
550
+ if(this.areamodel.f_area_id){
551
+ if (this.findbyid(this.areaslist,this.areamodel.f_area_id)) {
552
+ let street_id=this.findbyid(this.areaslist,this.areamodel.f_area_id).f_street_id
553
+ if(street_id!=val){
554
+ this.areamodel.f_area_id=''
555
+ }
556
+ } else {
557
+ this.areamodel.f_area_id=''
558
+ }
559
+ }
560
+ }
561
+ this.$resetValidation()
562
+ },
563
+ //根据名字找数据
564
+ findbyid(list,name){
565
+ var result
566
+ list.forEach((row, n) => {
567
+ if(name==row.id){
568
+ result= row.data
569
+ }
570
+ })
571
+ return result
572
+ },
573
+ },
574
+ events: {
575
+ onFileUpload: async function (file, res) {
576
+ this.isbusy = true
577
+ console.log("上传完毕"+JSON.stringify(res))
578
+ let data = {
579
+ filepath: res.f_downloadpath,
580
+ user:this.$login.f,
581
+ type :this.imptype
582
+ }
583
+ console.log("filepath="+JSON.stringify(data))
584
+ await this.$resetpost(`rs/logic/address_useraddressimport`,data, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0).then((res)=>{
585
+ this.isbusy = false
586
+ if(res.data.type=="success"){
587
+ this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
588
+ }else{
589
+ this.$showMessage(res.data.msg);
590
+ }
591
+ //关闭上传框
592
+ this.closeFile()
593
+ //重新查询
594
+ this.init()
595
+ }).catch(error=>{
596
+ this.isbusy = false
597
+ })
598
+ },
599
+ 'onFileError'(error) {
600
+ this.$showAlert(error, 'warning', 2000)
601
+ }
602
+ },
603
+ computed: {
604
+ //地址状态下拉框
605
+ getaddresstate() {
606
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('地址状态')]
607
+ },
608
+ getCondition() {
609
+ return {
610
+ condition: `${this.$refs.paged.$refs.cri.condition}` + `and a.f_filialeid = '${this.f_filialeids}'`}
611
+ }
612
+ }
613
+
614
+ }
615
+ </script>
@@ -0,0 +1,8 @@
1
+ // 分公司特殊组件页面注册
2
+ import Vue from "vue";
3
+
4
+ let specialComp = {
5
+ //地址管理列表
6
+ 'address-list':(resolve) => { require(['./AddressList'], resolve) }
7
+ }
8
+ exports.specialComp = specialComp
@@ -99,6 +99,24 @@
99
99
  close-on-select>
100
100
  </v-select>
101
101
 
102
+ </div>
103
+ <div class="col-sm-6 form-group " v-if="!usertype">
104
+ <label class="font_normal_body">&emsp;&emsp;&nbsp;乡&emsp;&emsp;镇</label>
105
+ <v-select
106
+ :value.sync="model.f_community" :value-single="true"
107
+ :options='community' placeholder='请选择'
108
+ close-on-select>
109
+ </v-select>
110
+
111
+ </div>
112
+ <div class="col-sm-6 form-group " v-if="!usertype">
113
+ <label class="font_normal_body">&emsp;&emsp;&nbsp;社&emsp;&emsp;区</label>
114
+ <v-select
115
+ :value.sync="model.f_committee" :value-single="true"
116
+ :options='committee' placeholder='请选择'
117
+ close-on-select>
118
+ </v-select>
119
+
102
120
  </div>
103
121
  <div v-if="!usertype" class="col-sm-6 form-group" :class="[$v.f_building_id.required ? 'has-error' : 'has-success']">
104
122
  <label class="font_normal_body">&emsp;&emsp;&nbsp;楼&emsp;&emsp;号</label>
@@ -731,14 +749,8 @@
731
749
  })
732
750
  },
733
751
  roomChange(val){
734
- console.log("this.model==:",this.model, this.pcdslist)
735
- console.log("this.pcdslist==:",this.pcdslist[0].data, this.pcdslist[0].data.f_district)
736
- console.log("this.areaschoice==:",this.areaschoice[0].data)
737
- console.log("this.pcd==:",this.model.f_pcd, this.model.f_pcd_id)
738
- console.log("this.street==:",this.model.f_street,this.model.f_street_id)
739
- console.log("this.area==:",this.model.f_area,this.model.f_residential_area_id)
752
+
740
753
  this.model.f_district = this.pcdslist ? this.pcdslist[0].data.f_district : ''
741
- console.log("this.model.f_district==:",this.model.f_district)
742
754
  this.model.f_create_person= this.$login.f.name
743
755
  this.model.f_filialeid = this.f_filialeids
744
756
  this.model.f_operator = this.$login.f.name
@@ -747,16 +759,12 @@
747
759
  this.model.f_orgname = this.$login.f.orgs
748
760
  this.model.f_depid = this.$login.f.depids
749
761
  this.model.f_depname = this.$login.f.deps
750
- console.log("片区:",this.model.slice_area)
751
762
  if (this.model.slice_area ) {
752
763
  if (this.model.slice_area instanceof Array) {
753
- console.log("修改",this.model.slice_area)
754
764
  this.model.f_slice_area = this.model.slice_area[0].name
755
765
  } if (this.model.slice_area instanceof Object) {
756
- console.log("修改",this.model.slice_area)
757
766
  this.model.f_slice_area = Object.values(this.model.slice_area)[0].name
758
767
  } else{
759
- console.log("保存",this.model.slice_area)
760
768
  this.model.f_slice_area = this.model.slice_area
761
769
  }
762
770
  }
@@ -935,16 +943,12 @@
935
943
  this.model.f_orgname = this.$login.f.orgs
936
944
  this.model.f_depid = this.$login.f.depids
937
945
  this.model.f_depname = this.$login.f.deps
938
- console.log("片区:",this.model.slice_area)
939
946
  if (this.model.slice_area ) {
940
947
  if (this.model.slice_area instanceof Array) {
941
- console.log("修改",this.model.slice_area)
942
948
  this.model.f_slice_area = this.model.slice_area[0].name
943
949
  } if (this.model.slice_area instanceof Object) {
944
- console.log("修改",this.model.slice_area)
945
950
  this.model.f_slice_area = Object.values(this.model.slice_area)[0].name
946
951
  } else{
947
- console.log("保存",this.model.slice_area)
948
952
  this.model.f_slice_area = this.model.slice_area
949
953
  }
950
954
  }
@@ -1086,6 +1090,16 @@
1086
1090
  //地址状态下拉框
1087
1091
  addresstate() {
1088
1092
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('地址状态')]
1093
+ },
1094
+ community() {
1095
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('行政划分')]
1096
+ },
1097
+ committee() {
1098
+ let rs = []
1099
+ if (this.model.f_community) {
1100
+ rs = this.$appdata.getParam(this.model.f_community)
1101
+ }
1102
+ return rs
1089
1103
  }
1090
1104
  }
1091
1105
  }
package/src/main.js CHANGED
@@ -1,23 +1,22 @@
1
- import Vue from 'vue'
2
- import App from './App'
3
- import { all } from 'vue-client'
4
- import { system } from 'system-clients'
5
- import { ldap } from 'ldap-clients'
6
- import { sale } from 'sale-client'
7
- import address from './address'
8
-
9
- Vue.config.silent = true
10
-
11
- /** **************************通用组件******************************/
12
- all()
13
- address()
14
- system(false)
15
- ldap()
16
- // sale()
17
- require('system-clients/src/styles/less/bootstrap.less')
18
-
19
-
20
- new Vue({
21
- el: 'body',
22
- components: { App }
23
- })
1
+ import Vue from 'vue'
2
+ import App from './App'
3
+ import { all } from 'vue-client'
4
+ import { system } from 'system-clients'
5
+ import { ldap } from 'ldap-clients'
6
+ import address from './address'
7
+
8
+ Vue.config.silent = true
9
+
10
+ /** **************************通用组件******************************/
11
+ all()
12
+ address('qianneng')
13
+ system(false)
14
+ ldap()
15
+ // sale()
16
+ require('system-clients/src/styles/less/bootstrap.less')
17
+
18
+
19
+ new Vue({
20
+ el: 'body',
21
+ components: { App }
22
+ })