feat:监管平台开始搭建
0 parents
Showing
219 changed files
with
4891 additions
and
0 deletions
.editorconfig
0 → 100644
.env.development
0 → 100644
.env.production
0 → 100644
.gitignore
0 → 100644
1 | .DS_Store | ||
2 | node_modules | ||
3 | /dist | ||
4 | |||
5 | # local env files | ||
6 | .env.local | ||
7 | .env.*.local | ||
8 | |||
9 | |||
10 | # Log files | ||
11 | npm-debug.log* | ||
12 | yarn-debug.log* | ||
13 | yarn-error.log* | ||
14 | |||
15 | # Editor directories and files | ||
16 | .history | ||
17 | .idea | ||
18 | .vscode | ||
19 | *.suo | ||
20 | *.ntvs* | ||
21 | *.njsproj | ||
22 | *.sln | ||
23 | *.sw? | ||
24 | /src/api/config.js | ||
25 | |||
26 | package-lock.json |
LICENSE
0 → 100644
1 | MIT License | ||
2 | |||
3 | Copyright (c) 2017-present PanJiaChen | ||
4 | |||
5 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
6 | of this software and associated documentation files (the "Software"), to deal | ||
7 | in the Software without restriction, including without limitation the rights | ||
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
9 | copies of the Software, and to permit persons to whom the Software is | ||
10 | furnished to do so, subject to the following conditions: | ||
11 | |||
12 | The above copyright notice and this permission notice shall be included in all | ||
13 | copies or substantial portions of the Software. | ||
14 | |||
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
21 | SOFTWARE. |
README.md
0 → 100644
1 | # 安装依赖 | ||
2 | npm install | ||
3 | # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 | ||
4 | npm install --registry=https://registry.npm.taobao.org | ||
5 | |||
6 | ## Git 贡献提交规范 | ||
7 | |||
8 | - 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular)) | ||
9 | |||
10 | - `feat` 增加新功能 | ||
11 | - `fix` 修复问题/BUG | ||
12 | - `style` 代码风格相关无影响运行结果的 | ||
13 | - `perf` 优化/性能提升 | ||
14 | - `refactor` 重构 | ||
15 | - `revert` 撤销修改 | ||
16 | - `test` 测试相关 | ||
17 | - `docs` 文档/注释 | ||
18 | - `chore` 依赖更新/脚手架配置修改等 | ||
19 | - `wip` 开发中 | ||
20 | |||
21 |
babel.config.js
0 → 100644
1 | module.exports = { | ||
2 | presets: [ | ||
3 | // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app | ||
4 | // '@vue/cli-plugin-babel/preset' | ||
5 | [ | ||
6 | "@vue/app", | ||
7 | { | ||
8 | "useBuiltIns": "entry", | ||
9 | polyfills: [ | ||
10 | 'es6.promise', | ||
11 | 'es6.symbol' | ||
12 | ] | ||
13 | } | ||
14 | ] | ||
15 | ], | ||
16 | 'env': { | ||
17 | 'development': { | ||
18 | // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require(). | ||
19 | // This plugin can significantly increase the speed of hot updates, when you have a large number of pages. | ||
20 | // https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html | ||
21 | 'plugins': ['dynamic-import-node'] | ||
22 | } | ||
23 | } | ||
24 | } |
package.json
0 → 100644
1 | { | ||
2 | "name": "bdcdj-web", | ||
3 | "version": "4.4.0", | ||
4 | "description": "HOUTAI", | ||
5 | "author": "psh", | ||
6 | "scripts": { | ||
7 | "dev": "vue-cli-service serve", | ||
8 | "build": "vue-cli-service build" | ||
9 | }, | ||
10 | "dependencies": { | ||
11 | "@jiaminghi/data-view": "^2.10.0", | ||
12 | "axios": "^0.21.1", | ||
13 | "core-js": "^3.6.5", | ||
14 | "echarts": "^4.6.0", | ||
15 | "js-cookie": "2.2.0", | ||
16 | "lodash": "^4.17.21", | ||
17 | "node-sass": "^4.14.1", | ||
18 | "normalize.css": "7.0.0", | ||
19 | "nprogress": "0.2.0", | ||
20 | "vue": "2.6.10", | ||
21 | "vue-awesome": "^4.5.0", | ||
22 | "vue-router": "3.0.2", | ||
23 | "vuex": "3.1.0" | ||
24 | }, | ||
25 | "devDependencies": { | ||
26 | "@vue/cli-plugin-babel": "4.4.4", | ||
27 | "@vue/cli-plugin-unit-jest": "4.4.4", | ||
28 | "@vue/cli-service": "4.4.4", | ||
29 | "@vue/test-utils": "1.0.0-beta.29", | ||
30 | "autoprefixer": "9.5.1", | ||
31 | "babel-plugin-dynamic-import-node": "2.3.3", | ||
32 | "chalk": "2.4.2", | ||
33 | "connect": "3.6.6", | ||
34 | "element-ui": "^2.15.8", | ||
35 | "html-webpack-plugin": "3.2.0", | ||
36 | "runjs": "4.3.2", | ||
37 | "sass-loader": "8.0.2", | ||
38 | "sass-resources-loader": "^2.2.1", | ||
39 | "script-ext-html-webpack-plugin": "2.1.3", | ||
40 | "serve-static": "1.13.2", | ||
41 | "style-resources-loader": "^1.4.1", | ||
42 | "svg-sprite-loader": "4.1.3", | ||
43 | "svgo": "^2.3.1", | ||
44 | "vue-template-compiler": "2.6.10" | ||
45 | }, | ||
46 | "browserslist": [ | ||
47 | "> 1%", | ||
48 | "last 2 versions" | ||
49 | ], | ||
50 | "bugs": { | ||
51 | "url": "https://github.com/PanJiaChen/vue-element-admin/issues" | ||
52 | }, | ||
53 | "engines": { | ||
54 | "node": ">=8.9", | ||
55 | "npm": ">= 3.0.0" | ||
56 | }, | ||
57 | "keywords": [ | ||
58 | "vue", | ||
59 | "admin", | ||
60 | "dashboard", | ||
61 | "element-ui", | ||
62 | "boilerplate", | ||
63 | "admin-template", | ||
64 | "management-system" | ||
65 | ], | ||
66 | "license": "MIT", | ||
67 | "husky": { | ||
68 | "hooks": { | ||
69 | "pre-commit": "lint-staged" | ||
70 | } | ||
71 | }, | ||
72 | "repository": { | ||
73 | "type": "git", | ||
74 | "url": "git+https://github.com/PanJiaChen/vue-element-admin.git" | ||
75 | } | ||
76 | } |
public/favicon.ico
0 → 100644
No preview for this file type
public/index.html
0 → 100644
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <meta charset="utf-8"> | ||
5 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||
6 | <meta name="renderer" content="webkit"> | ||
7 | <meta name="referrer" content="no-referrer" /> | ||
8 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | ||
9 | <link rel="icon" href="<%= BASE_URL %>favicon.ico"> | ||
10 | <title><%= webpackConfig.name %></title> | ||
11 | </head> | ||
12 | <body> | ||
13 | <div id="app"></div> | ||
14 | <!-- built files will be auto injected --> | ||
15 | </body> | ||
16 | </html> | ||
17 | <script> | ||
18 | window.baseUrl = location.origin || location.protocol +'//'+location.host | ||
19 | // window.authorization = 'bearer AT-14-h4UlUGjPvgmrIgnDO-3QgMP0m4YJGQTR'; | ||
20 | // window.authorization = 'bearer AT-223-c-Q86EHx75m7ig3EDf-SwMWl4U0AKn0b'; | ||
21 | window.timeout=5000 | ||
22 | window.authorization="bearer AT-4-MxSrO29Coe7VTazx8uuixtqqgO-hvCB6" | ||
23 | </script> |
src/App.vue
0 → 100644
src/api/business.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/api/dataReporting.js
0 → 100644
1 | import request from '@/utils/request' | ||
2 | |||
3 | class dataReporting { | ||
4 | // 数据上报表头相关接口 | ||
5 | async getQltFwFdcqYzByCondition (id) { | ||
6 | return request({ | ||
7 | url: '/sjsbFunctionOper/getSjsbTableInfo', | ||
8 | method: 'get', | ||
9 | params: { | ||
10 | msgId: id | ||
11 | } | ||
12 | }) | ||
13 | } | ||
14 | // 根据msgid查询任务表数据详情 | ||
15 | async searchTaskInfoByMsgid (id) { | ||
16 | return request({ | ||
17 | url: '/sjsbFunctionOper/searchTaskInfoByMsgid', | ||
18 | method: 'get', | ||
19 | params: { | ||
20 | msgid: id | ||
21 | } | ||
22 | }) | ||
23 | } | ||
24 | } | ||
25 | export default new dataReporting() | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/api/ruleConfig.js
0 → 100644
1 | import request from '@/utils/request' | ||
2 | |||
3 | class ruleConfig { | ||
4 | // 列表查询 | ||
5 | async getSysYwsjbList (data) { | ||
6 | return request({ | ||
7 | url: '/SysYwsjb/getSysYwsjbList', | ||
8 | method: 'post', | ||
9 | data | ||
10 | }) | ||
11 | } | ||
12 | // 编辑界面列表查询 | ||
13 | async eidtConfigRule (id) { | ||
14 | return request({ | ||
15 | url: '/SysYwsjb/getSysYwsjbWithSysYwsjbFieldByBsmYwsjb', | ||
16 | method: 'get', | ||
17 | params: { | ||
18 | bsmYwsjb: id | ||
19 | } | ||
20 | }) | ||
21 | } | ||
22 | // 编辑 | ||
23 | async editSysYwsjbWithSysYwsjbField (data) { | ||
24 | return request({ | ||
25 | url: '/SysYwsjb/editSysYwsjbWithSysYwsjbField', | ||
26 | method: 'post', | ||
27 | data | ||
28 | }) | ||
29 | } | ||
30 | // 编辑 | ||
31 | async deleteSysYwsjbWithSysYwsjbFieldByBsmYwsjb (id) { | ||
32 | return request({ | ||
33 | url: '/SysYwsjb/deleteSysYwsjbWithSysYwsjbFieldByBsmYwsjb', | ||
34 | method: 'delete', | ||
35 | params: { | ||
36 | bsmYwsjb: id | ||
37 | } | ||
38 | }) | ||
39 | } | ||
40 | // 编辑界面列表查询----根据数据表名查询 | ||
41 | async getRuleList (dataTable) { | ||
42 | return request({ | ||
43 | url: '/SysYwsjb/getSysYwsjbWithSysYwsjbFieldByDataTable', | ||
44 | method: 'get', | ||
45 | params: { | ||
46 | dataTable: dataTable | ||
47 | } | ||
48 | }) | ||
49 | } | ||
50 | } | ||
51 | export default new ruleConfig() | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/api/user.js
0 → 100644
1 | import request from '@/utils/request' | ||
2 | import SERVER from './config' | ||
3 | |||
4 | // 用户首页 | ||
5 | // 获取首页待办事项 | ||
6 | export function getHomeTodoList () { | ||
7 | return request({ | ||
8 | url: SERVER.SERVERAPI + '/rest/workBench/getHomeTodoList', | ||
9 | method: 'get' | ||
10 | }) | ||
11 | } | ||
12 | |||
13 | //获取首页已办事项 | ||
14 | export function getHomeDoneList () { | ||
15 | return request({ | ||
16 | url: SERVER.SERVERAPI + '/rest/workBench/getHomeDoneList', | ||
17 | method: 'get' | ||
18 | }) | ||
19 | } | ||
20 | |||
21 | //获取首页常办项目 | ||
22 | export function getHomeFrequentProjects () { | ||
23 | return request({ | ||
24 | url: SERVER.SERVERAPI + '/rest/workBench/getHomeFrequentProjects', | ||
25 | method: 'get' | ||
26 | }) | ||
27 | } | ||
28 | |||
29 | //保存常办项目 | ||
30 | export function saveFrequentProjectsList (data) { | ||
31 | return request({ | ||
32 | url: SERVER.SERVERAPI + '/rest/workBench/saveFrequentProjectsList', | ||
33 | method: 'post', | ||
34 | data | ||
35 | }) | ||
36 | } | ||
37 | |||
38 | |||
39 | // 获取用户信息 | ||
40 | export function getUserInfo () { | ||
41 | return request({ | ||
42 | url: SERVER.SERVERAPI + '/rest/user/getUserInfo', | ||
43 | method: 'get', | ||
44 | }) | ||
45 | } | ||
46 | |||
47 | // 获取菜单信息 | ||
48 | export function getMenuInfo () { | ||
49 | return request({ | ||
50 | url: SERVER.SERVERAPI + '/rest/user/getUserAuthorizationMenus', | ||
51 | method: 'get', | ||
52 | }) | ||
53 | } |
src/common/echart/index.vue
0 → 100644
1 | <template> | ||
2 | <div :id="id" :class="className" :style="{ height: height, width: width }" /> | ||
3 | </template> | ||
4 | |||
5 | <script> | ||
6 | import tdTheme from './theme.json' // 引入默认主题 | ||
7 | import '../map/fujian.js' | ||
8 | |||
9 | export default { | ||
10 | name: 'echart', | ||
11 | props: { | ||
12 | className: { | ||
13 | type: String, | ||
14 | default: 'chart' | ||
15 | }, | ||
16 | id: { | ||
17 | type: String, | ||
18 | default: 'chart' | ||
19 | }, | ||
20 | width: { | ||
21 | type: String, | ||
22 | default: '100%' | ||
23 | }, | ||
24 | height: { | ||
25 | type: String, | ||
26 | default: '2.5rem' | ||
27 | }, | ||
28 | options: { | ||
29 | type: Object, | ||
30 | default: ()=>({}) | ||
31 | } | ||
32 | }, | ||
33 | data () { | ||
34 | return { | ||
35 | chart: null | ||
36 | } | ||
37 | }, | ||
38 | watch: { | ||
39 | options: { | ||
40 | handler (options) { | ||
41 | // 设置true清空echart缓存 | ||
42 | this.chart.setOption(options, true) | ||
43 | }, | ||
44 | deep: true | ||
45 | } | ||
46 | }, | ||
47 | mounted () { | ||
48 | this.$echarts.registerTheme('tdTheme', tdTheme); // 覆盖默认主题 | ||
49 | this.initChart(); | ||
50 | }, | ||
51 | beforeDestroy () { | ||
52 | this.chart.dispose() | ||
53 | this.chart = null | ||
54 | }, | ||
55 | methods: { | ||
56 | initChart () { | ||
57 | // 初始化echart | ||
58 | this.chart = this.$echarts.init(this.$el, 'tdTheme') | ||
59 | this.chart.setOption(this.options, true) | ||
60 | } | ||
61 | } | ||
62 | } | ||
63 | </script> | ||
64 | |||
65 | <style> | ||
66 | </style> |
src/common/echart/theme.json
0 → 100644
1 | { | ||
2 | "color": [ | ||
3 | "#2d8cf0", | ||
4 | "#19be6b", | ||
5 | "#ff9900", | ||
6 | "#E46CBB", | ||
7 | "#9A66E4", | ||
8 | "#ed3f14" | ||
9 | ], | ||
10 | "backgroundColor": "rgba(0,0,0,0)", | ||
11 | "textStyle": {}, | ||
12 | "title": { | ||
13 | "textStyle": { | ||
14 | "color": "#516b91" | ||
15 | }, | ||
16 | "subtextStyle": { | ||
17 | "color": "#93b7e3" | ||
18 | } | ||
19 | }, | ||
20 | "line": { | ||
21 | "itemStyle": { | ||
22 | "normal": { | ||
23 | "borderWidth": "2" | ||
24 | } | ||
25 | }, | ||
26 | "lineStyle": { | ||
27 | "normal": { | ||
28 | "width": "2" | ||
29 | } | ||
30 | }, | ||
31 | "symbolSize": "6", | ||
32 | "symbol": "emptyCircle", | ||
33 | "smooth": true | ||
34 | }, | ||
35 | "radar": { | ||
36 | "itemStyle": { | ||
37 | "normal": { | ||
38 | "borderWidth": "2" | ||
39 | } | ||
40 | }, | ||
41 | "lineStyle": { | ||
42 | "normal": { | ||
43 | "width": "2" | ||
44 | } | ||
45 | }, | ||
46 | "symbolSize": "6", | ||
47 | "symbol": "emptyCircle", | ||
48 | "smooth": true | ||
49 | }, | ||
50 | "bar": { | ||
51 | "itemStyle": { | ||
52 | "normal": { | ||
53 | "barBorderWidth": 0, | ||
54 | "barBorderColor": "#ccc" | ||
55 | }, | ||
56 | "emphasis": { | ||
57 | "barBorderWidth": 0, | ||
58 | "barBorderColor": "#ccc" | ||
59 | } | ||
60 | } | ||
61 | }, | ||
62 | "pie": { | ||
63 | "itemStyle": { | ||
64 | "normal": { | ||
65 | "borderWidth": 0, | ||
66 | "borderColor": "#ccc" | ||
67 | }, | ||
68 | "emphasis": { | ||
69 | "borderWidth": 0, | ||
70 | "borderColor": "#ccc" | ||
71 | } | ||
72 | } | ||
73 | }, | ||
74 | "scatter": { | ||
75 | "itemStyle": { | ||
76 | "normal": { | ||
77 | "borderWidth": 0, | ||
78 | "borderColor": "#ccc" | ||
79 | }, | ||
80 | "emphasis": { | ||
81 | "borderWidth": 0, | ||
82 | "borderColor": "#ccc" | ||
83 | } | ||
84 | } | ||
85 | }, | ||
86 | "boxplot": { | ||
87 | "itemStyle": { | ||
88 | "normal": { | ||
89 | "borderWidth": 0, | ||
90 | "borderColor": "#ccc" | ||
91 | }, | ||
92 | "emphasis": { | ||
93 | "borderWidth": 0, | ||
94 | "borderColor": "#ccc" | ||
95 | } | ||
96 | } | ||
97 | }, | ||
98 | "parallel": { | ||
99 | "itemStyle": { | ||
100 | "normal": { | ||
101 | "borderWidth": 0, | ||
102 | "borderColor": "#ccc" | ||
103 | }, | ||
104 | "emphasis": { | ||
105 | "borderWidth": 0, | ||
106 | "borderColor": "#ccc" | ||
107 | } | ||
108 | } | ||
109 | }, | ||
110 | "sankey": { | ||
111 | "itemStyle": { | ||
112 | "normal": { | ||
113 | "borderWidth": 0, | ||
114 | "borderColor": "#ccc" | ||
115 | }, | ||
116 | "emphasis": { | ||
117 | "borderWidth": 0, | ||
118 | "borderColor": "#ccc" | ||
119 | } | ||
120 | } | ||
121 | }, | ||
122 | "funnel": { | ||
123 | "itemStyle": { | ||
124 | "normal": { | ||
125 | "borderWidth": 0, | ||
126 | "borderColor": "#ccc" | ||
127 | }, | ||
128 | "emphasis": { | ||
129 | "borderWidth": 0, | ||
130 | "borderColor": "#ccc" | ||
131 | } | ||
132 | } | ||
133 | }, | ||
134 | "gauge": { | ||
135 | "itemStyle": { | ||
136 | "normal": { | ||
137 | "borderWidth": 0, | ||
138 | "borderColor": "#ccc" | ||
139 | }, | ||
140 | "emphasis": { | ||
141 | "borderWidth": 0, | ||
142 | "borderColor": "#ccc" | ||
143 | } | ||
144 | } | ||
145 | }, | ||
146 | "candlestick": { | ||
147 | "itemStyle": { | ||
148 | "normal": { | ||
149 | "color": "#edafda", | ||
150 | "color0": "transparent", | ||
151 | "borderColor": "#d680bc", | ||
152 | "borderColor0": "#8fd3e8", | ||
153 | "borderWidth": "2" | ||
154 | } | ||
155 | } | ||
156 | }, | ||
157 | "graph": { | ||
158 | "itemStyle": { | ||
159 | "normal": { | ||
160 | "borderWidth": 0, | ||
161 | "borderColor": "#ccc" | ||
162 | } | ||
163 | }, | ||
164 | "lineStyle": { | ||
165 | "normal": { | ||
166 | "width": 1, | ||
167 | "color": "#aaa" | ||
168 | } | ||
169 | }, | ||
170 | "symbolSize": "6", | ||
171 | "symbol": "emptyCircle", | ||
172 | "smooth": true, | ||
173 | "color": [ | ||
174 | "#2d8cf0", | ||
175 | "#19be6b", | ||
176 | "#f5ae4a", | ||
177 | "#9189d5", | ||
178 | "#56cae2", | ||
179 | "#cbb0e3" | ||
180 | ], | ||
181 | "label": { | ||
182 | "normal": { | ||
183 | "textStyle": { | ||
184 | "color": "#eee" | ||
185 | } | ||
186 | } | ||
187 | } | ||
188 | }, | ||
189 | "map": { | ||
190 | "itemStyle": { | ||
191 | "normal": { | ||
192 | "areaColor": "#f3f3f3", | ||
193 | "borderColor": "#516b91", | ||
194 | "borderWidth": 0.5 | ||
195 | }, | ||
196 | "emphasis": { | ||
197 | "areaColor": "rgba(165,231,240,1)", | ||
198 | "borderColor": "#516b91", | ||
199 | "borderWidth": 1 | ||
200 | } | ||
201 | }, | ||
202 | "label": { | ||
203 | "normal": { | ||
204 | "textStyle": { | ||
205 | "color": "#000" | ||
206 | } | ||
207 | }, | ||
208 | "emphasis": { | ||
209 | "textStyle": { | ||
210 | "color": "rgb(81,107,145)" | ||
211 | } | ||
212 | } | ||
213 | } | ||
214 | }, | ||
215 | "geo": { | ||
216 | "itemStyle": { | ||
217 | "normal": { | ||
218 | "areaColor": "#f3f3f3", | ||
219 | "borderColor": "#516b91", | ||
220 | "borderWidth": 0.5 | ||
221 | }, | ||
222 | "emphasis": { | ||
223 | "areaColor": "rgba(165,231,240,1)", | ||
224 | "borderColor": "#516b91", | ||
225 | "borderWidth": 1 | ||
226 | } | ||
227 | }, | ||
228 | "label": { | ||
229 | "normal": { | ||
230 | "textStyle": { | ||
231 | "color": "#000" | ||
232 | } | ||
233 | }, | ||
234 | "emphasis": { | ||
235 | "textStyle": { | ||
236 | "color": "rgb(81,107,145)" | ||
237 | } | ||
238 | } | ||
239 | } | ||
240 | }, | ||
241 | "categoryAxis": { | ||
242 | "axisLine": { | ||
243 | "show": true, | ||
244 | "lineStyle": { | ||
245 | "color": "#cccccc" | ||
246 | } | ||
247 | }, | ||
248 | "axisTick": { | ||
249 | "show": false, | ||
250 | "lineStyle": { | ||
251 | "color": "#333" | ||
252 | } | ||
253 | }, | ||
254 | "axisLabel": { | ||
255 | "show": true, | ||
256 | "textStyle": { | ||
257 | "color": "#fff" | ||
258 | } | ||
259 | }, | ||
260 | "splitLine": { | ||
261 | "show": false, | ||
262 | "lineStyle": { | ||
263 | "color": [ | ||
264 | "#eeeeee" | ||
265 | ] | ||
266 | } | ||
267 | }, | ||
268 | "splitArea": { | ||
269 | "show": false, | ||
270 | "areaStyle": { | ||
271 | "color": [ | ||
272 | "rgba(250,250,250,0.05)", | ||
273 | "rgba(200,200,200,0.02)" | ||
274 | ] | ||
275 | } | ||
276 | } | ||
277 | }, | ||
278 | "valueAxis": { | ||
279 | "axisLine": { | ||
280 | "show": true, | ||
281 | "lineStyle": { | ||
282 | "color": "#cccccc" | ||
283 | } | ||
284 | }, | ||
285 | "axisTick": { | ||
286 | "show": false, | ||
287 | "lineStyle": { | ||
288 | "color": "#333" | ||
289 | } | ||
290 | }, | ||
291 | "axisLabel": { | ||
292 | "show": true, | ||
293 | "textStyle": { | ||
294 | "color": "#fff" | ||
295 | } | ||
296 | }, | ||
297 | "splitLine": { | ||
298 | "show": false, | ||
299 | "lineStyle": { | ||
300 | "color": [ | ||
301 | "#eeeeee" | ||
302 | ] | ||
303 | } | ||
304 | }, | ||
305 | "splitArea": { | ||
306 | "show": false, | ||
307 | "areaStyle": { | ||
308 | "color": [ | ||
309 | "rgba(250,250,250,0.05)", | ||
310 | "rgba(200,200,200,0.02)" | ||
311 | ] | ||
312 | } | ||
313 | } | ||
314 | }, | ||
315 | "logAxis": { | ||
316 | "axisLine": { | ||
317 | "show": true, | ||
318 | "lineStyle": { | ||
319 | "color": "#cccccc" | ||
320 | } | ||
321 | }, | ||
322 | "axisTick": { | ||
323 | "show": false, | ||
324 | "lineStyle": { | ||
325 | "color": "#333" | ||
326 | } | ||
327 | }, | ||
328 | "axisLabel": { | ||
329 | "show": true, | ||
330 | "textStyle": { | ||
331 | "color": "#999999" | ||
332 | } | ||
333 | }, | ||
334 | "splitLine": { | ||
335 | "show": true, | ||
336 | "lineStyle": { | ||
337 | "color": [ | ||
338 | "#eeeeee" | ||
339 | ] | ||
340 | } | ||
341 | }, | ||
342 | "splitArea": { | ||
343 | "show": false, | ||
344 | "areaStyle": { | ||
345 | "color": [ | ||
346 | "rgba(250,250,250,0.05)", | ||
347 | "rgba(200,200,200,0.02)" | ||
348 | ] | ||
349 | } | ||
350 | } | ||
351 | }, | ||
352 | "timeAxis": { | ||
353 | "axisLine": { | ||
354 | "show": true, | ||
355 | "lineStyle": { | ||
356 | "color": "#cccccc" | ||
357 | } | ||
358 | }, | ||
359 | "axisTick": { | ||
360 | "show": false, | ||
361 | "lineStyle": { | ||
362 | "color": "#333" | ||
363 | } | ||
364 | }, | ||
365 | "axisLabel": { | ||
366 | "show": true, | ||
367 | "textStyle": { | ||
368 | "color": "#999999" | ||
369 | } | ||
370 | }, | ||
371 | "splitLine": { | ||
372 | "show": true, | ||
373 | "lineStyle": { | ||
374 | "color": [ | ||
375 | "#eeeeee" | ||
376 | ] | ||
377 | } | ||
378 | }, | ||
379 | "splitArea": { | ||
380 | "show": false, | ||
381 | "areaStyle": { | ||
382 | "color": [ | ||
383 | "rgba(250,250,250,0.05)", | ||
384 | "rgba(200,200,200,0.02)" | ||
385 | ] | ||
386 | } | ||
387 | } | ||
388 | }, | ||
389 | "toolbox": { | ||
390 | "iconStyle": { | ||
391 | "normal": { | ||
392 | "borderColor": "#999" | ||
393 | }, | ||
394 | "emphasis": { | ||
395 | "borderColor": "#666" | ||
396 | } | ||
397 | } | ||
398 | }, | ||
399 | "legend": { | ||
400 | "textStyle": { | ||
401 | "color": "#fff" | ||
402 | } | ||
403 | }, | ||
404 | "tooltip": { | ||
405 | "axisPointer": { | ||
406 | "lineStyle": { | ||
407 | "color": "#ccc", | ||
408 | "width": 1 | ||
409 | }, | ||
410 | "crossStyle": { | ||
411 | "color": "#ccc", | ||
412 | "width": 1 | ||
413 | } | ||
414 | } | ||
415 | }, | ||
416 | "timeline": { | ||
417 | "lineStyle": { | ||
418 | "color": "#8fd3e8", | ||
419 | "width": 1 | ||
420 | }, | ||
421 | "itemStyle": { | ||
422 | "normal": { | ||
423 | "color": "#8fd3e8", | ||
424 | "borderWidth": 1 | ||
425 | }, | ||
426 | "emphasis": { | ||
427 | "color": "#8fd3e8" | ||
428 | } | ||
429 | }, | ||
430 | "controlStyle": { | ||
431 | "normal": { | ||
432 | "color": "#8fd3e8", | ||
433 | "borderColor": "#8fd3e8", | ||
434 | "borderWidth": 0.5 | ||
435 | }, | ||
436 | "emphasis": { | ||
437 | "color": "#8fd3e8", | ||
438 | "borderColor": "#8fd3e8", | ||
439 | "borderWidth": 0.5 | ||
440 | } | ||
441 | }, | ||
442 | "checkpointStyle": { | ||
443 | "color": "#8fd3e8", | ||
444 | "borderColor": "rgba(138,124,168,0.37)" | ||
445 | }, | ||
446 | "label": { | ||
447 | "normal": { | ||
448 | "textStyle": { | ||
449 | "color": "#8fd3e8" | ||
450 | } | ||
451 | }, | ||
452 | "emphasis": { | ||
453 | "textStyle": { | ||
454 | "color": "#8fd3e8" | ||
455 | } | ||
456 | } | ||
457 | } | ||
458 | }, | ||
459 | "visualMap": { | ||
460 | "color": [ | ||
461 | "#516b91", | ||
462 | "#59c4e6", | ||
463 | "#a5e7f0" | ||
464 | ] | ||
465 | }, | ||
466 | "dataZoom": { | ||
467 | "backgroundColor": "rgba(0,0,0,0)", | ||
468 | "dataBackgroundColor": "rgba(255,255,255,0.3)", | ||
469 | "fillerColor": "rgba(167,183,204,0.4)", | ||
470 | "handleColor": "#a7b7cc", | ||
471 | "handleSize": "100%", | ||
472 | "textStyle": { | ||
473 | "color": "#333" | ||
474 | } | ||
475 | }, | ||
476 | "markPoint": { | ||
477 | "label": { | ||
478 | "normal": { | ||
479 | "textStyle": { | ||
480 | "color": "#eee" | ||
481 | } | ||
482 | }, | ||
483 | "emphasis": { | ||
484 | "textStyle": { | ||
485 | "color": "#eee" | ||
486 | } | ||
487 | } | ||
488 | } | ||
489 | } | ||
490 | } |
src/common/map/fujian.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/Base/base.js
0 → 100644
1 | import dialogBox from '@/components/DialogBox/dialogBox.vue' | ||
2 | import LbTable from '@/components/LbTable/lb-table.vue' | ||
3 | import Theme from '@/components/Theme/theme.vue' | ||
4 | import Popup from '@/components/Popup/index' | ||
5 | import MessageBox from '@/components/MessageBox/index.js' | ||
6 | export default { | ||
7 | install: (Vue) => { | ||
8 | Vue.component('dialogBox', dialogBox); | ||
9 | Vue.component('lbTable', LbTable); | ||
10 | Vue.component('Theme', Theme); | ||
11 | Vue.prototype.$popup = Popup.install; | ||
12 | Vue.prototype.$alertMes = MessageBox.alert; | ||
13 | } | ||
14 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/DialogBox/dialogBox.vue
0 → 100644
1 | <template> | ||
2 | <el-dialog :visible.sync="dialogVisible" v-if="dialogVisible" :width="width" :fullscreen="fullscreen" top="0" | ||
3 | :append-to-body="appendToBody" :lock-scroll="true" :close-on-click-modal="false" @close="closeDialog" :key="key" | ||
4 | :custom-class="isMain ? 'mainCenter dialogBox' : 'contentCenter dialogBox'" :destroy-on-close="true" ref="dialogBox" | ||
5 | id="dialogBox"> | ||
6 | <div slot="title"> | ||
7 | <div class="dialog_title"> | ||
8 | <b>{{ title }}</b> | ||
9 | <div v-if="isFullscreen" class="dialog_full"> | ||
10 | <i class="el-icon-rank" v-if="fullscreen" @click="handleFullscreen"></i> | ||
11 | <i class="el-icon-full-screen" v-else @click="handleFullscreen" /> | ||
12 | </div> | ||
13 | </div> | ||
14 | </div> | ||
15 | <div class="dialogBox-content" :style="{ height: scrollerHeight }"> | ||
16 | <slot></slot> | ||
17 | </div> | ||
18 | <div slot="footer" class="dialog_footer" v-if="isButton"> | ||
19 | <el-button @click="closeDialog" v-if="isReset">取消</el-button> | ||
20 | <el-button type="primary" plain @click="submitForm" v-if="isSave" :disabled="btnDisabled" :loading="saveloding"> | ||
21 | {{ saveButton }}</el-button> | ||
22 | </div> | ||
23 | </el-dialog> | ||
24 | </template> | ||
25 | <script> | ||
26 | export default { | ||
27 | props: { | ||
28 | value: { type: Boolean, default: false }, | ||
29 | isMain: { | ||
30 | type: Boolean, | ||
31 | default: false | ||
32 | }, | ||
33 | appendToBody: { | ||
34 | type: Boolean, | ||
35 | default: true | ||
36 | }, | ||
37 | isButton: { | ||
38 | type: Boolean, | ||
39 | default: true, | ||
40 | }, | ||
41 | width: { | ||
42 | type: String, | ||
43 | default: '70%', | ||
44 | }, | ||
45 | title: { | ||
46 | type: String, | ||
47 | default: '', | ||
48 | }, | ||
49 | isFullscreen: { | ||
50 | type: Boolean, | ||
51 | default: true, | ||
52 | }, | ||
53 | isSave: { | ||
54 | type: Boolean, | ||
55 | default: true, | ||
56 | }, | ||
57 | saveButton: { | ||
58 | type: String, | ||
59 | default: '提交', | ||
60 | }, | ||
61 | isReset: { | ||
62 | type: Boolean, | ||
63 | default: true, | ||
64 | }, | ||
65 | saveloding: { | ||
66 | type: Boolean, | ||
67 | default: false, | ||
68 | }, | ||
69 | btnDisabled: { | ||
70 | type: Boolean, | ||
71 | default: false | ||
72 | }, | ||
73 | height: { | ||
74 | type: String, | ||
75 | default: '' | ||
76 | } | ||
77 | }, | ||
78 | data () { | ||
79 | return { | ||
80 | key: 0, | ||
81 | dialogVisible: false, | ||
82 | fullscreen: false, | ||
83 | scrollerHeight: '' | ||
84 | } | ||
85 | }, | ||
86 | watch: { | ||
87 | value (val) { | ||
88 | this.dialogVisible = val | ||
89 | this.height && (this.scrollerHeight = this.height + 'px') | ||
90 | } | ||
91 | }, | ||
92 | methods: { | ||
93 | handleFullscreen () { | ||
94 | this.fullscreen = !this.fullscreen | ||
95 | if (!this.fullscreen) { | ||
96 | this.scrollerHeight = '' | ||
97 | } else { | ||
98 | this.scrollerHeight = (window.innerHeight - 120) + 'px' | ||
99 | } | ||
100 | }, | ||
101 | submitForm () { | ||
102 | if (this.isButton) { | ||
103 | this.$emit('submitForm'); | ||
104 | } | ||
105 | }, | ||
106 | closeDialog () { | ||
107 | this.key++ | ||
108 | this.$emit('input', false) | ||
109 | this.$emit('closeDialog') | ||
110 | } | ||
111 | }, | ||
112 | } | ||
113 | </script> | ||
114 | <style rel="stylesheet/scss" lang="scss" > | ||
115 | @import "~@/styles/mixin.scss"; | ||
116 | @import "~@/styles/dialogBox.scss"; | ||
117 | </style> | ||
118 | <style rel="stylesheet/scss" scoped lang="scss" > | ||
119 | /deep/.is-fullscreen { | ||
120 | position: absolute; | ||
121 | top: 50% !important; | ||
122 | left: 50% !important; | ||
123 | transform: translate(-50%, -50%) !important; | ||
124 | } | ||
125 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/DialogBox/redeme.md
0 → 100644
src/components/LbTable/forced.js
0 → 100644
1 | export default { | ||
2 | selection: { | ||
3 | renderHeader: (h, { store }) => { | ||
4 | return ( | ||
5 | <el-checkbox | ||
6 | disabled={store.states.data && store.states.data.length === 0} | ||
7 | indeterminate={ | ||
8 | store.states.selection.length > 0 && !store.states.isAllSelected | ||
9 | } | ||
10 | nativeOn-click={store.toggleAllSelection} | ||
11 | value={store.states.isAllSelected} | ||
12 | /> | ||
13 | ) | ||
14 | }, | ||
15 | renderCell: (h, { row, column, store, $index }) => { | ||
16 | return ( | ||
17 | <el-checkbox | ||
18 | nativeOn-click={event => event.stopPropagation()} | ||
19 | value={store.isSelected(row)} | ||
20 | disabled={ | ||
21 | column.selectable | ||
22 | ? !column.selectable.call(null, row, $index) | ||
23 | : false | ||
24 | } | ||
25 | on-input={() => { | ||
26 | store.commit('rowSelectedChanged', row) | ||
27 | }} | ||
28 | /> | ||
29 | ) | ||
30 | }, | ||
31 | sortable: false, | ||
32 | resizable: false | ||
33 | }, | ||
34 | index: { | ||
35 | renderHeader: (h, scope) => { | ||
36 | return <span>{scope.column.label || '#'}</span> | ||
37 | }, | ||
38 | renderCell: (h, { $index, column }) => { | ||
39 | let i = $index + 1 | ||
40 | const index = column.index | ||
41 | |||
42 | if (typeof index === 'number') { | ||
43 | i = $index + index | ||
44 | } else if (typeof index === 'function') { | ||
45 | i = index($index) | ||
46 | } | ||
47 | |||
48 | return <div>{i}</div> | ||
49 | }, | ||
50 | sortable: false | ||
51 | }, | ||
52 | expand: { | ||
53 | renderHeader: (h, scope) => { | ||
54 | return <span>{scope.column.label || ''}</span> | ||
55 | }, | ||
56 | renderCell: (h, { row, store }, proxy) => { | ||
57 | const expanded = store.states.expandRows.indexOf(row) > -1 | ||
58 | return ( | ||
59 | <div | ||
60 | class={ | ||
61 | 'el-table__expand-icon ' + | ||
62 | (expanded ? 'el-table__expand-icon--expanded' : '') | ||
63 | } | ||
64 | on-click={e => proxy.handleExpandClick(row, e)} | ||
65 | > | ||
66 | <i class='el-icon el-icon-arrow-right' /> | ||
67 | </div> | ||
68 | ) | ||
69 | }, | ||
70 | sortable: false, | ||
71 | resizable: false, | ||
72 | className: 'el-table__expand-column' | ||
73 | } | ||
74 | } |
src/components/LbTable/lb-column.vue
0 → 100644
1 | /* | ||
2 | * FileName: lb-column.vue | ||
3 | * Remark: element-column | ||
4 | * Project: lb-element-table | ||
5 | * Author: 任超 | ||
6 | * File Created: Tuesday, 19th March 2019 9:58:23 am | ||
7 | * Last Modified: Tuesday, 19th March 2019 10:14:42 am | ||
8 | * Modified By: 任超 | ||
9 | */ | ||
10 | |||
11 | <template> | ||
12 | <el-table-column v-bind="$attrs" v-on="$listeners" :prop="column.prop" :label="column.label" :type="column.type" | ||
13 | :index="column.index" :column-key="column.columnKey" :width="column.width" :min-width="column.minWidth" | ||
14 | :fixed="column.fixed" :scoped-slot="column.renderHeader" :sortable="column.sortable || false" | ||
15 | :sort-method="column.sortMethod" :sort-by="column.sortBy" :sort-orders="column.sortOrders" | ||
16 | :resizable="column.resizable || true" :formatter="column.formatter" | ||
17 | :show-overflow-tooltip="column.showOverflowTooltip || false" :align="column.align || align || 'center'" | ||
18 | :header-align="column.headerAlign || headerAlign || column.align || align || 'center'" | ||
19 | :class-name="column.className" :label-class-name="column.labelClassName" :selectable="column.selectable" | ||
20 | :reserve-selection="column.reserveSelection || false" :filters="column.filters" | ||
21 | :filter-placement="column.filterPlacement" :filter-multiple="column.filterMultiple" | ||
22 | :filter-method="column.filterMethod" :filtered-value="column.filteredValue"> | ||
23 | <template slot="header" slot-scope="scope"> | ||
24 | <lb-render v-if="column.renderHeader" :scope="scope" :render="column.renderHeader"> | ||
25 | </lb-render> | ||
26 | <span v-else>{{ scope.column.label }}</span> | ||
27 | </template> | ||
28 | |||
29 | <template slot-scope="scope"> | ||
30 | <lb-render :scope="scope" :render="column.render"> | ||
31 | </lb-render> | ||
32 | </template> | ||
33 | |||
34 | <template v-if="column.children"> | ||
35 | <lb-column v-for="(col, index) in column.children" :key="index" :column="col"> | ||
36 | </lb-column> | ||
37 | </template> | ||
38 | </el-table-column> | ||
39 | </template> | ||
40 | |||
41 | <script> | ||
42 | import LbRender from './lb-render' | ||
43 | import forced from './forced.js' | ||
44 | export default { | ||
45 | name: 'LbColumn', | ||
46 | props: { | ||
47 | column: Object, | ||
48 | headerAlign: String, | ||
49 | align: String | ||
50 | }, | ||
51 | components: { | ||
52 | LbRender | ||
53 | }, | ||
54 | methods: { | ||
55 | setColumn () { | ||
56 | if (this.column.type) { | ||
57 | this.column.renderHeader = forced[this.column.type].renderHeader | ||
58 | this.column.render = this.column.render || forced[this.column.type].renderCell | ||
59 | } | ||
60 | if (this.column.formatter) { | ||
61 | this.column.render = (h, scope) => { | ||
62 | return <span>{scope.column.formatter(scope.row, scope.column, scope.row, scope.$index)}</span> | ||
63 | } | ||
64 | } | ||
65 | if (!this.column.render) { | ||
66 | this.column.render = (h, scope) => { | ||
67 | return <span>{scope.row[scope.column.property]}</span> | ||
68 | } | ||
69 | } | ||
70 | } | ||
71 | }, | ||
72 | watch: { | ||
73 | column: { | ||
74 | handler () { | ||
75 | this.setColumn() | ||
76 | }, | ||
77 | immediate: true | ||
78 | } | ||
79 | } | ||
80 | } | ||
81 | </script> |
src/components/LbTable/lb-render.vue
0 → 100644
1 | /* | ||
2 | * FileName: lb-render.vue | ||
3 | * Remark: 自定义render | ||
4 | * Project: lb-element-table | ||
5 | * Author: 任超 | ||
6 | * File Created: Tuesday, 19th March 2019 10:15:30 am | ||
7 | * Last Modified: Tuesday, 19th March 2019 10:15:32 am | ||
8 | * Modified By: 任超 | ||
9 | */ | ||
10 | <script> | ||
11 | export default { | ||
12 | name: 'LbRender', | ||
13 | functional: true, | ||
14 | props: { | ||
15 | scope: Object, | ||
16 | render: Function | ||
17 | }, | ||
18 | render: (h, ctx) => { | ||
19 | return ctx.props.render ? ctx.props.render(h, ctx.props.scope) : '' | ||
20 | } | ||
21 | } | ||
22 | </script> |
src/components/LbTable/lb-table.vue
0 → 100644
1 | /* | ||
2 | * FileName: lb-table.vue | ||
3 | * Remark: element table | ||
4 | * Project: lb-element-table | ||
5 | * Author: 任超 | ||
6 | * File Created: Tuesday, 19th March 2019 9:55:27 am | ||
7 | * Last Modified: Tuesday, 19th March 2019 9:55:34 am | ||
8 | * Modified By: 任超 | ||
9 | */ | ||
10 | |||
11 | <template> | ||
12 | <div :class="['lb-table', customClass]"> | ||
13 | <el-table v-if="!heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }" ref="elTable" | ||
14 | :border='border' :row-class-name="tableRowClassName" :show-header='showHeader' @row-click="singleElection" | ||
15 | :header-cell-style="{ background: 'rgb(236, 245, 255)' }" v-bind="$attrs" :height="tableHeight" v-on="$listeners" | ||
16 | :data="data" style="width: 100%" :span-method="this.merge ? this.mergeMethod : this.spanMethod"> | ||
17 | <el-table-column width="45" align="center" v-if="isRadio"> | ||
18 | <template slot-scope="scope"> | ||
19 | <el-radio v-model="selected" :label="scope.$index"></el-radio> | ||
20 | </template> | ||
21 | </el-table-column> | ||
22 | |||
23 | <lb-column v-bind="$attrs" v-for="(item, index) in column" :key="index" :column="item"> | ||
24 | </lb-column> | ||
25 | </el-table> | ||
26 | |||
27 | <el-table v-else ref="elTable" class="table-fixed" :row-style="{ height: '50px' }" :border='border' | ||
28 | :row-class-name="tableRowClassName" :show-header='showHeader' | ||
29 | :header-cell-style="{ background: 'rgb(236, 245, 255)' }" v-bind="$attrs" :max-height="maxHeight" | ||
30 | v-on="$listeners" :data="data" style="width: 100%" :span-method="this.merge ? this.mergeMethod : this.spanMethod"> | ||
31 | |||
32 | <el-table-column width="45" align="center" v-if="isRadio"> | ||
33 | <template slot-scope="scope"> | ||
34 | <el-radio v-model="selected" :label="scope.$index"></el-radio> | ||
35 | </template> | ||
36 | </el-table-column> | ||
37 | <lb-column v-bind="$attrs" v-for="(item, index) in column" :key="index" :column="item"> | ||
38 | </lb-column> | ||
39 | </el-table> | ||
40 | |||
41 | <br> | ||
42 | <el-pagination class="lb-table-pagination" v-if="pagination" v-bind="$attrs" v-on="$listeners" background | ||
43 | :page-sizes="[10, 20, 50, 100]" layout="total, sizes, prev, pager, next" @current-change="paginationCurrentChange" | ||
44 | :style="{ 'margin-top': paginationTop, 'text-align': paginationAlign }"> | ||
45 | </el-pagination> | ||
46 | </div> | ||
47 | </template> | ||
48 | |||
49 | <script> | ||
50 | import LbColumn from './lb-column' | ||
51 | export default { | ||
52 | props: { | ||
53 | column: Array, | ||
54 | data: Array, | ||
55 | spanMethod: Function, | ||
56 | pagination: { | ||
57 | type: Boolean, | ||
58 | default: true, | ||
59 | }, | ||
60 | isRadio: { | ||
61 | type: Boolean, | ||
62 | default: false, | ||
63 | }, | ||
64 | border: { | ||
65 | type: Boolean, | ||
66 | default: true, | ||
67 | }, | ||
68 | showHeader: { | ||
69 | type: Boolean, | ||
70 | default: true, | ||
71 | }, | ||
72 | paginationTop: { | ||
73 | type: String, | ||
74 | default: '0', | ||
75 | }, | ||
76 | heightNum: { | ||
77 | type: Number, | ||
78 | default: 265, | ||
79 | }, | ||
80 | maxHeight: { | ||
81 | type: Number, | ||
82 | default: 500 | ||
83 | }, | ||
84 | heightNumSetting: { | ||
85 | type: Boolean, | ||
86 | default: false, | ||
87 | }, | ||
88 | customClass: { | ||
89 | type: String, | ||
90 | default: '', | ||
91 | }, | ||
92 | paginationAlign: { | ||
93 | type: String, | ||
94 | default: 'left', | ||
95 | }, | ||
96 | merge: Array, | ||
97 | }, | ||
98 | components: { | ||
99 | LbColumn, | ||
100 | }, | ||
101 | data () { | ||
102 | return { | ||
103 | tableHeight: '', | ||
104 | mergeLine: {}, | ||
105 | mergeIndex: {}, | ||
106 | selected: '' | ||
107 | } | ||
108 | }, | ||
109 | created () { | ||
110 | this.getMergeArr(this.data, this.merge) | ||
111 | this.getHeight() | ||
112 | }, | ||
113 | computed: { | ||
114 | dataLength () { | ||
115 | return [] || this.data.length | ||
116 | }, | ||
117 | }, | ||
118 | methods: { | ||
119 | |||
120 | // 单选 | ||
121 | singleElection (row) { | ||
122 | this.selected = this.data.indexOf(row); | ||
123 | console.log(this.selected); | ||
124 | }, | ||
125 | |||
126 | tableRowClassName ({ row, rowIndex }) { | ||
127 | if (rowIndex % 2 === 1) { | ||
128 | return 'interlaced'; | ||
129 | } | ||
130 | }, | ||
131 | getHeight () { | ||
132 | if (!this.heightNumSetting) { | ||
133 | this.tableHeight = window.innerHeight - this.heightNum | ||
134 | } | ||
135 | }, | ||
136 | clearSelection () { | ||
137 | this.$refs.elTable.clearSelection() | ||
138 | }, | ||
139 | toggleRowSelection (row, selected) { | ||
140 | this.$refs.elTable.toggleRowSelection(row, selected) | ||
141 | }, | ||
142 | toggleAllSelection () { | ||
143 | this.$refs.elTable.toggleAllSelection() | ||
144 | }, | ||
145 | toggleRowExpansion (row, expanded) { | ||
146 | this.$refs.elTable.toggleRowExpansion(row, expanded) | ||
147 | }, | ||
148 | setCurrentRow (row) { | ||
149 | this.$refs.elTable.setCurrentRow(row) | ||
150 | }, | ||
151 | clearSort () { | ||
152 | this.$refs.elTable.clearSort() | ||
153 | }, | ||
154 | clearFilter (columnKey) { | ||
155 | this.$refs.elTable.clearFilter(columnKey) | ||
156 | }, | ||
157 | doLayout () { | ||
158 | this.$refs.elTable.doLayout() | ||
159 | }, | ||
160 | sort (prop, order) { | ||
161 | this.$refs.elTable.sort(prop, order) | ||
162 | }, | ||
163 | paginationCurrentChange (val) { | ||
164 | this.$emit('p-current-change', val) | ||
165 | }, | ||
166 | getMergeArr (tableData, merge) { | ||
167 | if (!merge) return | ||
168 | this.mergeLine = {} | ||
169 | this.mergeIndex = {} | ||
170 | merge.forEach((item, k) => { | ||
171 | tableData.forEach((data, i) => { | ||
172 | if (i === 0) { | ||
173 | this.mergeIndex[item] = this.mergeIndex[item] || [] | ||
174 | this.mergeIndex[item].push(1) | ||
175 | this.mergeLine[item] = 0 | ||
176 | } else { | ||
177 | if (data[item] === tableData[i - 1][item]) { | ||
178 | this.mergeIndex[item][this.mergeLine[item]] += 1 | ||
179 | this.mergeIndex[item].push(0) | ||
180 | } else { | ||
181 | this.mergeIndex[item].push(1) | ||
182 | this.mergeLine[item] = i | ||
183 | } | ||
184 | } | ||
185 | }) | ||
186 | }) | ||
187 | }, | ||
188 | mergeMethod ({ row, column, rowIndex, columnIndex }) { | ||
189 | const index = this.merge.indexOf(column.property) | ||
190 | if (index > -1) { | ||
191 | const _row = this.mergeIndex[this.merge[index]][rowIndex] | ||
192 | const _col = _row > 0 ? 1 : 0 | ||
193 | return { | ||
194 | rowspan: _row, | ||
195 | colspan: _col, | ||
196 | } | ||
197 | } | ||
198 | }, | ||
199 | }, | ||
200 | watch: { | ||
201 | merge () { | ||
202 | this.getMergeArr(this.data, this.merge) | ||
203 | }, | ||
204 | dataLength () { | ||
205 | this.getMergeArr(this.data, this.merge) | ||
206 | } | ||
207 | }, | ||
208 | } | ||
209 | </script> | ||
210 | <style rel="stylesheet/scss" scoped lang="scss"> | ||
211 | .lb-table { | ||
212 | margin-top: 1px; | ||
213 | |||
214 | .interlaced { | ||
215 | background: #fafcff; | ||
216 | border: 1px solid #ebf2fa; | ||
217 | } | ||
218 | } | ||
219 | |||
220 | /deep/.el-table .cell { | ||
221 | padding-left: 3px; | ||
222 | padding-right: 3px; | ||
223 | } | ||
224 | |||
225 | /deep/.el-radio__label { | ||
226 | display: none; | ||
227 | } | ||
228 | </style> |
src/components/LbTable/redeme.md
0 → 100644
src/components/Loading/index.js
0 → 100644
src/components/Loading/src/index.js
0 → 100644
1 | import Vue from 'vue'; | ||
2 | import loadingVue from './loading.vue'; | ||
3 | import { addClass, removeClass, getStyle } from 'element-ui/src/utils/dom'; | ||
4 | import { PopupManager } from 'element-ui/src/utils/popup'; | ||
5 | import afterLeave from 'element-ui/src/utils/after-leave'; | ||
6 | import merge from 'element-ui/src/utils/merge'; | ||
7 | |||
8 | const LoadingConstructor = Vue.extend(loadingVue); | ||
9 | |||
10 | const defaults = { | ||
11 | text: null, | ||
12 | fullscreen: true, | ||
13 | body: false, | ||
14 | lock: false, | ||
15 | customClass: '' | ||
16 | }; | ||
17 | |||
18 | let fullscreenLoading; | ||
19 | |||
20 | LoadingConstructor.prototype.originalPosition = ''; | ||
21 | LoadingConstructor.prototype.originalOverflow = ''; | ||
22 | |||
23 | LoadingConstructor.prototype.close = function() { | ||
24 | if (this.fullscreen) { | ||
25 | fullscreenLoading = undefined; | ||
26 | } | ||
27 | afterLeave(this, _ => { | ||
28 | const target = this.fullscreen || this.body | ||
29 | ? document.body | ||
30 | : this.target; | ||
31 | removeClass(target, 'el-loading-parent--relative'); | ||
32 | removeClass(target, 'el-loading-parent--hidden'); | ||
33 | if (this.$el && this.$el.parentNode) { | ||
34 | this.$el.parentNode.removeChild(this.$el); | ||
35 | } | ||
36 | this.$destroy(); | ||
37 | }, 300); | ||
38 | this.visible = false; | ||
39 | }; | ||
40 | |||
41 | const addStyle = (options, parent, instance) => { | ||
42 | let maskStyle = {}; | ||
43 | if (options.fullscreen) { | ||
44 | instance.originalPosition = getStyle(document.body, 'position'); | ||
45 | instance.originalOverflow = getStyle(document.body, 'overflow'); | ||
46 | maskStyle.zIndex = PopupManager.nextZIndex(); | ||
47 | } else if (options.body) { | ||
48 | instance.originalPosition = getStyle(document.body, 'position'); | ||
49 | ['top', 'left'].forEach(property => { | ||
50 | let scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; | ||
51 | maskStyle[property] = options.target.getBoundingClientRect()[property] + | ||
52 | document.body[scroll] + | ||
53 | document.documentElement[scroll] + | ||
54 | 'px'; | ||
55 | }); | ||
56 | ['height', 'width'].forEach(property => { | ||
57 | maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px'; | ||
58 | }); | ||
59 | } else { | ||
60 | instance.originalPosition = getStyle(parent, 'position'); | ||
61 | } | ||
62 | Object.keys(maskStyle).forEach(property => { | ||
63 | instance.$el.style[property] = maskStyle[property]; | ||
64 | }); | ||
65 | }; | ||
66 | |||
67 | const Loading = (options = {}) => { | ||
68 | if (Vue.prototype.$isServer) return; | ||
69 | options = merge({}, defaults, options); | ||
70 | if (typeof options.target === 'string') { | ||
71 | options.target = document.querySelector(options.target); | ||
72 | } | ||
73 | options.target = options.target || document.body; | ||
74 | if (options.target !== document.body) { | ||
75 | options.fullscreen = false; | ||
76 | } else { | ||
77 | options.body = true; | ||
78 | } | ||
79 | if (options.fullscreen && fullscreenLoading) { | ||
80 | return fullscreenLoading; | ||
81 | } | ||
82 | |||
83 | let parent = options.body ? document.body : options.target; | ||
84 | let instance = new LoadingConstructor({ | ||
85 | el: document.createElement('div'), | ||
86 | data: options | ||
87 | }); | ||
88 | |||
89 | addStyle(options, parent, instance); | ||
90 | if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed' && instance.originalPosition !== 'sticky') { | ||
91 | addClass(parent, 'el-loading-parent--relative'); | ||
92 | } | ||
93 | if (options.fullscreen && options.lock) { | ||
94 | addClass(parent, 'el-loading-parent--hidden'); | ||
95 | } | ||
96 | parent.appendChild(instance.$el); | ||
97 | Vue.nextTick(() => { | ||
98 | instance.visible = true; | ||
99 | }); | ||
100 | if (options.fullscreen) { | ||
101 | fullscreenLoading = instance; | ||
102 | } | ||
103 | return instance; | ||
104 | }; | ||
105 | |||
106 | export default Loading; |
src/components/Loading/src/loading.vue
0 → 100644
1 | <template> | ||
2 | <transition name="el-loading-fade" @after-leave="handleAfterLeave"> | ||
3 | <div v-show="visible" class="el-loading-mask" :style="{ backgroundColor: background || '' }" | ||
4 | :class="[customClass, { 'is-fullscreen': fullscreen }]"> | ||
5 | <div class="el-loading-spinner"> | ||
6 | <!-- <svg v-if="!spinner" class="circular" viewBox="25 25 50 50"> | ||
7 | <circle class="path" cx="50" cy="50" r="20" fill="none" /> | ||
8 | </svg> | ||
9 | <i v-else :class="spinner"></i> --> | ||
10 | <img class="img" src="../../../image/progress.gif" alt=""> | ||
11 | <p v-if="text" class="el-loading-text">{{ text }}</p> | ||
12 | </div> | ||
13 | </div> | ||
14 | </transition> | ||
15 | </template> | ||
16 | |||
17 | <script> | ||
18 | export default { | ||
19 | data () { | ||
20 | return { | ||
21 | text: null, | ||
22 | spinner: null, | ||
23 | background: null, | ||
24 | fullscreen: true, | ||
25 | visible: false, | ||
26 | customClass: '' | ||
27 | }; | ||
28 | }, | ||
29 | |||
30 | methods: { | ||
31 | handleAfterLeave () { | ||
32 | this.$emit('after-leave'); | ||
33 | }, | ||
34 | setText (text) { | ||
35 | this.text = text; | ||
36 | } | ||
37 | } | ||
38 | }; | ||
39 | </script> | ||
40 | <style scoped lang="scss"> | ||
41 | .el-loading-spinner { | ||
42 | margin-top: -100px !important; | ||
43 | |||
44 | .img { | ||
45 | width: 80px; | ||
46 | height: 80px; | ||
47 | } | ||
48 | } | ||
49 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/MessageBox/index.js
0 → 100644
src/components/MessageBox/src/main.js
0 → 100644
1 | const defaults = { | ||
2 | title: null, | ||
3 | message: '', | ||
4 | type: '', | ||
5 | iconClass: '', | ||
6 | showInput: false, | ||
7 | showClose: true, | ||
8 | modalFade: true, | ||
9 | lockScroll: true, | ||
10 | closeOnClickModal: true, | ||
11 | closeOnPressEscape: true, | ||
12 | closeOnHashChange: true, | ||
13 | inputValue: null, | ||
14 | inputPlaceholder: '', | ||
15 | inputType: 'text', | ||
16 | inputPattern: null, | ||
17 | inputValidator: null, | ||
18 | inputErrorMessage: '', | ||
19 | showConfirmButton: true, | ||
20 | showCancelButton: false, | ||
21 | confirmButtonPosition: 'right', | ||
22 | confirmButtonHighlight: false, | ||
23 | cancelButtonHighlight: false, | ||
24 | confirmButtonText: '', | ||
25 | cancelButtonText: '', | ||
26 | confirmButtonClass: '', | ||
27 | cancelButtonClass: '', | ||
28 | customClass: '', | ||
29 | beforeClose: null, | ||
30 | dangerouslyUseHTMLString: false, | ||
31 | center: false, | ||
32 | roundButton: false, | ||
33 | distinguishCancelAndClose: false | ||
34 | }; | ||
35 | |||
36 | import Vue from 'vue'; | ||
37 | import msgboxVue from './main.vue'; | ||
38 | import merge from 'element-ui/src/utils/merge'; | ||
39 | import { isVNode } from 'element-ui/src/utils/vdom'; | ||
40 | |||
41 | const MessageBoxConstructor = Vue.extend(msgboxVue); | ||
42 | |||
43 | let currentMsg, instance; | ||
44 | let msgQueue = []; | ||
45 | |||
46 | const defaultCallback = action => { | ||
47 | if (currentMsg) { | ||
48 | let callback = currentMsg.callback; | ||
49 | if (typeof callback === 'function') { | ||
50 | if (instance.showInput) { | ||
51 | callback(instance.inputValue, action); | ||
52 | } else { | ||
53 | callback(action); | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | }; | ||
58 | |||
59 | const initInstance = () => { | ||
60 | instance = new MessageBoxConstructor({ | ||
61 | el: document.createElement('div') | ||
62 | }); | ||
63 | |||
64 | instance.callback = defaultCallback; | ||
65 | }; | ||
66 | |||
67 | const showNextMsg = () => { | ||
68 | if (!instance) { | ||
69 | initInstance(); | ||
70 | } | ||
71 | instance.action = ''; | ||
72 | |||
73 | if (!instance.visible || instance.closeTimer) { | ||
74 | if (msgQueue.length > 0) { | ||
75 | currentMsg = msgQueue.shift(); | ||
76 | |||
77 | let options = currentMsg.options; | ||
78 | for (let prop in options) { | ||
79 | if (options.hasOwnProperty(prop)) { | ||
80 | instance[prop] = options[prop]; | ||
81 | } | ||
82 | } | ||
83 | if (options.callback === undefined) { | ||
84 | instance.callback = defaultCallback; | ||
85 | } | ||
86 | |||
87 | let oldCb = instance.callback; | ||
88 | instance.callback = (action, instance) => { | ||
89 | oldCb(action, instance); | ||
90 | showNextMsg(); | ||
91 | }; | ||
92 | if (isVNode(instance.message)) { | ||
93 | instance.$slots.default = [instance.message]; | ||
94 | instance.message = null; | ||
95 | } else { | ||
96 | delete instance.$slots.default; | ||
97 | } | ||
98 | ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(prop => { | ||
99 | if (instance[prop] === undefined) { | ||
100 | instance[prop] = true; | ||
101 | } | ||
102 | }); | ||
103 | document.body.appendChild(instance.$el); | ||
104 | |||
105 | Vue.nextTick(() => { | ||
106 | instance.visible = true; | ||
107 | }); | ||
108 | } | ||
109 | } | ||
110 | }; | ||
111 | |||
112 | const MessageBox = function (options, callback) { | ||
113 | if (Vue.prototype.$isServer) return; | ||
114 | if (typeof options === 'string' || isVNode(options)) { | ||
115 | options = { | ||
116 | message: options | ||
117 | }; | ||
118 | if (typeof arguments[1] === 'string') { | ||
119 | options.title = arguments[1]; | ||
120 | } | ||
121 | } else if (options.callback && !callback) { | ||
122 | callback = options.callback; | ||
123 | } | ||
124 | |||
125 | if (typeof Promise !== 'undefined') { | ||
126 | return new Promise((resolve, reject) => { // eslint-disable-line | ||
127 | msgQueue.push({ | ||
128 | options: merge({}, defaults, MessageBox.defaults, options), | ||
129 | callback: callback, | ||
130 | resolve: resolve, | ||
131 | reject: reject | ||
132 | }); | ||
133 | |||
134 | showNextMsg(); | ||
135 | }); | ||
136 | } else { | ||
137 | msgQueue.push({ | ||
138 | options: merge({}, defaults, MessageBox.defaults, options), | ||
139 | callback: callback | ||
140 | }); | ||
141 | |||
142 | showNextMsg(); | ||
143 | } | ||
144 | }; | ||
145 | |||
146 | MessageBox.setDefaults = defaults => { | ||
147 | MessageBox.defaults = defaults; | ||
148 | }; | ||
149 | |||
150 | MessageBox.alert = (title, message, options) => { | ||
151 | if (typeof title === 'object') { | ||
152 | options = title; | ||
153 | title = ''; | ||
154 | } else if (title === undefined) { | ||
155 | title = ''; | ||
156 | } | ||
157 | return MessageBox(merge({ | ||
158 | title: title, | ||
159 | message: message, | ||
160 | $type: 'alert', | ||
161 | closeOnPressEscape: false, | ||
162 | closeOnClickModal: false | ||
163 | }, options)); | ||
164 | }; | ||
165 | |||
166 | MessageBox.close = () => { | ||
167 | instance.doClose(); | ||
168 | instance.visible = false; | ||
169 | msgQueue = []; | ||
170 | currentMsg = null; | ||
171 | }; | ||
172 | |||
173 | export default MessageBox; | ||
174 | export { MessageBox }; |
src/components/MessageBox/src/main.vue
0 → 100644
1 | <template> | ||
2 | <transition name="msgbox-fade"> | ||
3 | <div class="el-message-box__wrapper" tabindex="-1" v-show="visible" @click.self="handleWrapperClick" role="dialog" | ||
4 | aria-modal="true" :aria-label="title || 'dialog'"> | ||
5 | <div class="el-message-box" :class="[customClass, center && 'el-message-box--center']"> | ||
6 | <div class="el-message-box__header" v-if="title !== null"> | ||
7 | <div class="el-message-box__title"> | ||
8 | <span>标题:{{ title }}</span> | ||
9 | </div> | ||
10 | <button type="button" class="el-message-box__headerbtn" aria-label="Close" v-if="showClose" | ||
11 | @click="handleAction(distinguishCancelAndClose ? 'close' : 'cancel')" | ||
12 | @keydown.enter="handleAction(distinguishCancelAndClose ? 'close' : 'cancel')"> | ||
13 | <i class="el-message-box__close el-icon-close"></i> | ||
14 | </button> | ||
15 | </div> | ||
16 | <div class="el-message-box__content"> | ||
17 | <div v-if="message !== ''" class="richText" v-html="message"></div> | ||
18 | </div> | ||
19 | <div class="el-message-box__btns"> | ||
20 | <el-button :loading="cancelButtonLoading" :class="[cancelButtonClasses]" :round="roundButton" size="small" | ||
21 | @click.native="handleAction('cancel')" @keydown.enter="handleAction('cancel')"> | ||
22 | {{ cancelButtonText || t('el.messagebox.cancel') }} | ||
23 | </el-button> | ||
24 | </div> | ||
25 | </div> | ||
26 | </div> | ||
27 | </transition> | ||
28 | </template> | ||
29 | |||
30 | <script type="text/babel"> | ||
31 | import Popup from 'element-ui/src/utils/popup'; | ||
32 | import Locale from 'element-ui/src/mixins/locale'; | ||
33 | import ElInput from 'element-ui/packages/input'; | ||
34 | import ElButton from 'element-ui/packages/button'; | ||
35 | import { addClass, removeClass } from 'element-ui/src/utils/dom'; | ||
36 | import { t } from 'element-ui/src/locale'; | ||
37 | import Dialog from 'element-ui/src/utils/aria-dialog'; | ||
38 | |||
39 | let messageBox; | ||
40 | let typeMap = { | ||
41 | success: 'success', | ||
42 | info: 'info', | ||
43 | warning: 'warning', | ||
44 | error: 'error' | ||
45 | }; | ||
46 | |||
47 | export default { | ||
48 | mixins: [Popup, Locale], | ||
49 | |||
50 | props: { | ||
51 | modal: { | ||
52 | default: true | ||
53 | }, | ||
54 | lockScroll: { | ||
55 | default: true | ||
56 | }, | ||
57 | showClose: { | ||
58 | type: Boolean, | ||
59 | default: true | ||
60 | }, | ||
61 | closeOnClickModal: { | ||
62 | default: true | ||
63 | }, | ||
64 | closeOnPressEscape: { | ||
65 | default: true | ||
66 | }, | ||
67 | closeOnHashChange: { | ||
68 | default: true | ||
69 | }, | ||
70 | center: { | ||
71 | default: false, | ||
72 | type: Boolean | ||
73 | }, | ||
74 | roundButton: { | ||
75 | default: false, | ||
76 | type: Boolean | ||
77 | } | ||
78 | }, | ||
79 | |||
80 | components: { | ||
81 | ElInput, | ||
82 | ElButton | ||
83 | }, | ||
84 | |||
85 | computed: { | ||
86 | icon () { | ||
87 | const { type, iconClass } = this; | ||
88 | return iconClass || (type && typeMap[type] ? `el-icon-${typeMap[type]}` : ''); | ||
89 | }, | ||
90 | |||
91 | confirmButtonClasses () { | ||
92 | return `el-button--primary ${this.confirmButtonClass}`; | ||
93 | }, | ||
94 | cancelButtonClasses () { | ||
95 | return `${this.cancelButtonClass}`; | ||
96 | } | ||
97 | }, | ||
98 | |||
99 | methods: { | ||
100 | getSafeClose () { | ||
101 | const currentId = this.uid; | ||
102 | return () => { | ||
103 | this.$nextTick(() => { | ||
104 | if (currentId === this.uid) this.doClose(); | ||
105 | }); | ||
106 | }; | ||
107 | }, | ||
108 | doClose () { | ||
109 | if (!this.visible) return; | ||
110 | this.visible = false; | ||
111 | this._closing = true; | ||
112 | |||
113 | this.onClose && this.onClose(); | ||
114 | messageBox.closeDialog(); // 解绑 | ||
115 | if (this.lockScroll) { | ||
116 | setTimeout(this.restoreBodyStyle, 200); | ||
117 | } | ||
118 | this.opened = false; | ||
119 | this.doAfterClose(); | ||
120 | setTimeout(() => { | ||
121 | if (this.action) this.callback(this.action, this); | ||
122 | }); | ||
123 | }, | ||
124 | |||
125 | handleWrapperClick () { | ||
126 | if (this.closeOnClickModal) { | ||
127 | this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel'); | ||
128 | } | ||
129 | }, | ||
130 | |||
131 | handleInputEnter () { | ||
132 | if (this.inputType !== 'textarea') { | ||
133 | return this.handleAction('confirm'); | ||
134 | } | ||
135 | }, | ||
136 | |||
137 | handleAction (action) { | ||
138 | if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) { | ||
139 | return; | ||
140 | } | ||
141 | this.action = action; | ||
142 | if (typeof this.beforeClose === 'function') { | ||
143 | this.close = this.getSafeClose(); | ||
144 | this.beforeClose(action, this, this.close); | ||
145 | } else { | ||
146 | this.doClose(); | ||
147 | } | ||
148 | }, | ||
149 | |||
150 | validate () { | ||
151 | if (this.$type === 'prompt') { | ||
152 | const inputPattern = this.inputPattern; | ||
153 | if (inputPattern && !inputPattern.test(this.inputValue || '')) { | ||
154 | this.editorErrorMessage = this.inputErrorMessage || t('el.messagebox.error'); | ||
155 | addClass(this.getInputElement(), 'invalid'); | ||
156 | return false; | ||
157 | } | ||
158 | const inputValidator = this.inputValidator; | ||
159 | if (typeof inputValidator === 'function') { | ||
160 | const validateResult = inputValidator(this.inputValue); | ||
161 | if (validateResult === false) { | ||
162 | this.editorErrorMessage = this.inputErrorMessage || t('el.messagebox.error'); | ||
163 | addClass(this.getInputElement(), 'invalid'); | ||
164 | return false; | ||
165 | } | ||
166 | if (typeof validateResult === 'string') { | ||
167 | this.editorErrorMessage = validateResult; | ||
168 | addClass(this.getInputElement(), 'invalid'); | ||
169 | return false; | ||
170 | } | ||
171 | } | ||
172 | } | ||
173 | this.editorErrorMessage = ''; | ||
174 | removeClass(this.getInputElement(), 'invalid'); | ||
175 | return true; | ||
176 | }, | ||
177 | getFirstFocus () { | ||
178 | const btn = this.$el.querySelector('.el-message-box__btns .el-button'); | ||
179 | const title = this.$el.querySelector('.el-message-box__btns .el-message-box__title'); | ||
180 | return btn || title; | ||
181 | }, | ||
182 | getInputElement () { | ||
183 | const inputRefs = this.$refs.input.$refs; | ||
184 | return inputRefs.input || inputRefs.textarea; | ||
185 | }, | ||
186 | handleClose () { | ||
187 | this.handleAction('close'); | ||
188 | } | ||
189 | }, | ||
190 | |||
191 | watch: { | ||
192 | inputValue: { | ||
193 | immediate: true, | ||
194 | handler (val) { | ||
195 | this.$nextTick(_ => { | ||
196 | if (this.$type === 'prompt' && val !== null) { | ||
197 | this.validate(); | ||
198 | } | ||
199 | }); | ||
200 | } | ||
201 | }, | ||
202 | |||
203 | visible (val) { | ||
204 | if (val) { | ||
205 | this.uid++; | ||
206 | this.focusAfterClosed = document.activeElement; | ||
207 | messageBox = new Dialog(this.$el, this.focusAfterClosed, this.getFirstFocus()); | ||
208 | } | ||
209 | |||
210 | // prompt | ||
211 | if (this.$type !== 'prompt') return; | ||
212 | if (val) { | ||
213 | setTimeout(() => { | ||
214 | if (this.$refs.input && this.$refs.input.$el) { | ||
215 | this.getInputElement().focus(); | ||
216 | } | ||
217 | }, 500); | ||
218 | } else { | ||
219 | this.editorErrorMessage = ''; | ||
220 | removeClass(this.getInputElement(), 'invalid'); | ||
221 | } | ||
222 | } | ||
223 | }, | ||
224 | |||
225 | mounted () { | ||
226 | this.$nextTick(() => { | ||
227 | if (this.closeOnHashChange) { | ||
228 | window.addEventListener('hashchange', this.close); | ||
229 | } | ||
230 | }); | ||
231 | }, | ||
232 | |||
233 | beforeDestroy () { | ||
234 | if (this.closeOnHashChange) { | ||
235 | window.removeEventListener('hashchange', this.close); | ||
236 | } | ||
237 | setTimeout(() => { | ||
238 | messageBox.closeDialog(); | ||
239 | }); | ||
240 | }, | ||
241 | |||
242 | data () { | ||
243 | return { | ||
244 | uid: 1, | ||
245 | title: undefined, | ||
246 | message: '', | ||
247 | type: '', | ||
248 | iconClass: '', | ||
249 | customClass: '', | ||
250 | showInput: false, | ||
251 | inputValue: null, | ||
252 | inputPlaceholder: '', | ||
253 | inputType: 'text', | ||
254 | inputPattern: null, | ||
255 | inputValidator: null, | ||
256 | inputErrorMessage: '', | ||
257 | showConfirmButton: true, | ||
258 | showCancelButton: false, | ||
259 | action: '', | ||
260 | confirmButtonText: '', | ||
261 | cancelButtonText: '', | ||
262 | confirmButtonLoading: false, | ||
263 | cancelButtonLoading: false, | ||
264 | confirmButtonClass: '', | ||
265 | confirmButtonDisabled: false, | ||
266 | cancelButtonClass: '', | ||
267 | editorErrorMessage: null, | ||
268 | callback: null, | ||
269 | dangerouslyUseHTMLString: false, | ||
270 | focusAfterClosed: null, | ||
271 | isOnComposition: false, | ||
272 | distinguishCancelAndClose: false | ||
273 | }; | ||
274 | } | ||
275 | }; | ||
276 | </script> | ||
277 | <style scoped> | ||
278 | /deep/.el-message-box { | ||
279 | width: 500px; | ||
280 | max-height: 95%; | ||
281 | } | ||
282 | |||
283 | /deep/.message-title { | ||
284 | font-size: 18px; | ||
285 | font-weight: 700; | ||
286 | margin-bottom: 5px; | ||
287 | } | ||
288 | |||
289 | /deep/.el-message-box__content img { | ||
290 | width: 100%; | ||
291 | height: 100%; | ||
292 | } | ||
293 | |||
294 | /deep/.el-message-box__content { | ||
295 | padding-top: 0; | ||
296 | } | ||
297 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/Popup/index.js
0 → 100644
1 | import Vue from 'vue' | ||
2 | import Popup from './index.vue' | ||
3 | |||
4 | const PopupBox = Vue.extend(Popup) | ||
5 | Popup.install = function (title, editItem, data, formData) { | ||
6 | data.title = title | ||
7 | data.editItem = editItem | ||
8 | if (formData) { | ||
9 | data.formData = formData | ||
10 | } | ||
11 | let instance = new PopupBox({ | ||
12 | data | ||
13 | }).$mount() | ||
14 | document.body.appendChild(instance.$el) | ||
15 | Vue.nextTick(() => { | ||
16 | instance.isShow = true | ||
17 | }) | ||
18 | } | ||
19 | |||
20 | export default Popup |
src/components/Popup/index.vue
0 → 100644
1 | <template> | ||
2 | <transition name="msgbox-fade" v-if="myShow"> | ||
3 | <div class="ls-mask" v-loading="loading"> | ||
4 | <div class="ls-mask-window" :style="{ 'width': width }"> | ||
5 | <div class="ls-head"> | ||
6 | <div class="ls-title" :style="{ 'text-align': titleStyle }"> | ||
7 | <svg-icon v-if="iconClass != ''" :icon-class='iconClass' /> | ||
8 | <b>{{ title }}</b> | ||
9 | </div> | ||
10 | <svg-icon icon-class='close' class="closeStyle" @click="onCancel" /> | ||
11 | </div> | ||
12 | <div class="mask-content" ref='contentRef' :style="{ 'height': contentHeight }"> | ||
13 | <component :is="editItem" ref='childRef' @loading='loadingFn' :key="key" :formData='formData' /> | ||
14 | </div> | ||
15 | <div class="ls-mask-footer" v-if='btnShow'> | ||
16 | <el-button type="primary" @click="onConfirm">{{ confirmText }}</el-button> | ||
17 | <el-button @click="onCancel">{{ cancelText }}</el-button> | ||
18 | </div> | ||
19 | </div> | ||
20 | </div> | ||
21 | </transition> | ||
22 | </template> | ||
23 | <script> | ||
24 | export default { | ||
25 | name: 'index', | ||
26 | data () { | ||
27 | return { | ||
28 | title: '标题', | ||
29 | editItem: "", | ||
30 | formData: undefined,//父组件传递的参数 负责传给子组件 | ||
31 | btnShow: false, | ||
32 | cancel: function () { }, | ||
33 | confirm: function () { }, | ||
34 | cancelText: '取消', | ||
35 | confirmText: '确认', | ||
36 | isSync: false, | ||
37 | isShow: false, | ||
38 | myShow: false, | ||
39 | titleStyle: 'center', | ||
40 | width: "75%", | ||
41 | height: "auto", | ||
42 | contentHeight: "", | ||
43 | iconClass: "", | ||
44 | key: 0 | ||
45 | } | ||
46 | }, | ||
47 | props: { | ||
48 | loading: { type: Boolean, default: false }, | ||
49 | }, | ||
50 | watch: { | ||
51 | isShow (newValue) { | ||
52 | this.editItem = this.loadViewFn(this.editItem) | ||
53 | document.body.appendChild(this.$el); | ||
54 | this.myShow = newValue | ||
55 | } | ||
56 | }, | ||
57 | mounted () { | ||
58 | // 计算滚动条高度 | ||
59 | setTimeout(() => { | ||
60 | if (this.btnShow) { | ||
61 | if (this.height == 'auto') { | ||
62 | this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px' | ||
63 | } else { | ||
64 | this.contentHeight = this.height | ||
65 | } | ||
66 | } else { | ||
67 | if (this.height == 'auto') { | ||
68 | this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px' | ||
69 | } else { | ||
70 | this.contentHeight = this.height | ||
71 | } | ||
72 | } | ||
73 | }, 300) | ||
74 | }, | ||
75 | methods: { | ||
76 | onCancel () { | ||
77 | this.isShow = false | ||
78 | this.cancel() | ||
79 | }, | ||
80 | onConfirm () { | ||
81 | this.loading = true | ||
82 | let res = new Promise((resolve, reject) => { | ||
83 | this.confirm() | ||
84 | resolve(true) | ||
85 | }) | ||
86 | if (res) { | ||
87 | this.isShow = false | ||
88 | } | ||
89 | }, | ||
90 | loadingFn (e) { //加载状态 | ||
91 | this.loading = e | ||
92 | }, | ||
93 | loadViewFn (view) { | ||
94 | return (r) => | ||
95 | require.ensure([], () => | ||
96 | r(require(`@/views/${view}.vue`)) | ||
97 | ) | ||
98 | } | ||
99 | }, | ||
100 | destroyed () { | ||
101 | if (this.appendToBody && this.$el && this.$el.parentNode) { | ||
102 | this.$el.parentNode.removeChild(this.$el); | ||
103 | } | ||
104 | } | ||
105 | } | ||
106 | </script> | ||
107 | <style scoped lang="scss" > | ||
108 | .ls-mask { | ||
109 | width: 100%; | ||
110 | height: 100%; | ||
111 | z-index: 100; | ||
112 | position: fixed; | ||
113 | left: 0; | ||
114 | top: 0; | ||
115 | background: rgba(0, 0, 0, 0.3); | ||
116 | |||
117 | } | ||
118 | |||
119 | .ls-mask-window { | ||
120 | background: white; | ||
121 | position: relative; | ||
122 | left: 50%; | ||
123 | top: 50%; | ||
124 | min-height: 200px; | ||
125 | transform: translate(-50%, -50%); | ||
126 | border-radius: 5px; | ||
127 | overflow: hidden; | ||
128 | } | ||
129 | |||
130 | .ls-mask-window b { | ||
131 | padding-left: 5px; | ||
132 | } | ||
133 | |||
134 | .ls-title { | ||
135 | padding: 16px; | ||
136 | color: #ffffff; | ||
137 | background: linear-gradient(3deg, #409EFF, #a7cbee); | ||
138 | } | ||
139 | |||
140 | .ls-title .svg-icon { | ||
141 | font-size: 18px; | ||
142 | } | ||
143 | |||
144 | .mask-content { | ||
145 | padding: 20px; | ||
146 | width: 100%; | ||
147 | min-height: 30%; | ||
148 | max-height: 95%; | ||
149 | overflow-y: scroll; | ||
150 | } | ||
151 | |||
152 | .ls-mask-footer { | ||
153 | height: 50px; | ||
154 | display: flex; | ||
155 | justify-content: center; | ||
156 | width: 100%; | ||
157 | position: absolute; | ||
158 | border-top: 1px solid $borderColor; | ||
159 | bottom: 0; | ||
160 | background: #ffffff; | ||
161 | border-bottom-left-radius: 5px; | ||
162 | border-bottom-right-radius: 5px; | ||
163 | overflow: hidden; | ||
164 | } | ||
165 | |||
166 | |||
167 | /deep/.closeStyle { | ||
168 | position: absolute; | ||
169 | top: 13px; | ||
170 | right: 26px; | ||
171 | font-size: 24px; | ||
172 | cursor: pointer; | ||
173 | color: #409EFF; | ||
174 | } | ||
175 | |||
176 | /deep/.el-loading-mask { | ||
177 | background: none; | ||
178 | } | ||
179 | |||
180 | /deep/.el-button { | ||
181 | margin: 8px 10px; | ||
182 | width: 75px; | ||
183 | } | ||
184 | </style> | ||
185 | |||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/Popup/redeme.md
0 → 100644
1 | 弹窗封装 | ||
2 | 2.用法以及参数: | ||
3 | this.$popup('提示','ywbl/dbx/aa',{ | ||
4 | width: '75%', // 初始化75% 不需要改的话 可以直接不要 | ||
5 | formData: this.formData, // 父组件传给子组件的参数 | ||
6 | cancel: function () {}, //取消事件的回调 没有按钮可以不需要 | ||
7 | confirm: function () {} //确认事件的回调 没有按钮可以不需要 | ||
8 | }) | ||
9 | |||
10 | 5.后续有修改请添加在此处文档说明作用 | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/SvgIcon/index.vue
0 → 100644
1 | <!--显示svg文件图标--> | ||
2 | <template> | ||
3 | <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" /> | ||
4 | <svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners"> | ||
5 | <use :xlink:href="iconName" /> | ||
6 | </svg> | ||
7 | </template> | ||
8 | |||
9 | <script> | ||
10 | // doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage | ||
11 | import { isExternal } from '@/utils/validate' | ||
12 | |||
13 | export default { | ||
14 | name: 'SvgIcon', | ||
15 | props: { | ||
16 | iconClass: { | ||
17 | type: String, | ||
18 | required: true | ||
19 | }, | ||
20 | className: { | ||
21 | type: String, | ||
22 | default: '' | ||
23 | } | ||
24 | }, | ||
25 | computed: { | ||
26 | isExternal() { | ||
27 | return isExternal(this.iconClass) | ||
28 | }, | ||
29 | iconName() { | ||
30 | return `#icon-${this.iconClass}` | ||
31 | }, | ||
32 | svgClass() { | ||
33 | if (this.className) { | ||
34 | return 'svg-icon ' + this.className | ||
35 | } else { | ||
36 | return 'svg-icon' | ||
37 | } | ||
38 | }, | ||
39 | styleExternalIcon() { | ||
40 | return { | ||
41 | mask: `url(${this.iconClass}) no-repeat 50% 50%`, | ||
42 | '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%` | ||
43 | } | ||
44 | } | ||
45 | } | ||
46 | } | ||
47 | </script> | ||
48 | |||
49 | <style scoped> | ||
50 | .svg-icon { | ||
51 | width: 1em; | ||
52 | height: 1em; | ||
53 | vertical-align: -0.15em; | ||
54 | fill: currentColor; | ||
55 | overflow: hidden; | ||
56 | } | ||
57 | |||
58 | .svg-external-icon { | ||
59 | background-color: currentColor; | ||
60 | mask-size: cover!important; | ||
61 | display: inline-block; | ||
62 | } | ||
63 | </style> |
src/components/Theme/theme.vue
0 → 100644
1 | <template> | ||
2 | <el-color-picker v-model="theme" | ||
3 | :predefine="['#409EFF', '#1890ff', '#304156', '#212121', '#11a983', '#13c2c2', '#6959CD', '#f5222d',]" | ||
4 | class="theme-picker" popper-class="theme-picker-dropdown" /> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | const version = require('element-ui/package.json').version // element-ui version from node_modules | ||
9 | const ORIGINAL_THEME = '#409EFF' // default color | ||
10 | |||
11 | export default { | ||
12 | data () { | ||
13 | return { | ||
14 | chalk: '', // content of theme-chalk css | ||
15 | theme: '' | ||
16 | } | ||
17 | }, | ||
18 | computed: { | ||
19 | defaultTheme () { | ||
20 | return this.$store.state.app.theme | ||
21 | } | ||
22 | }, | ||
23 | watch: { | ||
24 | defaultTheme: { | ||
25 | handler: function (val, oldVal) { | ||
26 | this.theme = val | ||
27 | }, | ||
28 | immediate: true | ||
29 | }, | ||
30 | async theme (val) { | ||
31 | const oldVal = this.chalk ? this.theme : ORIGINAL_THEME | ||
32 | if (typeof val !== 'string') return | ||
33 | const themeCluster = this.getThemeCluster(val.replace('#', '')) | ||
34 | const originalCluster = this.getThemeCluster(oldVal.replace('#', '')) | ||
35 | console.log(themeCluster, originalCluster) | ||
36 | |||
37 | const $message = this.$message({ | ||
38 | message: ' Compiling the theme', | ||
39 | customClass: 'theme-message', | ||
40 | type: 'success', | ||
41 | duration: 0, | ||
42 | iconClass: 'el-icon-loading' | ||
43 | }) | ||
44 | |||
45 | const getHandler = (variable, id) => { | ||
46 | return () => { | ||
47 | const originalCluster = this.getThemeCluster(ORIGINAL_THEME.replace('#', '')) | ||
48 | const newStyle = this.updateStyle(this[variable], originalCluster, themeCluster) | ||
49 | |||
50 | let styleTag = document.getElementById(id) | ||
51 | if (!styleTag) { | ||
52 | styleTag = document.createElement('style') | ||
53 | styleTag.setAttribute('id', id) | ||
54 | document.head.appendChild(styleTag) | ||
55 | } | ||
56 | styleTag.innerText = newStyle | ||
57 | } | ||
58 | } | ||
59 | |||
60 | if (!this.chalk) { | ||
61 | const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css` | ||
62 | await this.getCSSString(url, 'chalk') | ||
63 | } | ||
64 | |||
65 | const chalkHandler = getHandler('chalk', 'chalk-style') | ||
66 | |||
67 | chalkHandler() | ||
68 | |||
69 | const styles = [].slice.call(document.querySelectorAll('style')) | ||
70 | .filter(style => { | ||
71 | const text = style.innerText | ||
72 | return new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text) | ||
73 | }) | ||
74 | styles.forEach(style => { | ||
75 | const { innerText } = style | ||
76 | if (typeof innerText !== 'string') return | ||
77 | style.innerText = this.updateStyle(innerText, originalCluster, themeCluster) | ||
78 | }) | ||
79 | |||
80 | this.$emit('change', val) | ||
81 | |||
82 | $message.close() | ||
83 | } | ||
84 | }, | ||
85 | |||
86 | methods: { | ||
87 | updateStyle (style, oldCluster, newCluster) { | ||
88 | let newStyle = style | ||
89 | oldCluster.forEach((color, index) => { | ||
90 | newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index]) | ||
91 | }) | ||
92 | return newStyle | ||
93 | }, | ||
94 | |||
95 | getCSSString (url, variable) { | ||
96 | return new Promise(resolve => { | ||
97 | const xhr = new XMLHttpRequest() | ||
98 | xhr.onreadystatechange = () => { | ||
99 | if (xhr.readyState === 4 && xhr.status === 200) { | ||
100 | this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '') | ||
101 | resolve() | ||
102 | } | ||
103 | } | ||
104 | xhr.open('GET', url) | ||
105 | xhr.send() | ||
106 | }) | ||
107 | }, | ||
108 | |||
109 | getThemeCluster (theme) { | ||
110 | const tintColor = (color, tint) => { | ||
111 | let red = parseInt(color.slice(0, 2), 16) | ||
112 | let green = parseInt(color.slice(2, 4), 16) | ||
113 | let blue = parseInt(color.slice(4, 6), 16) | ||
114 | |||
115 | if (tint === 0) { // when primary color is in its rgb space | ||
116 | return [red, green, blue].join(',') | ||
117 | } else { | ||
118 | red += Math.round(tint * (255 - red)) | ||
119 | green += Math.round(tint * (255 - green)) | ||
120 | blue += Math.round(tint * (255 - blue)) | ||
121 | |||
122 | red = red.toString(16) | ||
123 | green = green.toString(16) | ||
124 | blue = blue.toString(16) | ||
125 | |||
126 | return `#${red}${green}${blue}` | ||
127 | } | ||
128 | } | ||
129 | |||
130 | const shadeColor = (color, shade) => { | ||
131 | let red = parseInt(color.slice(0, 2), 16) | ||
132 | let green = parseInt(color.slice(2, 4), 16) | ||
133 | let blue = parseInt(color.slice(4, 6), 16) | ||
134 | |||
135 | red = Math.round((1 - shade) * red) | ||
136 | green = Math.round((1 - shade) * green) | ||
137 | blue = Math.round((1 - shade) * blue) | ||
138 | |||
139 | red = red.toString(16) | ||
140 | green = green.toString(16) | ||
141 | blue = blue.toString(16) | ||
142 | |||
143 | return `#${red}${green}${blue}` | ||
144 | } | ||
145 | |||
146 | const clusters = [theme] | ||
147 | for (let i = 0; i <= 9; i++) { | ||
148 | clusters.push(tintColor(theme, Number((i / 10).toFixed(2)))) | ||
149 | } | ||
150 | clusters.push(shadeColor(theme, 0.1)) | ||
151 | return clusters | ||
152 | } | ||
153 | } | ||
154 | } | ||
155 | </script> | ||
156 | |||
157 | <style> | ||
158 | .theme-message, | ||
159 | .theme-picker-dropdown { | ||
160 | z-index: 99999 !important; | ||
161 | } | ||
162 | |||
163 | .theme-picker .el-color-picker__trigger { | ||
164 | height: 26px !important; | ||
165 | width: 26px !important; | ||
166 | padding: 2px; | ||
167 | } | ||
168 | |||
169 | .theme-picker-dropdown .el-color-dropdown__link-btn { | ||
170 | display: none; | ||
171 | } | ||
172 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/business/acceptanceInfo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/applicantInfo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/archivedInfo.vue
0 → 100644
1 | <template> | ||
2 | <div class="issuingInfo itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="issuingInfo" label-width="100px"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item prop="YSDM"> | ||
7 | <span slot="label"> | ||
8 | 要素代码: <br /> | ||
9 | <p class="label-detail">(YSDM)</p> | ||
10 | </span> | ||
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YSDM" placeholder="要素代码"></el-input> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | |||
15 | <el-col :span="8"> | ||
16 | <el-form-item prop="YWH"> | ||
17 | <span slot="label"> | ||
18 | 业务号: <br /> | ||
19 | <p class="label-detail">(YWH)</p> | ||
20 | </span> | ||
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YWH" placeholder="业务号"></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | |||
25 | <el-col :span="8"> | ||
26 | <el-form-item prop="DJDL"> | ||
27 | <span slot="label"> | ||
28 | 登记大类: <br /> | ||
29 | <p class="label-detail">(DJDL)</p> | ||
30 | </span> | ||
31 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.DJDL" placeholder="登记大类"> | ||
32 | <el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
33 | </el-option> | ||
34 | </el-select> | ||
35 | </el-form-item> | ||
36 | </el-col> | ||
37 | </el-row> | ||
38 | |||
39 | <el-row> | ||
40 | <el-col :span="8"> | ||
41 | <el-form-item prop="DJXL"> | ||
42 | <span slot="label"> | ||
43 | 登记小类: <br /> | ||
44 | <p class="label-detail">(DJXL)</p> | ||
45 | </span> | ||
46 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.DJXL" placeholder="登记小类"></el-input> | ||
47 | </el-form-item> | ||
48 | </el-col> | ||
49 | |||
50 | <el-col :span="8"> | ||
51 | <el-form-item prop="ZL"> | ||
52 | <span slot="label"> | ||
53 | 坐落: <br /> | ||
54 | <p class="label-detail">(ZL)</p> | ||
55 | </span> | ||
56 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZL" placeholder="坐落"></el-input> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | |||
60 | <el-col :span="8"> | ||
61 | <el-form-item prop="QZHM"> | ||
62 | <span slot="label"> | ||
63 | 权证号码: <br /> | ||
64 | <p class="label-detail">(QZHM)</p> | ||
65 | </span> | ||
66 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QZHM" placeholder="权证号码"></el-input> | ||
67 | </el-form-item> | ||
68 | </el-col> | ||
69 | </el-row> | ||
70 | |||
71 | <el-row> | ||
72 | <el-col :span="8"> | ||
73 | <el-form-item prop="WJJS"> | ||
74 | <span slot="label"> | ||
75 | 文件件数: <br /> | ||
76 | <p class="label-detail">(WJJS)</p> | ||
77 | </span> | ||
78 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.WJJS" | ||
79 | v-only-number="{ max: 99999, min: 1, precision: 0 }" placeholder="文件件数"></el-input> | ||
80 | </el-form-item> | ||
81 | </el-col> | ||
82 | |||
83 | <el-col :span="8"> | ||
84 | <el-form-item prop="ZYS"> | ||
85 | <span slot="label"> | ||
86 | 总页数 <br /> | ||
87 | <p class="label-detail">(ZYS)</p> | ||
88 | </span> | ||
89 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZYS" | ||
90 | v-only-number="{ max: 99999, min: 1, precision: 0 }" placeholder="总页数"></el-input> | ||
91 | </el-form-item> | ||
92 | </el-col> | ||
93 | |||
94 | <el-col :span="8"> | ||
95 | <el-form-item prop="GDRY"> | ||
96 | <span slot="label"> | ||
97 | 归档人员: <br /> | ||
98 | <p class="label-detail">(GDRY)</p> | ||
99 | </span> | ||
100 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.GDRY" placeholder="归档人员"></el-input> | ||
101 | </el-form-item> | ||
102 | </el-col> | ||
103 | </el-row> | ||
104 | |||
105 | <el-row> | ||
106 | <el-col :span="8"> | ||
107 | <el-form-item prop="GDSJ"> | ||
108 | <span slot="label"> | ||
109 | 归档时间: <br /> | ||
110 | <p class="label-detail">(GDSJ)</p> | ||
111 | </span> | ||
112 | <el-date-picker :disabled="$store.state.business.Edit" type="datetime" placeholder="归档时间" clearable | ||
113 | v-model="ruleForm.GDSJ" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> | ||
114 | </el-form-item> | ||
115 | </el-col> | ||
116 | |||
117 | <el-col :span="8"> | ||
118 | <el-form-item prop="BZ"> | ||
119 | <span slot="label"> | ||
120 | 备注: <br /> | ||
121 | <p class="label-detail">(BZ)</p> | ||
122 | </span> | ||
123 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BZ" placeholder="备注"></el-input> | ||
124 | </el-form-item> | ||
125 | </el-col> | ||
126 | |||
127 | <el-col :span="8"> | ||
128 | <el-form-item prop="QXDM"> | ||
129 | <span slot="label"> | ||
130 | 区县代码: <br /> | ||
131 | <p class="label-detail">(QXDM)</p> | ||
132 | </span> | ||
133 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
134 | </el-form-item> | ||
135 | </el-col> | ||
136 | |||
137 | </el-row> | ||
138 | </el-form> | ||
139 | <message-tips ref="msg" /> | ||
140 | </div> | ||
141 | </template> | ||
142 | <script> | ||
143 | // 归档信息 | ||
144 | import business from '@/api/business' | ||
145 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
146 | export default { | ||
147 | mixins: [ruleMixin], | ||
148 | props: { | ||
149 | bsmSjsb: { | ||
150 | type: String, | ||
151 | default: '' | ||
152 | }, | ||
153 | dataTable: { | ||
154 | type: String, | ||
155 | default: '' | ||
156 | } | ||
157 | }, | ||
158 | data () { | ||
159 | return { | ||
160 | ruleForm: { | ||
161 | YSDM: '', | ||
162 | YWH: '', | ||
163 | DJDL: '', | ||
164 | DJXL: '', | ||
165 | ZL: '', | ||
166 | QZHM: '', | ||
167 | WJJS: '', | ||
168 | ZYS: '', | ||
169 | GDRY: '', | ||
170 | GDSJ: '', | ||
171 | BZ: '', | ||
172 | QXDM: '' | ||
173 | } | ||
174 | } | ||
175 | }, | ||
176 | methods: { | ||
177 | async featchData () { | ||
178 | try { | ||
179 | let { result: res } = await business.getDjfDjGdById(this.bsmSjsb) | ||
180 | this.ruleForm = res | ||
181 | this.featchRule() | ||
182 | } catch (error) { | ||
183 | this.$refs.msg.messageShow() | ||
184 | } | ||
185 | }, | ||
186 | handleUpdateForm () { | ||
187 | return new Promise(async (resolve) => { | ||
188 | try { | ||
189 | let res = await business.updateDjfDjGd(this.ruleForm) | ||
190 | // this.$refs['formList'].resetFields(); | ||
191 | resolve(res.code) | ||
192 | } catch (error) { | ||
193 | this.$refs.msg.messageShow() | ||
194 | } | ||
195 | }) | ||
196 | } | ||
197 | } | ||
198 | } | ||
199 | </script> | ||
200 | <style scoped lang="scss"> | ||
201 | @import "./css/itemForm.scss"; | ||
202 | </style> | ||
203 | |||
204 |
src/components/business/auditInfo.vue
0 → 100644
1 | <template> | ||
2 | <div class="auditInfo itemForm"> | ||
3 | <el-form :model="form" ref="formList" label-width="110px" :key="key"> | ||
4 | <div v-for="(item, index) in form.auditInfo" :key="index" class="auditInfo-item"> | ||
5 | <p class="auditInfo-item-name">审核信息{{ index + 1 }}</p> | ||
6 | |||
7 | <div class="auditInfo-item-list"> | ||
8 | <el-row class="auditInfo-item-input"> | ||
9 | <el-col :span="8"> | ||
10 | <el-form-item :prop="'auditInfo.' + index + '.YSDM'" :rules="rules.YSDM"> | ||
11 | <span slot="label"> | ||
12 | 要素代码: <br /> | ||
13 | <p class="label-detail">(YSDM)</p> | ||
14 | </span> | ||
15 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].YSDM" | ||
16 | placeholder="要素代码"></el-input> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | |||
20 | <el-col :span="8"> | ||
21 | <el-form-item :prop="'auditInfo.' + index + '.YWH'" :rules="rules.YWH"> | ||
22 | <span slot="label"> | ||
23 | 业务号: <br /> | ||
24 | <p class="label-detail">(YWH)</p> | ||
25 | </span> | ||
26 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].YWH" | ||
27 | placeholder="业务号"></el-input> | ||
28 | </el-form-item> | ||
29 | </el-col> | ||
30 | |||
31 | <el-col :span="8"> | ||
32 | <el-form-item :prop="'auditInfo.' + index + '.JDMC'" :rules="rules.JDMC"> | ||
33 | <span slot="label"> | ||
34 | 节点名称: <br /> | ||
35 | <p class="label-detail">(JDMC)</p> | ||
36 | </span> | ||
37 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].JDMC" | ||
38 | placeholder="节点名称"></el-input> | ||
39 | </el-form-item> | ||
40 | </el-col> | ||
41 | </el-row> | ||
42 | |||
43 | <el-row class="auditInfo-item-input"> | ||
44 | <el-col :span="24"> | ||
45 | <el-form-item :prop="'auditInfo.' + index + '.SHYJ'" :rules="rules.SHYJ"> | ||
46 | <span slot="label"> | ||
47 | 审核意见: <br /> | ||
48 | <p class="label-detail">(SHYJ)</p> | ||
49 | </span> | ||
50 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].SHYJ" type="textarea" | ||
51 | :rows="2" placeholder="审核意见"></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | |||
55 | </el-row> | ||
56 | |||
57 | <el-row class="auditInfo-item-input"> | ||
58 | <el-col :span="8"> | ||
59 | <el-form-item :prop="'auditInfo.' + index + '.SHRYXM'" :rules="rules.SHRYXM"> | ||
60 | <span slot="label"> | ||
61 | 审核人员姓名: <br /> | ||
62 | <p class="label-detail">(SHRYXM)</p> | ||
63 | </span> | ||
64 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].SHRYXM" | ||
65 | placeholder="审核人员姓名"></el-input> | ||
66 | </el-form-item> | ||
67 | </el-col> | ||
68 | |||
69 | <el-col :span="8"> | ||
70 | <el-form-item :prop="'auditInfo.' + index + '.SHKSSJ'" :rules="rules.SHKSSJ"> | ||
71 | <span slot="label"> | ||
72 | 审核开始时间: <br /> | ||
73 | <p class="label-detail">(SHKSSJ)</p> | ||
74 | </span> | ||
75 | <el-date-picker :disabled="$store.state.business.Edit" type="datetime" placeholder="审核开始时间" clearable | ||
76 | v-model="form.auditInfo[index].SHKSSJ" value-format="yyyy-MM-dd HH:mm:ss" | ||
77 | :picker-options="item.traceStart" @change="changeTraceStart(item)"></el-date-picker> | ||
78 | </el-form-item> | ||
79 | </el-col> | ||
80 | |||
81 | <el-col :span="8"> | ||
82 | <el-form-item :prop="'auditInfo.' + index + '.SHJSSJ'" :rules="rules.SHJSSJ"> | ||
83 | <span slot="label"> | ||
84 | 审核结束时间: <br /> | ||
85 | <p class="label-detail">(SHJSSJ)</p> | ||
86 | </span> | ||
87 | <el-date-picker :disabled="$store.state.business.Edit" type="datetime" placeholder="审核结束时间" clearable | ||
88 | v-model="form.auditInfo[index].SHJSSJ" :picker-options="item.traceEnd" @change="changeTraceEnd(item)" | ||
89 | value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> | ||
90 | </el-form-item> | ||
91 | </el-col> | ||
92 | </el-row> | ||
93 | |||
94 | <el-row class="auditInfo-item-input"> | ||
95 | <el-col :span="8"> | ||
96 | <el-form-item :prop="'auditInfo.' + index + '.SXH'" :rules="{ ...rules.SXH, ...typeNum }"> | ||
97 | <span slot="label"> | ||
98 | 顺序号: <br /> | ||
99 | <p class="label-detail">(SXH)</p> | ||
100 | </span> | ||
101 | <el-input :disabled="$store.state.business.Edit" v-model.number="form.auditInfo[index].SXH" | ||
102 | type="number" v-only-number="{ max: 9999, min: 0, precision: 0 }" placeholder="顺序号"></el-input> | ||
103 | </el-form-item> | ||
104 | </el-col> | ||
105 | |||
106 | <el-col :span="8"> | ||
107 | <el-form-item :prop="'auditInfo.' + index + '.CZJG'" :rules="rules.SHKSSJ"> | ||
108 | <span slot="label"> | ||
109 | 操作结果: <br /> | ||
110 | <p class="label-detail">(CZJG)</p> | ||
111 | </span> | ||
112 | <el-select :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].CZJG" | ||
113 | placeholder="请选择操作结果"> | ||
114 | <el-option v-for="item in dicData['A37']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
115 | </el-option> | ||
116 | </el-select> | ||
117 | </el-form-item> | ||
118 | </el-col> | ||
119 | |||
120 | <el-col :span="8"> | ||
121 | <el-form-item :prop="'auditInfo.' + index + '.QXDM'" :rules="rules.QXDM"> | ||
122 | <span slot="label"> | ||
123 | 区县代码: <br /> | ||
124 | <p class="label-detail">(QXDM)</p> | ||
125 | </span> | ||
126 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].QXDM" | ||
127 | placeholder="区县代码"></el-input> | ||
128 | </el-form-item> | ||
129 | </el-col> | ||
130 | <el-col :span="8"> | ||
131 | <el-form-item :prop="'auditInfo.' + index + '.BZ'" :rules="rules.BZ"> | ||
132 | <span slot="label"> | ||
133 | 区县代码: <br /> | ||
134 | <p class="label-detail">(BZ)</p> | ||
135 | </span> | ||
136 | <el-input :disabled="$store.state.business.Edit" v-model="form.auditInfo[index].BZ" | ||
137 | placeholder="备注"></el-input> | ||
138 | </el-form-item> | ||
139 | </el-col> | ||
140 | </el-row> | ||
141 | </div> | ||
142 | </div> | ||
143 | </el-form> | ||
144 | <message-tips ref="msg" /> | ||
145 | </div> | ||
146 | </template> | ||
147 | <script> | ||
148 | import business from '@/api/business' | ||
149 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
150 | // 审核信息 | ||
151 | export default { | ||
152 | mixins: [ruleMixin], | ||
153 | props: { | ||
154 | bsmSjsb: { | ||
155 | type: String, | ||
156 | default: '' | ||
157 | }, | ||
158 | dataTable: { | ||
159 | type: String, | ||
160 | default: '' | ||
161 | } | ||
162 | }, | ||
163 | data () { | ||
164 | return { | ||
165 | form: { | ||
166 | auditInfo: [ | ||
167 | { | ||
168 | YSDM: '', | ||
169 | YWH: '', | ||
170 | JDMC: '', | ||
171 | SHYJ: '', | ||
172 | SHRYXM: '', | ||
173 | SHKSSJ: '', | ||
174 | traceStart: {}, | ||
175 | SHJSSJ: '', | ||
176 | traceEnd: {}, | ||
177 | SXH: '', | ||
178 | CZJG: '', | ||
179 | QXDM: '', | ||
180 | BZ: '' | ||
181 | } | ||
182 | ] | ||
183 | } | ||
184 | } | ||
185 | }, | ||
186 | methods: { | ||
187 | changeTraceEnd (item) { | ||
188 | if (item.SHJSSJ !== null) { //当前值为空 也会进行判断 所以条件最好不要非空验证 | ||
189 | item.traceStart = { | ||
190 | disabledDate: (time) => { | ||
191 | return time.getTime() > new Date(item.SHJSSJ).getTime() //大于结束时间的不选 | ||
192 | } | ||
193 | } | ||
194 | } else { | ||
195 | item.traceStart = {} | ||
196 | } | ||
197 | }, | ||
198 | //跟踪API结束时间限制开始时间 | ||
199 | changeTraceStart (item) { | ||
200 | if (item.SHKSSJ !== null) { //当前值为空 也会进行判断 所以条件最好不要非空验证 | ||
201 | item.traceEnd = { | ||
202 | disabledDate: (time) => { | ||
203 | return time.getTime() < new Date(item.SHKSSJ).getTime() //小于开始时间的不选 | ||
204 | } | ||
205 | } | ||
206 | } else { | ||
207 | item.traceEnd = {} | ||
208 | } | ||
209 | }, | ||
210 | async featchData () { | ||
211 | try { | ||
212 | let { result: res } = await business.getDjfDjShById(this.bsmSjsb) | ||
213 | this.form.auditInfo = res | ||
214 | this.featchRule() | ||
215 | } catch (error) { | ||
216 | this.$refs.msg.messageShow() | ||
217 | } | ||
218 | }, | ||
219 | handleUpdateForm () { | ||
220 | return new Promise(async (resolve) => { | ||
221 | try { | ||
222 | let res = await business.updateDjfDjSh(this.form.auditInfo) | ||
223 | // this.$refs['formList'].resetFields(); | ||
224 | resolve(res.code) | ||
225 | } catch (error) { | ||
226 | this.$refs.msg.messageShow() | ||
227 | } | ||
228 | }) | ||
229 | } | ||
230 | } | ||
231 | } | ||
232 | </script> | ||
233 | <style scoped lang="scss"> | ||
234 | @import "./css/itemForm.scss"; | ||
235 | |||
236 | .auditInfo-item { | ||
237 | display: flex; | ||
238 | height: 100%; | ||
239 | margin-bottom: 15px; | ||
240 | margin-right: 5px; | ||
241 | |||
242 | &-name { | ||
243 | display: flex; | ||
244 | align-items: center; | ||
245 | justify-content: center; | ||
246 | width: 20px; | ||
247 | padding: 10px 20px; | ||
248 | line-height: 28px; | ||
249 | border: 1px solid #ccc; | ||
250 | margin-right: 15px; | ||
251 | border-radius: 3px; | ||
252 | } | ||
253 | |||
254 | &-list { | ||
255 | width: 100%; | ||
256 | flex: 1; | ||
257 | display: flex; | ||
258 | justify-content: center; | ||
259 | flex-direction: column; | ||
260 | } | ||
261 | } | ||
262 | </style> | ||
263 | |||
264 |
src/components/business/boundaryLine.vue
0 → 100644
1 | <template> | ||
2 | <div class="boundaryLine itemForm"> | ||
3 | <el-form :model="boundaryLine" :rules="rules" ref="formList" label-width="121px" :key="key"> | ||
4 | <div v-for="(item, index) in boundaryLine.ruleForm" :key="index" class="boundaryLine-item"> | ||
5 | <p class="boundaryLine-item-name">界址线{{ index + 1 }}</p> | ||
6 | <div class="boundaryLine-item-list"> | ||
7 | <el-row> | ||
8 | <el-col :span="8"> | ||
9 | <el-form-item> | ||
10 | <span slot="label"> | ||
11 | 标识码: <br /> | ||
12 | <p class="label-detail">(BSM)</p> | ||
13 | </span> | ||
14 | <p :class="{ 'disabled': $store.state.business.Edit }"> | ||
15 | {{ boundaryLine.ruleForm[index].BSM }} | ||
16 | </p> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | |||
20 | <el-col :span="8"> | ||
21 | <el-form-item :prop="'ruleForm.' + index + '.YSDM'" :rules="rules.YSDM"> | ||
22 | <span slot="label"> | ||
23 | 要素代码: <br /> | ||
24 | <p class="label-detail">(YSDM)</p> | ||
25 | </span> | ||
26 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].YSDM" | ||
27 | maxlength="10" placeholder="要素代码"></el-input> | ||
28 | </el-form-item> | ||
29 | </el-col> | ||
30 | |||
31 | <el-col :span="8"> | ||
32 | <el-form-item :prop="'ruleForm.' + index + '.ZDZHDM'" :rules="rules.ZDZHDM"> | ||
33 | <span slot="label"> | ||
34 | 宗地/宗海代码: <br /> | ||
35 | <p class="label-detail">(ZDZHDM)</p> | ||
36 | </span> | ||
37 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].ZDZHDM" | ||
38 | maxlength="19" placeholder="宗地/宗海代码"></el-input> | ||
39 | </el-form-item> | ||
40 | </el-col> | ||
41 | </el-row> | ||
42 | |||
43 | <el-row> | ||
44 | <el-col :span="8"> | ||
45 | <el-form-item :prop="'ruleForm.' + index + '.JZXCD'" :rules="{ ...rules.JZXCD, ...typeNum }"> | ||
46 | <span slot="label"> | ||
47 | 界址线长度: <br /> | ||
48 | <p class="label-detail">(JZXCD)</p> | ||
49 | </span> | ||
50 | <el-input :disabled="$store.state.business.Edit" v-model.number="boundaryLine.ruleForm[index].JZXCD" | ||
51 | type="number" v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" | ||
52 | placeholder="界址线长度"></el-input> | ||
53 | </el-form-item> | ||
54 | </el-col> | ||
55 | |||
56 | <el-col :span="8"> | ||
57 | <el-form-item :prop="'ruleForm.' + index + '.JZXLB'" :rules="rules.JZXLB"> | ||
58 | <span slot="label"> | ||
59 | 界址线类别: <br /> | ||
60 | <p class="label-detail">(JZXLB)</p> | ||
61 | </span> | ||
62 | <el-select :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].JZXLB" | ||
63 | placeholder="界址线类别"> | ||
64 | <el-option v-for="item in dicData['A48']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
65 | </el-option> | ||
66 | </el-select> | ||
67 | </el-form-item> | ||
68 | </el-col> | ||
69 | |||
70 | <el-col :span="8"> | ||
71 | <el-form-item :prop="'ruleForm.' + index + '.JZXWZ'" :rules="rules.JZXWZ"> | ||
72 | <span slot="label"> | ||
73 | 界址线位置: <br /> | ||
74 | <p class="label-detail">(JZXWZ)</p> | ||
75 | </span> | ||
76 | <el-select :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].JZXWZ" | ||
77 | placeholder="界址线位置"> | ||
78 | <el-option v-for="item in dicData['A3']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
79 | </el-option> | ||
80 | </el-select> | ||
81 | </el-form-item> | ||
82 | </el-col> | ||
83 | </el-row> | ||
84 | |||
85 | <el-row> | ||
86 | <el-col :span="8"> | ||
87 | <el-form-item :prop="'ruleForm.' + index + '.JXXZ'" class="borderTopNone" :rules="rules.JXXZ"> | ||
88 | <span slot="label"> | ||
89 | 界线性质: <br /> | ||
90 | <p class="label-detail">(JXXZ)</p> | ||
91 | </span> | ||
92 | <el-select :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].JXXZ" | ||
93 | placeholder="界线性质"> | ||
94 | <el-option v-for="item in dicData['A2']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
95 | </el-option> | ||
96 | </el-select> | ||
97 | </el-form-item> | ||
98 | </el-col> | ||
99 | |||
100 | <el-col :span="8"> | ||
101 | <el-form-item :prop="'ruleForm.' + index + '.QSJXXYSBH'" class="borderTopNone" :rules="rules.QSJXXYSBH"> | ||
102 | <span slot="label"> | ||
103 | 权属界线协议书编号: <br /> | ||
104 | <p class="label-detail">(QSJXXYSBH)</p> | ||
105 | </span> | ||
106 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].QSJXXYSBH" | ||
107 | placeholder="权属界线协议书编号"></el-input> | ||
108 | </el-form-item> | ||
109 | </el-col> | ||
110 | |||
111 | <el-col :span="8"> | ||
112 | <el-form-item :prop="'ruleForm.' + index + '.QSJXXYS'" class="borderTopNone" :rules="rules.QSJXXYS"> | ||
113 | <span slot="label"> | ||
114 | 权属界线协议书: <br /> | ||
115 | <p class="label-detail">(QSJXXYS)</p> | ||
116 | </span> | ||
117 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].QSJXXYS" | ||
118 | placeholder="权属界线协议书"></el-input> | ||
119 | </el-form-item> | ||
120 | </el-col> | ||
121 | </el-row> | ||
122 | |||
123 | <el-row> | ||
124 | <el-col :span="8"> | ||
125 | <el-form-item :prop="'ruleForm.' + index + '.QSZYYYSBH'" :rules="rules.QSZYYYSBH"> | ||
126 | <span slot="label"> | ||
127 | 权属争议原由书编号: <br /> | ||
128 | <p class="label-detail">(QSZYYYSBH)</p> | ||
129 | </span> | ||
130 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].QSZYYYSBH" | ||
131 | placeholder="权属争议原由书编号"></el-input> | ||
132 | </el-form-item> | ||
133 | </el-col> | ||
134 | |||
135 | <el-col :span="8"> | ||
136 | <el-form-item :prop="'ruleForm.' + index + '.QSZYYYS'" :rules="rules.QSZYYYS"> | ||
137 | <span slot="label"> | ||
138 | 权属争议原由书: <br /> | ||
139 | <p class="label-detail">(QSZYYYS)</p> | ||
140 | </span> | ||
141 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryLine.ruleForm[index].QSZYYYS" | ||
142 | placeholder="权属争议原由书"></el-input> | ||
143 | </el-form-item> | ||
144 | </el-col> | ||
145 | |||
146 | </el-row> | ||
147 | </div> | ||
148 | </div> | ||
149 | </el-form> | ||
150 | <message-tips ref="msg" /> | ||
151 | </div> | ||
152 | </template> | ||
153 | <script> | ||
154 | import business from '@/api/business' | ||
155 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
156 | // 界址线信息 | ||
157 | export default { | ||
158 | mixins: [ruleMixin], | ||
159 | props: { | ||
160 | bsmSjsb: { | ||
161 | type: String, | ||
162 | default: '' | ||
163 | }, | ||
164 | dataTable: { | ||
165 | type: String, | ||
166 | default: '' | ||
167 | } | ||
168 | }, | ||
169 | data () { | ||
170 | return { | ||
171 | boundaryLine: { | ||
172 | ruleForm: [ | ||
173 | { | ||
174 | BSM: '', | ||
175 | YSDM: '', | ||
176 | ZDZHDM: '', | ||
177 | JZXCD: undefined, | ||
178 | JZXLB: '', | ||
179 | JZXWZ: '', | ||
180 | JXXZ: '', | ||
181 | QSJXXYSBH: '', | ||
182 | QSJXXYS: '', | ||
183 | QSZYYYSBH: '', | ||
184 | QSZYYYS: '' | ||
185 | } | ||
186 | ] | ||
187 | } | ||
188 | } | ||
189 | }, | ||
190 | methods: { | ||
191 | async featchData () { | ||
192 | try { | ||
193 | let { result: res } = await business.getKttGyJzxById(this.bsmSjsb) | ||
194 | this.boundaryLine.ruleForm = res | ||
195 | this.featchRule() | ||
196 | } catch (error) { | ||
197 | this.$refs.msg.messageShow() | ||
198 | } | ||
199 | }, | ||
200 | handleUpdateForm () { | ||
201 | return new Promise(async (resolve) => { | ||
202 | try { | ||
203 | let res = await business.updateKttGyJzx(this.boundaryLine.ruleForm) | ||
204 | resolve(res.code) | ||
205 | } catch (error) { | ||
206 | this.$refs.msg.messageShow() | ||
207 | } | ||
208 | }) | ||
209 | } | ||
210 | } | ||
211 | } | ||
212 | </script> | ||
213 | <style scoped lang="scss"> | ||
214 | @import "./css/itemForm.scss"; | ||
215 | |||
216 | .boundaryLine-item { | ||
217 | display: flex; | ||
218 | height: 100%; | ||
219 | margin-bottom: 15px; | ||
220 | margin-right: 5px; | ||
221 | |||
222 | &-name { | ||
223 | display: flex; | ||
224 | align-items: center; | ||
225 | justify-content: center; | ||
226 | width: 20px; | ||
227 | padding: 10px 20px; | ||
228 | line-height: 28px; | ||
229 | border: 1px solid #ccc; | ||
230 | margin-right: 15px; | ||
231 | border-radius: 3px; | ||
232 | } | ||
233 | |||
234 | &-list { | ||
235 | width: 100%; | ||
236 | flex: 1; | ||
237 | display: flex; | ||
238 | justify-content: center; | ||
239 | flex-direction: column; | ||
240 | } | ||
241 | } | ||
242 | </style> | ||
243 | |||
244 |
src/components/business/boundaryPoint.vue
0 → 100644
1 | <template> | ||
2 | <div class="boundaryPoint itemForm"> | ||
3 | <el-form :model="boundaryPoint" :rules="rules" ref="formList" label-width="113px" :key="key"> | ||
4 | <div v-for="(item, index) in boundaryPoint.ruleForm" :key="index" class="boundaryPoint-item"> | ||
5 | <p class="boundaryPoint-item-name">界址点{{ index + 1 }}</p> | ||
6 | <div class="boundaryPoint-item-list"> | ||
7 | <el-row> | ||
8 | <el-col :span="8"> | ||
9 | <el-form-item> | ||
10 | <span slot="label"> | ||
11 | 标识码: <br /> | ||
12 | <p class="label-detail">(BSM)</p> | ||
13 | </span> | ||
14 | <p :class="{ 'disabled': $store.state.business.Edit }"> | ||
15 | {{ boundaryPoint.ruleForm[index].BSM }} | ||
16 | </p> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | |||
20 | <el-col :span="8"> | ||
21 | <el-form-item :prop="'ruleForm.' + index + '.YSDM'" :rules="rules.YSDM"> | ||
22 | <span slot="label"> | ||
23 | 要素代码: <br /> | ||
24 | <p class="label-detail">(YSDM)</p> | ||
25 | </span> | ||
26 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryPoint.ruleForm[index].YSDM" | ||
27 | maxlength="10" placeholder="要素代码"></el-input> | ||
28 | </el-form-item> | ||
29 | </el-col> | ||
30 | |||
31 | <el-col :span="8"> | ||
32 | <el-form-item :prop="'ruleForm.' + index + '.ZDZHDM'" :rules="rules.ZDZHDM"> | ||
33 | <span slot="label"> | ||
34 | 宗地/宗海代码: <br /> | ||
35 | <p class="label-detail">(ZDZHDM)</p> | ||
36 | </span> | ||
37 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryPoint.ruleForm[index].ZDZHDM" | ||
38 | maxlength="19" placeholder="宗地/宗海代码"></el-input> | ||
39 | </el-form-item> | ||
40 | </el-col> | ||
41 | </el-row> | ||
42 | |||
43 | <el-row> | ||
44 | <el-col :span="8"> | ||
45 | <el-form-item :prop="'ruleForm.' + index + '.JZDH'" :rules="rules.JZDH"> | ||
46 | <span slot="label"> | ||
47 | 界址点号: <br /> | ||
48 | <p class="label-detail">(JZDH)</p> | ||
49 | </span> | ||
50 | <el-input :disabled="$store.state.business.Edit" v-model="boundaryPoint.ruleForm[index].JZDH" | ||
51 | maxlength="10" placeholder="界址点号"></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | |||
55 | <el-col :span="8"> | ||
56 | <el-form-item :prop="'ruleForm.' + index + '.SXH'" :rules="{ ...rules.SXH, ...typeNum }"> | ||
57 | <span slot="label"> | ||
58 | 顺序号: <br /> | ||
59 | <p class="label-detail">(SXH)</p> | ||
60 | </span> | ||
61 | <el-input :disabled="$store.state.business.Edit" v-model.number="boundaryPoint.ruleForm[index].SXH" | ||
62 | type="number" v-only-number="{ max: 99999999999, min: 0, precision: 0 }" placeholder="顺序号"></el-input> | ||
63 | </el-form-item> | ||
64 | </el-col> | ||
65 | |||
66 | <el-col :span="8"> | ||
67 | <el-form-item :prop="'ruleForm.' + index + '.JBLX'" :rules="rules.JBLX"> | ||
68 | <span slot="label"> | ||
69 | 界标类型: <br /> | ||
70 | <p class="label-detail">(JBLX)</p> | ||
71 | </span> | ||
72 | <el-select :disabled="$store.state.business.Edit" v-model="boundaryPoint.ruleForm[index].JBLX" | ||
73 | placeholder="界标类型"> | ||
74 | <el-option v-for="item in dicData['A4']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
75 | </el-option> | ||
76 | </el-select> | ||
77 | </el-form-item> | ||
78 | </el-col> | ||
79 | </el-row> | ||
80 | |||
81 | <el-row> | ||
82 | <el-col :span="8"> | ||
83 | <el-form-item :prop="'ruleForm.' + index + '.JZDLX'" :rules="rules.JZDLX"> | ||
84 | <span slot="label"> | ||
85 | 界址点类型: <br /> | ||
86 | <p class="label-detail">(JZDLX)</p> | ||
87 | </span> | ||
88 | <el-select :disabled="$store.state.business.Edit" v-model="boundaryPoint.ruleForm[index].JZDLX" | ||
89 | placeholder="界址点类型"> | ||
90 | <el-option v-for="item in dicData['A5']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
91 | </el-option> | ||
92 | </el-select> | ||
93 | </el-form-item> | ||
94 | </el-col> | ||
95 | |||
96 | <el-col :span="8"> | ||
97 | <el-form-item :prop="'ruleForm.' + index + '.XZBZ'" :rules="{ ...rules.XZBZ, ...typeNum }"> | ||
98 | <span slot="label"> | ||
99 | X坐标值: <br /> | ||
100 | <p class="label-detail">(XZBZ)</p> | ||
101 | </span> | ||
102 | <el-input :disabled="$store.state.business.Edit" v-model.number="boundaryPoint.ruleForm[index].XZBZ" | ||
103 | type="number" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
104 | placeholder="X坐标值"></el-input> | ||
105 | </el-form-item> | ||
106 | </el-col> | ||
107 | |||
108 | <el-col :span="8"> | ||
109 | <el-form-item :prop="'ruleForm.' + index + '.YZBZ'" :rules="{ ...rules.YZBZ, ...typeNum }"> | ||
110 | <span slot="label"> | ||
111 | Y坐标值: <br /> | ||
112 | <p class="label-detail">(YZBZ)</p> | ||
113 | </span> | ||
114 | <el-input :disabled="$store.state.business.Edit" v-model.number="boundaryPoint.ruleForm[index].YZBZ" | ||
115 | type="number" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
116 | placeholder="Y坐标值"></el-input> | ||
117 | </el-form-item> | ||
118 | </el-col> | ||
119 | </el-row> | ||
120 | </div> | ||
121 | </div> | ||
122 | </el-form> | ||
123 | <message-tips ref="msg" /> | ||
124 | </div> | ||
125 | </template> | ||
126 | <script> | ||
127 | // 界址点信息 | ||
128 | import business from '@/api/business' | ||
129 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
130 | export default { | ||
131 | mixins: [ruleMixin], | ||
132 | props: { | ||
133 | bsmSjsb: { | ||
134 | type: String, | ||
135 | default: '' | ||
136 | }, | ||
137 | dataTable: { | ||
138 | type: String, | ||
139 | default: '' | ||
140 | } | ||
141 | }, | ||
142 | data () { | ||
143 | return { | ||
144 | boundaryPoint: { | ||
145 | ruleForm: [{ | ||
146 | BSM: '', | ||
147 | YSDM: '', | ||
148 | ZDZHDM: '', | ||
149 | JZDH: '', | ||
150 | SXH: '', | ||
151 | JBLX: '', | ||
152 | JZDLX: '', | ||
153 | XZBZ: '', | ||
154 | YZBZ: '', | ||
155 | }] | ||
156 | } | ||
157 | } | ||
158 | }, | ||
159 | methods: { | ||
160 | async featchData () { | ||
161 | try { | ||
162 | let { result: res } = await business.getKttGyJzdById(this.bsmSjsb) | ||
163 | this.boundaryPoint.ruleForm = res | ||
164 | this.featchRule() | ||
165 | } catch (error) { | ||
166 | this.$refs.msg.messageShow() | ||
167 | } | ||
168 | }, | ||
169 | handleUpdateForm () { | ||
170 | return new Promise(async (resolve) => { | ||
171 | try { | ||
172 | let res = await business.updateKttGyJzd(this.boundaryPoint.ruleForm) | ||
173 | // this.$refs['formList'].resetFields(); | ||
174 | resolve(res.code) | ||
175 | } catch (error) { | ||
176 | this.$refs.msg.messageShow() | ||
177 | } | ||
178 | }) | ||
179 | } | ||
180 | } | ||
181 | } | ||
182 | </script> | ||
183 | <style scoped lang="scss"> | ||
184 | @import "./css/itemForm.scss"; | ||
185 | |||
186 | .boundaryPoint-item { | ||
187 | display: flex; | ||
188 | height: 100%; | ||
189 | margin-bottom: 15px; | ||
190 | margin-right: 5px; | ||
191 | |||
192 | &-name { | ||
193 | display: flex; | ||
194 | align-items: center; | ||
195 | justify-content: center; | ||
196 | width: 20px; | ||
197 | padding: 10px 20px; | ||
198 | line-height: 28px; | ||
199 | border: 1px solid #ccc; | ||
200 | margin-right: 15px; | ||
201 | border-radius: 3px; | ||
202 | } | ||
203 | |||
204 | &-list { | ||
205 | width: 100%; | ||
206 | flex: 1; | ||
207 | display: flex; | ||
208 | justify-content: center; | ||
209 | flex-direction: column; | ||
210 | } | ||
211 | } | ||
212 | </style> | ||
213 | |||
214 |
This diff is collapsed.
Click to expand it.
1 | <template> | ||
2 | <div class="cancellationRegistration itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="100px" :key="key"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item prop="YSDM"> | ||
7 | <span slot="label"> | ||
8 | 要素代码: <br /> | ||
9 | <p class="label-detail">(YSDM)</p> | ||
10 | </span> | ||
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YSDM" placeholder="要素代码"></el-input> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | |||
15 | <el-col :span="8"> | ||
16 | <el-form-item prop="YWH"> | ||
17 | <span slot="label"> | ||
18 | 业务号: <br /> | ||
19 | <p class="label-detail">(YWH)</p> | ||
20 | </span> | ||
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YWH" placeholder="业务号"></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | |||
25 | <el-col :span="8"> | ||
26 | <el-form-item prop="BDCDYH"> | ||
27 | <span slot="label"> | ||
28 | 不动产单元号: <br /> | ||
29 | <p class="label-detail">(BDCDYH)</p> | ||
30 | </span> | ||
31 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BDCDYH" placeholder="不动产单元号"></el-input> | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | </el-row> | ||
35 | |||
36 | <el-row> | ||
37 | <el-col :span="8"> | ||
38 | <el-form-item prop="BDCQZH"> | ||
39 | <span slot="label"> | ||
40 | 不动产权证号: <br /> | ||
41 | <p class="label-detail">(BDCQZH)</p> | ||
42 | </span> | ||
43 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BDCQZH" placeholder="不动产权证号"></el-input> | ||
44 | </el-form-item> | ||
45 | </el-col> | ||
46 | |||
47 | <el-col :span="8"> | ||
48 | <el-form-item prop="ZXYWH"> | ||
49 | <span slot="label"> | ||
50 | 注销业务号: <br /> | ||
51 | <p class="label-detail">(ZXYWH)</p> | ||
52 | </span> | ||
53 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZXYWH" placeholder="注销业务号"></el-input> | ||
54 | </el-form-item> | ||
55 | </el-col> | ||
56 | |||
57 | <el-col :span="8"> | ||
58 | <el-form-item prop="ZXSJ"> | ||
59 | <span slot="label"> | ||
60 | 注销时间: <br /> | ||
61 | <p class="label-detail">(ZXSJ)</p> | ||
62 | </span> | ||
63 | <el-date-picker :disabled="$store.state.business.Edit" type="date" placeholder="选择日期" clearable | ||
64 | v-model="ruleForm.ZXSJ" value-format="yyyy-MM-dd"></el-date-picker> | ||
65 | </el-form-item> | ||
66 | </el-col> | ||
67 | </el-row> | ||
68 | |||
69 | <el-row> | ||
70 | <el-col :span="8"> | ||
71 | <el-form-item prop="QXDM"> | ||
72 | <span slot="label"> | ||
73 | 区县代码: <br /> | ||
74 | <p class="label-detail">(QXDM)</p> | ||
75 | </span> | ||
76 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
77 | </el-form-item> | ||
78 | </el-col> | ||
79 | |||
80 | <el-col :span="8"> | ||
81 | <el-form-item prop="DJJG"> | ||
82 | <span slot="label"> | ||
83 | 登记机构: <br /> | ||
84 | <p class="label-detail">(DJJG)</p> | ||
85 | </span> | ||
86 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.DJJG" placeholder="登记机构"></el-input> | ||
87 | </el-form-item> | ||
88 | </el-col> | ||
89 | |||
90 | <el-col :span="8"> | ||
91 | <el-form-item prop="DBR"> | ||
92 | <span slot="label"> | ||
93 | 登簿人:<br /> | ||
94 | <p class="label-detail">(DBR)</p> | ||
95 | </span> | ||
96 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.DBR" placeholder="登簿人"></el-input> | ||
97 | </el-form-item> | ||
98 | </el-col> | ||
99 | </el-row> | ||
100 | |||
101 | <el-row> | ||
102 | <el-col :span="8"> | ||
103 | <el-form-item prop="DJSJ"> | ||
104 | <span slot="label"> | ||
105 | 登记时间: <br /> | ||
106 | <p class="label-detail">(DJSJ)</p> | ||
107 | </span> | ||
108 | <el-date-picker :disabled="$store.state.business.Edit" type="date" placeholder="选择日期" clearable | ||
109 | v-model="ruleForm.DJSJ" value-format="yyyy-MM-dd"></el-date-picker> | ||
110 | </el-form-item> | ||
111 | </el-col> | ||
112 | |||
113 | <el-col :span="8"> | ||
114 | <el-form-item prop="BZ"> | ||
115 | <span slot="label"> | ||
116 | 备注: <br /> | ||
117 | <p class="label-detail">(BZ)</p> | ||
118 | </span> | ||
119 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BZ" placeholder="备注"></el-input> | ||
120 | </el-form-item> | ||
121 | </el-col> | ||
122 | </el-row> | ||
123 | </el-form> | ||
124 | <message-tips ref="msg" /> | ||
125 | </div> | ||
126 | </template> | ||
127 | <script> | ||
128 | // 注销登记信息 | ||
129 | import business from '@/api/business' | ||
130 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
131 | export default { | ||
132 | mixins: [ruleMixin], | ||
133 | props: { | ||
134 | bsmSjsb: { | ||
135 | type: String, | ||
136 | default: '' | ||
137 | }, | ||
138 | dataTable: { | ||
139 | type: String, | ||
140 | default: '' | ||
141 | } | ||
142 | }, | ||
143 | data () { | ||
144 | return { | ||
145 | ruleForm: { | ||
146 | YSDM: '', | ||
147 | YWH: '', | ||
148 | BDCDYH: '', | ||
149 | BDCQZH: '', | ||
150 | ZXYWH: '', | ||
151 | ZXSJ: '', | ||
152 | QXDM: '', | ||
153 | DJJG: '', | ||
154 | DBR: '', | ||
155 | DJSJ: '', | ||
156 | BZ: '' | ||
157 | } | ||
158 | } | ||
159 | }, | ||
160 | methods: { | ||
161 | async featchData () { | ||
162 | try { | ||
163 | let { result: res } = await business.getQlfQlZxdjById(this.bsmSjsb) | ||
164 | this.ruleForm = res | ||
165 | this.featchRule() | ||
166 | } catch (error) { | ||
167 | this.$refs.msg.messageShow() | ||
168 | } | ||
169 | }, | ||
170 | handleUpdateForm () { | ||
171 | return new Promise(async (resolve) => { | ||
172 | try { | ||
173 | let res = await business.updateQlfQlZxdj(this.ruleForm) | ||
174 | // this.$refs['formList'].resetFields(); | ||
175 | resolve(res.code) | ||
176 | } catch (error) { | ||
177 | this.$refs.msg.messageShow() | ||
178 | } | ||
179 | }) | ||
180 | } | ||
181 | } | ||
182 | } | ||
183 | </script> | ||
184 | <style scoped lang="scss"> | ||
185 | @import "./css/itemForm.scss"; | ||
186 | </style> | ||
187 | |||
188 |
src/components/business/certificateInfo.vue
0 → 100644
1 | <template> | ||
2 | <div class="certificateInfo itemForm"> | ||
3 | <el-form :model="certificateInfo" :rules="rules" ref="formList" label-width="100px" :key="key"> | ||
4 | <div v-for="(item, index) in certificateInfo.ruleForm" :key="index" class="obligee-item"> | ||
5 | <p class="obligee-item-name">善证信息{{ index + 1 }}</p> | ||
6 | <div class="obligee-item-list"> | ||
7 | <el-row> | ||
8 | <el-col :span="8"> | ||
9 | <el-form-item :prop="'ruleForm.' + index + '.YSDM'"> | ||
10 | <span slot="label"> | ||
11 | 要素代码: <br /> | ||
12 | <p class="label-detail">(YSDM)</p> | ||
13 | </span> | ||
14 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].YSDM" | ||
15 | placeholder="要素代码"></el-input> | ||
16 | </el-form-item> | ||
17 | </el-col> | ||
18 | |||
19 | <el-col :span="8"> | ||
20 | <el-form-item :prop="'ruleForm.' + index + '.YWH'"> | ||
21 | <span slot="label"> | ||
22 | 业务号: <br /> | ||
23 | <p class="label-detail">(YWH)</p> | ||
24 | </span> | ||
25 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].YWH" | ||
26 | placeholder="业务号"></el-input> | ||
27 | </el-form-item> | ||
28 | </el-col> | ||
29 | |||
30 | <el-col :span="8"> | ||
31 | <el-form-item :prop="'ruleForm.' + index + '.SZMC'"> | ||
32 | <span slot="label"> | ||
33 | 缮证名称: <br /> | ||
34 | <p class="label-detail">(SZMC)</p> | ||
35 | </span> | ||
36 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].SZMC" | ||
37 | placeholder="缮证名称"></el-input> | ||
38 | </el-form-item> | ||
39 | </el-col> | ||
40 | </el-row> | ||
41 | |||
42 | <el-row> | ||
43 | <el-col :span="8"> | ||
44 | <el-form-item :prop="'ruleForm.' + index + '.SZZH'"> | ||
45 | <span slot="label"> | ||
46 | 缮证证号: <br /> | ||
47 | <p class="label-detail">(SZZH)</p> | ||
48 | </span> | ||
49 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].SZZH" | ||
50 | placeholder="缮证证号"></el-input> | ||
51 | </el-form-item> | ||
52 | </el-col> | ||
53 | |||
54 | <el-col :span="8"> | ||
55 | <el-form-item :prop="'ruleForm.' + index + '.YSXLH'"> | ||
56 | <span slot="label"> | ||
57 | 印刷序列号: <br /> | ||
58 | <p class="label-detail">(YSXLH)</p> | ||
59 | </span> | ||
60 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].YSXLH" | ||
61 | placeholder="印刷序列号"></el-input> | ||
62 | </el-form-item> | ||
63 | </el-col> | ||
64 | |||
65 | <el-col :span="8"> | ||
66 | <el-form-item :prop="'ruleForm.' + index + '.SZRY'"> | ||
67 | <span slot="label"> | ||
68 | 缮证人员: <br /> | ||
69 | <p class="label-detail">(SZRY)</p> | ||
70 | </span> | ||
71 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].SZRY" | ||
72 | placeholder="缮证人员"></el-input> | ||
73 | </el-form-item> | ||
74 | </el-col> | ||
75 | </el-row> | ||
76 | |||
77 | <el-row> | ||
78 | <el-col :span="8"> | ||
79 | <el-form-item :prop="'ruleForm.' + index + '.SZSJ'"> | ||
80 | <span slot="label"> | ||
81 | 缮证时间: <br /> | ||
82 | <p class="label-detail">(SZSJ)</p> | ||
83 | </span> | ||
84 | <el-date-picker :disabled="$store.state.business.Edit" placeholder="缮证时间" type="datetime" clearable | ||
85 | v-model="certificateInfo.ruleForm[index].SZSJ" value-format="yyyy-MM-dd HH:mm:ss"> | ||
86 | </el-date-picker> | ||
87 | </el-form-item> | ||
88 | </el-col> | ||
89 | |||
90 | <el-col :span="8"> | ||
91 | <el-form-item :prop="'ruleForm.' + index + '.BZ'"> | ||
92 | <span slot="label"> | ||
93 | 备注: <br /> | ||
94 | <p class="label-detail">(BZ)</p> | ||
95 | </span> | ||
96 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].BZ" | ||
97 | placeholder="备注"></el-input> | ||
98 | </el-form-item> | ||
99 | </el-col> | ||
100 | |||
101 | <el-col :span="8"> | ||
102 | <el-form-item :prop="'ruleForm.' + index + '.QXDM'"> | ||
103 | <span slot="label"> | ||
104 | 区县代码: <br /> | ||
105 | <p class="label-detail">(QXDM)</p> | ||
106 | </span> | ||
107 | <el-input :disabled="$store.state.business.Edit" v-model="certificateInfo.ruleForm[index].QXDM" | ||
108 | placeholder="区县代码"></el-input> | ||
109 | </el-form-item> | ||
110 | </el-col> | ||
111 | </el-row> | ||
112 | </div> | ||
113 | </div> | ||
114 | </el-form> | ||
115 | <message-tips ref="msg" /> | ||
116 | </div> | ||
117 | </template> | ||
118 | <script> | ||
119 | import business from '@/api/business' | ||
120 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
121 | // 缮证信息 | ||
122 | export default { | ||
123 | mixins: [ruleMixin], | ||
124 | props: { | ||
125 | bsmSjsb: { | ||
126 | type: String, | ||
127 | default: '' | ||
128 | }, | ||
129 | dataTable: { | ||
130 | type: String, | ||
131 | default: '' | ||
132 | } | ||
133 | }, | ||
134 | data () { | ||
135 | return { | ||
136 | certificateInfo: { | ||
137 | ruleForm: [{ | ||
138 | YSDM: '', | ||
139 | YWH: '', | ||
140 | SZMC: '', | ||
141 | SZZH: '', | ||
142 | YSXLH: '', | ||
143 | SZRY: '', | ||
144 | SZSJ: '', | ||
145 | BZ: '', | ||
146 | QXDM: '' | ||
147 | }] | ||
148 | } | ||
149 | } | ||
150 | }, | ||
151 | methods: { | ||
152 | async featchData () { | ||
153 | try { | ||
154 | let { result: res } = await business.getDjfDjSzById(this.bsmSjsb) | ||
155 | this.certificateInfo.ruleForm = res | ||
156 | console.log(this.certificateInfo.ruleForm) | ||
157 | this.featchRule() | ||
158 | } catch (error) { | ||
159 | this.$refs.msg.messageShow() | ||
160 | } | ||
161 | }, | ||
162 | handleUpdateForm () { | ||
163 | return new Promise(async (resolve) => { | ||
164 | try { | ||
165 | let res = await business.updateDjfDjSz(this.certificateInfo.ruleForm) | ||
166 | // this.$refs['formList'].resetFields(); | ||
167 | resolve(res.code) | ||
168 | } catch (error) { | ||
169 | this.$refs.msg.messageShow() | ||
170 | } | ||
171 | }) | ||
172 | } | ||
173 | } | ||
174 | } | ||
175 | </script> | ||
176 | <style scoped lang="scss"> | ||
177 | @import "./css/itemForm.scss"; | ||
178 | |||
179 | .obligee-item { | ||
180 | display: flex; | ||
181 | height: 100%; | ||
182 | margin-bottom: 15px; | ||
183 | margin-right: 5px; | ||
184 | |||
185 | &-name { | ||
186 | display: flex; | ||
187 | align-items: center; | ||
188 | justify-content: center; | ||
189 | width: 20px; | ||
190 | padding: 10px 20px; | ||
191 | line-height: 28px; | ||
192 | border: 1px solid #ccc; | ||
193 | margin-right: 15px; | ||
194 | border-radius: 3px; | ||
195 | } | ||
196 | |||
197 | &-list { | ||
198 | width: 100%; | ||
199 | flex: 1; | ||
200 | display: flex; | ||
201 | justify-content: center; | ||
202 | flex-direction: column; | ||
203 | } | ||
204 | } | ||
205 | </style> | ||
206 | |||
207 |
src/components/business/changesZonghai.vue
0 → 100644
1 | <template> | ||
2 | <div class="parcelChange itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="100px" :key="key"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item prop="ZHDM"> | ||
7 | <span slot="label"> | ||
8 | 宗海代码: <br /> | ||
9 | <p class="label-detail">(ZHDM)</p> | ||
10 | </span> | ||
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZHDM" maxlength="19" | ||
12 | placeholder="宗海代码"></el-input> | ||
13 | </el-form-item> | ||
14 | </el-col> | ||
15 | |||
16 | <el-col :span="8"> | ||
17 | <el-form-item prop="BHYY"> | ||
18 | <span slot="label"> | ||
19 | 变化原因: <br /> | ||
20 | <p class="label-detail">(BHYY)</p> | ||
21 | </span> | ||
22 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BHYY" placeholder="变化原因"></el-input> | ||
23 | </el-form-item> | ||
24 | </el-col> | ||
25 | |||
26 | <el-col :span="8"> | ||
27 | <el-form-item prop="BHNR"> | ||
28 | <span slot="label"> | ||
29 | 变化内容: <br /> | ||
30 | <p class="label-detail">(BHNR)</p> | ||
31 | </span> | ||
32 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BHNR" placeholder="变化内容"></el-input> | ||
33 | </el-form-item> | ||
34 | </el-col> | ||
35 | </el-row> | ||
36 | |||
37 | <el-row> | ||
38 | <el-col :span="8"> | ||
39 | <el-form-item prop="DJSJ"> | ||
40 | <span slot="label"> | ||
41 | 登记时间: <br /> | ||
42 | <p class="label-detail">(DJSJ)</p> | ||
43 | </span> | ||
44 | <el-date-picker :disabled="$store.state.business.Edit" type="datetime" placeholder="选择日期" clearable | ||
45 | v-model="ruleForm.DJSJ" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | |||
49 | <el-col :span="8"> | ||
50 | <el-form-item prop="DBR"> | ||
51 | <span slot="label"> | ||
52 | 登簿人: <br /> | ||
53 | <p class="label-detail">(DBR)</p> | ||
54 | </span> | ||
55 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.DBR" placeholder="登簿人"></el-input> | ||
56 | </el-form-item> | ||
57 | </el-col> | ||
58 | |||
59 | <el-col :span="8"> | ||
60 | <el-form-item prop="QXDM"> | ||
61 | <span slot="label"> | ||
62 | 区县代码: <br /> | ||
63 | <p class="label-detail">(QXDM)</p> | ||
64 | </span> | ||
65 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
66 | </el-form-item> | ||
67 | </el-col> | ||
68 | </el-row> | ||
69 | </el-form> | ||
70 | <message-tips ref="msg" /> | ||
71 | </div> | ||
72 | </template> | ||
73 | <script> | ||
74 | import business from '@/api/business' | ||
75 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
76 | // 宗海变化情况 | ||
77 | export default { | ||
78 | mixins: [ruleMixin], | ||
79 | props: { | ||
80 | bsmSjsb: { | ||
81 | type: String, | ||
82 | default: '' | ||
83 | }, | ||
84 | dataTable: { | ||
85 | type: String, | ||
86 | default: '' | ||
87 | } | ||
88 | }, | ||
89 | data () { | ||
90 | return { | ||
91 | ruleForm: { | ||
92 | ZHDM: '', | ||
93 | BHYY: '', | ||
94 | BHNR: '', | ||
95 | DJSJ: '', | ||
96 | DBR: '', | ||
97 | QXDM: '' | ||
98 | } | ||
99 | } | ||
100 | }, | ||
101 | methods: { | ||
102 | async featchData () { | ||
103 | try { | ||
104 | let { result: res } = await business.getZhK105ById(this.bsmSjsb) | ||
105 | this.ruleForm = res | ||
106 | this.featchRule() | ||
107 | } catch (error) { | ||
108 | this.$refs.msg.messageShow() | ||
109 | } | ||
110 | }, | ||
111 | handleUpdateForm () { | ||
112 | return new Promise(async (resolve) => { | ||
113 | try { | ||
114 | let res = await business.updateZhK105(this.ruleForm) | ||
115 | // this.$refs['formList'].resetFields(); | ||
116 | resolve(res.code) | ||
117 | } catch (error) { | ||
118 | this.$refs.msg.messageShow() | ||
119 | } | ||
120 | }) | ||
121 | } | ||
122 | } | ||
123 | } | ||
124 | </script> | ||
125 | <style scoped lang="scss"> | ||
126 | @import "./css/itemForm.scss"; | ||
127 | </style> | ||
128 | |||
129 |
src/components/business/css/itemForm.scss
0 → 100644
1 | .itemForm { | ||
2 | margin-top: 5px; | ||
3 | position: relative; | ||
4 | padding: 10px; | ||
5 | |||
6 | /deep/.el-select { | ||
7 | width: 100%; | ||
8 | } | ||
9 | |||
10 | /deep/.el-form-item__error { | ||
11 | right: 25px; | ||
12 | top: 15px; | ||
13 | text-align: right; | ||
14 | pointer-events: none; | ||
15 | } | ||
16 | |||
17 | /deep/.el-date-editor { | ||
18 | width: 100%; | ||
19 | } | ||
20 | |||
21 | /deep/.el-date-editor--date { | ||
22 | width: 100%; | ||
23 | } | ||
24 | |||
25 | /deep/.el-cascader { | ||
26 | width: 100%; | ||
27 | } | ||
28 | |||
29 | /deep/.el-form-item__label { | ||
30 | line-height: 16px; | ||
31 | font-size: 12px; | ||
32 | position: relative; | ||
33 | } | ||
34 | |||
35 | /deep/ .el-form-item__content { | ||
36 | display: flex; | ||
37 | } | ||
38 | |||
39 | // table 样式 | ||
40 | /deep/.el-form-item__label { | ||
41 | border: 1px solid #DCDFE6; | ||
42 | border-right: none; | ||
43 | background-color: #F2F6FC; | ||
44 | text-align: center; | ||
45 | padding: 0; | ||
46 | } | ||
47 | |||
48 | /deep/.el-form-item__content { | ||
49 | border: 1px solid #DCDFE6; | ||
50 | margin-right: -1px; | ||
51 | } | ||
52 | |||
53 | |||
54 | /deep/.el-textarea__inner { | ||
55 | margin: 5px; | ||
56 | width: 96%; | ||
57 | } | ||
58 | |||
59 | /deep/.el-input__inner { | ||
60 | margin: 5px; | ||
61 | width: 96%; | ||
62 | } | ||
63 | |||
64 | /deep/.el-form-item { | ||
65 | margin-bottom: 0; | ||
66 | margin-top: -1px; | ||
67 | } | ||
68 | |||
69 | .item-label { | ||
70 | display: flex; | ||
71 | align-items: flex-end; | ||
72 | flex-direction: column; | ||
73 | font-size: 12px; | ||
74 | flex: 0 0 90px; | ||
75 | margin-right: 3px; | ||
76 | |||
77 | p { | ||
78 | line-height: 16px; | ||
79 | white-space: nowrap; | ||
80 | text-align: right; | ||
81 | } | ||
82 | |||
83 | p:nth-child(1) { | ||
84 | position: relative; | ||
85 | right: 5px; | ||
86 | } | ||
87 | } | ||
88 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/business/easement.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/forestOwnership.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/houseFloor.vue
0 → 100644
1 | <template> | ||
2 | <div class="houseFloor itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="121px" :key="key"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item prop="YSDM"> | ||
7 | <span slot="label"> | ||
8 | 要素代码: <br /> | ||
9 | <p class="label-detail">(YSDM)</p> | ||
10 | </span> | ||
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YSDM" placeholder="要素代码"></el-input> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | |||
15 | <el-col :span="8"> | ||
16 | <el-form-item prop="CH"> | ||
17 | <span slot="label"> | ||
18 | 层号: <br /> | ||
19 | <p class="label-detail">(CH)</p> | ||
20 | </span> | ||
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.CH" placeholder="层号"></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | |||
25 | <el-col :span="8"> | ||
26 | <el-form-item prop="ZRZH"> | ||
27 | <span slot="label"> | ||
28 | 自然幢号: <br /> | ||
29 | <p class="label-detail">(ZRZH)</p> | ||
30 | </span> | ||
31 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZRZH" placeholder="自然幢号"></el-input> | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | </el-row> | ||
35 | |||
36 | <el-row> | ||
37 | <el-col :span="8"> | ||
38 | <el-form-item prop="SJC"> | ||
39 | <span slot="label"> | ||
40 | 实际层: <br /> | ||
41 | <p class="label-detail">(SJC)</p> | ||
42 | </span> | ||
43 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.SJC" placeholder="实际层"></el-input> | ||
44 | </el-form-item> | ||
45 | </el-col> | ||
46 | |||
47 | <el-col :span="8"> | ||
48 | <el-form-item prop="MYC"> | ||
49 | <span slot="label"> | ||
50 | 名义层: <br /> | ||
51 | <p class="label-detail">(MYC)</p> | ||
52 | </span> | ||
53 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.MYC" placeholder="名义层"></el-input> | ||
54 | </el-form-item> | ||
55 | </el-col> | ||
56 | |||
57 | <el-col :span="8"> | ||
58 | <el-form-item prop="CJZMJ" :rules="{ type: 'number' }"> | ||
59 | <span slot="label"> | ||
60 | 层建筑面积: <br /> | ||
61 | <p class="label-detail">(CJZMJ)</p> | ||
62 | </span> | ||
63 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
64 | placeholder="层建筑面积" type="number" v-model.number="ruleForm.CJZMJ"></el-input> | ||
65 | </el-form-item> | ||
66 | </el-col> | ||
67 | </el-row> | ||
68 | |||
69 | <el-row> | ||
70 | <el-col :span="8"> | ||
71 | <el-form-item prop="CTNJZMJ" :rules="{ type: 'number' }"> | ||
72 | <span slot="label"> | ||
73 | 层套内建筑面积: <br /> | ||
74 | <p class="label-detail">(CTNJZMJ)</p> | ||
75 | </span> | ||
76 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
77 | placeholder="层套内建筑面积" type="number" v-model.number="ruleForm.CTNJZMJ"></el-input> | ||
78 | </el-form-item> | ||
79 | </el-col> | ||
80 | |||
81 | <el-col :span="8"> | ||
82 | <el-form-item prop="CYTMJ" :rules="{ type: 'number' }"> | ||
83 | <span slot="label"> | ||
84 | 层阳台面积: <br /> | ||
85 | <p class="label-detail">(CYTMJ)</p> | ||
86 | </span> | ||
87 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
88 | placeholder="层阳台面积" type="number" v-model.number="ruleForm.CYTMJ"></el-input> | ||
89 | </el-form-item> | ||
90 | </el-col> | ||
91 | |||
92 | <el-col :span="8"> | ||
93 | <el-form-item prop="CGYJZMJ" :rules="{ type: 'number' }"> | ||
94 | <span slot="label"> | ||
95 | 层共有建筑面积: <br /> | ||
96 | <p class="label-detail">(CGYJZMJ)</p> | ||
97 | </span> | ||
98 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
99 | placeholder="层共有建筑面积" type="number" v-model.number="ruleForm.CGYJZMJ"></el-input> | ||
100 | </el-form-item> | ||
101 | </el-col> | ||
102 | </el-row> | ||
103 | |||
104 | <el-row> | ||
105 | <el-col :span="8"> | ||
106 | <el-form-item prop="CFTJZMJ" :rules="{ type: 'number' }"> | ||
107 | <span slot="label"> | ||
108 | 层分摊建筑面积: <br /> | ||
109 | <p class="label-detail">(CFTJZMJ)</p> | ||
110 | </span> | ||
111 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
112 | placeholder="层分摊建筑面积" type="number" v-model.number="ruleForm.CFTJZMJ"></el-input> | ||
113 | </el-form-item> | ||
114 | </el-col> | ||
115 | |||
116 | <el-col :span="8"> | ||
117 | <el-form-item prop="CBQMJ" :rules="{ type: 'number' }"> | ||
118 | <span slot="label"> | ||
119 | 层半墙面积: <br /> | ||
120 | <p class="label-detail">(CBQMJ)</p> | ||
121 | </span> | ||
122 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
123 | type="number" placeholder="层半墙面积" v-model.number="ruleForm.CBQMJ"></el-input> | ||
124 | </el-form-item> | ||
125 | </el-col> | ||
126 | |||
127 | <el-col :span="8"> | ||
128 | <el-form-item prop="CG" :rules="{ type: 'number' }"> | ||
129 | <span slot="label"> | ||
130 | 层高: <br /> | ||
131 | <p class="label-detail">(CG)</p> | ||
132 | </span> | ||
133 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
134 | placeholder="层高" type="number" v-model.number="ruleForm.CG"></el-input> | ||
135 | </el-form-item> | ||
136 | </el-col> | ||
137 | </el-row> | ||
138 | |||
139 | <el-row> | ||
140 | <el-col :span="8"> | ||
141 | <el-form-item prop="SPTYMJ" :rules="{ type: 'number' }"> | ||
142 | <span slot="label"> | ||
143 | 水平投影面积: <br /> | ||
144 | <p class="label-detail">(SPTYMJ)</p> | ||
145 | </span> | ||
146 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" | ||
147 | placeholder="水平投影面积" type="number" v-model.number="ruleForm.SPTYMJ"></el-input> | ||
148 | </el-form-item> | ||
149 | </el-col> | ||
150 | |||
151 | <el-col :span="8"> | ||
152 | <el-form-item prop="QXDM"> | ||
153 | <span slot="label"> | ||
154 | 区县代码: <br /> | ||
155 | <p class="label-detail">(QXDM)</p> | ||
156 | </span> | ||
157 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
158 | </el-form-item> | ||
159 | </el-col> | ||
160 | </el-row> | ||
161 | </el-form> | ||
162 | <message-tips ref="msg" /> | ||
163 | </div> | ||
164 | </template> | ||
165 | <script> | ||
166 | // 层信息 | ||
167 | import business from '@/api/business' | ||
168 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
169 | export default { | ||
170 | mixins: [ruleMixin], | ||
171 | props: { | ||
172 | bsmSjsb: { | ||
173 | type: String, | ||
174 | default: '' | ||
175 | }, | ||
176 | dataTable: { | ||
177 | type: String, | ||
178 | default: '' | ||
179 | } | ||
180 | }, | ||
181 | data () { | ||
182 | return { | ||
183 | ruleForm: { | ||
184 | YSDM: '', | ||
185 | CH: '', | ||
186 | ZRZH: '', | ||
187 | SJC: '', | ||
188 | MYC: '', | ||
189 | CJZMJ: '', | ||
190 | CTNJZMJ: '', | ||
191 | CYTMJ: '', | ||
192 | CGYJZMJ: '', | ||
193 | CFTJZMJ: '', | ||
194 | CBQMJ: '', | ||
195 | CG: '', | ||
196 | SPTYMJ: '', | ||
197 | QXDM: '' | ||
198 | } | ||
199 | } | ||
200 | }, | ||
201 | methods: { | ||
202 | async featchData () { | ||
203 | try { | ||
204 | let { result: res } = await business.getKttFwCById(this.bsmSjsb) | ||
205 | this.ruleForm = res | ||
206 | this.featchRule() | ||
207 | } catch (error) { | ||
208 | this.$refs.msg.messageShow() | ||
209 | } | ||
210 | }, | ||
211 | handleUpdateForm () { | ||
212 | return new Promise(async (resolve, reject) => { | ||
213 | try { | ||
214 | let res = await business.updateKttFwC(this.ruleForm) | ||
215 | // this.$refs['formList'].resetFields(); | ||
216 | resolve(res.code) | ||
217 | } catch (error) { | ||
218 | this.$refs.msg.messageShow() | ||
219 | } | ||
220 | }) | ||
221 | }, | ||
222 | } | ||
223 | } | ||
224 | </script> | ||
225 | <style scoped lang="scss"> | ||
226 | @import "./css/itemForm.scss"; | ||
227 | </style> | ||
228 | |||
229 |
src/components/business/households.vue
0 → 100644
This diff is collapsed.
Click to expand it.
1 | <template> | ||
2 | <div class="islandCoordinates itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="100px" :key="key"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item prop="ZHHDDM"> | ||
7 | <span slot="label"> | ||
8 | 宗海/海岛代码: <br /> | ||
9 | <p class="label-detail">(ZHHDDM)</p> | ||
10 | </span> | ||
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZHHDDM" maxlength="19" | ||
12 | placeholder="宗海/海岛代码"></el-input> | ||
13 | </el-form-item> | ||
14 | </el-col> | ||
15 | |||
16 | <el-col :span="8"> | ||
17 | <el-form-item prop="XH" :rules="{ type: 'number' }"> | ||
18 | <span slot="label"> | ||
19 | 序号: <br /> | ||
20 | <p class="label-detail">(XH)</p> | ||
21 | </span> | ||
22 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm.XH" type="number" | ||
23 | v-only-number="{ max: 999999, min: 0, precision: 0 }" placeholder="序号"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | |||
27 | <el-col :span="8"> | ||
28 | <el-form-item prop="BW" :rules="{ type: 'number' }"> | ||
29 | <span slot="label"> | ||
30 | 北纬: <br /> | ||
31 | <p class="label-detail">(BW)</p> | ||
32 | </span> | ||
33 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm.BW" type="number" | ||
34 | v-only-number="{ max: 999999999999999, min: 0, precision: 8 }" placeholder="北纬"></el-input> | ||
35 | </el-form-item> | ||
36 | </el-col> | ||
37 | </el-row> | ||
38 | |||
39 | <el-row> | ||
40 | <el-col :span="8"> | ||
41 | <el-form-item prop="DJ" :rules="{ type: 'number' }"> | ||
42 | <span slot="label"> | ||
43 | 东经: <br /> | ||
44 | <p class="label-detail">(DJ)</p> | ||
45 | </span> | ||
46 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm.DJ" type="number" | ||
47 | v-only-number="{ max: 999999999999999, min: 0, precision: 8 }" placeholder="东经"></el-input> | ||
48 | </el-form-item> | ||
49 | </el-col> | ||
50 | |||
51 | <el-col :span="8"> | ||
52 | <el-form-item prop="QXDM"> | ||
53 | <span slot="label"> | ||
54 | 区县代码: <br /> | ||
55 | <p class="label-detail">(QXDM)</p> | ||
56 | </span> | ||
57 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
58 | </el-form-item> | ||
59 | </el-col> | ||
60 | </el-row> | ||
61 | </el-form> | ||
62 | <message-tips ref="msg" /> | ||
63 | </div> | ||
64 | </template> | ||
65 | <script> | ||
66 | // 用海、用岛坐标 | ||
67 | import business from '@/api/business' | ||
68 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
69 | export default { | ||
70 | mixins: [ruleMixin], | ||
71 | props: { | ||
72 | bsmSjsb: { | ||
73 | type: String, | ||
74 | default: '' | ||
75 | }, | ||
76 | dataTable: { | ||
77 | type: String, | ||
78 | default: '' | ||
79 | } | ||
80 | }, | ||
81 | data () { | ||
82 | return { | ||
83 | ruleForm: { | ||
84 | ZHHDDM: '', | ||
85 | XH: '', | ||
86 | BW: '', | ||
87 | DJ: '', | ||
88 | QXDM: '' | ||
89 | } | ||
90 | } | ||
91 | }, | ||
92 | methods: { | ||
93 | async featchData () { | ||
94 | try { | ||
95 | let { result: res } = await business.getKtfZhYhydzbById(this.bsmSjsb) | ||
96 | this.ruleForm = res | ||
97 | this.featchRule() | ||
98 | } catch (error) { | ||
99 | this.$refs.msg.messageShow() | ||
100 | } | ||
101 | }, | ||
102 | handleUpdateForm () { | ||
103 | return new Promise(async (resolve, reject) => { | ||
104 | try { | ||
105 | let res = await business.updateKtfZhYhydzb(this.ruleForm) | ||
106 | // this.$refs['formList'].resetFields(); | ||
107 | resolve(res.code) | ||
108 | } catch (error) { | ||
109 | this.$refs.msg.messageShow() | ||
110 | } | ||
111 | }) | ||
112 | } | ||
113 | } | ||
114 | } | ||
115 | </script> | ||
116 | <style scoped lang="scss"> | ||
117 | @import "./css/itemForm.scss"; | ||
118 | </style> | ||
119 | |||
120 |
src/components/business/issuingInfo.vue
0 → 100644
1 | <template> | ||
2 | <div class="issuingInfo itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="108px" :key="key"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item prop="YSDM" class="borderTopNone"> | ||
7 | <span slot="label"> | ||
8 | 要素代码: <br /> | ||
9 | <p class="label-detail">(YSDM)</p> | ||
10 | </span> | ||
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YSDM" placeholder="要素代码"></el-input> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | |||
15 | <el-col :span="8"> | ||
16 | <el-form-item prop="YWH" class="borderTopNone"> | ||
17 | <span slot="label"> | ||
18 | 业务号: <br /> | ||
19 | <p class="label-detail">(YWH)</p> | ||
20 | </span> | ||
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YWH" placeholder="业务号"></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | |||
25 | <el-col :span="8"> | ||
26 | <el-form-item prop="FZRY" class="borderTopNone"> | ||
27 | <span slot="label"> | ||
28 | 发证人员: <br /> | ||
29 | <p class="label-detail">(FZRY)</p> | ||
30 | </span> | ||
31 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.FZRY" placeholder="发证人员"></el-input> | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | </el-row> | ||
35 | |||
36 | <el-row> | ||
37 | <el-col :span="8"> | ||
38 | <el-form-item prop="FZSJ"> | ||
39 | <span slot="label"> | ||
40 | 发证时间: <br /> | ||
41 | <p class="label-detail">(FZSJ)</p> | ||
42 | </span> | ||
43 | <el-date-picker :disabled="$store.state.business.Edit" placeholder="发证时间" type="datetime" clearable | ||
44 | v-model="ruleForm.FZSJ" value-format="yyyy-MM-dd HH:mm:ss"> | ||
45 | </el-date-picker> | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | |||
49 | <el-col :span="8"> | ||
50 | <el-form-item prop="FZMC"> | ||
51 | <span slot="label"> | ||
52 | 发证名称: <br /> | ||
53 | <p class="label-detail">(FZMC)</p> | ||
54 | </span> | ||
55 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.FZMC" placeholder="发证名称"></el-input> | ||
56 | </el-form-item> | ||
57 | </el-col> | ||
58 | |||
59 | <el-col :span="8"> | ||
60 | <el-form-item prop="FZSL" :rules="{ type: 'number' }"> | ||
61 | <span slot="label"> | ||
62 | 发证数量: <br /> | ||
63 | <p class="label-detail">(FZSL)</p> | ||
64 | </span> | ||
65 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 9999, min: 0, precision: 0 }" type="number" | ||
66 | v-model.number="ruleForm.FZSL" placeholder="发证数量"></el-input> | ||
67 | </el-form-item> | ||
68 | </el-col> | ||
69 | </el-row> | ||
70 | |||
71 | <el-row> | ||
72 | <el-col :span="8"> | ||
73 | <el-form-item prop="HFZSH"> | ||
74 | <span slot="label"> | ||
75 | 核发证书号: <br /> | ||
76 | <p class="label-detail">(HFZSH)</p> | ||
77 | </span> | ||
78 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.HFZSH" placeholder="核发证书号"></el-input> | ||
79 | </el-form-item> | ||
80 | </el-col> | ||
81 | |||
82 | <el-col :span="8"> | ||
83 | <el-form-item prop="LZRXM"> | ||
84 | <span slot="label"> | ||
85 | 领证人姓名: <br /> | ||
86 | <p class="label-detail">(LZRXM)</p> | ||
87 | </span> | ||
88 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.LZRXM" placeholder="领证人姓名"></el-input> | ||
89 | </el-form-item> | ||
90 | </el-col> | ||
91 | |||
92 | <el-col :span="8"> | ||
93 | <el-form-item prop="LZRZJLB"> | ||
94 | <span slot="label"> | ||
95 | 领证人证件类别: <br /> | ||
96 | <p class="label-detail">(LZRZJLB)</p> | ||
97 | </span> | ||
98 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.LZRZJLB" placeholder="请选择"> | ||
99 | <el-option v-for="item in dicData['A30']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
100 | </el-option> | ||
101 | </el-select> | ||
102 | </el-form-item> | ||
103 | </el-col> | ||
104 | </el-row> | ||
105 | |||
106 | <el-row> | ||
107 | <el-col :span="8"> | ||
108 | <el-form-item prop="LZRZJHM"> | ||
109 | <span slot="label"> | ||
110 | 领证人证件号码: <br /> | ||
111 | <p class="label-detail">(LZRZJHM)</p> | ||
112 | </span> | ||
113 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.LZRZJHM" | ||
114 | placeholder="领证人证件号码"></el-input> | ||
115 | </el-form-item> | ||
116 | </el-col> | ||
117 | |||
118 | <el-col :span="8"> | ||
119 | <el-form-item prop="LZRDH"> | ||
120 | <span slot="label"> | ||
121 | 领证人电话: <br /> | ||
122 | <p class="label-detail">(LZRDH)</p> | ||
123 | </span> | ||
124 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.LZRDH" | ||
125 | onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" maxlength="11" placeholder="领证人电话"></el-input> | ||
126 | </el-form-item> | ||
127 | </el-col> | ||
128 | |||
129 | <el-col :span="8"> | ||
130 | <el-form-item prop="LZRDZ"> | ||
131 | <span slot="label"> | ||
132 | 领证人地址: <br /> | ||
133 | <p class="label-detail">(LZRDZ)</p> | ||
134 | </span> | ||
135 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.LZRDZ" placeholder="领证人地址"></el-input> | ||
136 | </el-form-item> | ||
137 | </el-col> | ||
138 | </el-row> | ||
139 | |||
140 | <el-row> | ||
141 | <el-col :span="8"> | ||
142 | <el-form-item prop="LZRYB"> | ||
143 | <span slot="label"> | ||
144 | 领证人邮编: <br /> | ||
145 | <p class="label-detail">(LZRYB)</p> | ||
146 | </span> | ||
147 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.LZRYB" placeholder="领证人邮编"></el-input> | ||
148 | </el-form-item> | ||
149 | </el-col> | ||
150 | |||
151 | <el-col :span="8"> | ||
152 | <el-form-item prop="BZ"> | ||
153 | <span slot="label"> | ||
154 | 备注: <br /> | ||
155 | <p class="label-detail">(BZ)</p> | ||
156 | </span> | ||
157 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BZ" placeholder="备注"></el-input> | ||
158 | </el-form-item> | ||
159 | </el-col> | ||
160 | |||
161 | <el-col :span="8"> | ||
162 | <el-form-item prop="QXDM"> | ||
163 | <span slot="label"> | ||
164 | 区县代码: <br /> | ||
165 | <p class="label-detail">(QXDM)</p> | ||
166 | </span> | ||
167 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
168 | </el-form-item> | ||
169 | </el-col> | ||
170 | |||
171 | <el-col :span="8"> | ||
172 | <el-form-item prop="YSXLH"> | ||
173 | <span slot="label"> | ||
174 | 印刷序列号: <br /> | ||
175 | <p class="label-detail">(YSXLH)</p> | ||
176 | </span> | ||
177 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YSXLH" placeholder="印刷序列号"></el-input> | ||
178 | </el-form-item> | ||
179 | </el-col> | ||
180 | </el-row> | ||
181 | </el-form> | ||
182 | <message-tips ref="msg" /> | ||
183 | </div> | ||
184 | </template> | ||
185 | <script> | ||
186 | // 发证信息 | ||
187 | import business from '@/api/business' | ||
188 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
189 | import treeSelect from '@/components/treeSelect/index.vue' | ||
190 | export default { | ||
191 | mixins: [ruleMixin], | ||
192 | props: { | ||
193 | bsmSjsb: { | ||
194 | type: String, | ||
195 | default: '' | ||
196 | }, | ||
197 | dataTable: { | ||
198 | type: String, | ||
199 | default: '' | ||
200 | } | ||
201 | }, | ||
202 | components: { | ||
203 | treeSelect | ||
204 | }, | ||
205 | data () { | ||
206 | return { | ||
207 | ruleForm: { | ||
208 | YSDM: '', | ||
209 | YWH: '', | ||
210 | FZRY: '', | ||
211 | FZSJ: '', | ||
212 | FZMC: '', | ||
213 | FZSL: '', | ||
214 | HFZSH: '', | ||
215 | LZRXM: '', | ||
216 | LZRZJHM: '', | ||
217 | LZRDH: '', | ||
218 | LZRDZ: '', | ||
219 | LZRYB: '', | ||
220 | BZ: '', | ||
221 | QXDM: '', | ||
222 | YSXLH: '' | ||
223 | } | ||
224 | } | ||
225 | }, | ||
226 | methods: { | ||
227 | async featchData () { | ||
228 | try { | ||
229 | let { result: res } = await business.getDjfDjFzDetailById(this.bsmSjsb) | ||
230 | this.ruleForm = res | ||
231 | this.featchRule() | ||
232 | } catch (error) { | ||
233 | this.$refs.msg.messageShow() | ||
234 | } | ||
235 | }, | ||
236 | handleUpdateForm () { | ||
237 | return new Promise(async (resolve, reject) => { | ||
238 | try { | ||
239 | let res = await business.updateDjfDjFz(this.ruleForm) | ||
240 | // this.$refs['formList'].resetFields(); | ||
241 | resolve(res.code) | ||
242 | } catch (error) { | ||
243 | this.$refs.msg.messageShow() | ||
244 | } | ||
245 | }) | ||
246 | } | ||
247 | } | ||
248 | } | ||
249 | </script> | ||
250 | <style scoped lang="scss"> | ||
251 | @import "./css/itemForm.scss"; | ||
252 | </style> | ||
253 | |||
254 |
src/components/business/landBuildingInfo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/linearFixture.vue
0 → 100644
1 | <template> | ||
2 | <div class="linearFixture itemForm"> | ||
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="100px" :key="key"> | ||
4 | <el-row> | ||
5 | <el-col :span="8"> | ||
6 | <el-form-item> | ||
7 | <span slot="label"> | ||
8 | 标识码: <br /> | ||
9 | <p class="label-detail">(BSM)</p> | ||
10 | </span> | ||
11 | <p :class="{ 'disabled': $store.state.business.Edit }"> | ||
12 | {{ ruleForm.BSM }} | ||
13 | </p> | ||
14 | </el-form-item> | ||
15 | </el-col> | ||
16 | |||
17 | <el-col :span="8"> | ||
18 | <el-form-item prop="YSDM"> | ||
19 | <span slot="label"> | ||
20 | 要素代码: <br /> | ||
21 | <p class="label-detail">(YSDM)</p> | ||
22 | </span> | ||
23 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.YSDM" placeholder="要素代码"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | |||
27 | <el-col :span="8"> | ||
28 | <el-form-item prop="BDCDYH"> | ||
29 | <span slot="label"> | ||
30 | 不动产单元号: <br /> | ||
31 | <p class="label-detail">(BDCDYH)</p> | ||
32 | </span> | ||
33 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.BDCDYH" placeholder="不动产单元号"></el-input> | ||
34 | </el-form-item> | ||
35 | </el-col> | ||
36 | </el-row> | ||
37 | |||
38 | <el-row> | ||
39 | <el-col :span="8"> | ||
40 | <el-form-item prop="ZDZHDM"> | ||
41 | <span slot="label"> | ||
42 | 宗地/宗海代码: <br /> | ||
43 | <p class="label-detail">(ZDZHDM)</p> | ||
44 | </span> | ||
45 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ZDZHDM" placeholder="宗地/宗海代码"></el-input> | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | |||
49 | <el-col :span="8"> | ||
50 | <el-form-item prop="XZDZWLX"> | ||
51 | <span slot="label"> | ||
52 | 线状定着物类型: <br /> | ||
53 | <p class="label-detail">(XZDZWLX)</p> | ||
54 | </span> | ||
55 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.XZDZWLX" | ||
56 | placeholder="线状定着物类型"></el-input> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | |||
60 | <el-col :span="8"> | ||
61 | <el-form-item prop="DZWMC"> | ||
62 | <span slot="label"> | ||
63 | 定着物名称: <br /> | ||
64 | <p class="label-detail">(DZWMC)</p> | ||
65 | </span> | ||
66 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.DZWMC" placeholder="定着物名称"></el-input> | ||
67 | </el-form-item> | ||
68 | </el-col> | ||
69 | </el-row> | ||
70 | |||
71 | <el-row> | ||
72 | <el-col :span="8"> | ||
73 | <el-form-item prop="MJDW"> | ||
74 | <span slot="label"> | ||
75 | 面积单位:<br /> | ||
76 | <p class="label-detail">(MJDW)</p> | ||
77 | </span> | ||
78 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.MJDW" placeholder="面积单位"> | ||
79 | <el-option v-for="item in dicData['A7']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
80 | </el-option> | ||
81 | </el-select> | ||
82 | </el-form-item> | ||
83 | </el-col> | ||
84 | |||
85 | <el-col :span="8"> | ||
86 | <el-form-item prop="MJ"> | ||
87 | <span slot="label"> | ||
88 | 面积: <br /> | ||
89 | <p class="label-detail">(MJ)</p> | ||
90 | </span> | ||
91 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.MJ" | ||
92 | v-only-number="{ max: 99999, min: 1, precision: 2 }" placeholder="面积"></el-input> | ||
93 | </el-form-item> | ||
94 | </el-col> | ||
95 | |||
96 | <el-col :span="8"> | ||
97 | <el-form-item prop="DAH"> | ||
98 | <span slot="label"> | ||
99 | 档案号: <br /> | ||
100 | <p class="label-detail">(DAH)</p> | ||
101 | </span> | ||
102 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.DAH" placeholder="档案号"></el-input> | ||
103 | </el-form-item> | ||
104 | </el-col> | ||
105 | </el-row> | ||
106 | |||
107 | <el-row> | ||
108 | <el-col :span="8"> | ||
109 | <el-form-item prop="ZT"> | ||
110 | <span slot="label"> | ||
111 | 状态: <br /> | ||
112 | <p class="label-detail">(ZT)</p> | ||
113 | </span> | ||
114 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.ZT" placeholder="状态"> | ||
115 | <el-option v-for="item in dicData['A11']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
116 | </el-option> | ||
117 | </el-select> | ||
118 | </el-form-item> | ||
119 | </el-col> | ||
120 | |||
121 | <el-col :span="8"> | ||
122 | <el-form-item prop="QXDM"> | ||
123 | <span slot="label"> | ||
124 | 区县代码: <br /> | ||
125 | <p class="label-detail">(QXDM)</p> | ||
126 | </span> | ||
127 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.QXDM" placeholder="区县代码"></el-input> | ||
128 | </el-form-item> | ||
129 | </el-col> | ||
130 | </el-row> | ||
131 | </el-form> | ||
132 | <message-tips ref="msg" /> | ||
133 | </div> | ||
134 | </template> | ||
135 | <script> | ||
136 | // 线状定着物 | ||
137 | import business from '@/api/business' | ||
138 | import ruleMixin from '@/mixins/ruleMixin.js' | ||
139 | export default { | ||
140 | mixins: [ruleMixin], | ||
141 | props: { | ||
142 | bsmSjsb: { | ||
143 | type: String, | ||
144 | default: '' | ||
145 | }, | ||
146 | dataTable: { | ||
147 | type: String, | ||
148 | default: '' | ||
149 | } | ||
150 | }, | ||
151 | data () { | ||
152 | return { | ||
153 | ruleForm: { | ||
154 | BSM: '', | ||
155 | YSDM: '', | ||
156 | BDCDYH: '', | ||
157 | ZDZHDM: '', | ||
158 | mzdzwlx: '', | ||
159 | DZWMC: '', | ||
160 | MJ: '', | ||
161 | DAH: '', | ||
162 | ZT: '', | ||
163 | QXDM: '' | ||
164 | } | ||
165 | } | ||
166 | }, | ||
167 | methods: { | ||
168 | async featchData () { | ||
169 | try { | ||
170 | let { result: res } = await business.getKtfQtXzdzwById(this.bsmSjsb) | ||
171 | this.ruleForm = res | ||
172 | this.featchRule() | ||
173 | } catch (error) { | ||
174 | this.$refs.msg.messageShow() | ||
175 | } | ||
176 | }, | ||
177 | handleUpdateForm () { | ||
178 | return new Promise(async (resolve, reject) => { | ||
179 | try { | ||
180 | let res = await business.updateKtfQtXzdzw(this.ruleForm) | ||
181 | // this.$refs['formList'].resetFields(); | ||
182 | resolve(res.code) | ||
183 | } catch (error) { | ||
184 | this.$refs.msg.messageShow() | ||
185 | } | ||
186 | }) | ||
187 | } | ||
188 | } | ||
189 | } | ||
190 | </script> | ||
191 | <style scoped lang="scss"> | ||
192 | @import "./css/itemForm.scss"; | ||
193 | </style> | ||
194 | |||
195 |
src/components/business/logicBuilding.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/mainCommonPart.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/mortgage.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/naturalBuilding.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/obligee.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/otherRelevant .vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/parcelBaseInfo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/parcelChange.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/planarFixture.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/punctateFixator.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/receivingInfo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/seaAreaUse.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/seaUse.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/business/singleBuilding.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/structure.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/unstructuredDoc.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/business/zonghaiBasicInfo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/components/dataDetails/edit-dialog.vue
0 → 100644
This diff is collapsed.
Click to expand it.
163 KB
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/components/treeSelect/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/directive/theme.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/backdrop.png
0 → 100644
142 KB
src/image/icons/index.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/close.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/function.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/notice.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/sqcx.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/workbench.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/zhcx.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svg/zsgl.svg
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/icons/svgo.yml
0 → 100644
This diff is collapsed.
Click to expand it.
src/image/left.png
0 → 100644
998 Bytes
src/image/logo.png
0 → 100644
34.9 KB
src/image/pageBg.png
0 → 100644
289 KB
src/image/progress.gif
0 → 100644
8 MB
src/image/right.png
0 → 100644
982 Bytes
src/layout/components/AppMain.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/components/Navbar.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/components/Sidebar/FixiOSBug.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/components/Sidebar/Item.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/components/Sidebar/Link.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/components/Sidebar/Logo.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/layout/components/Sidebar/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/layout/components/TagsView/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/components/index.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/layout/mixin/ResizeHandler.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/main.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/mixins/fromMixin.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/mixins/ruleMixin.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/mixins/tableMixin.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/permission.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/router/index.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/settings.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/getters.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/index.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/modules/app.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/modules/permission.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/modules/settings.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/modules/tagsView.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/store/modules/user.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/dialogBox.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/element-ui.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/element-variables.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/index.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/mixin.scss
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/styles/package/theme/index.scss
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/styles/package/theme/process-panel.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/public.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/sidebar.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/transition.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/styles/variables.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/LodopFuncs.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/asyncRouter.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/drawMixin.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/filter.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/get-page-title.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/index.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/mixin/table.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/mixin/theme.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/operation.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/popup.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/request.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/requestLoading.js
0 → 100644
This diff is collapsed.
Click to expand it.
src/utils/validate.js
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/views/business-info/sea-area/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
src/views/dataView/bottomLeft.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/bottomRight.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/center.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/centerLeft1.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/centerLeft2.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/centerRight1.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/centerRight2.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/index.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/dataView/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/error-page/404.png
0 → 100644
577 KB
src/views/error-page/404.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/home/index.scss
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/home/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/redirect/index.vue
0 → 100644
This diff is collapsed.
Click to expand it.
vue.config.js
0 → 100644
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment