feat:合并dev分支
Showing
59 changed files
with
1603 additions
and
5212 deletions
1 | ### | ||
2 | # @Description: | ||
3 | # @Autor: renchao | ||
4 | # @LastEditTime: 2023-05-12 13:23:31 | ||
5 | ### | ||
1 | # just a flag | 6 | # just a flag |
2 | ENV = 'development' | 7 | ENV = 'development' |
3 | NODE_ENV=development | 8 | NODE_ENV=development |
... | @@ -5,4 +10,4 @@ NODE_ENV=development | ... | @@ -5,4 +10,4 @@ NODE_ENV=development |
5 | VUE_APP_BASE_API = '/api' | 10 | VUE_APP_BASE_API = '/api' |
6 | 11 | ||
7 | # 开发环境 | 12 | # 开发环境 |
8 | VUE_APP_API_BASE_URL = 'http://192.168.2.38:8027' | 13 | VUE_APP_API_BASE_URL = 'http://192.168.2.89:8027' | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-04-06 11:03:47 | 4 | * @LastEditTime: 2023-05-11 17:24:44 |
5 | --> | 5 | --> |
6 | ## Git 贡献提交规范 | 6 | ## Git 贡献提交规范 |
7 | - `feat` 增加新功能 | 7 | - `feat` 增加新功能 |
... | @@ -21,8 +21,6 @@ | ... | @@ -21,8 +21,6 @@ |
21 | ## config说明 | 21 | ## config说明 |
22 | { | 22 | { |
23 | "TITLE": "汉中市数据上报系统", | 23 | "TITLE": "汉中市数据上报系统", |
24 | "THEME": "sb", | ||
25 | "LOGIN": "", { 登录页配置 } | ||
26 | "CODE": "BDCJGPT", {"BDCSBPT":上报: "BDCJGPT":监管} | 24 | "CODE": "BDCJGPT", {"BDCSBPT":上报: "BDCJGPT":监管} |
27 | "SERVERAPI": "/bdcsjsb", | 25 | "SERVERAPI": "/bdcsjsb", |
28 | "AREARMAP": "610702", // {"610702","632701"} | 26 | "AREARMAP": "610702", // {"610702","632701"} | ... | ... |
1 | { | 1 | { |
2 | "TITLE": "汉中市监管系统", | 2 | "TITLE": "汉中市监管系统", |
3 | "THEME": "jg", | ||
4 | "LOGIN": "jg", | ||
5 | "CODE": "BDCJGPT", | 3 | "CODE": "BDCJGPT", |
6 | "AREARMAP": "610702", | 4 | "AREARMAP": "610702", |
5 | "XZQ": "汉中市", | ||
7 | "SERVERAPI": "/bdcsjsb", | 6 | "SERVERAPI": "/bdcsjsb", |
8 | "calcHeight": 200, | 7 | "calcHeight": 200, |
9 | "echartTextColor": "#FFFFFF", | 8 | "echartTextColor": "#FFFFFF", | ... | ... |
public/610702sb.json
deleted
100644 → 0
1 | { | ||
2 | "TITLE": "汉中市数据上报系统", | ||
3 | "THEME": "sb", | ||
4 | "LOGIN": "sb", | ||
5 | "CODE": "BDCSBPT", | ||
6 | "AREARMAP": "610702", | ||
7 | "SERVERAPI": "/bdcsjsb", | ||
8 | "calcHeight": 160, | ||
9 | "echartTextColor": "#4A4A4A", | ||
10 | "MANAGEMENTAPI": "http://192.168.2.38:8090/management", | ||
11 | "IPCONFIG": "http://192.168.2.38:8027" | ||
12 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | { | 1 | { |
2 | "TITLE": "玉树州监管系统", | 2 | "TITLE": "玉树州监管系统", |
3 | "THEME": "jg", | ||
4 | "LOGIN": "jg", | ||
5 | "CODE": "BDCJGPT", | 3 | "CODE": "BDCJGPT", |
6 | "AREARMAP": "632701", | 4 | "AREARMAP": "632701", |
5 | "XZQ": "玉树州", | ||
7 | "SERVERAPI": "/bdcsjsb", | 6 | "SERVERAPI": "/bdcsjsb", |
8 | "calcHeight": 200, | 7 | "calcHeight": 200, |
9 | "echartTextColor": "#FFFFFF", | 8 | "echartTextColor": "#FFFFFF", | ... | ... |
public/632701sb.json
deleted
100644 → 0
1 | { | ||
2 | "TITLE": "玉树州数据上报系统", | ||
3 | "THEME": "sb", | ||
4 | "LOGIN": "sb", | ||
5 | "CODE": "BDCSBPT", | ||
6 | "AREARMAP": "632701", | ||
7 | "SERVERAPI": "/bdcsjsb", | ||
8 | "calcHeight": 160, | ||
9 | "echartTextColor": "#4A4A4A", | ||
10 | "MANAGEMENTAPI": "http://192.168.2.38:8090/management", | ||
11 | "IPCONFIG": "http://192.168.2.38:8027" | ||
12 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | { | 1 | { |
2 | "TITLE": "汉中市数据上报系统", | 2 | "TITLE": "汉中市监管系统", |
3 | "THEME": "sb", | 3 | "CODE": "BDCJGPT", |
4 | "LOGIN": "sb", | ||
5 | "CODE": "BDCSBPT", | ||
6 | "AREARMAP": "610702", | 4 | "AREARMAP": "610702", |
5 | "XZQ": "汉中市", | ||
7 | "SERVERAPI": "/bdcsjsb", | 6 | "SERVERAPI": "/bdcsjsb", |
8 | "calcHeight": 160, | 7 | "calcHeight": 200, |
9 | "echartTextColor": "#4A4A4A", | 8 | "echartTextColor": "#FFFFFF", |
10 | "MANAGEMENTAPI": "http://192.168.2.38:8090/management", | 9 | "MANAGEMENTAPI": "http://192.168.2.38:8090/management" |
11 | "IPCONFIG": "http://192.168.2.38:8027" | ||
12 | } | 10 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/api/file.js
0 → 100644
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-06 16:25:08 | ||
5 | */ | ||
6 | import request from '@/utils/request' | ||
7 | let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) | ||
8 | /* 引入配置 */ | ||
9 | const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/storage' | ||
10 | |||
11 | /** | ||
12 | * @description: xml导入 | ||
13 | * @param {*} data | ||
14 | * @author: renchao | ||
15 | */ | ||
16 | export function storage (data) { | ||
17 | return request({ | ||
18 | url: urlHeader, | ||
19 | headers: { | ||
20 | 'Content-Type': 'multipart/form-data' | ||
21 | }, | ||
22 | method: 'post', | ||
23 | data | ||
24 | }) | ||
25 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-23 17:19:52 | 4 | * @LastEditTime: 2023-05-08 15:03:10 |
5 | */ | 5 | */ |
6 | import request from "@/utils/request"; | 6 | import request from "@/utils/request"; |
7 | let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) | 7 | let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) | ... | ... |
src/api/searchRecord.js
deleted
100644 → 0
1 | /* | ||
2 | * @Description: 干部查询 | ||
3 | * @Autor: | ||
4 | * @LastEditTime: | ||
5 | */ | ||
6 | /* 引入axios请求文件 */ | ||
7 | import request from '@/utils/request' | ||
8 | /* 引入配置 */ | ||
9 | let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) | ||
10 | const urlHeader = SERVER.SERVERAPI + '/rest/searchRecord' | ||
11 | |||
12 | /** | ||
13 | * @description: 获取列表 | ||
14 | * @param {*} | ||
15 | * @author: | ||
16 | */ | ||
17 | export function getSearchRecordList (data) { | ||
18 | return request({ | ||
19 | url: urlHeader + '/getList', | ||
20 | method: 'post', | ||
21 | data | ||
22 | }) | ||
23 | } | ||
24 | |||
25 | /** | ||
26 | * @description: 新增 | ||
27 | * @param {*} data | ||
28 | * @author: | ||
29 | */ | ||
30 | export function saveSearchRecord (data) { | ||
31 | return request({ | ||
32 | url: urlHeader + '/search', | ||
33 | method: 'post', | ||
34 | data | ||
35 | }) | ||
36 | } |
1 | .obligee-item { | ||
2 | display: flex; | ||
3 | height: 100%; | ||
4 | margin-bottom: 15px; | ||
5 | margin-right: 5px; | ||
6 | |||
7 | &-name { | ||
8 | display: flex; | ||
9 | align-items: center; | ||
10 | justify-content: center; | ||
11 | width: 20px; | ||
12 | padding: 10px 20px; | ||
13 | line-height: 28px; | ||
14 | border: 1px solid #ccc; | ||
15 | border-radius: 3px; | ||
16 | margin-left: 10px; | ||
17 | } | ||
18 | |||
19 | &-list { | ||
20 | width: 100%; | ||
21 | flex: 1; | ||
22 | display: flex; | ||
23 | justify-content: center; | ||
24 | flex-direction: column; | ||
25 | } | ||
26 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -116,92 +116,67 @@ | ... | @@ -116,92 +116,67 @@ |
116 | </div> | 116 | </div> |
117 | </template> | 117 | </template> |
118 | <script> | 118 | <script> |
119 | import djfDjSz from "@/api/djfDjSz"; | 119 | import djfDjSz from "@/api/djfDjSz"; |
120 | import ruleMixin from "@/mixins/ruleMixin.js"; | 120 | import ruleMixin from "@/mixins/ruleMixin.js"; |
121 | // 缮证信息 | 121 | // 缮证信息 |
122 | export default { | 122 | export default { |
123 | mixins: [ruleMixin], | 123 | mixins: [ruleMixin], |
124 | props: { | 124 | props: { |
125 | bsmSjsb: { | 125 | bsmSjsb: { |
126 | type: String, | 126 | type: String, |
127 | default: "", | 127 | default: "" |
128 | }, | ||
129 | bsmYwsjb: { | ||
130 | type: String, | ||
131 | default: "", | ||
132 | }, | ||
133 | }, | ||
134 | data() { | ||
135 | return { | ||
136 | certificateInfo: { | ||
137 | ruleForm: [ | ||
138 | { | ||
139 | YSDM: "", | ||
140 | YWH: "", | ||
141 | SZMC: "", | ||
142 | SZZH: "", | ||
143 | YSXLH: "", | ||
144 | SZRY: "", | ||
145 | SZSJ: "", | ||
146 | BZ: "", | ||
147 | QXDM: "", | ||
148 | }, | ||
149 | ], | ||
150 | }, | 128 | }, |
151 | }; | 129 | bsmYwsjb: { |
152 | }, | 130 | type: String, |
153 | methods: { | 131 | default: "" |
154 | async featchData() { | 132 | }, |
155 | try { | 133 | }, |
156 | let { result: res } = await djfDjSz.getDjfDjSzById(this.bsmSjsb); | 134 | data () { |
157 | this.certificateInfo.ruleForm = res; | 135 | return { |
158 | //this.featchRule() | 136 | certificateInfo: { |
159 | } catch (error) { | 137 | ruleForm: [ |
160 | this.$refs.msg.messageShow(); | 138 | { |
139 | YSDM: "", | ||
140 | YWH: "", | ||
141 | SZMC: "", | ||
142 | SZZH: "", | ||
143 | YSXLH: "", | ||
144 | SZRY: "", | ||
145 | SZSJ: "", | ||
146 | BZ: "", | ||
147 | QXDM: "" | ||
148 | } | ||
149 | ] | ||
150 | } | ||
161 | } | 151 | } |
162 | }, | 152 | }, |
163 | handleUpdateForm() { | 153 | methods: { |
164 | return new Promise(async (resolve) => { | 154 | async featchData () { |
165 | try { | 155 | try { |
166 | let res = await djfDjSz.updateDjfDjSz(this.certificateInfo.ruleForm); | 156 | let { result: res } = await djfDjSz.getDjfDjSzById(this.bsmSjsb); |
167 | // this.$refs['formList'].resetFields(); | 157 | this.certificateInfo.ruleForm = res; |
168 | resolve(res.code); | 158 | //this.featchRule() |
169 | } catch (error) { | 159 | } catch (error) { |
170 | this.$refs.msg.messageShow(); | 160 | this.$refs.msg.messageShow(); |
171 | } | 161 | } |
172 | }); | 162 | }, |
173 | }, | 163 | handleUpdateForm () { |
174 | }, | 164 | return new Promise(async (resolve) => { |
175 | }; | 165 | try { |
166 | let res = await djfDjSz.updateDjfDjSz(this.certificateInfo.ruleForm); | ||
167 | // this.$refs['formList'].resetFields(); | ||
168 | resolve(res.code); | ||
169 | } catch (error) { | ||
170 | this.$refs.msg.messageShow(); | ||
171 | } | ||
172 | }) | ||
173 | } | ||
174 | } | ||
175 | } | ||
176 | </script> | 176 | </script> |
177 | <style scoped lang="scss"> | 177 | <style scoped lang="scss"> |
178 | @import "./css/itemForm.scss"; | 178 | @import "./css/itemForm.scss"; |
179 | |||
180 | .obligee-item { | ||
181 | display: flex; | ||
182 | height: 100%; | ||
183 | margin-bottom: 15px; | ||
184 | margin-right: 5px; | ||
185 | |||
186 | &-name { | ||
187 | display: flex; | ||
188 | align-items: center; | ||
189 | justify-content: center; | ||
190 | width: 20px; | ||
191 | padding: 10px 20px; | ||
192 | line-height: 28px; | ||
193 | border: 1px solid #ccc; | ||
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> | 179 | </style> |
206 | 180 | ||
207 | 181 | ||
182 | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="houseFloor itemForm"> | 2 | <div class="houseFloor itemForm"> |
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="121px" :key="key"> | 3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="121px" :key="key"> |
4 | <el-row> | 4 | <div v-for="(item, index) in ruleForm" :key="index" class="obligee-item"> |
5 | <el-col :span="8"> | 5 | <p class="obligee-item-name">层信息{{ index + 1 }}</p> |
6 | <el-form-item prop="YSDM"> | 6 | <div class="obligee-item-list"> |
7 | <span slot="label"> | 7 | <el-row> |
8 | 要素代码: <br /> | 8 | <el-col :span="8"> |
9 | <p class="label-detail">(YSDM)</p> | 9 | <el-form-item prop="YSDM"> |
10 | </span> | 10 | <span slot="label"> |
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ysdm"></el-input> | 11 | 要素代码: <br /> |
12 | </el-form-item> | 12 | <p class="label-detail">(YSDM)</p> |
13 | </el-col> | 13 | </span> |
14 | 14 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ysdm"></el-input> | |
15 | <el-col :span="8"> | 15 | </el-form-item> |
16 | <el-form-item prop="CH"> | 16 | </el-col> |
17 | <span slot="label"> | 17 | |
18 | 层号: <br /> | 18 | <el-col :span="8"> |
19 | <p class="label-detail">(CH)</p> | 19 | <el-form-item prop="CH"> |
20 | </span> | 20 | <span slot="label"> |
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ch"></el-input> | 21 | 层号: <br /> |
22 | </el-form-item> | 22 | <p class="label-detail">(CH)</p> |
23 | </el-col> | 23 | </span> |
24 | 24 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ch"></el-input> | |
25 | <el-col :span="8"> | 25 | </el-form-item> |
26 | <el-form-item prop="ZRZH"> | 26 | </el-col> |
27 | <span slot="label"> | 27 | |
28 | 自然幢号: <br /> | 28 | <el-col :span="8"> |
29 | <p class="label-detail">(ZRZH)</p> | 29 | <el-form-item prop="ZRZH"> |
30 | </span> | 30 | <span slot="label"> |
31 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.zrzh"></el-input> | 31 | 自然幢号: <br /> |
32 | </el-form-item> | 32 | <p class="label-detail">(ZRZH)</p> |
33 | </el-col> | 33 | </span> |
34 | </el-row> | 34 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].zrzh"></el-input> |
35 | 35 | </el-form-item> | |
36 | <el-row> | 36 | </el-col> |
37 | <el-col :span="8"> | 37 | </el-row> |
38 | <el-form-item prop="SJC"> | 38 | |
39 | <span slot="label"> | 39 | <el-row> |
40 | 实际层: <br /> | 40 | <el-col :span="8"> |
41 | <p class="label-detail">(SJC)</p> | 41 | <el-form-item prop="SJC"> |
42 | </span> | 42 | <span slot="label"> |
43 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.sjc"></el-input> | 43 | 实际层: <br /> |
44 | </el-form-item> | 44 | <p class="label-detail">(SJC)</p> |
45 | </el-col> | 45 | </span> |
46 | 46 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].sjc"></el-input> | |
47 | <el-col :span="8"> | 47 | </el-form-item> |
48 | <el-form-item prop="MYC"> | 48 | </el-col> |
49 | <span slot="label"> | 49 | |
50 | 名义层: <br /> | 50 | <el-col :span="8"> |
51 | <p class="label-detail">(MYC)</p> | 51 | <el-form-item prop="MYC"> |
52 | </span> | 52 | <span slot="label"> |
53 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.myc"></el-input> | 53 | 名义层: <br /> |
54 | </el-form-item> | 54 | <p class="label-detail">(MYC)</p> |
55 | </el-col> | 55 | </span> |
56 | 56 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].myc"></el-input> | |
57 | <el-col :span="8"> | 57 | </el-form-item> |
58 | <el-form-item prop="CJZMJ" :rules="{ type: 'number' }"> | 58 | </el-col> |
59 | <span slot="label"> | 59 | |
60 | 层建筑面积: <br /> | 60 | <el-col :span="8"> |
61 | <p class="label-detail">(CJZMJ)</p> | 61 | <el-form-item prop="CJZMJ" :rules="{ type: 'number' }"> |
62 | </span> | 62 | <span slot="label"> |
63 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 63 | 层建筑面积: <br /> |
64 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 64 | <p class="label-detail">(CJZMJ)</p> |
65 | v-model.number="ruleForm.cjzmj"></el-input-number> | 65 | </span> |
66 | </el-form-item> | 66 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
67 | </el-col> | 67 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
68 | </el-row> | 68 | v-model.number="ruleForm[index].cjzmj"></el-input-number> |
69 | 69 | </el-form-item> | |
70 | <el-row> | 70 | </el-col> |
71 | <el-col :span="8"> | 71 | </el-row> |
72 | <el-form-item prop="CTNJZMJ" :rules="{ type: 'number' }"> | 72 | |
73 | <span slot="label"> | 73 | <el-row> |
74 | 层套内建筑面积: <br /> | 74 | <el-col :span="8"> |
75 | <p class="label-detail">(CTNJZMJ)</p> | 75 | <el-form-item prop="CTNJZMJ" :rules="{ type: 'number' }"> |
76 | </span> | 76 | <span slot="label"> |
77 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 77 | 层套内建筑面积: <br /> |
78 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 78 | <p class="label-detail">(CTNJZMJ)</p> |
79 | v-model.number="ruleForm.ctnjzmj"></el-input-number> | 79 | </span> |
80 | </el-form-item> | 80 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
81 | </el-col> | 81 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
82 | 82 | v-model.number="ruleForm[index].ctnjzmj"></el-input-number> | |
83 | <el-col :span="8"> | 83 | </el-form-item> |
84 | <el-form-item prop="CYTMJ" :rules="{ type: 'number' }"> | 84 | </el-col> |
85 | <span slot="label"> | 85 | |
86 | 层阳台面积: <br /> | 86 | <el-col :span="8"> |
87 | <p class="label-detail">(CYTMJ)</p> | 87 | <el-form-item prop="CYTMJ" :rules="{ type: 'number' }"> |
88 | </span> | 88 | <span slot="label"> |
89 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 89 | 层阳台面积: <br /> |
90 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 90 | <p class="label-detail">(CYTMJ)</p> |
91 | v-model.number="ruleForm.cytmj"></el-input-number> | 91 | </span> |
92 | </el-form-item> | 92 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
93 | </el-col> | 93 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
94 | 94 | v-model.number="ruleForm[index].cytmj"></el-input-number> | |
95 | <el-col :span="8"> | 95 | </el-form-item> |
96 | <el-form-item prop="CGYJZMJ" :rules="{ type: 'number' }"> | 96 | </el-col> |
97 | <span slot="label"> | 97 | |
98 | 层共有建筑面积: <br /> | 98 | <el-col :span="8"> |
99 | <p class="label-detail">(CGYJZMJ)</p> | 99 | <el-form-item prop="CGYJZMJ" :rules="{ type: 'number' }"> |
100 | </span> | 100 | <span slot="label"> |
101 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 101 | 层共有建筑面积: <br /> |
102 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 102 | <p class="label-detail">(CGYJZMJ)</p> |
103 | v-model.number="ruleForm.cgyjzmj"></el-input-number> | 103 | </span> |
104 | </el-form-item> | 104 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
105 | </el-col> | 105 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
106 | </el-row> | 106 | v-model.number="ruleForm[index].cgyjzmj"></el-input-number> |
107 | 107 | </el-form-item> | |
108 | <el-row> | 108 | </el-col> |
109 | <el-col :span="8"> | 109 | </el-row> |
110 | <el-form-item prop="CFTJZMJ" :rules="{ type: 'number' }"> | 110 | |
111 | <span slot="label"> | 111 | <el-row> |
112 | 层分摊建筑面积: <br /> | 112 | <el-col :span="8"> |
113 | <p class="label-detail">(CFTJZMJ)</p> | 113 | <el-form-item prop="CFTJZMJ" :rules="{ type: 'number' }"> |
114 | </span> | 114 | <span slot="label"> |
115 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 115 | 层分摊建筑面积: <br /> |
116 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 116 | <p class="label-detail">(CFTJZMJ)</p> |
117 | v-model.number="ruleForm.cftjzmj"></el-input-number> | 117 | </span> |
118 | </el-form-item> | 118 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
119 | </el-col> | 119 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
120 | 120 | v-model.number="ruleForm[index].cftjzmj"></el-input-number> | |
121 | <el-col :span="8"> | 121 | </el-form-item> |
122 | <el-form-item prop="CBQMJ" :rules="{ type: 'number' }"> | 122 | </el-col> |
123 | <span slot="label"> | 123 | |
124 | 层半墙面积: <br /> | 124 | <el-col :span="8"> |
125 | <p class="label-detail">(CBQMJ)</p> | 125 | <el-form-item prop="CBQMJ" :rules="{ type: 'number' }"> |
126 | </span> | 126 | <span slot="label"> |
127 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 127 | 层半墙面积: <br /> |
128 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 128 | <p class="label-detail">(CBQMJ)</p> |
129 | v-model.number="ruleForm.cbqmj"></el-input-number> | 129 | </span> |
130 | </el-form-item> | 130 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
131 | </el-col> | 131 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
132 | 132 | v-model.number="ruleForm[index].cbqmj"></el-input-number> | |
133 | <el-col :span="8"> | 133 | </el-form-item> |
134 | <el-form-item prop="CG" :rules="{ type: 'number' }"> | 134 | </el-col> |
135 | <span slot="label"> | 135 | |
136 | 层高: <br /> | 136 | <el-col :span="8"> |
137 | <p class="label-detail">(CG)</p> | 137 | <el-form-item prop="CG" :rules="{ type: 'number' }"> |
138 | </span> | 138 | <span slot="label"> |
139 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 139 | 层高: <br /> |
140 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" v-model.number="ruleForm.cg"> | 140 | <p class="label-detail">(CG)</p> |
141 | </el-input-number> | 141 | </span> |
142 | </el-form-item> | 142 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
143 | </el-col> | 143 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" v-model.number="ruleForm[index].cg"> |
144 | </el-row> | 144 | </el-input-number> |
145 | 145 | </el-form-item> | |
146 | <el-row> | 146 | </el-col> |
147 | <el-col :span="8"> | 147 | </el-row> |
148 | <el-form-item prop="SPTYMJ" :rules="{ type: 'number' }"> | 148 | |
149 | <span slot="label"> | 149 | <el-row> |
150 | 水平投影面积: <br /> | 150 | <el-col :span="8"> |
151 | <p class="label-detail">(SPTYMJ)</p> | 151 | <el-form-item prop="SPTYMJ" :rules="{ type: 'number' }"> |
152 | </span> | 152 | <span slot="label"> |
153 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 153 | 水平投影面积: <br /> |
154 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 154 | <p class="label-detail">(SPTYMJ)</p> |
155 | v-model.number="ruleForm.sptymj"></el-input-number> | 155 | </span> |
156 | </el-form-item> | 156 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
157 | </el-col> | 157 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
158 | 158 | v-model.number="ruleForm[index].sptymj"></el-input-number> | |
159 | <el-col :span="8"> | 159 | </el-form-item> |
160 | <el-form-item prop="QXDM"> | 160 | </el-col> |
161 | <span slot="label"> | 161 | |
162 | 区县代码: <br /> | 162 | <el-col :span="8"> |
163 | <p class="label-detail">(QXDM)</p> | 163 | <el-form-item prop="QXDM"> |
164 | </span> | 164 | <span slot="label"> |
165 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.qxdm"></el-input> | 165 | 区县代码: <br /> |
166 | </el-form-item> | 166 | <p class="label-detail">(QXDM)</p> |
167 | </el-col> | 167 | </span> |
168 | </el-row> | 168 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].qxdm"></el-input> |
169 | </el-form-item> | ||
170 | </el-col> | ||
171 | </el-row> | ||
172 | </div> | ||
173 | </div> | ||
174 | |||
169 | </el-form> | 175 | </el-form> |
170 | <message-tips ref="msg" /> | 176 | <message-tips ref="msg" /> |
171 | </div> | 177 | </div> |
172 | </template> | 178 | </template> |
173 | <script> | 179 | <script> |
174 | // 层信息 | 180 | // 层信息 |
175 | import kttFwC from "@/api/kttFwC"; | 181 | import kttFwC from "@/api/kttFwC"; |
176 | import ruleMixin from "@/mixins/ruleMixin.js"; | 182 | import ruleMixin from "@/mixins/ruleMixin.js"; |
177 | export default { | 183 | export default { |
178 | mixins: [ruleMixin], | 184 | mixins: [ruleMixin], |
179 | props: { | 185 | props: { |
180 | bsmSjsb: { | 186 | bsmSjsb: { |
181 | type: String, | 187 | type: String, |
182 | default: "", | 188 | default: "" |
183 | }, | ||
184 | bsmYwsjb: { | ||
185 | type: String, | ||
186 | default: "", | ||
187 | }, | ||
188 | }, | ||
189 | data() { | ||
190 | return { | ||
191 | ruleForm: { | ||
192 | YSDM: "", | ||
193 | CH: "", | ||
194 | ZRZH: "", | ||
195 | SJC: "", | ||
196 | MYC: "", | ||
197 | CJZMJ: "", | ||
198 | CTNJZMJ: "", | ||
199 | CYTMJ: "", | ||
200 | CGYJZMJ: "", | ||
201 | CFTJZMJ: "", | ||
202 | CBQMJ: "", | ||
203 | CG: "", | ||
204 | SPTYMJ: "", | ||
205 | QXDM: "", | ||
206 | }, | 189 | }, |
207 | }; | 190 | bsmYwsjb: { |
208 | }, | 191 | type: String, |
209 | methods: { | 192 | default: "" |
210 | async featchData() { | 193 | }, |
211 | try { | 194 | }, |
212 | let { result: res } = await kttFwC.getKttFwCById(this.bsmSjsb); | 195 | data () { |
213 | this.ruleForm = res; | 196 | return { |
214 | //this.featchRule() | 197 | ruleForm: [{ |
215 | } catch (error) { | 198 | YSDM: "", |
216 | this.$refs.msg.messageShow(); | 199 | CH: "", |
200 | ZRZH: "", | ||
201 | SJC: "", | ||
202 | MYC: "", | ||
203 | CJZMJ: "", | ||
204 | CTNJZMJ: "", | ||
205 | CYTMJ: "", | ||
206 | CGYJZMJ: "", | ||
207 | CFTJZMJ: "", | ||
208 | CBQMJ: "", | ||
209 | CG: "", | ||
210 | SPTYMJ: "", | ||
211 | QXDM: "" | ||
212 | }] | ||
217 | } | 213 | } |
218 | }, | 214 | }, |
219 | handleUpdateForm() { | 215 | methods: { |
220 | return new Promise(async (resolve, reject) => { | 216 | async featchData () { |
221 | try { | 217 | try { |
222 | let res = await kttFwC.updateKttFwC(this.ruleForm); | 218 | let { result: res } = await kttFwC.getKttFwCById(this.bsmSjsb); |
223 | // this.$refs['formList'].resetFields(); | 219 | this.ruleForm = res; |
224 | resolve(res.code); | 220 | //this.featchRule() |
225 | } catch (error) { | 221 | } catch (error) { |
226 | this.$refs.msg.messageShow(); | 222 | this.$refs.msg.messageShow() |
227 | } | 223 | } |
228 | }); | 224 | }, |
229 | }, | 225 | handleUpdateForm () { |
230 | }, | 226 | return new Promise(async (resolve, reject) => { |
231 | }; | 227 | try { |
228 | let res = await kttFwC.updateKttFwC(this.ruleForm); | ||
229 | // this.$refs['formList'].resetFields(); | ||
230 | resolve(res.code); | ||
231 | } catch (error) { | ||
232 | this.$refs.msg.messageShow() | ||
233 | } | ||
234 | }) | ||
235 | } | ||
236 | } | ||
237 | }; | ||
232 | </script> | 238 | </script> |
233 | <style scoped lang="scss"> | 239 | <style scoped lang="scss"> |
234 | @import "./css/itemForm.scss"; | 240 | @import "./css/itemForm.scss"; |
235 | </style> | 241 | </style> |
236 | 242 | ||
237 | 243 | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="households itemForm"> | 2 | <div class="households itemForm"> |
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="115px" :key="key"> | 3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="115px" :key="key"> |
4 | <el-row> | 4 | |
5 | <el-col :span="8"> | 5 | <div v-for="(item, index) in ruleForm" :key="index" class="obligee-item"> |
6 | <el-form-item prop="YSDM"> | 6 | <p class="obligee-item-name">户信息{{ index + 1 }}</p> |
7 | <span slot="label"> | 7 | <div class="obligee-item-list"> |
8 | 要素代码: <br /> | 8 | <el-row> |
9 | <p class="label-detail">(YSDM)</p> | 9 | <el-col :span="8"> |
10 | </span> | 10 | <el-form-item prop="YSDM"> |
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ysdm"></el-input> | 11 | <span slot="label"> |
12 | </el-form-item> | 12 | 要素代码: <br /> |
13 | </el-col> | 13 | <p class="label-detail">(YSDM)</p> |
14 | 14 | </span> | |
15 | <el-col :span="8"> | 15 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ysdm"></el-input> |
16 | <el-form-item prop="BDCDYH"> | 16 | </el-form-item> |
17 | <span slot="label"> | 17 | </el-col> |
18 | 不动产单元号: <br /> | 18 | |
19 | <p class="label-detail">(BDCDYH)</p> | 19 | <el-col :span="8"> |
20 | </span> | 20 | <el-form-item prop="BDCDYH"> |
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.bdcdyh"></el-input> | 21 | <span slot="label"> |
22 | </el-form-item> | 22 | 不动产单元号: <br /> |
23 | </el-col> | 23 | <p class="label-detail">(BDCDYH)</p> |
24 | 24 | </span> | |
25 | <el-col :span="8"> | 25 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].bdcdyh"></el-input> |
26 | <el-form-item prop="LJZH"> | 26 | </el-form-item> |
27 | <span slot="label"> | 27 | </el-col> |
28 | 逻辑幢号: <br /> | 28 | |
29 | <p class="label-detail">(LJZH)</p> | 29 | <el-col :span="8"> |
30 | </span> | 30 | <el-form-item prop="LJZH"> |
31 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ljzh"></el-input> | 31 | <span slot="label"> |
32 | </el-form-item> | 32 | 逻辑幢号: <br /> |
33 | </el-col> | 33 | <p class="label-detail">(LJZH)</p> |
34 | </el-row> | 34 | </span> |
35 | 35 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ljzh"></el-input> | |
36 | <el-row> | 36 | </el-form-item> |
37 | <el-col :span="8"> | 37 | </el-col> |
38 | <el-form-item prop="ZRZH"> | 38 | </el-row> |
39 | <span slot="label"> | 39 | |
40 | 自然幢号: <br /> | 40 | <el-row> |
41 | <p class="label-detail">(ZRZH)</p> | 41 | <el-col :span="8"> |
42 | </span> | 42 | <el-form-item prop="ZRZH"> |
43 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.zrzh"></el-input> | 43 | <span slot="label"> |
44 | </el-form-item> | 44 | 自然幢号: <br /> |
45 | </el-col> | 45 | <p class="label-detail">(ZRZH)</p> |
46 | 46 | </span> | |
47 | <el-col :span="8"> | 47 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].zrzh"></el-input> |
48 | <el-form-item prop="FWBM"> | 48 | </el-form-item> |
49 | <span slot="label"> | 49 | </el-col> |
50 | 房屋编码: <br /> | 50 | |
51 | <p class="label-detail">(FWBM)</p> | 51 | <el-col :span="8"> |
52 | </span> | 52 | <el-form-item prop="FWBM"> |
53 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwbm"></el-input> | 53 | <span slot="label"> |
54 | </el-form-item> | 54 | 房屋编码: <br /> |
55 | </el-col> | 55 | <p class="label-detail">(FWBM)</p> |
56 | 56 | </span> | |
57 | <el-col :span="8"> | 57 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwbm"></el-input> |
58 | <el-form-item prop="CH"> | 58 | </el-form-item> |
59 | <span slot="label"> | 59 | </el-col> |
60 | 层号: <br /> | 60 | |
61 | <p class="label-detail">(CH)</p> | 61 | <el-col :span="8"> |
62 | </span> | 62 | <el-form-item prop="CH"> |
63 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ch"></el-input> | 63 | <span slot="label"> |
64 | </el-form-item> | 64 | 层号: <br /> |
65 | </el-col> | 65 | <p class="label-detail">(CH)</p> |
66 | </el-row> | 66 | </span> |
67 | 67 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ch"></el-input> | |
68 | <el-row> | 68 | </el-form-item> |
69 | <el-col :span="8"> | 69 | </el-col> |
70 | <el-form-item prop="ZL"> | 70 | </el-row> |
71 | <span slot="label"> | 71 | |
72 | 坐落: <br /> | 72 | <el-row> |
73 | <p class="label-detail">(ZL)</p> | 73 | <el-col :span="8"> |
74 | </span> | 74 | <el-form-item prop="ZL"> |
75 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.zl"></el-input> | 75 | <span slot="label"> |
76 | </el-form-item> | 76 | 坐落: <br /> |
77 | </el-col> | 77 | <p class="label-detail">(ZL)</p> |
78 | 78 | </span> | |
79 | <el-col :span="8"> | 79 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].zl"></el-input> |
80 | <el-form-item prop="MJDW"> | 80 | </el-form-item> |
81 | <span slot="label"> | 81 | </el-col> |
82 | 面积单位: <br /> | 82 | |
83 | <p class="label-detail">(MJDW)</p> | 83 | <el-col :span="8"> |
84 | </span> | 84 | <el-form-item prop="MJDW"> |
85 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.mjdw"> | 85 | <span slot="label"> |
86 | <el-option v-for="item in dicData['A7']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 86 | 面积单位: <br /> |
87 | </el-option> | 87 | <p class="label-detail">(MJDW)</p> |
88 | </el-select> | 88 | </span> |
89 | </el-form-item> | 89 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].mjdw"> |
90 | </el-col> | 90 | <el-option v-for="item in dicData['A7']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
91 | 91 | </el-option> | |
92 | <el-col :span="8"> | 92 | </el-select> |
93 | <el-form-item prop="SJCS"> | 93 | </el-form-item> |
94 | <span slot="label"> | 94 | </el-col> |
95 | 实际层数: <br /> | 95 | |
96 | <p class="label-detail">(SJCS)</p> | 96 | <el-col :span="8"> |
97 | </span> | 97 | <el-form-item prop="SJCS"> |
98 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 98 | <span slot="label"> |
99 | v-only-number="{ max: 99999, min: 1, precision: 0 }" v-model="ruleForm.sjcs"></el-input-number> | 99 | 实际层数: <br /> |
100 | </el-form-item> | 100 | <p class="label-detail">(SJCS)</p> |
101 | </el-col> | 101 | </span> |
102 | </el-row> | 102 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
103 | 103 | v-only-number="{ max: 99999, min: 1, precision: 0 }" v-model="ruleForm[index].sjcs"></el-input-number> | |
104 | <el-row> | 104 | </el-form-item> |
105 | <el-col :span="8"> | 105 | </el-col> |
106 | <el-form-item prop="HH"> | 106 | </el-row> |
107 | <span slot="label"> | 107 | |
108 | 户号: <br /> | 108 | <el-row> |
109 | <p class="label-detail">(HH)</p> | 109 | <el-col :span="8"> |
110 | </span> | 110 | <el-form-item prop="HH"> |
111 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-model="ruleForm.hh" | 111 | <span slot="label"> |
112 | v-only-number="{ max: 99999, min: 1, precision: 0 }"></el-input-number> | 112 | 户号: <br /> |
113 | </el-form-item> | 113 | <p class="label-detail">(HH)</p> |
114 | </el-col> | 114 | </span> |
115 | 115 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-model="ruleForm[index].hh" | |
116 | <el-col :span="8"> | 116 | v-only-number="{ max: 99999, min: 1, precision: 0 }"></el-input-number> |
117 | <el-form-item prop="SHBW"> | 117 | </el-form-item> |
118 | <span slot="label"> | 118 | </el-col> |
119 | 室号部位: <br /> | 119 | |
120 | <p class="label-detail">(SHBW)</p> | 120 | <el-col :span="8"> |
121 | </span> | 121 | <el-form-item prop="SHBW"> |
122 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.shbw"></el-input> | 122 | <span slot="label"> |
123 | </el-form-item> | 123 | 室号部位: <br /> |
124 | </el-col> | 124 | <p class="label-detail">(SHBW)</p> |
125 | 125 | </span> | |
126 | <el-col :span="8"> | 126 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].shbw"></el-input> |
127 | <el-form-item prop="HX"> | 127 | </el-form-item> |
128 | <span slot="label"> | 128 | </el-col> |
129 | 户型: <br /> | 129 | |
130 | <p class="label-detail">(HX)</p> | 130 | <el-col :span="8"> |
131 | </span> | 131 | <el-form-item prop="HX"> |
132 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.hx"> | 132 | <span slot="label"> |
133 | <el-option v-for="item in dicData['A15']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 133 | 户型: <br /> |
134 | </el-option> | 134 | <p class="label-detail">(HX)</p> |
135 | </el-select> | 135 | </span> |
136 | </el-form-item> | 136 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].hx"> |
137 | </el-col> | 137 | <el-option v-for="item in dicData['A15']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
138 | </el-row> | 138 | </el-option> |
139 | 139 | </el-select> | |
140 | <el-row> | 140 | </el-form-item> |
141 | <el-col :span="8"> | 141 | </el-col> |
142 | <el-form-item prop="HXJG"> | 142 | </el-row> |
143 | <span slot="label"> | 143 | |
144 | 户型结构: <br /> | 144 | <el-row> |
145 | <p class="label-detail">(HXJG)</p> | 145 | <el-col :span="8"> |
146 | </span> | 146 | <el-form-item prop="HXJG"> |
147 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.hxjg"> | 147 | <span slot="label"> |
148 | <el-option v-for="item in dicData['A16']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 148 | 户型结构: <br /> |
149 | </el-option> | 149 | <p class="label-detail">(HXJG)</p> |
150 | </el-select> | 150 | </span> |
151 | </el-form-item> | 151 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].hxjg"> |
152 | </el-col> | 152 | <el-option v-for="item in dicData['A16']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
153 | 153 | </el-option> | |
154 | <el-col :span="8"> | 154 | </el-select> |
155 | <el-form-item prop="FWYT1"> | 155 | </el-form-item> |
156 | <span slot="label"> | 156 | </el-col> |
157 | 房屋用途1: <br /> | 157 | |
158 | <p class="label-detail">(FWYT1)</p> | 158 | <el-col :span="8"> |
159 | </span> | 159 | <el-form-item prop="FWYT1"> |
160 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.fwyt1"> | 160 | <span slot="label"> |
161 | <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 161 | 房屋用途1: <br /> |
162 | </el-option> | 162 | <p class="label-detail">(FWYT1)</p> |
163 | </el-select> | 163 | </span> |
164 | </el-form-item> | 164 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwyt1"> |
165 | </el-col> | 165 | <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
166 | 166 | </el-option> | |
167 | <el-col :span="8"> | 167 | </el-select> |
168 | <el-form-item prop="FWYT2"> | 168 | </el-form-item> |
169 | <span slot="label"> | 169 | </el-col> |
170 | 房屋用途2: <br /> | 170 | |
171 | <p class="label-detail">(FWYT2)</p> | 171 | <el-col :span="8"> |
172 | </span> | 172 | <el-form-item prop="FWYT2"> |
173 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.fwyt2"> | 173 | <span slot="label"> |
174 | <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 174 | 房屋用途2: <br /> |
175 | </el-option> | 175 | <p class="label-detail">(FWYT2)</p> |
176 | </el-select> | 176 | </span> |
177 | </el-form-item> | 177 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwyt2"> |
178 | </el-col> | 178 | <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
179 | </el-row> | 179 | </el-option> |
180 | 180 | </el-select> | |
181 | <el-row> | 181 | </el-form-item> |
182 | <el-col :span="8"> | 182 | </el-col> |
183 | <el-form-item prop="FWYT3"> | 183 | </el-row> |
184 | <span slot="label"> | 184 | |
185 | 房屋用途3: <br /> | 185 | <el-row> |
186 | <p class="label-detail">(FWYT3)</p> | 186 | <el-col :span="8"> |
187 | </span> | 187 | <el-form-item prop="FWYT3"> |
188 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.fwyt3"> | 188 | <span slot="label"> |
189 | <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 189 | 房屋用途3: <br /> |
190 | </el-option> | 190 | <p class="label-detail">(FWYT3)</p> |
191 | </el-select> | 191 | </span> |
192 | </el-form-item> | 192 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwyt3"> |
193 | </el-col> | 193 | <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
194 | 194 | </el-option> | |
195 | <el-col :span="8"> | 195 | </el-select> |
196 | <el-form-item prop="YCJZMJ" :rules="{ type: 'number' }"> | 196 | </el-form-item> |
197 | <span slot="label"> | 197 | </el-col> |
198 | 预测建筑面积: <br /> | 198 | |
199 | <p class="label-detail">(YCJZMJ)</p> | 199 | <el-col :span="8"> |
200 | </span> | 200 | <el-form-item prop="YCJZMJ" :rules="{ type: 'number' }"> |
201 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 201 | <span slot="label"> |
202 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | 202 | 预测建筑面积: <br /> |
203 | v-model.number="ruleForm.ycjzmj"></el-input-number> | 203 | <p class="label-detail">(YCJZMJ)</p> |
204 | </el-form-item> | 204 | </span> |
205 | </el-col> | 205 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
206 | 206 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | |
207 | <el-col :span="8"> | 207 | v-model.number="ruleForm[index].ycjzmj"></el-input-number> |
208 | <el-form-item prop="YCTNJZMJ" :rules="{ type: 'number' }"> | 208 | </el-form-item> |
209 | <span slot="label"> | 209 | </el-col> |
210 | 预测套内建筑面积: <br /> | 210 | |
211 | <p class="label-detail">(YCTNJZMJ)</p> | 211 | <el-col :span="8"> |
212 | </span> | 212 | <el-form-item prop="YCTNJZMJ" :rules="{ type: 'number' }"> |
213 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 213 | <span slot="label"> |
214 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | 214 | 预测套内建筑面积: <br /> |
215 | v-model.number="ruleForm.yctnjzmj"></el-input-number> | 215 | <p class="label-detail">(YCTNJZMJ)</p> |
216 | </el-form-item> | 216 | </span> |
217 | </el-col> | 217 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
218 | </el-row> | 218 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" |
219 | 219 | v-model.number="ruleForm[index].yctnjzmj"></el-input-number> | |
220 | <el-row> | 220 | </el-form-item> |
221 | <el-col :span="8"> | 221 | </el-col> |
222 | <el-form-item prop="YCFTJZMJ" :rules="{ type: 'number' }"> | 222 | </el-row> |
223 | <span slot="label"> | 223 | |
224 | 预测分摊建筑面积: <br /> | 224 | <el-row> |
225 | <p class="label-detail">(YCFTJZMJ)</p> | 225 | <el-col :span="8"> |
226 | </span> | 226 | <el-form-item prop="YCFTJZMJ" :rules="{ type: 'number' }"> |
227 | <el-input :disabled="$store.state.business.Edit" | 227 | <span slot="label"> |
228 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | 228 | 预测分摊建筑面积: <br /> |
229 | v-model.number="ruleForm.ycftjzmj"></el-input> | 229 | <p class="label-detail">(YCFTJZMJ)</p> |
230 | </el-form-item> | 230 | </span> |
231 | </el-col> | 231 | <el-input :disabled="$store.state.business.Edit" |
232 | 232 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | |
233 | <el-col :span="8"> | 233 | v-model.number="ruleForm[index].ycftjzmj"></el-input> |
234 | <el-form-item prop="YCDXBFJZMJ" :rules="{ type: 'number' }"> | 234 | </el-form-item> |
235 | <span slot="label"> | 235 | </el-col> |
236 | 预测地下部分建筑面积: <br /> | 236 | |
237 | <p class="label-detail">(YCDXBFJZMJ)</p> | 237 | <el-col :span="8"> |
238 | </span> | 238 | <el-form-item prop="YCDXBFJZMJ" :rules="{ type: 'number' }"> |
239 | <el-input controls-position="right" :disabled="$store.state.business.Edit" | 239 | <span slot="label"> |
240 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | 240 | 预测地下部分建筑面积: <br /> |
241 | v-model.number="ruleForm.ycdxbfjzmj"></el-input> | 241 | <p class="label-detail">(YCDXBFJZMJ)</p> |
242 | </el-form-item> | 242 | </span> |
243 | </el-col> | 243 | <el-input controls-position="right" :disabled="$store.state.business.Edit" |
244 | 244 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | |
245 | <el-col :span="8"> | 245 | v-model.number="ruleForm[index].ycdxbfjzmj"></el-input> |
246 | <el-form-item prop="YCQTJZMJ" :rules="{ type: 'number' }"> | 246 | </el-form-item> |
247 | <span slot="label"> | 247 | </el-col> |
248 | 预测其它建筑面积: <br /> | 248 | |
249 | <p class="label-detail">(YCQTJZMJ)</p> | 249 | <el-col :span="8"> |
250 | </span> | 250 | <el-form-item prop="YCQTJZMJ" :rules="{ type: 'number' }"> |
251 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 251 | <span slot="label"> |
252 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" | 252 | 预测其它建筑面积: <br /> |
253 | v-model.number="ruleForm.ycqtjzmj"></el-input-number> | 253 | <p class="label-detail">(YCQTJZMJ)</p> |
254 | </el-form-item> | 254 | </span> |
255 | </el-col> | 255 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
256 | </el-row> | 256 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" title="" type="number" |
257 | 257 | v-model.number="ruleForm[index].ycqtjzmj"></el-input-number> | |
258 | <!-- 预测分摊系数 --> | 258 | </el-form-item> |
259 | <el-row> | 259 | </el-col> |
260 | <el-col :span="8"> | 260 | </el-row> |
261 | <el-form-item prop="YCFTXS" :rules="{ type: 'number' }"> | 261 | |
262 | <span slot="label"> | 262 | <!-- 预测分摊系数 --> |
263 | 预测分摊系数: <br /> | 263 | <el-row> |
264 | <p class="label-detail">(YCFTXS)</p> | 264 | <el-col :span="8"> |
265 | </span> | 265 | <el-form-item prop="YCFTXS" :rules="{ type: 'number' }"> |
266 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm.ycftxs" title="" type="number" | 266 | <span slot="label"> |
267 | v-only-number="{ max: 999999999999999, min: 0, precision: 6 }"></el-input> | 267 | 预测分摊系数: <br /> |
268 | </el-form-item> | 268 | <p class="label-detail">(YCFTXS)</p> |
269 | </el-col> | 269 | </span> |
270 | 270 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm[index].ycftxs" title="" type="number" | |
271 | <el-col :span="8"> | 271 | v-only-number="{ max: 999999999999999, min: 0, precision: 6 }"></el-input> |
272 | <el-form-item prop="SCJZMJ" :rules="{ type: 'number' }"> | 272 | </el-form-item> |
273 | <span slot="label"> | 273 | </el-col> |
274 | 实测建筑面积: <br /> | 274 | |
275 | <p class="label-detail">(SCJZMJ)</p> | 275 | <el-col :span="8"> |
276 | </span> | 276 | <el-form-item prop="SCJZMJ" :rules="{ type: 'number' }"> |
277 | <el-input :disabled="$store.state.business.Edit" | 277 | <span slot="label"> |
278 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 278 | 实测建筑面积: <br /> |
279 | v-model.number="ruleForm.scjzmj"></el-input> | 279 | <p class="label-detail">(SCJZMJ)</p> |
280 | </el-form-item> | 280 | </span> |
281 | </el-col> | 281 | <el-input :disabled="$store.state.business.Edit" |
282 | 282 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | |
283 | <el-col :span="8"> | 283 | v-model.number="ruleForm[index].scjzmj"></el-input> |
284 | <el-form-item prop="SCTNJZMJ" :rules="{ type: 'number' }"> | 284 | </el-form-item> |
285 | <span slot="label"> | 285 | </el-col> |
286 | 实测套内建筑面积: <br /> | 286 | |
287 | <p class="label-detail">(SCTNJZMJ)</p> | 287 | <el-col :span="8"> |
288 | </span> | 288 | <el-form-item prop="SCTNJZMJ" :rules="{ type: 'number' }"> |
289 | <el-input :disabled="$store.state.business.Edit" | 289 | <span slot="label"> |
290 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 290 | 实测套内建筑面积: <br /> |
291 | v-model.number="ruleForm.sctnjzmj"></el-input> | 291 | <p class="label-detail">(SCTNJZMJ)</p> |
292 | </el-form-item> | 292 | </span> |
293 | </el-col> | 293 | <el-input :disabled="$store.state.business.Edit" |
294 | </el-row> | 294 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
295 | 295 | v-model.number="ruleForm[index].sctnjzmj"></el-input> | |
296 | <!-- 实测分摊建筑面积 --> | 296 | </el-form-item> |
297 | <el-row> | 297 | </el-col> |
298 | <el-col :span="8"> | 298 | </el-row> |
299 | <el-form-item prop="SCFTJZMJ" :rules="{ type: 'number' }"> | 299 | |
300 | <span slot="label"> | 300 | <!-- 实测分摊建筑面积 --> |
301 | 实测分摊建筑面积: <br /> | 301 | <el-row> |
302 | <p class="label-detail">(SCFTJZMJ)</p> | 302 | <el-col :span="8"> |
303 | </span> | 303 | <el-form-item prop="SCFTJZMJ" :rules="{ type: 'number' }"> |
304 | <el-input :disabled="$store.state.business.Edit" | 304 | <span slot="label"> |
305 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 305 | 实测分摊建筑面积: <br /> |
306 | v-model.number="ruleForm.scftjzmj"></el-input> | 306 | <p class="label-detail">(SCFTJZMJ)</p> |
307 | </el-form-item> | 307 | </span> |
308 | </el-col> | 308 | <el-input :disabled="$store.state.business.Edit" |
309 | 309 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | |
310 | <el-col :span="8"> | 310 | v-model.number="ruleForm[index].scftjzmj"></el-input> |
311 | <el-form-item prop="SCDXBFJZMJ" :rules="{ type: 'number' }"> | 311 | </el-form-item> |
312 | <span slot="label"> | 312 | </el-col> |
313 | 实测地下部分建筑面积: <br /> | 313 | |
314 | <p class="label-detail">(SCDXBFJZMJ)</p> | 314 | <el-col :span="8"> |
315 | </span> | 315 | <el-form-item prop="SCDXBFJZMJ" :rules="{ type: 'number' }"> |
316 | <el-input :disabled="$store.state.business.Edit" | 316 | <span slot="label"> |
317 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 317 | 实测地下部分建筑面积: <br /> |
318 | v-model.number="ruleForm.scdxbfjzmj"></el-input> | 318 | <p class="label-detail">(SCDXBFJZMJ)</p> |
319 | </el-form-item> | 319 | </span> |
320 | </el-col> | 320 | <el-input :disabled="$store.state.business.Edit" |
321 | 321 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | |
322 | <el-col :span="8"> | 322 | v-model.number="ruleForm[index].scdxbfjzmj"></el-input> |
323 | <el-form-item prop="SCQTJZMJ" :rules="{ type: 'number' }"> | 323 | </el-form-item> |
324 | <span slot="label"> | 324 | </el-col> |
325 | 实测其它建筑面积: <br /> | 325 | |
326 | <p class="label-detail">(SCQTJZMJ)</p> | 326 | <el-col :span="8"> |
327 | </span> | 327 | <el-form-item prop="SCQTJZMJ" :rules="{ type: 'number' }"> |
328 | <el-input :disabled="$store.state.business.Edit" | 328 | <span slot="label"> |
329 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 329 | 实测其它建筑面积: <br /> |
330 | v-model.number="ruleForm.scqtjzmj"></el-input> | 330 | <p class="label-detail">(SCQTJZMJ)</p> |
331 | </el-form-item> | 331 | </span> |
332 | </el-col> | 332 | <el-input :disabled="$store.state.business.Edit" |
333 | </el-row> | 333 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
334 | 334 | v-model.number="ruleForm[index].scqtjzmj"></el-input> | |
335 | <!-- 实测分摊系数 --> | 335 | </el-form-item> |
336 | <el-row> | 336 | </el-col> |
337 | <el-col :span="8"> | 337 | </el-row> |
338 | <el-form-item prop="SCFTXS" :rules="{ type: 'number' }"> | 338 | |
339 | <span slot="label"> | 339 | <!-- 实测分摊系数 --> |
340 | 实测分摊系数: <br /> | 340 | <el-row> |
341 | <p class="label-detail">(SCFTXS)</p> | 341 | <el-col :span="8"> |
342 | </span> | 342 | <el-form-item prop="SCFTXS" :rules="{ type: 'number' }"> |
343 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm.scftxs" title="" type="number" | 343 | <span slot="label"> |
344 | v-only-number="{ max: 999999999999999, min: 0, precision: 6 }"></el-input> | 344 | 实测分摊系数: <br /> |
345 | </el-form-item> | 345 | <p class="label-detail">(SCFTXS)</p> |
346 | </el-col> | 346 | </span> |
347 | 347 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm[index].scftxs" title="" type="number" | |
348 | <el-col :span="8"> | 348 | v-only-number="{ max: 999999999999999, min: 0, precision: 6 }"></el-input> |
349 | <el-form-item prop="GYTDMJ" :rules="{ type: 'number' }"> | 349 | </el-form-item> |
350 | <span slot="label"> | 350 | </el-col> |
351 | 共有土地面积: <br /> | 351 | |
352 | <p class="label-detail">(GYTDMJ)</p> | 352 | <el-col :span="8"> |
353 | </span> | 353 | <el-form-item prop="GYTDMJ" :rules="{ type: 'number' }"> |
354 | <el-input :disabled="$store.state.business.Edit" | 354 | <span slot="label"> |
355 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 355 | 共有土地面积: <br /> |
356 | v-model.number="ruleForm.gytdmj"></el-input> | 356 | <p class="label-detail">(GYTDMJ)</p> |
357 | </el-form-item> | 357 | </span> |
358 | </el-col> | 358 | <el-input :disabled="$store.state.business.Edit" |
359 | 359 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | |
360 | <el-col :span="8"> | 360 | v-model.number="ruleForm[index].gytdmj"></el-input> |
361 | <el-form-item prop="FTTDMJ" :rules="{ type: 'number' }"> | 361 | </el-form-item> |
362 | <span slot="label"> | 362 | </el-col> |
363 | 分摊土地面积: <br /> | 363 | |
364 | <p class="label-detail">(FTTDMJ)</p> | 364 | <el-col :span="8"> |
365 | </span> | 365 | <el-form-item prop="FTTDMJ" :rules="{ type: 'number' }"> |
366 | <el-input :disabled="$store.state.business.Edit" | 366 | <span slot="label"> |
367 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 367 | 分摊土地面积: <br /> |
368 | v-model.number="ruleForm.fttdmj"></el-input> | 368 | <p class="label-detail">(FTTDMJ)</p> |
369 | </el-form-item> | 369 | </span> |
370 | </el-col> | 370 | <el-input :disabled="$store.state.business.Edit" |
371 | </el-row> | 371 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
372 | 372 | v-model.number="ruleForm[index].fttdmj"></el-input> | |
373 | <!-- 独用土地面积 --> | 373 | </el-form-item> |
374 | <el-row> | 374 | </el-col> |
375 | <el-col :span="8"> | 375 | </el-row> |
376 | <el-form-item prop="DYTDMJ" :rules="{ type: 'number' }"> | 376 | |
377 | <span slot="label"> | 377 | <!-- 独用土地面积 --> |
378 | 独用土地面积: <br /> | 378 | <el-row> |
379 | <p class="label-detail">(DYTDMJ)</p> | 379 | <el-col :span="8"> |
380 | </span> | 380 | <el-form-item prop="DYTDMJ" :rules="{ type: 'number' }"> |
381 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm.dytdmj" title="" type="number" | 381 | <span slot="label"> |
382 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }"></el-input> | 382 | 独用土地面积: <br /> |
383 | </el-form-item> | 383 | <p class="label-detail">(DYTDMJ)</p> |
384 | </el-col> | 384 | </span> |
385 | 385 | <el-input :disabled="$store.state.business.Edit" v-model.number="ruleForm[index].dytdmj" title="" type="number" | |
386 | <el-col :span="8"> | 386 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }"></el-input> |
387 | <el-form-item prop="FWLX"> | 387 | </el-form-item> |
388 | <span slot="label"> | 388 | </el-col> |
389 | 房屋类型: <br /> | 389 | |
390 | <p class="label-detail">(FWLX)</p> | 390 | <el-col :span="8"> |
391 | </span> | 391 | <el-form-item prop="FWLX"> |
392 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.fwlx"> | 392 | <span slot="label"> |
393 | <el-option v-for="item in dicData['A18']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 393 | 房屋类型: <br /> |
394 | </el-option> | 394 | <p class="label-detail">(FWLX)</p> |
395 | </el-select> | 395 | </span> |
396 | </el-form-item> | 396 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwlx"> |
397 | </el-col> | 397 | <el-option v-for="item in dicData['A18']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
398 | 398 | </el-option> | |
399 | <el-col :span="8"> | 399 | </el-select> |
400 | <el-form-item prop="FWXZ"> | 400 | </el-form-item> |
401 | <span slot="label"> | 401 | </el-col> |
402 | 房屋性质: <br /> | 402 | |
403 | <p class="label-detail">(FWXZ)</p> | 403 | <el-col :span="8"> |
404 | </span> | 404 | <el-form-item prop="FWXZ"> |
405 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.fwxz"> | 405 | <span slot="label"> |
406 | <el-option v-for="item in dicData['A19']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 406 | 房屋性质: <br /> |
407 | </el-option> | 407 | <p class="label-detail">(FWXZ)</p> |
408 | </el-select> | 408 | </span> |
409 | </el-form-item> | 409 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwxz"> |
410 | </el-col> | 410 | <el-option v-for="item in dicData['A19']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
411 | </el-row> | 411 | </el-option> |
412 | 412 | </el-select> | |
413 | <!-- 房产分户图 --> | 413 | </el-form-item> |
414 | <el-row> | 414 | </el-col> |
415 | <el-col :span="8"> | 415 | </el-row> |
416 | <el-form-item prop="FCFHT"> | 416 | |
417 | <span slot="label"> | 417 | <!-- 房产分户图 --> |
418 | 房产分户图: <br /> | 418 | <el-row> |
419 | <p class="label-detail">(FCFHT)</p> | 419 | <el-col :span="8"> |
420 | </span> | 420 | <el-form-item prop="FCFHT"> |
421 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fcfht"></el-input> | 421 | <span slot="label"> |
422 | </el-form-item> | 422 | 房产分户图: <br /> |
423 | </el-col> | 423 | <p class="label-detail">(FCFHT)</p> |
424 | 424 | </span> | |
425 | <el-col :span="8"> | 425 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fcfht"></el-input> |
426 | <el-form-item prop="ZT"> | 426 | </el-form-item> |
427 | <span slot="label"> | 427 | </el-col> |
428 | 状态: <br /> | 428 | |
429 | <p class="label-detail">(ZT)</p> | 429 | <el-col :span="8"> |
430 | </span> | 430 | <el-form-item prop="ZT"> |
431 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm.zt"> | 431 | <span slot="label"> |
432 | <el-option v-for="item in dicData['A11']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 432 | 状态: <br /> |
433 | </el-option> | 433 | <p class="label-detail">(ZT)</p> |
434 | </el-select> | 434 | </span> |
435 | </el-form-item> | 435 | <el-select :disabled="$store.state.business.Edit" v-model="ruleForm[index].zt"> |
436 | </el-col> | 436 | <el-option v-for="item in dicData['A11']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
437 | 437 | </el-option> | |
438 | <el-col :span="8"> | 438 | </el-select> |
439 | <el-form-item prop="QXDM"> | 439 | </el-form-item> |
440 | <span slot="label"> | 440 | </el-col> |
441 | 区县代码: <br /> | 441 | |
442 | <p class="label-detail">(QXDM)</p> | 442 | <el-col :span="8"> |
443 | </span> | 443 | <el-form-item prop="QXDM"> |
444 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.qxdm"></el-input> | 444 | <span slot="label"> |
445 | </el-form-item> | 445 | 区县代码: <br /> |
446 | </el-col> | 446 | <p class="label-detail">(QXDM)</p> |
447 | </el-row> | 447 | </span> |
448 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].qxdm"></el-input> | ||
449 | </el-form-item> | ||
450 | </el-col> | ||
451 | </el-row> | ||
452 | </div> | ||
453 | </div> | ||
448 | </el-form> | 454 | </el-form> |
449 | <message-tips ref="msg" /> | ||
450 | </div> | 455 | </div> |
451 | </template> | 456 | </template> |
452 | <script> | 457 | <script> |
453 | // 户信息 | 458 | // 户信息 |
454 | import kttFwH from "@/api/kttFwH"; | 459 | import kttFwH from "@/api/kttFwH"; |
455 | import ruleMixin from "@/mixins/ruleMixin.js"; | 460 | import ruleMixin from "@/mixins/ruleMixin.js"; |
456 | export default { | 461 | export default { |
457 | mixins: [ruleMixin], | 462 | mixins: [ruleMixin], |
458 | props: { | 463 | props: { |
459 | bsmSjsb: { | 464 | bsmSjsb: { |
460 | type: String, | 465 | type: String, |
461 | default: "", | 466 | default: "" |
462 | }, | 467 | }, |
463 | bsmYwsjb: { | 468 | bsmYwsjb: { |
464 | type: String, | 469 | type: String, |
465 | default: "", | 470 | default: "" |
466 | }, | ||
467 | }, | ||
468 | data() { | ||
469 | return { | ||
470 | ruleForm: { | ||
471 | YSDM: "", | ||
472 | BDCDYH: "", | ||
473 | LJZH: "", | ||
474 | ZRZH: "", | ||
475 | FWBM: "", | ||
476 | CH: "", | ||
477 | ZL: "", | ||
478 | MJDW: "", | ||
479 | SJCS: "", | ||
480 | HH: "", | ||
481 | SHBW: "", | ||
482 | HX: "", | ||
483 | HXJG: "", | ||
484 | FWYT1: "", | ||
485 | FWYT2: "", | ||
486 | FWYT3: "", | ||
487 | YCJZMJ: "", | ||
488 | YCTNJZMJ: "", | ||
489 | YCFTJZMJ: "", | ||
490 | YCDXBFJZMJ: "", | ||
491 | YCQTJZMJ: "", | ||
492 | YCFTXS: "", | ||
493 | SCJZMJ: "", | ||
494 | SCTNJZMJ: "", | ||
495 | SCFTJZMJ: "", | ||
496 | SCDXBFJZMJ: "", | ||
497 | SCQTJZMJ: "", | ||
498 | SCFTXS: "", | ||
499 | GYTDMJ: "", | ||
500 | FTTDMJ: "", | ||
501 | DYTDMJ: "", | ||
502 | FWLX: "", | ||
503 | FWXZ: "", | ||
504 | FCFHT: "", | ||
505 | ZT: "", | ||
506 | QXDM: "", | ||
507 | }, | 471 | }, |
508 | }; | 472 | }, |
509 | }, | 473 | data () { |
510 | methods: { | 474 | return { |
511 | async featchData() { | 475 | ruleForm: [{ |
512 | try { | 476 | YSDM: "", |
513 | let { result: res } = await kttFwH.getKttFwHById(this.bsmSjsb); | 477 | BDCDYH: "", |
514 | this.ruleForm = res; | 478 | LJZH: "", |
515 | //this.featchRule() | 479 | ZRZH: "", |
516 | } catch (error) { | 480 | FWBM: "", |
517 | this.$refs.msg.messageShow(); | 481 | CH: "", |
482 | ZL: "", | ||
483 | MJDW: "", | ||
484 | SJCS: "", | ||
485 | HH: "", | ||
486 | SHBW: "", | ||
487 | HX: "", | ||
488 | HXJG: "", | ||
489 | FWYT1: "", | ||
490 | FWYT2: "", | ||
491 | FWYT3: "", | ||
492 | YCJZMJ: "", | ||
493 | YCTNJZMJ: "", | ||
494 | YCFTJZMJ: "", | ||
495 | YCDXBFJZMJ: "", | ||
496 | YCQTJZMJ: "", | ||
497 | YCFTXS: "", | ||
498 | SCJZMJ: "", | ||
499 | SCTNJZMJ: "", | ||
500 | SCFTJZMJ: "", | ||
501 | SCDXBFJZMJ: "", | ||
502 | SCQTJZMJ: "", | ||
503 | SCFTXS: "", | ||
504 | GYTDMJ: "", | ||
505 | FTTDMJ: "", | ||
506 | DYTDMJ: "", | ||
507 | FWLX: "", | ||
508 | FWXZ: "", | ||
509 | FCFHT: "", | ||
510 | ZT: "", | ||
511 | QXDM: "" | ||
512 | }] | ||
518 | } | 513 | } |
519 | }, | 514 | }, |
520 | handleUpdateForm() { | 515 | methods: { |
521 | return new Promise(async (resolve, reject) => { | 516 | async featchData () { |
522 | try { | 517 | try { |
523 | let res = await kttFwH.updateKttFwH(this.ruleForm); | 518 | let { result: res } = await kttFwH.getKttFwHById(this.bsmSjsb); |
524 | // this.$refs['formList'].resetFields(); | 519 | this.ruleForm = res; |
525 | resolve(res.code); | 520 | //this.featchRule() |
526 | } catch (error) { | 521 | } catch (error) { |
527 | this.$refs.msg.messageShow(); | 522 | this.$refs.msg.messageShow(); |
528 | } | 523 | } |
529 | }); | 524 | }, |
525 | handleUpdateForm () { | ||
526 | return new Promise(async (resolve, reject) => { | ||
527 | try { | ||
528 | let res = await kttFwH.updateKttFwH(this.ruleForm); | ||
529 | // this.$refs['formList'].resetFields(); | ||
530 | resolve(res.code); | ||
531 | } catch (error) { | ||
532 | this.$refs.msg.messageShow(); | ||
533 | } | ||
534 | }); | ||
535 | }, | ||
530 | }, | 536 | }, |
531 | }, | 537 | }; |
532 | }; | ||
533 | </script> | 538 | </script> |
534 | <style scoped lang="scss"> | 539 | <style scoped lang="scss"> |
535 | @import "./css/itemForm.scss"; | 540 | @import "./css/itemForm.scss"; |
536 | 541 | ||
537 | .households { | 542 | .households { |
538 | .item-label { | 543 | .item-label { |
539 | flex: 0 0 120px; | 544 | flex: 0 0 120px; |
545 | } | ||
540 | } | 546 | } |
541 | } | ||
542 | </style> | 547 | </style> |
543 | 548 | ||
544 | 549 | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="logicBuilding itemForm"> | 2 | <div class="logicBuilding itemForm"> |
3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="100px" :key="key"> | 3 | <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="100px" :key="key"> |
4 | <el-row> | 4 | <div v-for="(item, index) in ruleForm" :key="index" class="obligee-item"> |
5 | <el-col :span="8"> | 5 | <p class="obligee-item-name">逻辑幢信息{{ index + 1 }}</p> |
6 | <el-form-item prop="YSDM"> | 6 | <div class="obligee-item-list"> |
7 | <span slot="label"> | 7 | <el-row> |
8 | 要素代码: <br /> | 8 | <el-col :span="8"> |
9 | <p class="label-detail">(YSDM)</p> | 9 | <el-form-item prop="YSDM"> |
10 | </span> | 10 | <span slot="label"> |
11 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ysdm"></el-input> | 11 | 要素代码: <br /> |
12 | </el-form-item> | 12 | <p class="label-detail">(YSDM)</p> |
13 | </el-col> | 13 | </span> |
14 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ysdm"></el-input> | ||
15 | </el-form-item> | ||
16 | </el-col> | ||
14 | 17 | ||
15 | <el-col :span="8"> | 18 | <el-col :span="8"> |
16 | <el-form-item prop="LJZH"> | 19 | <el-form-item prop="LJZH"> |
17 | <span slot="label"> | 20 | <span slot="label"> |
18 | 逻辑幢号: <br /> | 21 | 逻辑幢号: <br /> |
19 | <p class="label-detail">(LJZH)</p> | 22 | <p class="label-detail">(LJZH)</p> |
20 | </span> | 23 | </span> |
21 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.ljzh"></el-input> | 24 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ljzh"></el-input> |
22 | </el-form-item> | 25 | </el-form-item> |
23 | </el-col> | 26 | </el-col> |
24 | 27 | ||
25 | <el-col :span="8"> | 28 | <el-col :span="8"> |
26 | <el-form-item prop="ZRZH"> | 29 | <el-form-item prop="ZRZH"> |
27 | <span slot="label"> | 30 | <span slot="label"> |
28 | 自然幢号: <br /> | 31 | 自然幢号: <br /> |
29 | <p class="label-detail">(ZRZH)</p> | 32 | <p class="label-detail">(ZRZH)</p> |
30 | </span> | 33 | </span> |
31 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.zrzh"></el-input> | 34 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].zrzh"></el-input> |
32 | </el-form-item> | 35 | </el-form-item> |
33 | </el-col> | 36 | </el-col> |
34 | </el-row> | 37 | </el-row> |
35 | 38 | ||
36 | <el-row> | 39 | <el-row> |
37 | <el-col :span="8"> | 40 | <el-col :span="8"> |
38 | <el-form-item prop="MPH"> | 41 | <el-form-item prop="MPH"> |
39 | <span slot="label"> | 42 | <span slot="label"> |
40 | 门牌号: <br /> | 43 | 门牌号: <br /> |
41 | <p class="label-detail">(MPH)</p> | 44 | <p class="label-detail">(MPH)</p> |
42 | </span> | 45 | </span> |
43 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.mph"></el-input> | 46 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].mph"></el-input> |
44 | </el-form-item> | 47 | </el-form-item> |
45 | </el-col> | 48 | </el-col> |
46 | 49 | ||
47 | <el-col :span="8"> | 50 | <el-col :span="8"> |
48 | <el-form-item prop="YCJZMJ" :rules="{ type: 'number' }"> | 51 | <el-form-item prop="YCJZMJ" :rules="{ type: 'number' }"> |
49 | <span slot="label"> | 52 | <span slot="label"> |
50 | 预测建筑面积: <br /> | 53 | 预测建筑面积: <br /> |
51 | <p class="label-detail">(YCJZMJ)</p> | 54 | <p class="label-detail">(YCJZMJ)</p> |
52 | </span> | 55 | </span> |
53 | <el-input :disabled="$store.state.business.Edit" | 56 | <el-input :disabled="$store.state.business.Edit" |
54 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 57 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
55 | v-model.number="ruleForm.ycjzmj"></el-input> | 58 | v-model.number="ruleForm[index].ycjzmj"></el-input> |
56 | </el-form-item> | 59 | </el-form-item> |
57 | </el-col> | 60 | </el-col> |
58 | 61 | ||
59 | <el-col :span="8"> | 62 | <el-col :span="8"> |
60 | <el-form-item prop="YCDXMJ" :rules="{ type: 'number' }"> | 63 | <el-form-item prop="YCDXMJ" :rules="{ type: 'number' }"> |
61 | <span slot="label"> | 64 | <span slot="label"> |
62 | 预测地下面积: <br /> | 65 | 预测地下面积: <br /> |
63 | <p class="label-detail">(YCDXMJ)</p> | 66 | <p class="label-detail">(YCDXMJ)</p> |
64 | </span> | 67 | </span> |
65 | <el-input :disabled="$store.state.business.Edit" | 68 | <el-input :disabled="$store.state.business.Edit" |
66 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 69 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
67 | v-model.number="ruleForm.ycdxmj"></el-input> | 70 | v-model.number="ruleForm[index].ycdxmj"></el-input> |
68 | </el-form-item> | 71 | </el-form-item> |
69 | </el-col> | 72 | </el-col> |
70 | </el-row> | 73 | </el-row> |
71 | 74 | ||
72 | <el-row> | 75 | <el-row> |
73 | <el-col :span="8"> | 76 | <el-col :span="8"> |
74 | <el-form-item prop="YCQTMJ" :rules="{ type: 'number' }"> | 77 | <el-form-item prop="YCQTMJ" :rules="{ type: 'number' }"> |
75 | <span slot="label"> | 78 | <span slot="label"> |
76 | 预测其它面积: <br /> | 79 | 预测其它面积: <br /> |
77 | <p class="label-detail">(YCQTMJ)</p> | 80 | <p class="label-detail">(YCQTMJ)</p> |
78 | </span> | 81 | </span> |
79 | <el-input :disabled="$store.state.business.Edit" | 82 | <el-input :disabled="$store.state.business.Edit" |
80 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 83 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
81 | v-model.number="ruleForm.ycqtmj"></el-input> | 84 | v-model.number="ruleForm[index].ycqtmj"></el-input> |
82 | </el-form-item> | 85 | </el-form-item> |
83 | </el-col> | 86 | </el-col> |
84 | 87 | ||
85 | <el-col :span="8"> | 88 | <el-col :span="8"> |
86 | <el-form-item prop="SCJZMJ" :rules="{ type: 'number' }"> | 89 | <el-form-item prop="SCJZMJ" :rules="{ type: 'number' }"> |
87 | <span slot="label"> | 90 | <span slot="label"> |
88 | 实测建筑面积: <br /> | 91 | 实测建筑面积: <br /> |
89 | <p class="label-detail">(SCJZMJ)</p> | 92 | <p class="label-detail">(SCJZMJ)</p> |
90 | </span> | 93 | </span> |
91 | <el-input :disabled="$store.state.business.Edit" | 94 | <el-input :disabled="$store.state.business.Edit" |
92 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 95 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
93 | v-model.number="ruleForm.scjzmj"></el-input> | 96 | v-model.number="ruleForm[index].scjzmj"></el-input> |
94 | </el-form-item> | 97 | </el-form-item> |
95 | </el-col> | 98 | </el-col> |
96 | 99 | ||
97 | <el-col :span="8"> | 100 | <el-col :span="8"> |
98 | <el-form-item prop="SCDXMJ" :rules="{ type: 'number' }"> | 101 | <el-form-item prop="SCDXMJ" :rules="{ type: 'number' }"> |
99 | <span slot="label"> | 102 | <span slot="label"> |
100 | 实测地下面积: <br /> | 103 | 实测地下面积: <br /> |
101 | <p class="label-detail">(SCDXMJ)</p> | 104 | <p class="label-detail">(SCDXMJ)</p> |
102 | </span> | 105 | </span> |
103 | <el-input :disabled="$store.state.business.Edit" | 106 | <el-input :disabled="$store.state.business.Edit" |
104 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 107 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
105 | v-model.number="ruleForm.scdxmj"></el-input> | 108 | v-model.number="ruleForm[index].scdxmj"></el-input> |
106 | </el-form-item> | 109 | </el-form-item> |
107 | </el-col> | 110 | </el-col> |
108 | </el-row> | 111 | </el-row> |
109 | 112 | ||
110 | <el-row> | 113 | <el-row> |
111 | <el-col :span="8"> | 114 | <el-col :span="8"> |
112 | <el-form-item prop="SCQTMJ" :rules="{ type: 'number' }"> | 115 | <el-form-item prop="SCQTMJ" :rules="{ type: 'number' }"> |
113 | <span slot="label"> | 116 | <span slot="label"> |
114 | 实测其它面积: <br /> | 117 | 实测其它面积: <br /> |
115 | <p class="label-detail">(SCQTMJ)</p> | 118 | <p class="label-detail">(SCQTMJ)</p> |
116 | </span> | 119 | </span> |
117 | <el-input :disabled="$store.state.business.Edit" | 120 | <el-input :disabled="$store.state.business.Edit" |
118 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" | 121 | v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" |
119 | v-model.number="ruleForm.scqtmj"></el-input> | 122 | v-model.number="ruleForm[index].scqtmj"></el-input> |
120 | </el-form-item> | 123 | </el-form-item> |
121 | </el-col> | 124 | </el-col> |
122 | 125 | ||
123 | <el-col :span="8"> | 126 | <el-col :span="8"> |
124 | <el-form-item prop="JGRQ"> | 127 | <el-form-item prop="JGRQ"> |
125 | <span slot="label"> | 128 | <span slot="label"> |
126 | 竣工日期: <br /> | 129 | 竣工日期: <br /> |
127 | <p class="label-detail">(JGRQ)</p> | 130 | <p class="label-detail">(JGRQ)</p> |
128 | </span> | 131 | </span> |
129 | <el-date-picker :disabled="$store.state.business.Edit" type="datetime" clearable v-model="ruleForm.jgrq" | 132 | <el-date-picker :disabled="$store.state.business.Edit" type="datetime" clearable v-model="ruleForm[index].jgrq" |
130 | value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> | 133 | value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> |
131 | </el-form-item> | 134 | </el-form-item> |
132 | </el-col> | 135 | </el-col> |
133 | 136 | ||
134 | <el-col :span="8"> | 137 | <el-col :span="8"> |
135 | <el-form-item prop="FWJG1"> | 138 | <el-form-item prop="FWJG1"> |
136 | <span slot="label"> | 139 | <span slot="label"> |
137 | 房屋结构1: <br /> | 140 | 房屋结构1: <br /> |
138 | <p class="label-detail">(FWJG1)</p> | 141 | <p class="label-detail">(FWJG1)</p> |
139 | </span> | 142 | </span> |
140 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwjg1"></el-input> | 143 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwjg1"></el-input> |
141 | </el-form-item> | 144 | </el-form-item> |
142 | </el-col> | 145 | </el-col> |
143 | </el-row> | 146 | </el-row> |
144 | 147 | ||
145 | <el-row> | 148 | <el-row> |
146 | <el-col :span="8"> | 149 | <el-col :span="8"> |
147 | <el-form-item prop="FWJG2"> | 150 | <el-form-item prop="FWJG2"> |
148 | <span slot="label"> | 151 | <span slot="label"> |
149 | 房屋结构2: <br /> | 152 | 房屋结构2: <br /> |
150 | <p class="label-detail">(FWJG2)</p> | 153 | <p class="label-detail">(FWJG2)</p> |
151 | </span> | 154 | </span> |
152 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwjg2"></el-input> | 155 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwjg2"></el-input> |
153 | </el-form-item> | 156 | </el-form-item> |
154 | </el-col> | 157 | </el-col> |
155 | 158 | ||
156 | <el-col :span="8"> | 159 | <el-col :span="8"> |
157 | <el-form-item prop="FWJG3"> | 160 | <el-form-item prop="FWJG3"> |
158 | <span slot="label"> | 161 | <span slot="label"> |
159 | 房屋结构3: <br /> | 162 | 房屋结构3: <br /> |
160 | <p class="label-detail">(FWJG3)</p> | 163 | <p class="label-detail">(FWJG3)</p> |
161 | </span> | 164 | </span> |
162 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwjg3"></el-input> | 165 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwjg3"></el-input> |
163 | </el-form-item> | 166 | </el-form-item> |
164 | </el-col> | 167 | </el-col> |
165 | 168 | ||
166 | <el-col :span="8"> | 169 | <el-col :span="8"> |
167 | <el-form-item prop="JZWZT"> | 170 | <el-form-item prop="JZWZT"> |
168 | <span slot="label"> | 171 | <span slot="label"> |
169 | 建筑物状态: <br /> | 172 | 建筑物状态: <br /> |
170 | <p class="label-detail">(JZWZT)</p> | 173 | <p class="label-detail">(JZWZT)</p> |
171 | </span> | 174 | </span> |
172 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.jzwzt"></el-input> | 175 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].jzwzt"></el-input> |
173 | </el-form-item> | 176 | </el-form-item> |
174 | </el-col> | 177 | </el-col> |
175 | </el-row> | 178 | </el-row> |
176 | 179 | ||
177 | <el-row> | 180 | <el-row> |
178 | <el-col :span="8"> | 181 | <el-col :span="8"> |
179 | <el-form-item prop="FWYT"> | 182 | <el-form-item prop="FWYT"> |
180 | <span slot="label"> | 183 | <span slot="label"> |
181 | 房屋用途1: <br /> | 184 | 房屋用途1: <br /> |
182 | <p class="label-detail">(FWYT)</p> | 185 | <p class="label-detail">(FWYT)</p> |
183 | </span> | 186 | </span> |
184 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwyt"></el-input> | 187 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwyt"></el-input> |
185 | </el-form-item> | 188 | </el-form-item> |
186 | </el-col> | 189 | </el-col> |
187 | 190 | ||
188 | <el-col :span="8"> | 191 | <el-col :span="8"> |
189 | <el-form-item prop="FWYT2"> | 192 | <el-form-item prop="FWYT2"> |
190 | <span slot="label"> | 193 | <span slot="label"> |
191 | 房屋用途2: <br /> | 194 | 房屋用途2: <br /> |
192 | <p class="label-detail">(FWYT2)</p> | 195 | <p class="label-detail">(FWYT2)</p> |
193 | </span> | 196 | </span> |
194 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwyt2"></el-input> | 197 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwyt2"></el-input> |
195 | </el-form-item> | 198 | </el-form-item> |
196 | </el-col> | 199 | </el-col> |
197 | 200 | ||
198 | <el-col :span="8"> | 201 | <el-col :span="8"> |
199 | <el-form-item prop="FWYT3"> | 202 | <el-form-item prop="FWYT3"> |
200 | <span slot="label"> | 203 | <span slot="label"> |
201 | 房屋用途3: <br /> | 204 | 房屋用途3: <br /> |
202 | <p class="label-detail">(FWYT3)</p> | 205 | <p class="label-detail">(FWYT3)</p> |
203 | </span> | 206 | </span> |
204 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.fwyt3"></el-input> | 207 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].fwyt3"></el-input> |
205 | </el-form-item> | 208 | </el-form-item> |
206 | </el-col> | 209 | </el-col> |
207 | </el-row> | 210 | </el-row> |
208 | 211 | ||
209 | <el-row> | 212 | <el-row> |
210 | <el-col :span="8"> | 213 | <el-col :span="8"> |
211 | <el-form-item prop="ZCS" :rules="{ type: 'number' }"> | 214 | <el-form-item prop="ZCS" :rules="{ type: 'number' }"> |
212 | <span slot="label"> | 215 | <span slot="label"> |
213 | 总层数: <br /> | 216 | 总层数: <br /> |
214 | <p class="label-detail">(ZCS)</p> | 217 | <p class="label-detail">(ZCS)</p> |
215 | </span> | 218 | </span> |
216 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 9999, min: 0, precision: 0 }" | 219 | <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 9999, min: 0, precision: 0 }" |
217 | title="" type="number" v-model.number="ruleForm.zcs"></el-input> | 220 | title="" type="number" v-model.number="ruleForm[index].zcs"></el-input> |
218 | </el-form-item> | 221 | </el-form-item> |
219 | </el-col> | 222 | </el-col> |
220 | 223 | ||
221 | <el-col :span="8"> | 224 | <el-col :span="8"> |
222 | <el-form-item prop="DSCS"> | 225 | <el-form-item prop="DSCS"> |
223 | <span slot="label"> | 226 | <span slot="label"> |
224 | 地上层数: <br /> | 227 | 地上层数: <br /> |
225 | <p class="label-detail">(DSCS)</p> | 228 | <p class="label-detail">(DSCS)</p> |
226 | </span> | 229 | </span> |
227 | <el-input :disabled="$store.state.business.Edit" maxlength="5" v-model="ruleForm.dscs"></el-input> | 230 | <el-input :disabled="$store.state.business.Edit" maxlength="5" v-model="ruleForm[index].dscs"></el-input> |
228 | </el-form-item> | 231 | </el-form-item> |
229 | </el-col> | 232 | </el-col> |
230 | 233 | ||
231 | <el-col :span="8"> | 234 | <el-col :span="8"> |
232 | <el-form-item prop="DXCS"> | 235 | <el-form-item prop="DXCS"> |
233 | <span slot="label"> | 236 | <span slot="label"> |
234 | 地下层数: <br /> | 237 | 地下层数: <br /> |
235 | <p class="label-detail">(DXCS)</p> | 238 | <p class="label-detail">(DXCS)</p> |
236 | </span> | 239 | </span> |
237 | <el-input :disabled="$store.state.business.Edit" maxlength="5" v-model="ruleForm.dxcs"></el-input> | 240 | <el-input :disabled="$store.state.business.Edit" maxlength="5" v-model="ruleForm[index].dxcs"></el-input> |
238 | </el-form-item> | 241 | </el-form-item> |
239 | </el-col> | 242 | </el-col> |
240 | </el-row> | 243 | </el-row> |
241 | 244 | ||
242 | <el-row> | 245 | <el-row> |
243 | <el-col :span="8"> | 246 | <el-col :span="8"> |
244 | <el-form-item prop="BZ"> | 247 | <el-form-item prop="BZ"> |
245 | <span slot="label"> | 248 | <span slot="label"> |
246 | 备注: <br /> | 249 | 备注: <br /> |
247 | <p class="label-detail">(BZ)</p> | 250 | <p class="label-detail">(BZ)</p> |
248 | </span> | 251 | </span> |
249 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.bz"></el-input> | 252 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].bz"></el-input> |
250 | </el-form-item> | 253 | </el-form-item> |
251 | </el-col> | 254 | </el-col> |
252 | 255 | ||
253 | <el-col :span="8"> | 256 | <el-col :span="8"> |
254 | <el-form-item prop="QXDM"> | 257 | <el-form-item prop="QXDM"> |
255 | <span slot="label"> | 258 | <span slot="label"> |
256 | 区县代码: <br /> | 259 | 区县代码: <br /> |
257 | <p class="label-detail">(QXDM)</p> | 260 | <p class="label-detail">(QXDM)</p> |
258 | </span> | 261 | </span> |
259 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm.qxdm"></el-input> | 262 | <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].qxdm"></el-input> |
260 | </el-form-item> | 263 | </el-form-item> |
261 | </el-col> | 264 | </el-col> |
265 | |||
266 | </el-row> | ||
267 | </div> | ||
268 | </div> | ||
262 | 269 | ||
263 | </el-row> | ||
264 | </el-form> | 270 | </el-form> |
265 | <message-tips ref="msg" /> | ||
266 | </div> | 271 | </div> |
267 | </template> | 272 | </template> |
268 | <script> | 273 | <script> |
269 | // 逻辑幢信息 | 274 | // 逻辑幢信息 |
270 | import kttFwLjz from "@/api/kttFwLjz"; | 275 | import kttFwLjz from "@/api/kttFwLjz"; |
271 | import ruleMixin from "@/mixins/ruleMixin.js"; | 276 | import ruleMixin from "@/mixins/ruleMixin.js"; |
272 | export default { | 277 | export default { |
273 | mixins: [ruleMixin], | 278 | mixins: [ruleMixin], |
274 | props: { | 279 | props: { |
275 | bsmSjsb: { | 280 | bsmSjsb: { |
276 | type: String, | 281 | type: String, |
277 | default: "", | 282 | default: "" |
278 | }, | 283 | }, |
279 | bsmYwsjb: { | 284 | bsmYwsjb: { |
280 | type: String, | 285 | type: String, |
281 | default: "", | 286 | default: "" |
282 | }, | ||
283 | }, | ||
284 | data() { | ||
285 | return { | ||
286 | ruleForm: { | ||
287 | YSDM: "", | ||
288 | LJZH: "", | ||
289 | ZRZH: "", | ||
290 | MPH: "", | ||
291 | YCJZMJ: "", | ||
292 | YCDXMJ: "", | ||
293 | YCQTMJ: "", | ||
294 | SCJZMJ: "", | ||
295 | SCDXMJ: "", | ||
296 | SCQTMJ: "", | ||
297 | JGRQ: "", | ||
298 | FWJG1: "", | ||
299 | FWJG2: "", | ||
300 | FWJG3: "", | ||
301 | JZWZT: "", | ||
302 | FWYT: "", | ||
303 | FWYT2: "", | ||
304 | FWYT3: "", | ||
305 | ZCS: "", | ||
306 | DSCS: "", | ||
307 | DXCS: "", | ||
308 | BZ: "", | ||
309 | QXDM: "", | ||
310 | }, | 287 | }, |
311 | }; | 288 | }, |
312 | }, | 289 | data () { |
313 | methods: { | 290 | return { |
314 | async featchData() { | 291 | ruleForm: [{ |
315 | try { | 292 | YSDM: "", |
316 | let { result: res } = await kttFwLjz.getKttFwLjzById(this.bsmSjsb); | 293 | LJZH: "", |
317 | this.ruleForm = res; | 294 | ZRZH: "", |
318 | //this.featchRule() | 295 | MPH: "", |
319 | } catch (error) { | 296 | YCJZMJ: "", |
320 | this.$refs.msg.messageShow(); | 297 | YCDXMJ: "", |
298 | YCQTMJ: "", | ||
299 | SCJZMJ: "", | ||
300 | SCDXMJ: "", | ||
301 | SCQTMJ: "", | ||
302 | JGRQ: "", | ||
303 | FWJG1: "", | ||
304 | FWJG2: "", | ||
305 | FWJG3: "", | ||
306 | JZWZT: "", | ||
307 | FWYT: "", | ||
308 | FWYT2: "", | ||
309 | FWYT3: "", | ||
310 | ZCS: "", | ||
311 | DSCS: "", | ||
312 | DXCS: "", | ||
313 | BZ: "", | ||
314 | QXDM: "" | ||
315 | }] | ||
321 | } | 316 | } |
322 | }, | 317 | }, |
323 | handleUpdateForm() { | 318 | methods: { |
324 | return new Promise(async (resolve, reject) => { | 319 | async featchData () { |
325 | try { | 320 | try { |
326 | let res = await kttFwLjz.updateKttFwLjz(this.ruleForm); | 321 | let { result: res } = await kttFwLjz.getKttFwLjzById(this.bsmSjsb); |
327 | // this.$refs['formList'].resetFields(); | 322 | this.ruleForm = res; |
328 | resolve(res.code); | 323 | //this.featchRule() |
329 | } catch (error) { | 324 | } catch (error) { |
330 | this.$refs.msg.messageShow(); | 325 | this.$refs.msg.messageShow(); |
331 | } | 326 | } |
332 | }); | 327 | }, |
333 | }, | 328 | handleUpdateForm () { |
334 | }, | 329 | return new Promise(async (resolve, reject) => { |
335 | }; | 330 | try { |
331 | let res = await kttFwLjz.updateKttFwLjz(this.ruleForm); | ||
332 | // this.$refs['formList'].resetFields(); | ||
333 | resolve(res.code); | ||
334 | } catch (error) { | ||
335 | this.$refs.msg.messageShow() | ||
336 | } | ||
337 | }) | ||
338 | } | ||
339 | } | ||
340 | } | ||
336 | </script> | 341 | </script> |
337 | <style scoped lang="scss"> | 342 | <style scoped lang="scss"> |
338 | @import "./css/itemForm.scss"; | 343 | @import "./css/itemForm.scss"; |
339 | </style> | 344 | </style> |
340 | 345 | ||
341 | 346 | ... | ... |
... | @@ -315,112 +315,113 @@ | ... | @@ -315,112 +315,113 @@ |
315 | </div> | 315 | </div> |
316 | </template> | 316 | </template> |
317 | <script> | 317 | <script> |
318 | // 自然幢 | 318 | // 自然幢 |
319 | import kttFwZrz from "@/api/kttFwZrz"; | 319 | import kttFwZrz from "@/api/kttFwZrz"; |
320 | import ruleMixin from "@/mixins/ruleMixin.js"; | 320 | import ruleMixin from "@/mixins/ruleMixin.js"; |
321 | export default { | 321 | export default { |
322 | mixins: [ruleMixin], | 322 | mixins: [ruleMixin], |
323 | props: { | 323 | props: { |
324 | bsmSjsb: { | 324 | bsmSjsb: { |
325 | type: String, | 325 | type: String, |
326 | default: "", | 326 | default: "", |
327 | }, | 327 | }, |
328 | bsmYwsjb: { | 328 | bsmYwsjb: { |
329 | type: String, | 329 | type: String, |
330 | default: "", | 330 | default: "", |
331 | }, | ||
332 | }, | ||
333 | data () { | ||
334 | return { | ||
335 | naturalForm: { | ||
336 | naturalList: [ | ||
337 | { | ||
338 | BSM: "", | ||
339 | YSDM: "", | ||
340 | BDCDYH: "", | ||
341 | ZDDM: "", | ||
342 | ZRZH: "", | ||
343 | XMMC: "", | ||
344 | JZWMC: "", | ||
345 | JGRQ: "", | ||
346 | JZWGD: "", | ||
347 | ZZDMJ: "", | ||
348 | ZYDMJ: "", | ||
349 | YCJZMJ: "", | ||
350 | SCJZMJ: "", | ||
351 | ZCS: "", | ||
352 | DSCS: "", | ||
353 | DXCS: "", | ||
354 | DXSD: "", | ||
355 | GHYT: "", | ||
356 | FWJG: "", | ||
357 | ZTS: "", | ||
358 | JZWJBYT: "", | ||
359 | DAH: "", | ||
360 | BZ: "", | ||
361 | ZT: "", | ||
362 | QXDM: "", | ||
363 | }, | ||
364 | ], | ||
365 | }, | 331 | }, |
366 | }; | ||
367 | }, | ||
368 | methods: { | ||
369 | async featchData () { | ||
370 | try { | ||
371 | let { result: res } = await kttFwZrz.getKttFwZrzById(this.bsmSjsb); | ||
372 | this.naturalForm.naturalList = res; | ||
373 | //this.featchRule() | ||
374 | } catch (error) { | ||
375 | this.$refs.msg.messageShow(); | ||
376 | } | ||
377 | }, | 332 | }, |
378 | handleUpdateForm () { | 333 | data () { |
379 | return new Promise(async (resolve) => { | 334 | return { |
335 | naturalForm: { | ||
336 | naturalList: [ | ||
337 | { | ||
338 | BSM: "", | ||
339 | YSDM: "", | ||
340 | BDCDYH: "", | ||
341 | ZDDM: "", | ||
342 | ZRZH: "", | ||
343 | XMMC: "", | ||
344 | JZWMC: "", | ||
345 | JGRQ: "", | ||
346 | JZWGD: "", | ||
347 | ZZDMJ: "", | ||
348 | ZYDMJ: "", | ||
349 | YCJZMJ: "", | ||
350 | SCJZMJ: "", | ||
351 | ZCS: "", | ||
352 | DSCS: "", | ||
353 | DXCS: "", | ||
354 | DXSD: "", | ||
355 | GHYT: "", | ||
356 | FWJG: "", | ||
357 | ZTS: "", | ||
358 | JZWJBYT: "", | ||
359 | DAH: "", | ||
360 | BZ: "", | ||
361 | ZT: "", | ||
362 | QXDM: "", | ||
363 | }, | ||
364 | ], | ||
365 | }, | ||
366 | }; | ||
367 | }, | ||
368 | methods: { | ||
369 | async featchData () { | ||
380 | try { | 370 | try { |
381 | let res = await kttFwZrz.updateKttFwZrz(this.naturalForm.naturalList); | 371 | let { result: res } = await kttFwZrz.getKttFwZrzById(this.bsmSjsb); |
382 | // this.$refs['formList'].resetFields(); | 372 | this.naturalForm.naturalList = res; |
383 | resolve(res.code); | 373 | //this.featchRule() |
384 | } catch (error) { | 374 | } catch (error) { |
385 | this.$refs.msg.messageShow(); | 375 | this.$refs.msg.messageShow(); |
386 | } | 376 | } |
387 | }); | 377 | }, |
378 | handleUpdateForm () { | ||
379 | return new Promise(async (resolve) => { | ||
380 | try { | ||
381 | let res = await kttFwZrz.updateKttFwZrz(this.naturalForm.naturalList); | ||
382 | // this.$refs['formList'].resetFields(); | ||
383 | resolve(res.code); | ||
384 | } catch (error) { | ||
385 | this.$refs.msg.messageShow(); | ||
386 | } | ||
387 | }); | ||
388 | }, | ||
388 | }, | 389 | }, |
389 | }, | 390 | }; |
390 | }; | ||
391 | </script> | 391 | </script> |
392 | <style scoped lang="scss"> | 392 | <style scoped lang="scss"> |
393 | @import "./css/itemForm.scss"; | 393 | @import "./css/itemForm.scss"; |
394 | 394 | ||
395 | .naturalBuilding { | 395 | .naturalBuilding { |
396 | .naturalBuilding-item { | 396 | .naturalBuilding-item { |
397 | display: flex; | ||
398 | height: 100%; | ||
399 | margin-bottom: 15px; | ||
400 | margin-right: 5px; | ||
401 | |||
402 | .naturalBuilding-name { | ||
403 | display: flex; | 397 | display: flex; |
404 | align-items: center; | 398 | height: 100%; |
405 | justify-content: center; | 399 | margin-bottom: 15px; |
406 | width: 20px; | 400 | margin-right: 5px; |
407 | padding: 10px 20px; | 401 | |
408 | line-height: 28px; | 402 | .naturalBuilding-name { |
409 | border: 1px solid #ccc; | 403 | display: flex; |
410 | margin-right: 15px; | 404 | align-items: center; |
411 | border-radius: 3px; | 405 | justify-content: center; |
412 | } | 406 | width: 20px; |
407 | padding: 10px 20px; | ||
408 | line-height: 28px; | ||
409 | border: 1px solid #ccc; | ||
410 | margin-right: 15px; | ||
411 | border-radius: 3px; | ||
412 | margin-left: 10px; | ||
413 | } | ||
413 | 414 | ||
414 | .naturalBuilding-list { | 415 | .naturalBuilding-list { |
415 | width: 100%; | 416 | width: 100%; |
416 | flex: 1; | 417 | flex: 1; |
418 | } | ||
417 | } | 419 | } |
418 | } | ||
419 | 420 | ||
420 | .bsm { | 421 | .bsm { |
421 | white-space: nowrap; | 422 | white-space: nowrap; |
423 | } | ||
422 | } | 424 | } |
423 | } | ||
424 | </style> | 425 | </style> |
425 | 426 | ||
426 | 427 | ... | ... |
... | @@ -139,32 +139,6 @@ export default { | ... | @@ -139,32 +139,6 @@ export default { |
139 | </script> | 139 | </script> |
140 | <style scoped lang="scss"> | 140 | <style scoped lang="scss"> |
141 | @import "./css/itemForm.scss"; | 141 | @import "./css/itemForm.scss"; |
142 | |||
143 | .obligee-item { | ||
144 | display: flex; | ||
145 | height: 100%; | ||
146 | margin-bottom: 15px; | ||
147 | margin-right: 5px; | ||
148 | |||
149 | &-name { | ||
150 | display: flex; | ||
151 | align-items: center; | ||
152 | justify-content: center; | ||
153 | width: 20px; | ||
154 | padding: 10px 20px; | ||
155 | line-height: 28px; | ||
156 | border: 1px solid #ccc; | ||
157 | border-radius: 3px; | ||
158 | } | ||
159 | |||
160 | &-list { | ||
161 | width: 100%; | ||
162 | flex: 1; | ||
163 | display: flex; | ||
164 | justify-content: center; | ||
165 | flex-direction: column; | ||
166 | } | ||
167 | } | ||
168 | </style> | 142 | </style> |
169 | 143 | ||
170 | 144 | ... | ... |
... | @@ -447,32 +447,6 @@ | ... | @@ -447,32 +447,6 @@ |
447 | </script> | 447 | </script> |
448 | <style scoped lang="scss"> | 448 | <style scoped lang="scss"> |
449 | @import "./css/itemForm.scss"; | 449 | @import "./css/itemForm.scss"; |
450 | |||
451 | .obligee-item { | ||
452 | display: flex; | ||
453 | height: 100%; | ||
454 | margin-bottom: 15px; | ||
455 | margin-right: 5px; | ||
456 | |||
457 | &-name { | ||
458 | display: flex; | ||
459 | align-items: center; | ||
460 | justify-content: center; | ||
461 | width: 20px; | ||
462 | padding: 10px 20px; | ||
463 | line-height: 28px; | ||
464 | border: 1px solid #ccc; | ||
465 | border-radius: 3px; | ||
466 | } | ||
467 | |||
468 | &-list { | ||
469 | width: 100%; | ||
470 | flex: 1; | ||
471 | display: flex; | ||
472 | justify-content: center; | ||
473 | flex-direction: column; | ||
474 | } | ||
475 | } | ||
476 | </style> | 450 | </style> |
477 | 451 | ||
478 | 452 | ... | ... |
... | @@ -129,8 +129,8 @@ | ... | @@ -129,8 +129,8 @@ |
129 | </template> | 129 | </template> |
130 | 130 | ||
131 | <script> | 131 | <script> |
132 | import axios from "axios"; | ||
133 | import Vue from 'vue' | 132 | import Vue from 'vue' |
133 | import axios from "axios"; | ||
134 | const urlHeader = Vue.prototype.BASE_API.SERVERAPI + '/rest/sjsb/DataReport/' | 134 | const urlHeader = Vue.prototype.BASE_API.SERVERAPI + '/rest/sjsb/DataReport/' |
135 | import { mapGetters } from "vuex"; | 135 | import { mapGetters } from "vuex"; |
136 | import JsonEditor from "@/components/JsonEditor.vue"; | 136 | import JsonEditor from "@/components/JsonEditor.vue"; | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: log | 2 | * @Description: log |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-23 16:29:12 | 4 | * @LastEditTime: 2023-05-12 09:27:35 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <el-menu router :default-active="activeMenu" mode="horizontal"> | 7 | <el-menu router :default-active="activeMenu" mode="horizontal"> |
8 | <!-- 权限菜单 --> | 8 | <!-- 权限菜单 --> |
9 | <sidebar-item v-for="route in permission_routes.slice(4, 7)" :key="route.path" :item="route" | 9 | <sidebar-item v-for="route in permission_routes.slice(3, 6)" :key="route.path" :item="route" |
10 | :base-path="route.path" /> | 10 | :base-path="route.path" /> |
11 | <!-- 菜单全部展示 --> | 11 | <!-- 菜单全部展示 --> |
12 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | 12 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | ... | ... |
... | @@ -2,14 +2,14 @@ | ... | @@ -2,14 +2,14 @@ |
2 | * @Author: xiaomiao 1158771342@qq.com | 2 | * @Author: xiaomiao 1158771342@qq.com |
3 | * @Date: 2023-01-10 09:03:06 | 3 | * @Date: 2023-01-10 09:03:06 |
4 | * @LastEditors: Please set LastEditors | 4 | * @LastEditors: Please set LastEditors |
5 | * @LastEditTime: 2023-03-23 16:29:24 | 5 | * @LastEditTime: 2023-05-12 09:27:42 |
6 | * @FilePath: \监管系统\js-web-jianguan\src\layout\components\Sidebar\sidebarRight.vue | 6 | * @FilePath: \监管系统\js-web-jianguan\src\layout\components\Sidebar\sidebarRight.vue |
7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | 7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
8 | --> | 8 | --> |
9 | <template> | 9 | <template> |
10 | <el-menu router :default-active="activeMenu" mode="horizontal"> | 10 | <el-menu router :default-active="activeMenu" mode="horizontal"> |
11 | <!-- 权限菜单 --> | 11 | <!-- 权限菜单 --> |
12 | <sidebar-item v-for="route in permission_routes.slice(7, 10)" :key="route.path" :item="route" | 12 | <sidebar-item v-for="route in permission_routes.slice(6, 9)" :key="route.path" :item="route" |
13 | :base-path="route.path" /> | 13 | :base-path="route.path" /> |
14 | <!-- 菜单全部展示 --> | 14 | <!-- 菜单全部展示 --> |
15 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | 15 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | ... | ... |
src/layout1/components/AppMain.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-28 10:12:27 | ||
5 | --> | ||
6 | <template> | ||
7 | <transition name="fade-transform" mode="out-in"> | ||
8 | <router-view /> | ||
9 | </transition> | ||
10 | </template> | ||
11 | <script> | ||
12 | export default { | ||
13 | name: 'AppMain', | ||
14 | computed: { | ||
15 | key () { | ||
16 | return this.$route.path | ||
17 | } | ||
18 | } | ||
19 | } | ||
20 | </script> |
1 | <!--面包屑 --> | ||
2 | <template> | ||
3 | <el-breadcrumb class="app-breadcrumb" separator="/"> | ||
4 | <transition-group name="breadcrumb"> | ||
5 | <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path"> | ||
6 | <span class="no-redirect">当前位置></span> | ||
7 | <!-- <svg-icon v-if="item.meta.icon" :icon-class="item.meta.icon" class="breadcrumbIcon" /> --> | ||
8 | <span v-if="item.redirect === 'noRedirect' || index == levelList.length - 1" class="no-redirect">{{ | ||
9 | item.meta.title | ||
10 | }}</span> | ||
11 | <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> | ||
12 | </el-breadcrumb-item> | ||
13 | </transition-group> | ||
14 | </el-breadcrumb> | ||
15 | </template> | ||
16 | |||
17 | <script> | ||
18 | import pathToRegexp from 'path-to-regexp' | ||
19 | |||
20 | export default { | ||
21 | data () { | ||
22 | return { | ||
23 | levelList: null | ||
24 | } | ||
25 | }, | ||
26 | watch: { | ||
27 | $route (route) { | ||
28 | // if you go to the redirect page, do not update the breadcrumbs | ||
29 | if (route.path.startsWith('/redirect/')) { | ||
30 | return | ||
31 | } | ||
32 | this.getBreadcrumb() | ||
33 | } | ||
34 | }, | ||
35 | created () { | ||
36 | this.getBreadcrumb() | ||
37 | }, | ||
38 | methods: { | ||
39 | getBreadcrumb () { | ||
40 | // only show routes with meta.title | ||
41 | let matched = this.$route.matched.filter(item => item.meta && item.meta.title) | ||
42 | const first = matched[0] | ||
43 | |||
44 | if (!this.isDashboard(first)) { | ||
45 | matched = matched | ||
46 | } | ||
47 | |||
48 | this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) | ||
49 | }, | ||
50 | isDashboard (route) { | ||
51 | const name = route && route.name | ||
52 | if (!name) { | ||
53 | return false | ||
54 | } | ||
55 | return name.trim().toLocaleLowerCase() === 'Dashboard'.toLocaleLowerCase() | ||
56 | }, | ||
57 | pathCompile (path) { | ||
58 | const { params } = this.$route | ||
59 | var toPath = pathToRegexp.compile(path) | ||
60 | return toPath(params) | ||
61 | }, | ||
62 | handleLink (item) { | ||
63 | const { redirect, path } = item | ||
64 | if (redirect) { | ||
65 | this.$router.push(redirect) | ||
66 | return | ||
67 | } | ||
68 | this.$router.push(this.pathCompile(path)) | ||
69 | } | ||
70 | } | ||
71 | } | ||
72 | </script> | ||
73 | |||
74 | <style lang="scss" scoped> | ||
75 | .app-breadcrumb.el-breadcrumb { | ||
76 | display: inline-block; | ||
77 | font-size: 14px; | ||
78 | line-height: 50px; | ||
79 | margin-left: 8px; | ||
80 | |||
81 | .no-redirect { | ||
82 | color: #ffffff; | ||
83 | cursor: text; | ||
84 | font-size: 16px; | ||
85 | } | ||
86 | |||
87 | .breadcrumbIcon { | ||
88 | color: #ffffff; | ||
89 | margin-right: 5px; | ||
90 | width: 16px; | ||
91 | height: 16px; | ||
92 | } | ||
93 | } | ||
94 | </style> |
src/layout1/components/Navbar.vue
deleted
100644 → 0
1 | <template> | ||
2 | <div class="navbar-con"> | ||
3 | <div class="navbar"> | ||
4 | <div class="logo"> | ||
5 | <img :src="require('@/image/bdclogo.png')" alt="" /> | ||
6 | <h4>{{ BASE_API.TITLE }}</h4> | ||
7 | </div> | ||
8 | <div class="right-menu"> | ||
9 | <div class="user"> | ||
10 | {{ userName }} | ||
11 | <span @click="onCancel"> | ||
12 | <i class="el-icon-switch-button"></i> | ||
13 | </span> | ||
14 | </div> | ||
15 | </div> | ||
16 | </div> | ||
17 | </div> | ||
18 | </template> | ||
19 | <script> | ||
20 | import { mapGetters } from 'vuex' | ||
21 | import Breadcrumb from './Breadcrumb' | ||
22 | import { logout } from "@/api/login.js"; | ||
23 | export default { | ||
24 | components: { | ||
25 | Breadcrumb | ||
26 | }, | ||
27 | computed: { | ||
28 | ...mapGetters(["userInfo"]), | ||
29 | userName () { | ||
30 | return this.userInfo ? this.userInfo.name : "" | ||
31 | } | ||
32 | }, | ||
33 | methods: { | ||
34 | handleDataView () { | ||
35 | const { href } = this.$router.resolve('/dataView'); | ||
36 | window.open(href, '_blank'); | ||
37 | }, | ||
38 | themeChange (val) { | ||
39 | this.$store.dispatch('app/updateTheme', val) | ||
40 | }, | ||
41 | onCancel () { | ||
42 | logout() | ||
43 | .then((res) => { | ||
44 | sessionStorage.removeItem("token"); | ||
45 | this.$store.dispatch("user/resetState"); | ||
46 | this.$store.dispatch("permission/resetRoutes"); | ||
47 | this.$router.replace({ | ||
48 | path: "/sb" | ||
49 | }) | ||
50 | }) | ||
51 | .catch((error) => { | ||
52 | // console.dir(error); | ||
53 | }) | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | </script> | ||
58 | <style lang="scss" scoped> | ||
59 | @import "~@/styles/_handle.scss"; | ||
60 | |||
61 | .navbar-con { | ||
62 | position: relative; | ||
63 | |||
64 | .logo { | ||
65 | color: #fff; | ||
66 | font-size: 26px; | ||
67 | font-weight: 700; | ||
68 | display: flex; | ||
69 | margin-left: 15px; | ||
70 | |||
71 | img { | ||
72 | width: 47px; | ||
73 | height: 47px; | ||
74 | } | ||
75 | |||
76 | h4 { | ||
77 | margin-left: 20px; | ||
78 | height: 50px; | ||
79 | line-height: 50px; | ||
80 | } | ||
81 | } | ||
82 | } | ||
83 | |||
84 | .navbar { | ||
85 | height: $headerHeight; | ||
86 | overflow: hidden; | ||
87 | position: relative; | ||
88 | @include background("navbg"); | ||
89 | |||
90 | display: flex; | ||
91 | align-items: center; | ||
92 | padding-right: 20px; | ||
93 | justify-content: space-between; | ||
94 | |||
95 | .header-logo { | ||
96 | width: 300px; | ||
97 | } | ||
98 | |||
99 | .right-menu-item { | ||
100 | &.hover-effect { | ||
101 | cursor: pointer; | ||
102 | transition: background 0.3s; | ||
103 | display: flex; | ||
104 | align-items: center; | ||
105 | } | ||
106 | } | ||
107 | } | ||
108 | </style> |
1 | export default { | ||
2 | computed: { | ||
3 | device() { | ||
4 | return this.$store.state.app.device | ||
5 | } | ||
6 | }, | ||
7 | mounted() { | ||
8 | // In order to fix the click on menu on the ios device will trigger the mouseleave bug | ||
9 | // https://github.com/PanJiaChen/vue-element-admin/issues/1135 | ||
10 | this.fixBugIniOS() | ||
11 | }, | ||
12 | methods: { | ||
13 | fixBugIniOS() { | ||
14 | const $subMenu = this.$refs.subMenu | ||
15 | if ($subMenu) { | ||
16 | const handleMouseleave = $subMenu.handleMouseleave | ||
17 | $subMenu.handleMouseleave = (e) => { | ||
18 | if (this.device === 'mobile') { | ||
19 | return | ||
20 | } | ||
21 | handleMouseleave(e) | ||
22 | } | ||
23 | } | ||
24 | } | ||
25 | } | ||
26 | } |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-22 11:19:04 | ||
5 | --> | ||
6 | <script> | ||
7 | export default { | ||
8 | name: 'MenuItem', | ||
9 | functional: true, | ||
10 | props: { | ||
11 | icon: { | ||
12 | type: String, | ||
13 | default: '' | ||
14 | }, | ||
15 | title: { | ||
16 | type: String, | ||
17 | default: '' | ||
18 | } | ||
19 | }, | ||
20 | render (h, context) { | ||
21 | const { icon, title } = context.props | ||
22 | const vnodes = [] | ||
23 | |||
24 | if (icon) { | ||
25 | if (icon.includes('el-icon')) { | ||
26 | vnodes.push(<i class={[icon, 'sub-el-icon']} />) | ||
27 | } else { | ||
28 | vnodes.push(<svg-icon icon-class={icon} />) | ||
29 | } | ||
30 | } | ||
31 | |||
32 | if (title) { | ||
33 | vnodes.push(<span slot='title'>{(title)}</span>) | ||
34 | } | ||
35 | return vnodes | ||
36 | } | ||
37 | } | ||
38 | </script> |
1 | <template> | ||
2 | <component :is="type" v-bind="linkProps(to)"> | ||
3 | <slot /> | ||
4 | </component> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | import { isExternal } from '@/utils/validate' | ||
9 | |||
10 | export default { | ||
11 | props: { | ||
12 | to: { | ||
13 | type: String, | ||
14 | required: true | ||
15 | } | ||
16 | }, | ||
17 | computed: { | ||
18 | isExternal() { | ||
19 | return isExternal(this.to) | ||
20 | }, | ||
21 | type() { | ||
22 | if (this.isExternal) { | ||
23 | return 'a' | ||
24 | } | ||
25 | return 'router-link' | ||
26 | } | ||
27 | }, | ||
28 | methods: { | ||
29 | linkProps(to) { | ||
30 | if (this.isExternal) { | ||
31 | return { | ||
32 | href: to, | ||
33 | target: '_blank', | ||
34 | rel: 'noopener' | ||
35 | } | ||
36 | } | ||
37 | return { | ||
38 | to: to | ||
39 | } | ||
40 | } | ||
41 | } | ||
42 | } | ||
43 | </script> |
1 | <template> | ||
2 | <div class="sidebar-logo-container" :class="{ 'collapse': collapse }"> | ||
3 | <transition name="sidebarLogoFade"> | ||
4 | <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> | ||
5 | <img v-if="logo" :src="logo" class="sidebar-logo"> | ||
6 | <h1 v-else class="sidebar-title"> | ||
7 | {{ title }} | ||
8 | </h1> | ||
9 | </router-link> | ||
10 | <router-link v-else key="expand" class="sidebar-logo-link" to="/"> | ||
11 | <h1 class="sidebar-title"> | ||
12 | {{ title }} | ||
13 | </h1> | ||
14 | </router-link> | ||
15 | </transition> | ||
16 | </div> | ||
17 | </template> | ||
18 | |||
19 | <script> | ||
20 | import defaultSettings from '@/settings' | ||
21 | const { title } = defaultSettings | ||
22 | export default { | ||
23 | name: 'SidebarLogo', | ||
24 | props: { | ||
25 | collapse: { | ||
26 | type: Boolean, | ||
27 | required: true | ||
28 | } | ||
29 | }, | ||
30 | data () { | ||
31 | return { | ||
32 | title: title, | ||
33 | } | ||
34 | } | ||
35 | } | ||
36 | </script> | ||
37 | |||
38 | <style lang="scss" scoped> | ||
39 | .sidebarLogoFade-enter-active { | ||
40 | transition: opacity 1.5s; | ||
41 | } | ||
42 | |||
43 | .sidebarLogoFade-enter, | ||
44 | .sidebarLogoFade-leave-to { | ||
45 | opacity: 0; | ||
46 | } | ||
47 | |||
48 | .sidebar-logo-container { | ||
49 | position: relative; | ||
50 | width: 100%; | ||
51 | text-align: center; | ||
52 | overflow: hidden; | ||
53 | height: 100px; | ||
54 | |||
55 | & .sidebar-logo-link { | ||
56 | height: 100%; | ||
57 | width: 100%; | ||
58 | |||
59 | & .sidebar-logo { | ||
60 | width: 41px; | ||
61 | height: 39px; | ||
62 | vertical-align: middle; | ||
63 | // margin-left: 47px; | ||
64 | // margin-right: 48px; | ||
65 | margin-top: 22px; | ||
66 | } | ||
67 | |||
68 | & .sidebar-title { | ||
69 | margin: 0; | ||
70 | margin-top: 10px; | ||
71 | margin-bottom: 20px; | ||
72 | color: #fff; | ||
73 | font-weight: 600; | ||
74 | line-height: 25px; | ||
75 | font-size: 16px; | ||
76 | font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif; | ||
77 | vertical-align: middle; | ||
78 | } | ||
79 | } | ||
80 | |||
81 | &.collapse { | ||
82 | .sidebar-logo { | ||
83 | margin-right: 0px; | ||
84 | width: 32.8px; | ||
85 | height: 31.2px; | ||
86 | } | ||
87 | } | ||
88 | } | ||
89 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-30 10:39:40 | ||
5 | --> | ||
6 | <template> | ||
7 | <div v-if="!item.hidden"> | ||
8 | <template | ||
9 | v-if="hasOneShowingChild(item.children, item) && (!onlyOneChild.children || onlyOneChild.noShowingChildren)"> | ||
10 | <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path)"> | ||
11 | <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{ 'submenu-title-noDropdown': !isNest }"> | ||
12 | <item :icon="onlyOneChild.meta.icon || (item.meta && item.meta.icon)" :title="onlyOneChild.meta.title" | ||
13 | class="menu-icon" /> | ||
14 | </el-menu-item> | ||
15 | </app-link> | ||
16 | </template> | ||
17 | |||
18 | <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" popper-append-to-body> | ||
19 | <template slot="title"> | ||
20 | <item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" /> | ||
21 | </template> | ||
22 | <sidebar-item v-for="child in item.children" :key="child.path" :is-nest="true" :item="child" | ||
23 | :base-path="resolvePath(child.path)" class="nest-menu" /> | ||
24 | </el-submenu> | ||
25 | </div> | ||
26 | </template> | ||
27 | |||
28 | <script> | ||
29 | import path from 'path' | ||
30 | import { isExternal } from '@/utils/validate' | ||
31 | import Item from './Item' | ||
32 | import AppLink from './Link' | ||
33 | import FixiOSBug from './FixiOSBug' | ||
34 | |||
35 | export default { | ||
36 | name: 'SidebarItem', | ||
37 | components: { Item, AppLink }, | ||
38 | mixins: [FixiOSBug], | ||
39 | props: { | ||
40 | // route object | ||
41 | item: { | ||
42 | type: Object, | ||
43 | required: true | ||
44 | }, | ||
45 | isNest: { | ||
46 | type: Boolean, | ||
47 | default: false | ||
48 | }, | ||
49 | basePath: { | ||
50 | type: String, | ||
51 | default: '' | ||
52 | } | ||
53 | }, | ||
54 | data () { | ||
55 | // To fix https://github.com/PanJiaChen/vue-admin-template/issues/237 | ||
56 | // TODO: refactor with render function | ||
57 | this.onlyOneChild = null | ||
58 | return {} | ||
59 | }, | ||
60 | methods: { | ||
61 | hasOneShowingChild (children = [], parent) { | ||
62 | const showingChildren = children.filter(item => { | ||
63 | if (item.hidden) { | ||
64 | return false | ||
65 | } else { | ||
66 | // Temp set(will be used if only has one showing child) | ||
67 | this.onlyOneChild = item | ||
68 | return true | ||
69 | } | ||
70 | }) | ||
71 | // When there is only one child router, the child router is displayed by default | ||
72 | if (showingChildren.length >= 1 && (showingChildren[0].path == 'ywjr' || showingChildren[0].path == "sbbwcx" || showingChildren[0].path == "dbrzcx")) { | ||
73 | return true | ||
74 | } | ||
75 | |||
76 | // Show parent if there are no child router to display | ||
77 | if (showingChildren.length === 0) { | ||
78 | this.onlyOneChild = { ...parent, path: '', noShowingChildren: true } | ||
79 | return true | ||
80 | } | ||
81 | |||
82 | return false | ||
83 | }, | ||
84 | resolvePath (routePath) { | ||
85 | if (isExternal(routePath)) { | ||
86 | return routePath | ||
87 | } | ||
88 | if (isExternal(this.basePath)) { | ||
89 | return this.basePath | ||
90 | } | ||
91 | return path.resolve(this.basePath, routePath) | ||
92 | } | ||
93 | } | ||
94 | } | ||
95 | </script> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-27 14:09:57 | ||
5 | --> | ||
6 | <template> | ||
7 | <div> | ||
8 | <el-scrollbar wrap-class="scrollbar-wrapper"> | ||
9 | <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" | ||
10 | :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical"> | ||
11 | <!-- 权限菜单 --> | ||
12 | <sidebar-item v-for="route in permission_routes.slice(5)" :key="route.path" :item="route" | ||
13 | :base-path="route.path" /> | ||
14 | <!-- 菜单全部展示 --> | ||
15 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | ||
16 | </el-menu> | ||
17 | </el-scrollbar> | ||
18 | </div> | ||
19 | </template> | ||
20 | |||
21 | <script> | ||
22 | import { mapGetters } from 'vuex' | ||
23 | import Logo from './Logo' | ||
24 | import defaultSettings from '@/settings' | ||
25 | import SidebarItem from './SidebarItem' | ||
26 | import variables from '@/styles/variables.scss' | ||
27 | import { asyncRoutes } from '@/router' | ||
28 | export default { | ||
29 | components: { SidebarItem, Logo }, | ||
30 | data () { | ||
31 | return { | ||
32 | title: defaultSettings.title | ||
33 | } | ||
34 | }, | ||
35 | computed: { | ||
36 | ...mapGetters(['permission_routes', 'sidebar']), | ||
37 | activeMenu () { | ||
38 | const route = this.$route | ||
39 | const { meta, path } = route | ||
40 | if (meta.activeMenu) { | ||
41 | return meta.activeMenu | ||
42 | } | ||
43 | return path | ||
44 | }, | ||
45 | variables () { | ||
46 | return variables | ||
47 | }, | ||
48 | asyncRoutes () { | ||
49 | return asyncRoutes | ||
50 | } | ||
51 | } | ||
52 | } | ||
53 | </script> |
1 | <template> | ||
2 | <el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll"> | ||
3 | <slot /> | ||
4 | </el-scrollbar> | ||
5 | </template> | ||
6 | |||
7 | <script> | ||
8 | const tagAndTagSpacing = 4 // tagAndTagSpacing | ||
9 | |||
10 | export default { | ||
11 | name: 'ScrollPane', | ||
12 | data () { | ||
13 | return { | ||
14 | left: 0 | ||
15 | } | ||
16 | }, | ||
17 | computed: { | ||
18 | scrollWrapper () { | ||
19 | return this.$refs.scrollContainer.$refs.wrap | ||
20 | } | ||
21 | }, | ||
22 | mounted () { | ||
23 | this.scrollWrapper.addEventListener('scroll', this.emitScroll, true) | ||
24 | }, | ||
25 | beforeDestroy () { | ||
26 | this.scrollWrapper.removeEventListener('scroll', this.emitScroll) | ||
27 | }, | ||
28 | methods: { | ||
29 | handleScroll (e) { | ||
30 | const eventDelta = e.wheelDelta || -e.deltaY * 40 | ||
31 | const $scrollWrapper = this.scrollWrapper | ||
32 | $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4 | ||
33 | }, | ||
34 | emitScroll () { | ||
35 | this.$emit('scroll') | ||
36 | }, | ||
37 | moveToTarget (currentTag) { | ||
38 | const $container = this.$refs.scrollContainer.$el | ||
39 | const $containerWidth = $container.offsetWidth | ||
40 | const $scrollWrapper = this.scrollWrapper | ||
41 | const tagList = this.$parent.$refs.tag | ||
42 | |||
43 | let firstTag = null | ||
44 | let lastTag = null | ||
45 | |||
46 | // find first tag and last tag | ||
47 | if (tagList.length > 0) { | ||
48 | firstTag = tagList[0] | ||
49 | lastTag = tagList[tagList.length - 1] | ||
50 | } | ||
51 | |||
52 | if (firstTag === currentTag) { | ||
53 | $scrollWrapper.scrollLeft = 0 | ||
54 | } else if (lastTag === currentTag) { | ||
55 | $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth | ||
56 | } else { | ||
57 | // find preTag and nextTag | ||
58 | const currentIndex = tagList.findIndex(item => item === currentTag) | ||
59 | const prevTag = tagList[currentIndex - 1] | ||
60 | const nextTag = tagList[currentIndex + 1] | ||
61 | |||
62 | // the tag's offsetLeft after of nextTag | ||
63 | const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing | ||
64 | |||
65 | // the tag's offsetLeft before of prevTag | ||
66 | const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing | ||
67 | |||
68 | if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) { | ||
69 | $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth | ||
70 | } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) { | ||
71 | $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft | ||
72 | } | ||
73 | } | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | </script> | ||
78 | |||
79 | <style lang="scss" scoped> | ||
80 | .scroll-container { | ||
81 | white-space: nowrap; | ||
82 | position: relative; | ||
83 | overflow: hidden; | ||
84 | width: 100%; | ||
85 | height: 100%; | ||
86 | } | ||
87 | |||
88 | /deep/ .el-scrollbar__view { | ||
89 | display: inline-block !important; | ||
90 | } | ||
91 | |||
92 | /deep/ .el-scrollbar__wrap { | ||
93 | overflow-x: hidden !important; | ||
94 | } | ||
95 | </style> |
1 | <template> | ||
2 | <div id="tags-view-container" class="tags-view-container"> | ||
3 | <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll"> | ||
4 | <router-link v-for="tag in visitedViews" ref="tag" :key="tag.path" :class="isActive(tag) ? 'active' : ''" | ||
5 | :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item" | ||
6 | @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" | ||
7 | @contextmenu.prevent.native="openMenu(tag, $event)"> | ||
8 | {{ tag.title }} | ||
9 | <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> | ||
10 | </router-link> | ||
11 | </scroll-pane> | ||
12 | <ul v-show="visible" :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu"> | ||
13 | <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li> | ||
14 | <li @click="closeOthersTags">关闭其他</li> | ||
15 | <li @click="closeAllTags(selectedTag)">关闭全部</li> | ||
16 | </ul> | ||
17 | </div> | ||
18 | </template> | ||
19 | |||
20 | <script> | ||
21 | import ScrollPane from './ScrollPane' | ||
22 | import path from 'path' | ||
23 | |||
24 | export default { | ||
25 | components: { ScrollPane }, | ||
26 | data () { | ||
27 | return { | ||
28 | visible: false, | ||
29 | top: 0, | ||
30 | left: 0, | ||
31 | selectedTag: {}, | ||
32 | affixTags: [] | ||
33 | } | ||
34 | }, | ||
35 | computed: { | ||
36 | visitedViews () { | ||
37 | return this.$store.state.tagsView.visitedViews.slice(1) | ||
38 | }, | ||
39 | routes () { | ||
40 | return this.$store.state.permission.routes | ||
41 | } | ||
42 | }, | ||
43 | watch: { | ||
44 | $route () { | ||
45 | this.addTags() | ||
46 | this.moveToCurrentTag() | ||
47 | }, | ||
48 | visible (value) { | ||
49 | if (value) { | ||
50 | document.body.addEventListener('click', this.closeMenu) | ||
51 | } else { | ||
52 | document.body.removeEventListener('click', this.closeMenu) | ||
53 | } | ||
54 | } | ||
55 | }, | ||
56 | mounted () { | ||
57 | this.initTags() | ||
58 | this.addTags() | ||
59 | }, | ||
60 | methods: { | ||
61 | isActive (route) { | ||
62 | return route.path === this.$route.path | ||
63 | }, | ||
64 | isAffix (tag) { | ||
65 | return tag.meta && tag.meta.affix | ||
66 | }, | ||
67 | filterAffixTags (routes, basePath = '/') { | ||
68 | let tags = [] | ||
69 | routes.forEach(route => { | ||
70 | if (route.meta && route.meta.affix) { | ||
71 | const tagPath = path.resolve(basePath, route.path) | ||
72 | tags.push({ | ||
73 | fullPath: tagPath, | ||
74 | path: tagPath, | ||
75 | name: route.name, | ||
76 | meta: { ...route.meta } | ||
77 | }) | ||
78 | } | ||
79 | if (route.children) { | ||
80 | const tempTags = this.filterAffixTags(route.children, route.path) | ||
81 | if (tempTags.length >= 1) { | ||
82 | tags = [...tags, ...tempTags] | ||
83 | } | ||
84 | } | ||
85 | }) | ||
86 | return tags | ||
87 | }, | ||
88 | initTags () { | ||
89 | const affixTags = this.affixTags = this.filterAffixTags(this.routes) | ||
90 | for (const tag of affixTags) { | ||
91 | // Must have tag name | ||
92 | if (tag.name) { | ||
93 | this.$store.dispatch('tagsView/addVisitedView', tag) | ||
94 | } | ||
95 | } | ||
96 | }, | ||
97 | addTags () { | ||
98 | const { name } = this.$route | ||
99 | if (name) { | ||
100 | this.$store.dispatch('tagsView/addView', this.$route) | ||
101 | } | ||
102 | return false | ||
103 | }, | ||
104 | moveToCurrentTag () { | ||
105 | const tags = this.$refs.tag | ||
106 | this.$nextTick(() => { | ||
107 | for (const tag of tags) { | ||
108 | if (tag.to.path === this.$route.path) { | ||
109 | this.$refs.scrollPane.moveToTarget(tag) | ||
110 | // when query is different then update | ||
111 | if (tag.to.fullPath !== this.$route.fullPath) { | ||
112 | this.$store.dispatch('tagsView/updateVisitedView', this.$route) | ||
113 | } | ||
114 | break | ||
115 | } | ||
116 | } | ||
117 | }) | ||
118 | }, | ||
119 | refreshSelectedTag (view) { | ||
120 | this.$store.dispatch('tagsView/delCachedView', view).then(() => { | ||
121 | const { fullPath } = view | ||
122 | this.$nextTick(() => { | ||
123 | this.$router.replace({ | ||
124 | path: '/redirect' + fullPath | ||
125 | }) | ||
126 | }) | ||
127 | }) | ||
128 | }, | ||
129 | closeSelectedTag (view) { | ||
130 | this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => { | ||
131 | if (this.isActive(view)) { | ||
132 | this.toLastView(visitedViews, view) | ||
133 | } | ||
134 | }) | ||
135 | }, | ||
136 | closeOthersTags () { | ||
137 | this.$router.push(this.selectedTag) | ||
138 | this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => { | ||
139 | this.moveToCurrentTag() | ||
140 | }) | ||
141 | }, | ||
142 | closeAllTags (view) { | ||
143 | this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => { | ||
144 | if (this.affixTags.some(tag => tag.path === view.path)) { | ||
145 | return | ||
146 | } | ||
147 | this.toLastView(visitedViews, view) | ||
148 | }) | ||
149 | }, | ||
150 | toLastView (visitedViews, view) { | ||
151 | const latestView = visitedViews.slice(-1)[0] | ||
152 | if (latestView) { | ||
153 | this.$router.push(latestView.fullPath) | ||
154 | } else { | ||
155 | // now the default is to redirect to the home page if there is no tags-view, | ||
156 | // you can adjust it according to your needs. | ||
157 | if (view.name === 'Dashboard') { | ||
158 | // to reload home page | ||
159 | this.$router.replace({ path: '/redirect' + view.fullPath }) | ||
160 | } else { | ||
161 | this.$router.push('/') | ||
162 | } | ||
163 | } | ||
164 | }, | ||
165 | openMenu (tag, e) { | ||
166 | const menuMinWidth = 105 | ||
167 | const offsetLeft = this.$el.getBoundingClientRect().left - 210 // container margin left | ||
168 | const offsetWidth = this.$el.offsetWidth // container width | ||
169 | const maxLeft = offsetWidth - menuMinWidth // left boundary | ||
170 | const left = e.clientX - offsetLeft + 15 // 15: margin right | ||
171 | |||
172 | if (left > maxLeft) { | ||
173 | this.left = maxLeft | ||
174 | } else { | ||
175 | this.left = left | ||
176 | } | ||
177 | |||
178 | this.top = e.clientY | ||
179 | this.visible = true | ||
180 | this.selectedTag = tag | ||
181 | }, | ||
182 | closeMenu () { | ||
183 | this.visible = false | ||
184 | }, | ||
185 | handleScroll () { | ||
186 | this.closeMenu() | ||
187 | } | ||
188 | } | ||
189 | } | ||
190 | </script> | ||
191 | |||
192 | <style lang="scss" scoped> | ||
193 | @import "~@/styles/_handle.scss"; | ||
194 | |||
195 | .tags-view-container { | ||
196 | height: 50px; | ||
197 | width: 100%; | ||
198 | background: #fff; | ||
199 | border-bottom: 1px solid #d8dce5; | ||
200 | box-sizing: border-box; | ||
201 | padding-top: 7px; | ||
202 | margin-bottom: 10px; | ||
203 | border-radius: 4px; | ||
204 | |||
205 | .tags-view-wrapper { | ||
206 | .tags-view-item { | ||
207 | display: inline-block; | ||
208 | position: relative; | ||
209 | cursor: pointer; | ||
210 | line-height: 26px; | ||
211 | color: #4A4A4A; | ||
212 | @include font_color("tagsText"); | ||
213 | padding: 0 8px; | ||
214 | font-size: 12px; | ||
215 | margin-left: 5px; | ||
216 | margin-top: 4px; | ||
217 | border-radius: 4px; | ||
218 | @include borderColor("tagsBorderColor"); | ||
219 | |||
220 | &:first-of-type { | ||
221 | margin-left: 15px; | ||
222 | } | ||
223 | |||
224 | &:last-of-type { | ||
225 | margin-right: 15px; | ||
226 | } | ||
227 | |||
228 | &.active { | ||
229 | @include background("tagsBg"); | ||
230 | @include borderColor("tagsActiveText"); | ||
231 | @include font_color("tagsActiveText"); | ||
232 | |||
233 | &::before { | ||
234 | content: ''; | ||
235 | @include background("tagsActiveText"); | ||
236 | display: inline-block; | ||
237 | width: 8px; | ||
238 | height: 8px; | ||
239 | border-radius: 50%; | ||
240 | position: relative; | ||
241 | margin-right: 2px; | ||
242 | } | ||
243 | } | ||
244 | } | ||
245 | } | ||
246 | |||
247 | .contextmenu { | ||
248 | margin: 0; | ||
249 | background: #fff; | ||
250 | z-index: 3000; | ||
251 | position: absolute; | ||
252 | list-style-type: none; | ||
253 | padding: 5px 0; | ||
254 | border-radius: 4px; | ||
255 | font-size: 12px; | ||
256 | font-weight: 400; | ||
257 | color: #333; | ||
258 | box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3); | ||
259 | |||
260 | li { | ||
261 | margin: 0; | ||
262 | padding: 7px 16px; | ||
263 | cursor: pointer; | ||
264 | |||
265 | &:hover { | ||
266 | background: #eee; | ||
267 | } | ||
268 | } | ||
269 | } | ||
270 | } | ||
271 | </style> | ||
272 | |||
273 | <style lang="scss"> | ||
274 | //reset element css of el-icon-close | ||
275 | .tags-view-wrapper { | ||
276 | .tags-view-item { | ||
277 | .el-icon-close { | ||
278 | width: 16px; | ||
279 | height: 16px; | ||
280 | vertical-align: 2px; | ||
281 | border-radius: 50%; | ||
282 | text-align: center; | ||
283 | transition: all .3s cubic-bezier(.645, .045, .355, 1); | ||
284 | transform-origin: 100% 50%; | ||
285 | |||
286 | &:before { | ||
287 | transform: scale(.6); | ||
288 | display: inline-block; | ||
289 | vertical-align: -3px; | ||
290 | } | ||
291 | |||
292 | &:hover { | ||
293 | background-color: #b4bccc; | ||
294 | color: #fff; | ||
295 | } | ||
296 | } | ||
297 | } | ||
298 | } | ||
299 | </style> |
src/layout1/components/index.js
deleted
100644 → 0
src/layout1/index.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-04-03 10:12:39 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="app-wrapper"> | ||
8 | <navbar /> | ||
9 | <div class="main-container"> | ||
10 | <sidebar class="sidebar-container" /> | ||
11 | <div class="app-content"> | ||
12 | <tags-view v-if="needTagsView" /> | ||
13 | <app-main /> | ||
14 | </div> | ||
15 | </div> | ||
16 | </div> | ||
17 | </template> | ||
18 | <script> | ||
19 | import { AppMain, Navbar, Sidebar, TagsView } from './components' | ||
20 | import ResizeMixin from './mixin/ResizeHandler' | ||
21 | import { mapState } from 'vuex' | ||
22 | export default { | ||
23 | name: 'Layout', | ||
24 | components: { | ||
25 | AppMain, | ||
26 | Navbar, | ||
27 | Sidebar, | ||
28 | TagsView | ||
29 | }, | ||
30 | mixins: [ResizeMixin], | ||
31 | created () { | ||
32 | this.$store.dispatch("products/setData", "BDCSBPT"); | ||
33 | }, | ||
34 | computed: { | ||
35 | ...mapState({ | ||
36 | sidebar: state => state.app.sidebar, | ||
37 | needTagsView: state => state.settings.tagsView, | ||
38 | fixedHeader: state => state.settings.fixedHeader | ||
39 | }) | ||
40 | } | ||
41 | } | ||
42 | </script> | ||
43 | <style lang="scss"> | ||
44 | @import "~@/styles/mixin.scss"; | ||
45 | @import "~@/styles/sbSidebar.scss"; | ||
46 | |||
47 | .app-wrapper { | ||
48 | @include clearfix; | ||
49 | position: relative; | ||
50 | height: 100%; | ||
51 | width: 100%; | ||
52 | // background-color: $containerbg; | ||
53 | padding: 0; | ||
54 | |||
55 | &.mobile.openSidebar { | ||
56 | position: fixed; | ||
57 | top: 0; | ||
58 | } | ||
59 | } | ||
60 | |||
61 | .drawer-bg { | ||
62 | background: #000; | ||
63 | opacity: 0.3; | ||
64 | width: 100%; | ||
65 | top: 0; | ||
66 | height: 100%; | ||
67 | position: absolute; | ||
68 | z-index: 999; | ||
69 | } | ||
70 | |||
71 | .fixed-header { | ||
72 | width: 100%; | ||
73 | transition: width 0.28s; | ||
74 | } | ||
75 | |||
76 | .app-content { | ||
77 | overflow: hidden; | ||
78 | box-sizing: border-box; | ||
79 | flex: 1; | ||
80 | width: 100%; | ||
81 | background: #EAEBF0; | ||
82 | padding: 10px; | ||
83 | } | ||
84 | </style> |
src/layout1/mixin/ResizeHandler.js
deleted
100644 → 0
1 | import store from '@/store' | ||
2 | |||
3 | const { body } = document | ||
4 | const WIDTH = 992 // refer to Bootstrap's responsive design | ||
5 | |||
6 | export default { | ||
7 | watch: { | ||
8 | $route(route) { | ||
9 | if (this.device === 'mobile' && this.sidebar.opened) { | ||
10 | store.dispatch('app/closeSideBar', { withoutAnimation: false }) | ||
11 | } | ||
12 | } | ||
13 | }, | ||
14 | beforeMount() { | ||
15 | window.addEventListener('resize', this.$_resizeHandler) | ||
16 | }, | ||
17 | beforeDestroy() { | ||
18 | window.removeEventListener('resize', this.$_resizeHandler) | ||
19 | }, | ||
20 | mounted() { | ||
21 | const isMobile = this.$_isMobile() | ||
22 | if (isMobile) { | ||
23 | store.dispatch('app/toggleDevice', 'mobile') | ||
24 | store.dispatch('app/closeSideBar', { withoutAnimation: true }) | ||
25 | } | ||
26 | }, | ||
27 | methods: { | ||
28 | // use $_ for mixins properties | ||
29 | // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential | ||
30 | $_isMobile() { | ||
31 | const rect = body.getBoundingClientRect() | ||
32 | return rect.width - 1 < WIDTH | ||
33 | }, | ||
34 | $_resizeHandler() { | ||
35 | if (!document.hidden) { | ||
36 | const isMobile = this.$_isMobile() | ||
37 | store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') | ||
38 | |||
39 | if (isMobile) { | ||
40 | store.dispatch('app/closeSideBar', { withoutAnimation: true }) | ||
41 | } | ||
42 | } | ||
43 | } | ||
44 | } | ||
45 | } |
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | * @Author: yangwei | 2 | * @Author: yangwei |
3 | * @Date: 2023-01-16 09:10:12 | 3 | * @Date: 2023-01-16 09:10:12 |
4 | * @LastEditors: Please set LastEditors | 4 | * @LastEditors: Please set LastEditors |
5 | * @LastEditTime: 2023-04-27 17:07:58 | 5 | * @LastEditTime: 2023-05-08 15:03:06 |
6 | * @FilePath: \bdcjg-web\src\main.js | 6 | * @FilePath: \bdcjg-web\src\main.js |
7 | * @Description: | 7 | * @Description: |
8 | * | 8 | * | ... | ... |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-04-12 11:15:57 | 4 | * @LastEditTime: 2023-05-12 10:26:11 |
5 | */ | 5 | */ |
6 | import Vue from 'vue' | 6 | import Vue from 'vue' |
7 | import router from "./router"; | 7 | import router from "./router"; |
... | @@ -20,7 +20,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -20,7 +20,7 @@ router.beforeEach(async (to, from, next) => { |
20 | let hasAddDict = store.state.dict.addDict; | 20 | let hasAddDict = store.state.dict.addDict; |
21 | let hasUser = store.state.user.hasUser; | 21 | let hasUser = store.state.user.hasUser; |
22 | let hasAddRoute = store.state.permission.addRoutes; | 22 | let hasAddRoute = store.state.permission.addRoutes; |
23 | if (to.path == "/sb" || to.path == "/jg" || to.path == "/sb1") { | 23 | if (to.path == "/login") { |
24 | localStorage.removeItem("token"); | 24 | localStorage.removeItem("token"); |
25 | next(); | 25 | next(); |
26 | } else { | 26 | } else { |
... | @@ -49,7 +49,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -49,7 +49,7 @@ router.beforeEach(async (to, from, next) => { |
49 | { path: "*", redirect: "/404", hidden: true }, | 49 | { path: "*", redirect: "/404", hidden: true }, |
50 | ]); | 50 | ]); |
51 | const routeTo = Cookies.get("routerTo"); | 51 | const routeTo = Cookies.get("routerTo"); |
52 | if (routeTo && routeTo !== "/" && routeTo !== "/sb" && routeTo !== "/jg") { | 52 | if (routeTo && routeTo !== "/" && routeTo !== "/login") { |
53 | next({ ...to, replace: true }); | 53 | next({ ...to, replace: true }); |
54 | } else { | 54 | } else { |
55 | next(); | 55 | next(); |
... | @@ -57,7 +57,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -57,7 +57,7 @@ router.beforeEach(async (to, from, next) => { |
57 | 57 | ||
58 | } | 58 | } |
59 | } else { | 59 | } else { |
60 | next(`/${Vue.prototype.BASE_API.LOGIN}`); | 60 | next('/login'); |
61 | } | 61 | } |
62 | } | 62 | } |
63 | NProgress.done(); | 63 | NProgress.done(); |
... | @@ -66,4 +66,4 @@ router.afterEach((to) => { | ... | @@ -66,4 +66,4 @@ router.afterEach((to) => { |
66 | // 解决刷新页面报404问题 | 66 | // 解决刷新页面报404问题 |
67 | Cookies.set("routerTo", to.fullPath); | 67 | Cookies.set("routerTo", to.fullPath); |
68 | NProgress.done(); | 68 | NProgress.done(); |
69 | }); | 69 | }) | ... | ... |
... | @@ -20,19 +20,14 @@ export const constantRoutes = [ | ... | @@ -20,19 +20,14 @@ export const constantRoutes = [ |
20 | }, | 20 | }, |
21 | //登录 | 21 | //登录 |
22 | { | 22 | { |
23 | path: "/jg", | 23 | path: "/login", |
24 | name: "loginjg", | 24 | name: "login", |
25 | component: () => import("@/views/loginjg/index.vue"), | 25 | component: () => import("@/views/login/index.vue"), |
26 | }, | ||
27 | { | ||
28 | path: "/sb", | ||
29 | name: "loginsb", | ||
30 | component: () => import("@/views/loginsb/index.vue"), | ||
31 | }, | 26 | }, |
32 | { | 27 | { |
33 | path: '/', | 28 | path: '/', |
34 | redirect: to => { | 29 | redirect: to => { |
35 | return { path: `/${Vue.prototype.BASE_API.LOGIN}` } | 30 | return { path: '/login' } |
36 | }, | 31 | }, |
37 | }, | 32 | }, |
38 | // 监管首页 | 33 | // 监管首页 |
... | @@ -55,22 +50,22 @@ export const constantRoutes = [ | ... | @@ -55,22 +50,22 @@ export const constantRoutes = [ |
55 | * the routes that need to be dynamically loaded based on user roles | 50 | * the routes that need to be dynamically loaded based on user roles |
56 | */ | 51 | */ |
57 | export const asyncRoutes = [ | 52 | export const asyncRoutes = [ |
58 | // 接收报文查询 | 53 | // 区县接入 |
59 | { | 54 | { |
60 | path: '/jsbwcx', | 55 | path: '/jsbwcx', |
61 | component: Layout, | 56 | component: Layout, |
62 | children: [ | 57 | children: [ |
58 | // { | ||
59 | // path: 'xxcx', | ||
60 | // component: () => import('@/views/gbxxcx/index'), | ||
61 | // name: 'xxcx', | ||
62 | // meta: { title: '信息查询', icon: 'xxcx' } | ||
63 | // }, | ||
63 | { | 64 | { |
64 | path: 'index', | 65 | path: 'qxjr', |
65 | component: () => import('@/views/jsbwcx/index'), | 66 | component: () => import('@/views/jsbwcx/index'), |
66 | name: 'jsbwcx', | 67 | name: 'qxjr', |
67 | meta: { title: '区县接入', icon: 'zsgl' } | 68 | meta: { title: '区县接入', icon: 'zsgl' } |
68 | }, | ||
69 | { | ||
70 | path: 'gbxxcx', | ||
71 | component: () => import('@/views/gbxxcx/index'), | ||
72 | name: 'gbxxcx', | ||
73 | meta: { title: '信息查询', icon: 'zsgl' } | ||
74 | } | 69 | } |
75 | ] | 70 | ] |
76 | }, | 71 | }, |
... | @@ -110,6 +105,24 @@ export const asyncRoutes = [ | ... | @@ -110,6 +105,24 @@ export const asyncRoutes = [ |
110 | component: () => import('@/views/jktj/bsxljk/index'), | 105 | component: () => import('@/views/jktj/bsxljk/index'), |
111 | name: 'jktj', | 106 | name: 'jktj', |
112 | meta: { title: '办事效率监控', icon: 'zhcx' } | 107 | meta: { title: '办事效率监控', icon: 'zhcx' } |
108 | }, | ||
109 | { | ||
110 | path: 'dataReceiveQuality', | ||
111 | component: () => import('@/views/jktj/dataReceiveQuality/index'), | ||
112 | name: 'dataReceiveQuality', | ||
113 | meta: { title: '接入质量评价表', icon: 'dataReceiveQuality' } | ||
114 | }, | ||
115 | { | ||
116 | path: 'nullTermRatio', | ||
117 | component: () => import('@/views/jktj/nullTermRatio/index'), | ||
118 | name: 'nullTermRatio', | ||
119 | meta: { title: '相关字段空置率统计', icon: 'nullTermRatio' } | ||
120 | }, | ||
121 | { | ||
122 | path: 'registerBookQuality', | ||
123 | component: () => import('@/views/jktj/registerBookQuality/index'), | ||
124 | name: 'registerBookQuality', | ||
125 | meta: { title: '登簿质量评价表', icon: 'registerBookQuality' } | ||
113 | } | 126 | } |
114 | ] | 127 | ] |
115 | }, | 128 | }, |
... | @@ -260,7 +273,7 @@ export const asyncRoutes = [ | ... | @@ -260,7 +273,7 @@ export const asyncRoutes = [ |
260 | meta: { title: '角色管理' } | 273 | meta: { title: '角色管理' } |
261 | } | 274 | } |
262 | ] | 275 | ] |
263 | }, | 276 | } |
264 | ] | 277 | ] |
265 | 278 | ||
266 | const createRouter = () => | 279 | const createRouter = () => | ... | ... |
... | @@ -26,12 +26,7 @@ const mutations = { | ... | @@ -26,12 +26,7 @@ const mutations = { |
26 | const actions = { | 26 | const actions = { |
27 | // 添加全部菜单 | 27 | // 添加全部菜单 |
28 | generateRoutes ({ commit }, getMenuInfo) { | 28 | generateRoutes ({ commit }, getMenuInfo) { |
29 | let Layout; | 29 | let Layout = r => require.ensure([], () => r(require(`@/layout`))) |
30 | if (Vue.prototype.BASE_API.THEME == 'sb') { | ||
31 | Layout = r => require.ensure([], () => r(require(`@/layout1`))) | ||
32 | } else { | ||
33 | Layout = r => require.ensure([], () => r(require(`@/layout`))) | ||
34 | } | ||
35 | function asyncRouter (routers) { | 30 | function asyncRouter (routers) { |
36 | routers.forEach(item => { | 31 | routers.forEach(item => { |
37 | if (!item.children) { | 32 | if (!item.children) { | ... | ... |
src/styles/sbElement-ui.scss
deleted
100644 → 0
1 | @import "~@/styles/_handle.scss"; | ||
2 | |||
3 | // cover some element-ui styles | ||
4 | .el-breadcrumb__inner, | ||
5 | .el-breadcrumb__inner a { | ||
6 | font-weight: 400 !important; | ||
7 | color: #686666; | ||
8 | } | ||
9 | |||
10 | .el-table .cell { | ||
11 | line-height: 16px; | ||
12 | } | ||
13 | |||
14 | //input | ||
15 | .el-input__inner { | ||
16 | color: #FFFFFF !important; | ||
17 | padding: 0 7px !important; | ||
18 | } | ||
19 | |||
20 | // input 样式 | ||
21 | // 全局css 加上以下代码,可以隐藏上下箭头 | ||
22 | |||
23 | // 取消input的上下箭头 | ||
24 | input::-webkit-inner-spin-button { | ||
25 | -webkit-appearance: none !important; | ||
26 | |||
27 | } | ||
28 | |||
29 | input::-webkit-outer-spin-button { | ||
30 | -webkit-appearance: none !important; | ||
31 | |||
32 | } | ||
33 | |||
34 | input[type="number"] { | ||
35 | -moz-appearance: textfield; | ||
36 | |||
37 | } | ||
38 | |||
39 | .el-upload { | ||
40 | input[type="file"] { | ||
41 | display: none !important; | ||
42 | } | ||
43 | } | ||
44 | |||
45 | .el-upload__input { | ||
46 | display: none; | ||
47 | } | ||
48 | |||
49 | .cell { | ||
50 | .el-tag { | ||
51 | margin-right: 0px; | ||
52 | } | ||
53 | } | ||
54 | |||
55 | .small-padding { | ||
56 | .cell { | ||
57 | padding-left: 5px; | ||
58 | padding-right: 5px; | ||
59 | } | ||
60 | } | ||
61 | |||
62 | .fixed-width { | ||
63 | .el-button--mini { | ||
64 | padding: 7px 10px; | ||
65 | min-width: 60px; | ||
66 | } | ||
67 | } | ||
68 | |||
69 | .status-col { | ||
70 | .cell { | ||
71 | padding: 0 10px; | ||
72 | text-align: center; | ||
73 | |||
74 | .el-tag { | ||
75 | margin-right: 0px; | ||
76 | } | ||
77 | } | ||
78 | } | ||
79 | |||
80 | .el-icon-date, | ||
81 | .el-icon-time { | ||
82 | display: none; | ||
83 | } | ||
84 | |||
85 | // to fixed https://github.com/ElemeFE/element/issues/2461 | ||
86 | // refine element ui upload | ||
87 | .el-input.is-disabled .el-input__inner { | ||
88 | background-color: transparent !important; | ||
89 | } | ||
90 | |||
91 | .upload-container { | ||
92 | .el-upload { | ||
93 | width: 100%; | ||
94 | |||
95 | .el-upload-dragger { | ||
96 | width: 100%; | ||
97 | height: 200px; | ||
98 | } | ||
99 | } | ||
100 | } | ||
101 | |||
102 | // dropdown | ||
103 | .el-dropdown-menu { | ||
104 | a { | ||
105 | display: block | ||
106 | } | ||
107 | } | ||
108 | |||
109 | // fix date-picker ui bug in filter-item | ||
110 | .el-range-editor.el-input__inner { | ||
111 | display: inline-flex !important; | ||
112 | } | ||
113 | |||
114 | // to fix el-date-picker css style | ||
115 | .el-range-separator { | ||
116 | box-sizing: content-box; | ||
117 | } | ||
118 | |||
119 | .el-submenu__icon-arrow { | ||
120 | margin-top: -5px; | ||
121 | } | ||
122 | |||
123 | // element 样式补丁 | ||
124 | .el-menu--horizontal { | ||
125 | border-bottom: none !important; | ||
126 | } | ||
127 | |||
128 | .el-radio-group { | ||
129 | .el-radio-button__inner { | ||
130 | height: 36px; | ||
131 | line-height: 36px; | ||
132 | padding: 0 20px; | ||
133 | font-size: 14px; | ||
134 | } | ||
135 | |||
136 | .el-radio-button:first-child { | ||
137 | border-radius: 4px 0 0 4px; | ||
138 | } | ||
139 | |||
140 | .el-radio-button:last-child { | ||
141 | border-radius: 0 4px 4px 0; | ||
142 | } | ||
143 | } | ||
144 | |||
145 | .el-tabs__item:focus.is-active.is-focus:not(:active) { | ||
146 | box-shadow: none !important; | ||
147 | } | ||
148 | |||
149 | // Divider 分割线 样式的修改 | ||
150 | .el-divider--horizontal { | ||
151 | margin: 10px 0 !important; | ||
152 | } | ||
153 | |||
154 | .el-row { | ||
155 | margin-bottom: 0 !important; | ||
156 | } | ||
157 | |||
158 | // form | ||
159 | .el-form-item__content { | ||
160 | margin-left: 0 !important; | ||
161 | } | ||
162 | |||
163 | .el-icon-full-screen, | ||
164 | .el-icon-rank { | ||
165 | cursor: pointer; | ||
166 | } | ||
167 | |||
168 | // 表格样式 | ||
169 | .el-table th { | ||
170 | height: 48px !important; | ||
171 | font-size: 14px; | ||
172 | color: #4A4A4A; | ||
173 | } | ||
174 | |||
175 | .el-pagination.is-background .btn-prev, | ||
176 | .el-pagination.is-background .btn-next, | ||
177 | .el-pagination.is-background .el-pager li { | ||
178 | @include borderColor("pagBorderColor"); | ||
179 | background-color: #FFFFFF; | ||
180 | @include font_color("pagText"); | ||
181 | } | ||
182 | |||
183 | .el-pagination.is-background .el-pager li:not(.disabled).active { | ||
184 | @include background("pagBg"); | ||
185 | border-radius: 4px; | ||
186 | @include font_color("pagActiveText"); | ||
187 | @include borderColor("pagActiveText"); | ||
188 | } | ||
189 | |||
190 | .el-table__header th { | ||
191 | background-color: #F1F3F7 !important; | ||
192 | } | ||
193 | |||
194 | .el-table tr td { | ||
195 | font-size: 14px; | ||
196 | color: #7A7A7A; | ||
197 | } | ||
198 | |||
199 | .lb-table .el-table { | ||
200 | border-bottom: none; | ||
201 | border-radius: 4px 4px 0 0; | ||
202 | } | ||
203 | |||
204 | .el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip { | ||
205 | display: none !important | ||
206 | } | ||
207 | |||
208 | .el-message-box__btns { | ||
209 | display: flex; | ||
210 | flex-direction: row-reverse; | ||
211 | } | ||
212 | |||
213 | .el-message-box__btns .el-button--primary { | ||
214 | margin-right: 10px; | ||
215 | } | ||
216 | |||
217 | .el-form-item__content { | ||
218 | flex: 1; | ||
219 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/styles/sbPublic.scss
deleted
100644 → 0
1 | @import '~@/styles/sbElement-ui.scss'; | ||
2 | @import "~@/styles/_handle.scss"; | ||
3 | @import "~@/styles/_handle.scss"; | ||
4 | |||
5 | //input | ||
6 | .el-input__inner { | ||
7 | color: #7A7A7A !important; | ||
8 | padding: 0 7px !important; | ||
9 | } | ||
10 | |||
11 | |||
12 | |||
13 | .from-clues { | ||
14 | // height: 100%; | ||
15 | width: 100%; | ||
16 | min-width: 1280px; | ||
17 | box-sizing: border-box; | ||
18 | overflow-x: hidden; | ||
19 | |||
20 | &-header { | ||
21 | width: 100%; | ||
22 | padding: 7px 15px 15px 15px; | ||
23 | box-sizing: border-box; | ||
24 | background: #FFFFFF; | ||
25 | border-radius: 4px; | ||
26 | } | ||
27 | |||
28 | &-content { | ||
29 | width: 100%; | ||
30 | box-sizing: border-box; | ||
31 | margin-top: 10px; | ||
32 | background: #FFFFFF; | ||
33 | border-radius: 4px; | ||
34 | padding: 15px; | ||
35 | } | ||
36 | |||
37 | // .el-dialog__close { | ||
38 | // font-size: 0; | ||
39 | // } | ||
40 | |||
41 | .el-form-item { | ||
42 | display: flex; | ||
43 | width: 100%; | ||
44 | } | ||
45 | |||
46 | .from-clues-content { | ||
47 | .el-table__expand-icon { | ||
48 | color: rgb(0, 0, 0); | ||
49 | } | ||
50 | } | ||
51 | |||
52 | .el-form--inline .el-form-item { | ||
53 | width: auto; | ||
54 | margin-right: 0px; | ||
55 | |||
56 | .el-form-item__content { | ||
57 | width: auto; | ||
58 | } | ||
59 | } | ||
60 | |||
61 | .el-form-item--small.el-form-item { | ||
62 | margin-bottom: 0px; | ||
63 | } | ||
64 | } | ||
65 | |||
66 | .echarts-box { | ||
67 | display: flex; | ||
68 | justify-content: center; | ||
69 | height: calc(100vh - 230px); | ||
70 | } | ||
71 | |||
72 | // 通过 入库 样式 | ||
73 | .adopt, | ||
74 | .success { | ||
75 | color: #0A852A; | ||
76 | position: relative; | ||
77 | } | ||
78 | |||
79 | .warehousing { | ||
80 | color: #FFCA57; | ||
81 | position: relative; | ||
82 | } | ||
83 | |||
84 | .fail { | ||
85 | color: #AB0C0C; | ||
86 | position: relative; | ||
87 | } | ||
88 | |||
89 | /* --------------进度条美化---------------- */ | ||
90 | ::-webkit-scrollbar { | ||
91 | width: 7px; | ||
92 | height: 7px; | ||
93 | } | ||
94 | |||
95 | ::-webkit-scrollbar-track { | ||
96 | width: 7px; | ||
97 | background-color: rgba(255, 255, 255, 0); | ||
98 | -webkit-border-radius: 6px; | ||
99 | -moz-border-radius: 6px; | ||
100 | border-radius: 6px; | ||
101 | } | ||
102 | |||
103 | ::-webkit-scrollbar-thumb { | ||
104 | background-color: rgb(207, 208, 209); | ||
105 | background-clip: padding-box; | ||
106 | min-height: 28px; | ||
107 | -webkit-border-radius: 6px; | ||
108 | -moz-border-radius: 6px; | ||
109 | border-radius: 6px; | ||
110 | } | ||
111 | |||
112 | ::-webkit-scrollbar-thumb:hover { | ||
113 | background-color: rgb(162, 164, 167); | ||
114 | } | ||
115 | |||
116 | // 搜索框按钮的位置 | ||
117 | .btnColRight { | ||
118 | box-sizing: border-box; | ||
119 | text-align: right; | ||
120 | } | ||
121 | |||
122 | // 按钮样式 | ||
123 | .button:hover { | ||
124 | width: 86px; | ||
125 | height: 32px; | ||
126 | color: #ffffff; | ||
127 | cursor: pointer; | ||
128 | border: 0; | ||
129 | font-size: 12px; | ||
130 | background: none; | ||
131 | } | ||
132 | |||
133 | .cx { | ||
134 | width: 86px; | ||
135 | height: 32px; | ||
136 | @include background_color("btnBg"); | ||
137 | color: white; | ||
138 | border: none; | ||
139 | } | ||
140 | |||
141 | .cx:hover { | ||
142 | width: 86px; | ||
143 | height: 32px; | ||
144 | @include background_color("btnBg"); | ||
145 | color: white; | ||
146 | border: none; | ||
147 | } | ||
148 | |||
149 | .cz { | ||
150 | width: 86px; | ||
151 | height: 32px; | ||
152 | background-color: white; | ||
153 | @include font_color("btnColor"); | ||
154 | border: 1px solid rgba(65, 98, 216, 0.3); | ||
155 | } | ||
156 | |||
157 | .cz:hover { | ||
158 | width: 86px; | ||
159 | height: 32px; | ||
160 | background-color: white; | ||
161 | @include font_color("btnColor"); | ||
162 | border: 1px solid rgba(65, 98, 216, 0.3); | ||
163 | } | ||
164 | |||
165 | .cx:focus { | ||
166 | color: white; | ||
167 | @include background_color("btnBg"); | ||
168 | background-size: cover; | ||
169 | } | ||
170 | |||
171 | .cz:focus { | ||
172 | background-color: white; | ||
173 | background-size: cover; | ||
174 | } | ||
175 | |||
176 | // 角色管理人员菜单配置弹框样式 | ||
177 | .roleconfiguration { | ||
178 | .el-tabs__item { | ||
179 | color: #cef8ff !important; | ||
180 | // background: url("~@/image/tabitem.png") no-repeat; | ||
181 | // background-size: 100% 100%; | ||
182 | @include background("btnBg"); | ||
183 | border-radius: 3px; | ||
184 | } | ||
185 | |||
186 | .el-tabs__item.is-active { | ||
187 | @include background("btnselect"); | ||
188 | } | ||
189 | |||
190 | .el-dialog__headerbtn .el-dialog__close { | ||
191 | font-size: 20px; | ||
192 | color: #4162D8 | ||
193 | } | ||
194 | |||
195 | .el-dialog__header { | ||
196 | width: 100%; | ||
197 | display: flex; | ||
198 | justify-content: center; | ||
199 | font-size: 24px; | ||
200 | background-color: #3D59C4; | ||
201 | |||
202 | .dialog_title { | ||
203 | |||
204 | color: white; | ||
205 | margin-bottom: 10px; | ||
206 | } | ||
207 | } | ||
208 | |||
209 | } | ||
210 | |||
211 | .el-breadcrumb__inner { | ||
212 | color: #CEF8FF !important; | ||
213 | } | ||
214 | |||
215 | .breadcrumb1366 { | ||
216 | padding: 10px 0 !important; | ||
217 | } | ||
218 | |||
219 | .cur-location { | ||
220 | font-size: 16px; | ||
221 | color: white; | ||
222 | line-height: 40px; | ||
223 | float: left; | ||
224 | |||
225 | img { | ||
226 | position: relative; | ||
227 | top: 3px; | ||
228 | margin-right: 4px; | ||
229 | } | ||
230 | } | ||
231 | |||
232 | .el-breadcrumb__inner a, | ||
233 | .el-breadcrumb__inner.is-link { | ||
234 | color: white; | ||
235 | cursor: text; | ||
236 | font-weight: normal; | ||
237 | } | ||
238 | |||
239 | .contentCenter { | ||
240 | position: absolute; | ||
241 | top: 50%; | ||
242 | left: 50%; | ||
243 | transform: translate(calc(-50% + 85px), -50%); | ||
244 | } | ||
245 | |||
246 | .mainCenter { | ||
247 | position: absolute; | ||
248 | top: 50%; | ||
249 | left: 50%; | ||
250 | transform: translate(-50%, -50%); | ||
251 | |||
252 | // 展开收起按钮位置 | ||
253 | .el-input__suffix { | ||
254 | right: 10px; | ||
255 | } | ||
256 | } | ||
257 | |||
258 | .el-textarea.is-disabled .el-textarea__inner { | ||
259 | background-color: transparent !important; | ||
260 | color: #4a4a4a; | ||
261 | } | ||
262 | |||
263 | // 登簿日志弹出框 | ||
264 | .commonDialog { | ||
265 | .el-dialog__headerbtn .el-dialog__close { | ||
266 | font-size: 20px; | ||
267 | color: #4162D8 | ||
268 | } | ||
269 | |||
270 | .el-dialog__header { | ||
271 | text-align: center; | ||
272 | font-size: 24px; | ||
273 | @include background("navbg"); | ||
274 | } | ||
275 | |||
276 | .el-tabs__header { | ||
277 | margin: 0 !important; | ||
278 | border-bottom: none; | ||
279 | } | ||
280 | |||
281 | .el-dialog { | ||
282 | display: flex; | ||
283 | flex-direction: column; | ||
284 | } | ||
285 | |||
286 | .el-dialog__body { | ||
287 | display: flex; | ||
288 | flex-direction: column; | ||
289 | padding-top: 0px; | ||
290 | padding-bottom: 30px; | ||
291 | height: 100%; | ||
292 | flex: 1; | ||
293 | position: relative; | ||
294 | } | ||
295 | |||
296 | .regularHeight { | ||
297 | display: flex; | ||
298 | flex-direction: column; | ||
299 | height: 81vh; | ||
300 | margin-bottom: 5px; | ||
301 | |||
302 | .JsonEditor { | ||
303 | height: 73vh; | ||
304 | |||
305 | .el-textarea.is-disabled .el-textarea__inner { | ||
306 | @include borderColor("border"); | ||
307 | } | ||
308 | |||
309 | .editXML { | ||
310 | height: 100%; | ||
311 | |||
312 | .el-textarea { | ||
313 | height: 100% !important; | ||
314 | } | ||
315 | |||
316 | .el-textarea__inner { | ||
317 | height: 100% !important; | ||
318 | border-radius: 2px; | ||
319 | border: none; | ||
320 | } | ||
321 | } | ||
322 | } | ||
323 | |||
324 | |||
325 | // 响应结果 | ||
326 | .xyjg { | ||
327 | height: 80vh; | ||
328 | |||
329 | .result-con { | ||
330 | height: 49%; | ||
331 | border-radius: 2px; | ||
332 | box-sizing: border-box; | ||
333 | padding: 10px; | ||
334 | |||
335 | .el-textarea { | ||
336 | height: 90%; | ||
337 | } | ||
338 | |||
339 | .el-textarea__inner { | ||
340 | height: 100%; | ||
341 | background: transparent; | ||
342 | border: none; | ||
343 | @include borderColor("border"); | ||
344 | color: #4a4a4a; | ||
345 | } | ||
346 | |||
347 | p { | ||
348 | color: #2188E3; | ||
349 | font-weight: 700; | ||
350 | font-size: 18px; | ||
351 | position: relative; | ||
352 | padding-left: 8px; | ||
353 | } | ||
354 | |||
355 | p:before { | ||
356 | content: ''; | ||
357 | width: 3px; | ||
358 | height: 13px; | ||
359 | position: absolute; | ||
360 | left: 0; | ||
361 | top: 4px; | ||
362 | background-color: #2188E3; | ||
363 | } | ||
364 | } | ||
365 | } | ||
366 | } | ||
367 | |||
368 | .dialog_title { | ||
369 | color: white; | ||
370 | margin-bottom: 10px; | ||
371 | } | ||
372 | |||
373 | .el-tabs__item { | ||
374 | color: #CEF8FF !important; | ||
375 | background-color: none; | ||
376 | display: flex; | ||
377 | flex-direction: row; | ||
378 | justify-content: center; | ||
379 | border-radius: 3px; | ||
380 | } | ||
381 | |||
382 | .el-tabs__nav { | ||
383 | display: flex; | ||
384 | border: none !important; | ||
385 | } | ||
386 | |||
387 | .el-tabs__item.is-top:not(:last-child) { | ||
388 | margin-right: 5px; | ||
389 | } | ||
390 | |||
391 | .el-icon-circle-close { | ||
392 | display: none; | ||
393 | } | ||
394 | |||
395 | .el-tabs__item { | ||
396 | color: #cef8ff !important; | ||
397 | display: flex; | ||
398 | flex-direction: row; | ||
399 | justify-content: center; | ||
400 | @include background("btnBg"); | ||
401 | border-radius: 3px; | ||
402 | } | ||
403 | |||
404 | .el-tabs__item.is-active { | ||
405 | @include background("btnselect"); | ||
406 | } | ||
407 | |||
408 | .from-clues-content { | ||
409 | margin-top: 0; | ||
410 | background: none; | ||
411 | padding: 0; | ||
412 | |||
413 | |||
414 | } | ||
415 | |||
416 | .editDialogBox-box { | ||
417 | position: relative; | ||
418 | top: 10px; | ||
419 | } | ||
420 | |||
421 | .dialog-from { | ||
422 | padding-top: 0; | ||
423 | |||
424 | .el-row { | ||
425 | display: flex; | ||
426 | flex-wrap: nowrap; | ||
427 | } | ||
428 | |||
429 | .el-col { | ||
430 | display: flex; | ||
431 | justify-content: space-between; | ||
432 | border: 1px solid #C0C4CC; | ||
433 | border-radius: 2px; | ||
434 | line-height: 36px; | ||
435 | height: 36px; | ||
436 | margin: 5px; | ||
437 | padding: 0 5px; | ||
438 | } | ||
439 | |||
440 | .bz { | ||
441 | height: 100%; | ||
442 | position: relative; | ||
443 | top: 3px; | ||
444 | } | ||
445 | |||
446 | .el-input { | ||
447 | flex: 1; | ||
448 | width: 100%; | ||
449 | } | ||
450 | |||
451 | .el-input__inner { | ||
452 | border: none; | ||
453 | text-align: right; | ||
454 | } | ||
455 | |||
456 | .el-select { | ||
457 | .el-input__suffix { | ||
458 | right: 0; | ||
459 | } | ||
460 | |||
461 | .el-input { | ||
462 | padding-right: 13px; | ||
463 | } | ||
464 | } | ||
465 | |||
466 | .el-textarea__inner { | ||
467 | margin: 0; | ||
468 | } | ||
469 | |||
470 | &_header { | ||
471 | // margin: 0 -5px !important; | ||
472 | } | ||
473 | |||
474 | &_title { | ||
475 | font-size: 14px; | ||
476 | font-weight: 600; | ||
477 | color: #000000; | ||
478 | margin: 3px 0; | ||
479 | } | ||
480 | } | ||
481 | } | ||
482 | |||
483 | .entryJournal { | ||
484 | .regularHeight { | ||
485 | height: 79vh; | ||
486 | } | ||
487 | } | ||
488 | |||
489 | .el-input-number__increase, | ||
490 | .el-input-number__decrease { | ||
491 | display: none !important; | ||
492 | } | ||
493 | |||
494 | // 数据上报弹出框 | ||
495 | .dataReporting { | ||
496 | .el-dialog__header { | ||
497 | width: 100%; | ||
498 | display: flex; | ||
499 | justify-content: center; | ||
500 | font-size: 24px; | ||
501 | @include background("navbg"); | ||
502 | |||
503 | .dialog_title { | ||
504 | color: white; | ||
505 | margin-bottom: 10px; | ||
506 | } | ||
507 | } | ||
508 | |||
509 | .el-dialog__headerbtn .el-dialog__close { | ||
510 | font-size: 20px; | ||
511 | color: #4162D8 | ||
512 | } | ||
513 | |||
514 | .el-tabs { | ||
515 | color: #cef8ff; | ||
516 | } | ||
517 | |||
518 | .d-center { | ||
519 | z-index: 1000; | ||
520 | } | ||
521 | |||
522 | .sjmx { | ||
523 | display: flex; | ||
524 | flex-direction: column; | ||
525 | height: 49vh; | ||
526 | |||
527 | .el-tabs__item { | ||
528 | height: 50px; | ||
529 | padding-top: 6px; | ||
530 | } | ||
531 | } | ||
532 | |||
533 | .result { | ||
534 | flex: 1; | ||
535 | height: 100%; | ||
536 | } | ||
537 | |||
538 | .editDialogBox-con { | ||
539 | flex: 1; | ||
540 | height: 100%; | ||
541 | overflow-y: hidden; | ||
542 | } | ||
543 | |||
544 | .el-tabs__item { | ||
545 | color: #cef8ff !important; | ||
546 | display: flex; | ||
547 | flex-direction: row; | ||
548 | justify-content: center; | ||
549 | @include background("btnBg"); | ||
550 | border-radius: 3px; | ||
551 | } | ||
552 | |||
553 | .obligee-item-name { | ||
554 | @include background("btnBg"); | ||
555 | border-radius: 3px; | ||
556 | @include borderColor("border"); | ||
557 | } | ||
558 | |||
559 | .el-tabs__nav-scroll { | ||
560 | background: none; | ||
561 | } | ||
562 | |||
563 | .result { | ||
564 | padding: 15px; | ||
565 | height: 100%; | ||
566 | |||
567 | .el-textarea__inner { | ||
568 | height: 50%; | ||
569 | color: #ffffff; | ||
570 | border: none !important; | ||
571 | color: #ffffff; | ||
572 | } | ||
573 | |||
574 | &-con { | ||
575 | background: #ffffff; | ||
576 | border-radius: 2px; | ||
577 | padding: 10px; | ||
578 | box-sizing: border-box; | ||
579 | height: 49%; | ||
580 | |||
581 | p { | ||
582 | color: #2997E8; | ||
583 | font-size: 14px; | ||
584 | position: relative; | ||
585 | padding-left: 10px; | ||
586 | } | ||
587 | |||
588 | p::before { | ||
589 | position: absolute; | ||
590 | content: ''; | ||
591 | width: 3px; | ||
592 | height: 10px; | ||
593 | background-color: #2997E8; | ||
594 | left: 0; | ||
595 | top: 3px; | ||
596 | } | ||
597 | } | ||
598 | } | ||
599 | |||
600 | .el-tabs__nav { | ||
601 | display: flex; | ||
602 | border: none !important; | ||
603 | } | ||
604 | |||
605 | .el-tabs__item.is-top { | ||
606 | border: 1px solid #dfe4ed; | ||
607 | border-top: 1px solid #dfe4ed; | ||
608 | border-bottom: 1px solid transparent; | ||
609 | } | ||
610 | |||
611 | .el-tabs__header { | ||
612 | border: none; | ||
613 | margin-bottom: 0; | ||
614 | border-bottom: none; | ||
615 | } | ||
616 | |||
617 | .el-tabs__item.is-top:not(:last-child) { | ||
618 | margin-right: 5px; | ||
619 | } | ||
620 | |||
621 | .el-tabs__item.is-top { | ||
622 | background-color: none !important; | ||
623 | } | ||
624 | |||
625 | .el-tabs__item.is-active { | ||
626 | @include background("btnselect"); | ||
627 | color: #FFFFFF; | ||
628 | } | ||
629 | |||
630 | .success-images { | ||
631 | width: 30px; | ||
632 | height: 30px; | ||
633 | position: relative; | ||
634 | top: 10px; | ||
635 | right: 3px; | ||
636 | } | ||
637 | |||
638 | .tab-pane-item { | ||
639 | line-height: 20px; | ||
640 | color: #FFFFFF; | ||
641 | |||
642 | p { | ||
643 | text-align: center; | ||
644 | } | ||
645 | } | ||
646 | |||
647 | .edit-content { | ||
648 | overflow-y: auto; | ||
649 | overflow-x: hidden; | ||
650 | padding-right: 1px; | ||
651 | border-top: none; | ||
652 | } | ||
653 | |||
654 | .editDialogBox { | ||
655 | border-radius: 8px; | ||
656 | overflow: hidden; | ||
657 | min-width: 1228px; | ||
658 | |||
659 | .el-dialog__header { | ||
660 | display: flex; | ||
661 | margin-bottom: 10px; | ||
662 | } | ||
663 | |||
664 | .dialog_footer { | ||
665 | flex-direction: column; | ||
666 | |||
667 | .dialog_button { | ||
668 | margin-top: 8px; | ||
669 | } | ||
670 | } | ||
671 | |||
672 | .divider { | ||
673 | width: 100%; | ||
674 | border-bottom: 1px solid #ccc; | ||
675 | } | ||
676 | } | ||
677 | |||
678 | .el-dialog__wrapper { | ||
679 | overflow: hidden; | ||
680 | } | ||
681 | } | ||
682 | |||
683 | // 人员管理角色管理菜单管理修改新增弹框样式 | ||
684 | .PersonnelDialog { | ||
685 | .el-dialog__headerbtn .el-dialog__close { | ||
686 | font-size: 20px; | ||
687 | color: #4162D8 | ||
688 | } | ||
689 | |||
690 | .el-dialog__header { | ||
691 | text-align: center; | ||
692 | margin-bottom: 10px; | ||
693 | font-size: 24px; | ||
694 | @include background("navbg"); | ||
695 | |||
696 | .dialog_title { | ||
697 | b { | ||
698 | color: white !important; | ||
699 | } | ||
700 | |||
701 | margin-bottom: 10px; | ||
702 | } | ||
703 | } | ||
704 | |||
705 | .el-form-item { | ||
706 | display: flex; | ||
707 | } | ||
708 | |||
709 | .el-dialog__header { | ||
710 | .el-dialog__headerbtn { | ||
711 | right: 20px !important; | ||
712 | top: 23px !important; | ||
713 | } | ||
714 | } | ||
715 | |||
716 | .selbig { | ||
717 | width: 500px; | ||
718 | } | ||
719 | } | ||
720 | |||
721 | // 弹框中间区域样式 | ||
722 | .dialogCon { | ||
723 | background: #ffffff; | ||
724 | border: 1px solid #294ef1; | ||
725 | padding: 15px; | ||
726 | |||
727 | .el-form-item__content { | ||
728 | display: flex; | ||
729 | } | ||
730 | } | ||
731 | |||
732 | // 修改密码界面样式 | ||
733 | .informationpassword { | ||
734 | margin: 36px 200px; | ||
735 | overflow-y: auto; | ||
736 | |||
737 | .form-wrapper { | ||
738 | padding: 24px 120px 0px; | ||
739 | |||
740 | .el-form-item { | ||
741 | margin-bottom: 24px; | ||
742 | |||
743 | .el-form-item__label { | ||
744 | color: #000000; | ||
745 | } | ||
746 | |||
747 | .el-input .el-input__inner { | ||
748 | padding: 0 8px; | ||
749 | height: 40px; | ||
750 | line-height: 40px; | ||
751 | } | ||
752 | } | ||
753 | } | ||
754 | |||
755 | .bottom-wrapper { | ||
756 | padding: 32px 120px 24px; | ||
757 | text-align: center; | ||
758 | } | ||
759 | } | ||
760 | |||
761 | // 个人信息 | ||
762 | .information { | ||
763 | height: calc(100% - 58px); | ||
764 | display: flex; | ||
765 | flex-direction: column; | ||
766 | |||
767 | .from-clues-content { | ||
768 | flex: 1; | ||
769 | height: 100%; | ||
770 | } | ||
771 | } | ||
772 | |||
773 | // 修改基本信息界面样式 | ||
774 | .informationbase { | ||
775 | margin: 0.1875rem 1.0417rem; | ||
776 | overflow-y: auto; | ||
777 | |||
778 | .form-wrapper { | ||
779 | padding: 0px 120px 0px; | ||
780 | |||
781 | .el-form-item { | ||
782 | /deep/.el-form-item__label { | ||
783 | color: #000000; | ||
784 | } | ||
785 | |||
786 | ::v-deep .el-input .el-input__inner { | ||
787 | padding: 0 8px; | ||
788 | height: 40px; | ||
789 | line-height: 40px; | ||
790 | } | ||
791 | } | ||
792 | |||
793 | .el-form-item--small.el-form-item { | ||
794 | margin-bottom: 16px; | ||
795 | } | ||
796 | } | ||
797 | |||
798 | .bottom-wrapper { | ||
799 | padding: 0px 120px 0px; | ||
800 | text-align: center; | ||
801 | } | ||
802 | } | ||
803 | |||
804 | // 权利人信息样式 | ||
805 | .itemForm { | ||
806 | position: relative; | ||
807 | padding: 10px; | ||
808 | |||
809 | .el-select { | ||
810 | width: 100%; | ||
811 | } | ||
812 | |||
813 | .el-form-item__error { | ||
814 | right: 25px; | ||
815 | top: 15px; | ||
816 | text-align: right; | ||
817 | pointer-events: none; | ||
818 | } | ||
819 | |||
820 | .el-date-editor { | ||
821 | width: 100%; | ||
822 | } | ||
823 | |||
824 | .el-date-editor--date { | ||
825 | width: 100%; | ||
826 | } | ||
827 | |||
828 | .el-cascader { | ||
829 | width: 100%; | ||
830 | } | ||
831 | |||
832 | // table 样式 | ||
833 | .el-form-item__label { | ||
834 | border-right: none; | ||
835 | text-align: center; | ||
836 | padding: 0; | ||
837 | line-height: 16px; | ||
838 | font-size: 12px; | ||
839 | text-align: right; | ||
840 | margin-top: 8px !important; | ||
841 | } | ||
842 | |||
843 | .el-form-item__content { | ||
844 | display: flex; | ||
845 | margin-right: -1px; | ||
846 | } | ||
847 | |||
848 | .obligee-item-name, | ||
849 | .receivingInfo-item-name, | ||
850 | .auditInfo-item-name { | ||
851 | @include background("btnselect"); | ||
852 | border-radius: 3px; | ||
853 | color: #FFFFFF; | ||
854 | } | ||
855 | |||
856 | .el-textarea__inner { | ||
857 | margin: 5px; | ||
858 | background: transparent; | ||
859 | color: #FFFFFF; | ||
860 | border-radius: 2px; | ||
861 | } | ||
862 | |||
863 | .el-input-number { | ||
864 | width: 100%; | ||
865 | } | ||
866 | |||
867 | .el-input-number__increase { | ||
868 | color: #FFFFFF; | ||
869 | border: none; | ||
870 | right: 7px; | ||
871 | top: 2px; | ||
872 | } | ||
873 | |||
874 | .el-input-number__decrease { | ||
875 | color: #FFFFFF; | ||
876 | border: none; | ||
877 | right: 7px; | ||
878 | bottom: 10px; | ||
879 | } | ||
880 | |||
881 | .el-input__inner { | ||
882 | margin: 5px; | ||
883 | border-radius: 2px; | ||
884 | text-align: left; | ||
885 | } | ||
886 | |||
887 | .el-form-item { | ||
888 | margin-bottom: 0; | ||
889 | margin-top: -1px; | ||
890 | } | ||
891 | |||
892 | .item-label { | ||
893 | display: flex; | ||
894 | align-items: flex-end; | ||
895 | flex-direction: column; | ||
896 | font-size: 12px; | ||
897 | flex: 0 0 90px; | ||
898 | margin-right: 3px; | ||
899 | |||
900 | p { | ||
901 | line-height: 16px; | ||
902 | white-space: nowrap; | ||
903 | text-align: right; | ||
904 | } | ||
905 | |||
906 | p:nth-child(1) { | ||
907 | position: relative; | ||
908 | right: 5px; | ||
909 | } | ||
910 | } | ||
911 | } | ||
912 | |||
913 | // 字典管理弹框 | ||
914 | .dictionary { | ||
915 | .el-dialog__header { | ||
916 | width: 100%; | ||
917 | display: flex; | ||
918 | justify-content: center; | ||
919 | font-size: 24px; | ||
920 | @include background("navbg"); | ||
921 | |||
922 | .dialog_title { | ||
923 | |||
924 | color: white; | ||
925 | margin-bottom: 10px; | ||
926 | } | ||
927 | } | ||
928 | |||
929 | .el-dialog__headerbtn .el-dialog__close { | ||
930 | font-size: 20px; | ||
931 | color: #4162D8 | ||
932 | } | ||
933 | } | ||
934 | |||
935 | // 配置参数 | ||
936 | .configuration { | ||
937 | color: white; | ||
938 | margin-top: 6vh; | ||
939 | |||
940 | .el-dialog { | ||
941 | background-color: #ffffff !important; | ||
942 | |||
943 | .el-dialog__header { | ||
944 | @include background("navbg"); | ||
945 | |||
946 | .el-dialog__title { | ||
947 | color: white !important; | ||
948 | } | ||
949 | |||
950 | .el-dialog__headerbtn { | ||
951 | top: 20px; | ||
952 | |||
953 | .el-dialog__close { | ||
954 | color: #4162D8 | ||
955 | } | ||
956 | } | ||
957 | } | ||
958 | |||
959 | /deep/ .jsoneditor-vue { | ||
960 | height: 100%; | ||
961 | } | ||
962 | |||
963 | .fullScreen { | ||
964 | position: absolute; | ||
965 | right: 4%; | ||
966 | top: 17%; | ||
967 | cursor: pointer; | ||
968 | color: #4162D8 | ||
969 | } | ||
970 | |||
971 | /deep/ .jsoneditor-modes { | ||
972 | display: none !important; | ||
973 | } | ||
974 | |||
975 | /deep/.jsoneditor-poweredBy { | ||
976 | display: none !important; | ||
977 | } | ||
978 | |||
979 | .jsoneditor-menu { | ||
980 | @include background("navbg"); | ||
981 | border-bottom: 1px solid #9c9e9f !important; | ||
982 | } | ||
983 | |||
984 | .jsoneditor { | ||
985 | border: 1px solid #9c9e9f !important; | ||
986 | } | ||
987 | |||
988 | .el-collapse { | ||
989 | border: 0; | ||
990 | } | ||
991 | |||
992 | .el-collapse-item__header { | ||
993 | height: 44px; | ||
994 | } | ||
995 | } | ||
996 | } | ||
997 | |||
998 | //定时任务弹框 | ||
999 | .scheduledtaskdialog { | ||
1000 | .el-dialog__header { | ||
1001 | width: 100%; | ||
1002 | display: flex; | ||
1003 | justify-content: center; | ||
1004 | font-size: 24px; | ||
1005 | @include background("navbg"); | ||
1006 | |||
1007 | .dialog_title { | ||
1008 | |||
1009 | color: white; | ||
1010 | margin-bottom: 10px; | ||
1011 | } | ||
1012 | } | ||
1013 | |||
1014 | .el-dialog__headerbtn .el-dialog__close { | ||
1015 | font-size: 20px; | ||
1016 | color: #4162D8 | ||
1017 | } | ||
1018 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/styles/sbSidebar.scss
deleted
100644 → 0
1 | @import "~@/styles/_handle.scss"; | ||
2 | |||
3 | .main-container { | ||
4 | width: 100%; | ||
5 | height: calc(100% - 74px); | ||
6 | transition: margin-left 0.28s; | ||
7 | display: flex; | ||
8 | } | ||
9 | |||
10 | .el-form-item__content { | ||
11 | margin-left: 0 !important; | ||
12 | } | ||
13 | |||
14 | .sidebar-container { | ||
15 | transition: width 0.28s; | ||
16 | width: $sideBarWidth !important; | ||
17 | font-size: 0px; | ||
18 | @include background_color("menuBg"); | ||
19 | |||
20 | .horizontal-collapse-transition { | ||
21 | transition: 0s width ease-in-out, 0s padding-left ease-in-out, | ||
22 | 0s padding-right ease-in-out; | ||
23 | } | ||
24 | |||
25 | .el-scrollbar { | ||
26 | height: 100%; | ||
27 | } | ||
28 | |||
29 | .scrollbar-wrapper { | ||
30 | overflow-x: hidden !important; | ||
31 | margin-right: 0 !important; | ||
32 | |||
33 | &::-webkit-scrollbar { | ||
34 | display: none; | ||
35 | } | ||
36 | } | ||
37 | |||
38 | a { | ||
39 | display: inline-block; | ||
40 | width: 100%; | ||
41 | overflow: hidden; | ||
42 | } | ||
43 | |||
44 | .svg-icon { | ||
45 | margin-right: 5px; | ||
46 | } | ||
47 | |||
48 | .sub-el-icon { | ||
49 | margin-right: 12px; | ||
50 | margin-left: -2px; | ||
51 | } | ||
52 | |||
53 | .el-menu { | ||
54 | background-color: transparent !important; | ||
55 | border: none; | ||
56 | @include font_color("menuText"); | ||
57 | height: 100%; | ||
58 | width: 100% !important; | ||
59 | } | ||
60 | |||
61 | // menu hover | ||
62 | .el-menu--collapse .el-submenu__title, | ||
63 | .el-menu--collapse .submenu-title-noDropdown { | ||
64 | margin-left: 0px !important; | ||
65 | } | ||
66 | |||
67 | // 有子级 | ||
68 | .el-submenu__title { | ||
69 | @include font_color("menuText"); | ||
70 | background-color: transparent !important; | ||
71 | |||
72 | &:hover { | ||
73 | color: $subMenuActiveText !important; | ||
74 | @include font_color("submenuColor"); | ||
75 | border-right: 5px solid #36CEB6; | ||
76 | @include background_color("submenuBg"); | ||
77 | box-sizing: border-box; | ||
78 | |||
79 | .svg-icon, | ||
80 | i, | ||
81 | span { | ||
82 | @include font_color("submenuColor"); | ||
83 | } | ||
84 | } | ||
85 | } | ||
86 | |||
87 | // 没有子级 | ||
88 | .submenu-title-noDropdown { | ||
89 | @include font_color("menuText"); | ||
90 | padding-left: 20px; | ||
91 | height: 56px; | ||
92 | background-color: transparent !important; | ||
93 | |||
94 | &:hover { | ||
95 | @include font_color("submenuColor"); | ||
96 | @include background_color("submenuBg"); | ||
97 | border-right: 5px solid #36CEB6; | ||
98 | box-sizing: border-box; | ||
99 | |||
100 | .svg-icon { | ||
101 | color: #1ea6f8 !important; | ||
102 | } | ||
103 | |||
104 | i { | ||
105 | color: #1ea6f8 !important; | ||
106 | } | ||
107 | } | ||
108 | } | ||
109 | |||
110 | .submenu-title-noDropdown.is-active, | ||
111 | .el-submenu__title.is-active { | ||
112 | @include background_color("submenuBg"); | ||
113 | @include font_color("submenuColor"); | ||
114 | border-right: 5px solid #36CEB6; | ||
115 | box-sizing: border-box; | ||
116 | |||
117 | .svg-icon { | ||
118 | color: #1ea6f8 !important; | ||
119 | } | ||
120 | |||
121 | i { | ||
122 | color: #1ea6f8 !important; | ||
123 | } | ||
124 | } | ||
125 | |||
126 | .submenu-title-noDropdown, | ||
127 | .el-submenu__title { | ||
128 | font-weight: 600; | ||
129 | font-size: $sideBarFontSize; | ||
130 | |||
131 | >i { | ||
132 | color: $subMenuActiveText !important; | ||
133 | transform: rotate(90deg); | ||
134 | -webkit-transform: rotate(90deg); | ||
135 | -moz-transform: rotate(90deg); | ||
136 | -ms-transform: rotate(90deg); | ||
137 | -o-transform: rotate(90deg); | ||
138 | margin-right: 10px; | ||
139 | } | ||
140 | |||
141 | .svg-icon { | ||
142 | font-size: 18px; | ||
143 | color: #6D7278 !important; | ||
144 | } | ||
145 | } | ||
146 | |||
147 | .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow { | ||
148 | transform: rotateZ(0deg) !important; | ||
149 | -webkit-transform: rotateZ(0deg) !important; | ||
150 | -moz-transform: rotateZ(0deg) !important; | ||
151 | -ms-transform: rotateZ(0deg) !important; | ||
152 | -o-transform: rotateZ(0deg) !important; | ||
153 | } | ||
154 | |||
155 | & .nest-menu .el-submenu>.el-submenu__title, | ||
156 | & .el-submenu .el-menu-item { | ||
157 | |||
158 | &.is-active { | ||
159 | @include background_color("menuActive"); | ||
160 | @include font_color("menuActiveText"); | ||
161 | } | ||
162 | |||
163 | &:hover { | ||
164 | @include background_color("menuActive"); | ||
165 | @include font_color("menuActiveText"); | ||
166 | color: $menuActiveText !important; | ||
167 | } | ||
168 | |||
169 | min-width: 130px !important; | ||
170 | background-color: transparent !important; | ||
171 | font-weight: 600; | ||
172 | @include font_color("menuText"); | ||
173 | font-size: $sideBarFontSize; | ||
174 | } | ||
175 | } | ||
176 | |||
177 | .hideSidebar { | ||
178 | .sidebar-container { | ||
179 | width: 54px !important; | ||
180 | } | ||
181 | |||
182 | .submenu-title-noDropdown { | ||
183 | padding: 0 !important; | ||
184 | position: relative; | ||
185 | |||
186 | .el-tooltip { | ||
187 | padding: 0 !important; | ||
188 | |||
189 | .svg-icon { | ||
190 | margin-left: 16px; | ||
191 | } | ||
192 | |||
193 | .sub-el-icon { | ||
194 | margin-left: 19px; | ||
195 | } | ||
196 | } | ||
197 | } | ||
198 | |||
199 | .el-submenu { | ||
200 | overflow: hidden; | ||
201 | |||
202 | &>.el-submenu__title { | ||
203 | padding: 0 !important; | ||
204 | |||
205 | .svg-icon { | ||
206 | margin-left: 16px; | ||
207 | } | ||
208 | |||
209 | .sub-el-icon { | ||
210 | margin-left: 19px; | ||
211 | } | ||
212 | |||
213 | .el-submenu__icon-arrow { | ||
214 | display: none; | ||
215 | } | ||
216 | } | ||
217 | } | ||
218 | |||
219 | .el-menu--collapse { | ||
220 | .el-submenu { | ||
221 | &>.el-submenu__title { | ||
222 | &>span { | ||
223 | height: 0; | ||
224 | width: 0; | ||
225 | overflow: hidden; | ||
226 | visibility: hidden; | ||
227 | display: inline-block; | ||
228 | } | ||
229 | } | ||
230 | } | ||
231 | } | ||
232 | } | ||
233 | |||
234 | .el-menu--collapse .el-menu .el-submenu { | ||
235 | min-width: $sideBarWidth !important; | ||
236 | } | ||
237 | |||
238 | // mobile responsive | ||
239 | .mobile { | ||
240 | .main-container { | ||
241 | margin-left: 0px; | ||
242 | } | ||
243 | |||
244 | .sidebar-container { | ||
245 | transition: transform 0.28s; | ||
246 | width: $sideBarWidth !important; | ||
247 | } | ||
248 | |||
249 | &.hideSidebar { | ||
250 | .sidebar-container { | ||
251 | pointer-events: none; | ||
252 | transition-duration: 0.3s; | ||
253 | transform: translate3d(-$sideBarWidth, 0, 0); | ||
254 | } | ||
255 | } | ||
256 | } | ||
257 | |||
258 | .withoutAnimation { | ||
259 | |||
260 | .main-container, | ||
261 | .sidebar-container { | ||
262 | transition: none; | ||
263 | } | ||
264 | } | ||
265 | |||
266 | // when menu collapsed | ||
267 | .el-menu--vertical { | ||
268 | &>.el-menu { | ||
269 | .svg-icon { | ||
270 | margin-right: 16px; | ||
271 | } | ||
272 | |||
273 | .sub-el-icon { | ||
274 | margin-right: 12px; | ||
275 | margin-left: -2px; | ||
276 | } | ||
277 | } | ||
278 | |||
279 | .nest-menu .el-submenu>.el-submenu__title, | ||
280 | .el-menu-item { | ||
281 | width: calc(100% - 12px); | ||
282 | border-top-right-radius: 8px; | ||
283 | border-bottom-right-radius: 8px; | ||
284 | font-weight: 600 !important; | ||
285 | font-size: 15px !important; | ||
286 | @include background("menuActive"); | ||
287 | @include font_color("menuText"); | ||
288 | |||
289 | &:hover { | ||
290 | @include background("menuActive"); | ||
291 | opacity: .9; | ||
292 | |||
293 | .svg-icon, | ||
294 | i, | ||
295 | span { | ||
296 | color: $menuText; | ||
297 | } | ||
298 | } | ||
299 | } | ||
300 | |||
301 | // the scroll bar appears when the subMenu is too long | ||
302 | >.el-menu--popup { | ||
303 | max-height: 100vh; | ||
304 | overflow-y: auto; | ||
305 | background-color: #32ACFE !important; | ||
306 | border-top-right-radius: 8px; | ||
307 | border-bottom-right-radius: 8px; | ||
308 | min-width: 140px; | ||
309 | padding: 12px 0; | ||
310 | |||
311 | &::-webkit-scrollbar-track-piece { | ||
312 | background: #d3dce6; | ||
313 | } | ||
314 | |||
315 | &::-webkit-scrollbar { | ||
316 | width: 6px; | ||
317 | } | ||
318 | |||
319 | &::-webkit-scrollbar-thumb { | ||
320 | background: #99a9bf; | ||
321 | border-radius: 20px; | ||
322 | } | ||
323 | } | ||
324 | } | ||
325 | |||
326 | .el-submenu.is-active .el-submenu__title { | ||
327 | @include background_color("submenuBg"); | ||
328 | @include font_color("submenuColor"); | ||
329 | border-right: 5px solid #36CEB6; | ||
330 | } | ||
331 | |||
332 | .el-submenu.is-active .el-submenu__title:hover { | ||
333 | @include font_color("submenuColor"); | ||
334 | } | ||
335 | |||
336 | .el-submenu.is-active .el-submenu__title .svg-icon { | ||
337 | @include font_color("submenuColor"); | ||
338 | } | ||
339 | |||
340 | .el-submenu__title { | ||
341 | display: flex; | ||
342 | align-items: center; | ||
343 | } | ||
344 | |||
345 | .sidebar-container .submenu-title-noDropdown>i, | ||
346 | .sidebar-container .el-submenu__title>i { | ||
347 | color: #6D7278 !important; | ||
348 | } | ||
349 | |||
350 | .el-submenu.is-active .el-submenu__title>i { | ||
351 | color: #FFFFFF !important; | ||
352 | } | ||
353 | |||
354 | .el-submenu__title span { | ||
355 | white-space: normal; | ||
356 | word-break: break-all; | ||
357 | line-height: 20px; | ||
358 | flex: 1; | ||
359 | padding-right: 20px; | ||
360 | } | ||
361 | |||
362 | .el-menu-item { | ||
363 | height: 42px; | ||
364 | display: flex; | ||
365 | align-items: center; | ||
366 | padding-right: 20px !important; | ||
367 | } | ||
368 | |||
369 | .el-menu-item span { | ||
370 | // white-space: nowrap !important; | ||
371 | word-break: break-all; | ||
372 | line-height: 20px; | ||
373 | flex: 1; | ||
374 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-24 16:44:54 | 4 | * @LastEditTime: 2023-05-11 17:23:08 |
5 | */ | 5 | */ |
6 | import Vue from 'vue' | 6 | export default function getTheme () { |
7 | export default function getTheme (theme = Vue.prototype.BASE_API.THEME) { | 7 | import("@/styles/jgPublic.scss") |
8 | const resultMap = { | ||
9 | 'jg': function () { | ||
10 | return import("@/styles/jgPublic.scss"); | ||
11 | }, | ||
12 | 'sb': function () { | ||
13 | return import("@/styles/sbPublic.scss"); | ||
14 | }, | ||
15 | 'default': function () { | ||
16 | throw new Error(`Unsupported theme: ${theme}`); | ||
17 | }, | ||
18 | }; | ||
19 | const result = resultMap[theme](); | ||
20 | if (result instanceof Promise) { | ||
21 | return result; | ||
22 | } else { | ||
23 | return resultMap.default(); | ||
24 | } | ||
25 | } | 8 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <template> | ||
2 | <!-- 接收报文查询 --> | ||
3 | <div class="reportLog from-clues"> | ||
4 | <!-- 头部搜索 --> | ||
5 | <div class="from-clues-header"> | ||
6 | <el-form ref="ruleForm" :model="form" label-width="100px"> | ||
7 | <el-form-item v-if="BASE_API.THEME == 'jg'"> | ||
8 | <Breadcrumb /> | ||
9 | </el-form-item> | ||
10 | <el-row class="mb-5"> | ||
11 | <el-col :span="6"> | ||
12 | <el-form-item label="权利人名称" prop="qlrmc"> | ||
13 | <el-input v-model.trim="form.qlrmc" clearable class="width100" placeholder="权利人名称"></el-input> | ||
14 | </el-form-item> | ||
15 | </el-col> | ||
16 | <el-col :span="6"> | ||
17 | <el-form-item label="证件号" prop="zjh"> | ||
18 | <el-input v-model.trim="form.zjh" clearable class="width100" placeholder="证件号"></el-input> | ||
19 | </el-form-item> | ||
20 | </el-col> | ||
21 | <!-- 按钮操作 --> | ||
22 | <el-col :span="6" class="btnColRight"> | ||
23 | <el-form-item> | ||
24 | <btn nativeType="cx" @click="handleSearchResult">查询</btn> | ||
25 | </el-form-item> | ||
26 | </el-col> | ||
27 | </el-row> | ||
28 | </el-form> | ||
29 | </div> | ||
30 | <!-- 列表区域 --> | ||
31 | <div class="from-clues-content"> | ||
32 | <lb-table ref="table" :page-size="pageData.size" :current-page.sync="pageData.current" :total="tableData.total" | ||
33 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | ||
34 | :data="tableData.data"> | ||
35 | </lb-table> | ||
36 | </div> | ||
37 | </div> | ||
38 | </template> | ||
39 | |||
40 | <script> | ||
41 | import Vue from 'vue' | ||
42 | // 接收报文查询 | ||
43 | // 引入表格头部数据 | ||
44 | import data from "../data"; | ||
45 | // 引入table混入方法 | ||
46 | import tableMixin from "@/mixins/tableMixin.js"; | ||
47 | import { saveSearchRecord } from "@/api/searchRecord.js"; | ||
48 | //引入日期处理方法 | ||
49 | import { timeFormat } from "@/utils/operation"; | ||
50 | export default { | ||
51 | name: "jsbwcx", | ||
52 | mixins: [tableMixin], | ||
53 | // 注册组件 | ||
54 | components: { | ||
55 | }, | ||
56 | data () { | ||
57 | return { | ||
58 | |||
59 | pickerOptionsStart: { | ||
60 | disabledDate: (time) => { | ||
61 | let endDateVal = this.form.receiveEndTime; | ||
62 | if (endDateVal) { | ||
63 | return ( | ||
64 | time.getTime() >= | ||
65 | new Date(endDateVal).getTime() | ||
66 | ); | ||
67 | } | ||
68 | }, | ||
69 | }, | ||
70 | pickerOptionsEnd: { | ||
71 | disabledDate: (time) => { | ||
72 | let beginDateVal = this.form.receiveStartTime; | ||
73 | if (beginDateVal) { | ||
74 | return ( | ||
75 | time.getTime() < | ||
76 | new Date(beginDateVal).getTime() | ||
77 | ); | ||
78 | } | ||
79 | }, | ||
80 | }, | ||
81 | // 表格数据 | ||
82 | form: { | ||
83 | qlrmc: "", // 行政区 | ||
84 | zjh: "", // 开始日期 | ||
85 | }, | ||
86 | // 校验规则 | ||
87 | rules: { | ||
88 | pcode: [{ required: true, message: "请选择行政区", trigger: "change" }], | ||
89 | startTime: [ | ||
90 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
91 | ], | ||
92 | endTime: [ | ||
93 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
94 | ], | ||
95 | bdcdyh: [ | ||
96 | { required: true, message: "不动产单元号", trigger: "change" }, | ||
97 | ], | ||
98 | ywmc: [{ required: true, message: "业务名称", trigger: "change" }], | ||
99 | jcjg: [{ required: true, message: "检查结果", trigger: "change" }], | ||
100 | rkjg: [{ required: true, message: "入库结果", trigger: "change" }], | ||
101 | }, | ||
102 | // 表格数据 | ||
103 | tableData: { | ||
104 | // 表格头部 | ||
105 | columns: [ | ||
106 | { | ||
107 | label: "序号", | ||
108 | type: "index", | ||
109 | width: "50", | ||
110 | index: this.indexMethod, | ||
111 | }, | ||
112 | { | ||
113 | prop: 'bdcdyh', | ||
114 | label: '不动产单元号', | ||
115 | width: 200 | ||
116 | }, | ||
117 | { | ||
118 | prop: "bdcqzh", | ||
119 | label: "不动产权证号", | ||
120 | width: 160, | ||
121 | }, | ||
122 | { | ||
123 | prop: 'djsj', | ||
124 | label: '登记时间', | ||
125 | width: 200 | ||
126 | }, | ||
127 | { | ||
128 | prop: "fdzl", | ||
129 | label: "坐落", | ||
130 | width: 160, | ||
131 | }, | ||
132 | { | ||
133 | prop: 'ghyt', | ||
134 | label: '用途', | ||
135 | width: 200 | ||
136 | }, | ||
137 | { | ||
138 | prop: "gyqk", | ||
139 | label: "共有情况", | ||
140 | width: 160, | ||
141 | }, | ||
142 | { | ||
143 | prop: 'jzmj', | ||
144 | label: '建筑面积', | ||
145 | width: 100 | ||
146 | }, | ||
147 | { | ||
148 | prop: "qlrmc", | ||
149 | label: "权利人", | ||
150 | width: 100, | ||
151 | }, | ||
152 | { | ||
153 | prop: "zjh", | ||
154 | label: "证件号", | ||
155 | width: 260, | ||
156 | }, | ||
157 | ], | ||
158 | // 表格列表数据 | ||
159 | total: 0, | ||
160 | data: [], | ||
161 | }, | ||
162 | // 分页 | ||
163 | pageData: { | ||
164 | total: 0, | ||
165 | pageSize: 10, | ||
166 | current: 1 | ||
167 | }, | ||
168 | title: "", | ||
169 | }; | ||
170 | }, | ||
171 | methods: { | ||
172 | //截止日期变化 | ||
173 | endTimeChange (val) { | ||
174 | this.form.receiveEndTime = timeFormat(new Date(val), true) | ||
175 | }, | ||
176 | // 初始化数据 | ||
177 | queryClickSearch () { | ||
178 | saveSearchRecord({ ...this.form, ...this.formData }).then( | ||
179 | (res) => { | ||
180 | if (res.code === 200) { | ||
181 | this.tableData.data = res.result | ||
182 | } else { | ||
183 | this.$message.warning(res.message) | ||
184 | } | ||
185 | } | ||
186 | ) | ||
187 | }, | ||
188 | // 重置 | ||
189 | resetForm () { | ||
190 | this.$refs.ruleForm.resetFields(); | ||
191 | this.form.currentPage = 1 | ||
192 | }, | ||
193 | featchData () {}, | ||
194 | // 结果 | ||
195 | handleResult (row) { | ||
196 | this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row) | ||
197 | }, | ||
198 | handleSearchResult() { | ||
199 | this.queryClickSearch() | ||
200 | }, | ||
201 | // 详情 | ||
202 | handleDetails (row) {}, | ||
203 | } | ||
204 | } | ||
205 | </script> | ||
206 | <style scoped lang="scss"> | ||
207 | .lastdom:nth-child(3) { | ||
208 | margin-bottom: 0px; | ||
209 | } | ||
210 | </style> | ||
211 |
src/views/gbxxcx/data/index.js
deleted
100644 → 0
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-17 15:10:43 | ||
5 | */ | ||
6 | import filter from '@/utils/filter.js' | ||
7 | class data extends filter { | ||
8 | constructor() { | ||
9 | super() | ||
10 | } | ||
11 | columns () { | ||
12 | return [ | ||
13 | { | ||
14 | prop: 'name', | ||
15 | label: '查询人员', | ||
16 | }, | ||
17 | { | ||
18 | prop: 'zjh', | ||
19 | label: '查询证件号', | ||
20 | }, | ||
21 | { | ||
22 | prop: "zjmc", | ||
23 | label: "查询证件名称", | ||
24 | }, | ||
25 | { | ||
26 | prop: "createtime", | ||
27 | label: "查询时间", | ||
28 | }, | ||
29 | // { | ||
30 | // prop: "result", | ||
31 | // label: "查询结果", | ||
32 | // } | ||
33 | ] | ||
34 | } | ||
35 | } | ||
36 | export default new data() |
src/views/gbxxcx/index.vue
deleted
100644 → 0
1 | <template> | ||
2 | <!-- 接收报文查询 --> | ||
3 | <div class="reportLog from-clues"> | ||
4 | <!-- 头部搜索 --> | ||
5 | <div class="from-clues-header"> | ||
6 | <el-form ref="ruleForm" :model="form" label-width="100px"> | ||
7 | <el-form-item v-if="BASE_API.THEME == 'jg'"> | ||
8 | <Breadcrumb /> | ||
9 | </el-form-item> | ||
10 | <el-row class="mb-5"> | ||
11 | <el-col :span="6"> | ||
12 | <el-form-item label="查询人员" prop="qxdm"> | ||
13 | <el-input v-model.trim="form.name" clearable class="width100" placeholder="查询人员"></el-input> | ||
14 | </el-form-item> | ||
15 | </el-col> | ||
16 | <el-col :span="6"> | ||
17 | <el-form-item label="查询日期" prop="startTime"> | ||
18 | <el-date-picker type="date" class="width100" placeholder="开始日期" :picker-options="pickerOptionsStart" | ||
19 | clearable v-model="form.startTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> | ||
20 | </el-form-item> | ||
21 | </el-col> | ||
22 | <el-col :span="6"> | ||
23 | <el-form-item label="至" prop="endTime" label-width="35px"> | ||
24 | <el-date-picker type="date" class="width100" placeholder="结束日期" :picker-options="pickerOptionsEnd" clearable | ||
25 | v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" @change="endTimeChange"></el-date-picker> | ||
26 | </el-form-item> | ||
27 | </el-col> | ||
28 | <el-col :span="6"> | ||
29 | <el-form-item label="证件号" prop="zjh"> | ||
30 | <el-input v-model.trim="form.zjh" clearable class="width100" placeholder="不动产单元号"></el-input> | ||
31 | </el-form-item> | ||
32 | </el-col> | ||
33 | </el-row> | ||
34 | <el-row class="mt-10"> | ||
35 | <el-col :span="6"> | ||
36 | <el-form-item label="查询证件名称" prop="zjmc"> | ||
37 | <el-input v-model.trim="form.zjmc" clearable class="width100" placeholder="业务流水号"></el-input> | ||
38 | </el-form-item> | ||
39 | </el-col> | ||
40 | <!-- 按钮操作 --> | ||
41 | <el-col :span="6" class="btnColRight"> | ||
42 | <el-form-item> | ||
43 | <btn nativeType="cz" @click="save">新增</btn> | ||
44 | <btn nativeType="cx" @click="handleSearch">查询</btn> | ||
45 | <!-- <btn nativeType="resetForm">重置</btn> --> | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | </el-row> | ||
49 | </el-form> | ||
50 | </div> | ||
51 | <!-- 列表区域 --> | ||
52 | <div class="from-clues-content"> | ||
53 | <lb-table ref="table" :page-size="pageData.size" :current-page.sync="pageData.current" :total="tableData.total" | ||
54 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | ||
55 | :data="tableData.data"> | ||
56 | </lb-table> | ||
57 | </div> | ||
58 | <!-- 编辑 --> | ||
59 | <el-dialog :close-on-click-modal="false" top="0" | ||
60 | custom-class="dialogBox dataReporting editDialogBox sbdialog commonDialog mainCenter" :visible.sync="dialogVisible" | ||
61 | width="92%"> | ||
62 | <search-result></search-result> | ||
63 | </el-dialog> | ||
64 | </div> | ||
65 | </template> | ||
66 | |||
67 | <script> | ||
68 | import Vue from 'vue' | ||
69 | // 接收报文查询 | ||
70 | // 引入表格头部数据 | ||
71 | import data from "./data"; | ||
72 | // 引入table混入方法 | ||
73 | import tableMixin from "@/mixins/tableMixin.js"; | ||
74 | import { getSearchRecordList } from "@/api/searchRecord.js"; | ||
75 | // 引入详情弹框 | ||
76 | import SearchResult from "./components/result"; | ||
77 | //引入日期处理方法 | ||
78 | import { timeFormat } from "@/utils/operation"; | ||
79 | export default { | ||
80 | name: "jsbwcx", | ||
81 | mixins: [tableMixin], | ||
82 | // 注册组件 | ||
83 | components: { | ||
84 | SearchResult | ||
85 | }, | ||
86 | data () { | ||
87 | return { | ||
88 | dialogVisible: false, | ||
89 | pickerOptionsStart: { | ||
90 | disabledDate: (time) => { | ||
91 | let endDateVal = this.form.receiveEndTime; | ||
92 | if (endDateVal) { | ||
93 | return ( | ||
94 | time.getTime() >= | ||
95 | new Date(endDateVal).getTime() | ||
96 | ); | ||
97 | } | ||
98 | }, | ||
99 | }, | ||
100 | pickerOptionsEnd: { | ||
101 | disabledDate: (time) => { | ||
102 | let beginDateVal = this.form.receiveStartTime; | ||
103 | if (beginDateVal) { | ||
104 | return ( | ||
105 | time.getTime() < | ||
106 | new Date(beginDateVal).getTime() | ||
107 | ); | ||
108 | } | ||
109 | }, | ||
110 | }, | ||
111 | // 表格数据 | ||
112 | form: { | ||
113 | qxdm: "", // 行政区 | ||
114 | receiveStartTime: "", // 开始日期 | ||
115 | receiveEndTime: "", // 结束日期 | ||
116 | bdcdyh: "", // 不动产单元号 | ||
117 | ywh: "", // 业务号 | ||
118 | qllx: "", // 权利类型 | ||
119 | djlx: "", // 登记类型 | ||
120 | jcjg: "", // 检查结果 | ||
121 | rkjg: "", //入库结果 | ||
122 | currentPage: 1 | ||
123 | }, | ||
124 | // 校验规则 | ||
125 | rules: { | ||
126 | pcode: [{ required: true, message: "请选择行政区", trigger: "change" }], | ||
127 | startTime: [ | ||
128 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
129 | ], | ||
130 | endTime: [ | ||
131 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
132 | ], | ||
133 | bdcdyh: [ | ||
134 | { required: true, message: "不动产单元号", trigger: "change" }, | ||
135 | ], | ||
136 | ywmc: [{ required: true, message: "业务名称", trigger: "change" }], | ||
137 | jcjg: [{ required: true, message: "检查结果", trigger: "change" }], | ||
138 | rkjg: [{ required: true, message: "入库结果", trigger: "change" }], | ||
139 | }, | ||
140 | // 表格数据 | ||
141 | tableData: { | ||
142 | // 表格头部 | ||
143 | columns: [ | ||
144 | { | ||
145 | label: "序号", | ||
146 | type: "index", | ||
147 | width: "50", | ||
148 | index: this.indexMethod, | ||
149 | } | ||
150 | ] | ||
151 | .concat(data.columns()) | ||
152 | .concat([ | ||
153 | { | ||
154 | label: "操作", | ||
155 | width: "90", | ||
156 | render: (h, scope) => { | ||
157 | return ( | ||
158 | <div> | ||
159 | <el-button | ||
160 | type="text" | ||
161 | class='btnColor' | ||
162 | onClick={() => { | ||
163 | this.handleDetails(scope.row); | ||
164 | }} | ||
165 | > | ||
166 | 详情 | ||
167 | </el-button> | ||
168 | </div> | ||
169 | ) | ||
170 | } | ||
171 | } | ||
172 | ]), | ||
173 | // 表格列表数据 | ||
174 | total: 0, | ||
175 | data: [], | ||
176 | }, | ||
177 | // 分页 | ||
178 | pageData: { | ||
179 | total: 0, | ||
180 | pageSize: 10, | ||
181 | current: 1 | ||
182 | }, | ||
183 | title: "", | ||
184 | }; | ||
185 | }, | ||
186 | methods: { | ||
187 | //截止日期变化 | ||
188 | endTimeChange (val) { | ||
189 | this.form.receiveEndTime = timeFormat(new Date(val), true) | ||
190 | }, | ||
191 | // 初始化数据 | ||
192 | queryClick () { | ||
193 | getSearchRecordList({ ...this.form, ...this.formData }).then( | ||
194 | (res) => { | ||
195 | if (res.code === 200) { | ||
196 | let { total, records, current } = res.result; | ||
197 | this.tableData.total = total; | ||
198 | this.tableData.data = records ? records : []; | ||
199 | this.pageData.current = current | ||
200 | } | ||
201 | } | ||
202 | ) | ||
203 | }, | ||
204 | // 重置 | ||
205 | resetForm () { | ||
206 | this.$refs.ruleForm.resetFields(); | ||
207 | this.form.currentPage = 1 | ||
208 | this.queryClick(); | ||
209 | }, | ||
210 | featchData () { | ||
211 | this.queryClick(); | ||
212 | }, | ||
213 | // 结果 | ||
214 | handleResult (row) { | ||
215 | this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row) | ||
216 | }, | ||
217 | // 详情 | ||
218 | handleDetails (row) {}, | ||
219 | save() { | ||
220 | this.dialogVisible = true; | ||
221 | }, | ||
222 | } | ||
223 | } | ||
224 | </script> | ||
225 | <style scoped lang="scss"> | ||
226 | .lastdom:nth-child(3) { | ||
227 | margin-bottom: 0px; | ||
228 | } | ||
229 | </style> | ||
230 |
... | @@ -101,7 +101,7 @@ | ... | @@ -101,7 +101,7 @@ |
101 | ] | 101 | ] |
102 | }, | 102 | }, |
103 | // 表格数据 | 103 | // 表格数据 |
104 | tableData: { | 104 | tableData: { |
105 | // 表格头部 | 105 | // 表格头部 |
106 | columns: [ | 106 | columns: [ |
107 | { | 107 | { |
... | @@ -136,7 +136,7 @@ | ... | @@ -136,7 +136,7 @@ |
136 | // 生成文件名 | 136 | // 生成文件名 |
137 | generateFileName () { | 137 | generateFileName () { |
138 | var reg = /(\d{4})\-(\d{2})\-(\d{2})/; | 138 | var reg = /(\d{4})\-(\d{2})\-(\d{2})/; |
139 | this.downTitle = `汉中市不动产登记增量数据接入质量评价表(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` | 139 | this.downTitle = this.BASE_API.XZQ + `不动产登记增量数据接入质量评价表(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` |
140 | }, | 140 | }, |
141 | headerStyle ({ row, rowIndex }) { | 141 | headerStyle ({ row, rowIndex }) { |
142 | if (rowIndex == 4) { | 142 | if (rowIndex == 4) { | ... | ... |
src/views/jktj/index.vue
deleted
100644 → 0
1 | <template> | ||
2 | <el-table :data="tableData" style="width: 100%"> | ||
3 | <el-table-column prop="date" label="日期" width="150"> | ||
4 | </el-table-column> | ||
5 | <el-table-column label="配送信息"> | ||
6 | <el-table-column prop="name" label="姓名" width="120"> | ||
7 | </el-table-column> | ||
8 | <el-table-column label="地址"> | ||
9 | <el-table-column prop="province" label="省份" width="120"> | ||
10 | </el-table-column> | ||
11 | <el-table-column prop="city" label="市区" width="120"> | ||
12 | </el-table-column> | ||
13 | <el-table-column prop="address" label="地址" width="300"> | ||
14 | </el-table-column> | ||
15 | <el-table-column prop="zip" label="邮编" width="120"> | ||
16 | </el-table-column> | ||
17 | </el-table-column> | ||
18 | </el-table-column> | ||
19 | </el-table> | ||
20 | </template> | ||
21 | |||
22 | <script> | ||
23 | export default { | ||
24 | data () { | ||
25 | return { | ||
26 | tableData: [{ | ||
27 | date: '2016-05-03', | ||
28 | name: '王小虎', | ||
29 | province: '上海', | ||
30 | city: '普陀区', | ||
31 | address: '上海市普陀区金沙江路 1518 弄', | ||
32 | zip: 200333 | ||
33 | }, { | ||
34 | date: '2016-05-02', | ||
35 | name: '王小虎', | ||
36 | province: '上海', | ||
37 | city: '普陀区', | ||
38 | address: '上海市普陀区金沙江路 1518 弄', | ||
39 | zip: 200333 | ||
40 | }, { | ||
41 | date: '2016-05-04', | ||
42 | name: '王小虎', | ||
43 | province: '上海', | ||
44 | city: '普陀区', | ||
45 | address: '上海市普陀区金沙江路 1518 弄', | ||
46 | zip: 200333 | ||
47 | }, { | ||
48 | date: '2016-05-01', | ||
49 | name: '王小虎', | ||
50 | province: '上海', | ||
51 | city: '普陀区', | ||
52 | address: '上海市普陀区金沙江路 1518 弄', | ||
53 | zip: 200333 | ||
54 | }, { | ||
55 | date: '2016-05-08', | ||
56 | name: '王小虎', | ||
57 | province: '上海', | ||
58 | city: '普陀区', | ||
59 | address: '上海市普陀区金沙江路 1518 弄', | ||
60 | zip: 200333 | ||
61 | }, { | ||
62 | date: '2016-05-06', | ||
63 | name: '王小虎', | ||
64 | province: '上海', | ||
65 | city: '普陀区', | ||
66 | address: '上海市普陀区金沙江路 1518 弄', | ||
67 | zip: 200333 | ||
68 | }, { | ||
69 | date: '2016-05-07', | ||
70 | name: '王小虎', | ||
71 | province: '上海', | ||
72 | city: '普陀区', | ||
73 | address: '上海市普陀区金沙江路 1518 弄', | ||
74 | zip: 200333 | ||
75 | }] | ||
76 | } | ||
77 | } | ||
78 | } | ||
79 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
File moved
... | @@ -44,120 +44,120 @@ | ... | @@ -44,120 +44,120 @@ |
44 | </template> | 44 | </template> |
45 | 45 | ||
46 | <script> | 46 | <script> |
47 | // 相关字段空置率统计 | 47 | // 相关字段空置率统计 |
48 | // 引入表格头部数据 | 48 | // 引入表格头部数据 |
49 | import data from "./data"; | 49 | import data from "./data"; |
50 | // 引入table混入方法 | 50 | // 引入table混入方法 |
51 | import tableMixin from "@/mixins/tableMixin.js"; | 51 | import tableMixin from "@/mixins/tableMixin.js"; |
52 | // 导出excel表格 | 52 | // 导出excel表格 |
53 | import downLbTable from '@/components/DownLbTable' | 53 | import downLbTable from '@/components/DownLbTable' |
54 | // 获取时间 | 54 | // 获取时间 |
55 | import { getCurrentDate, setExport2Excel } from "@/utils/tools"; | 55 | import { getCurrentDate, setExport2Excel } from "@/utils/tools"; |
56 | import { nonNullSta } from "@/api/statistics.js"; | 56 | import { nonNullSta } from "@/api/statistics.js"; |
57 | export default { | 57 | export default { |
58 | name: "jsbwcx", | 58 | name: "jsbwcx", |
59 | components: { | 59 | components: { |
60 | downLbTable | 60 | downLbTable |
61 | }, | 61 | }, |
62 | mixins: [tableMixin], | 62 | mixins: [tableMixin], |
63 | data () { | 63 | data () { |
64 | return { | 64 | return { |
65 | pickerOptionsStart: { | 65 | pickerOptionsStart: { |
66 | disabledDate: (time) => { | 66 | disabledDate: (time) => { |
67 | let endDateVal = this.form.endTime; | 67 | let endDateVal = this.form.endTime; |
68 | if (endDateVal) { | 68 | if (endDateVal) { |
69 | return ( | 69 | return ( |
70 | time.getTime() >= | 70 | time.getTime() >= |
71 | new Date(endDateVal).getTime() | 71 | new Date(endDateVal).getTime() |
72 | ); | 72 | ); |
73 | } | 73 | } |
74 | }, | ||
74 | }, | 75 | }, |
75 | }, | 76 | pickerOptionsEnd: { |
76 | pickerOptionsEnd: { | 77 | disabledDate: (time) => { |
77 | disabledDate: (time) => { | 78 | let beginDateVal = this.form.startTime; |
78 | let beginDateVal = this.form.startTime; | 79 | if (beginDateVal) { |
79 | if (beginDateVal) { | 80 | return ( |
80 | return ( | 81 | time.getTime() < |
81 | time.getTime() < | 82 | new Date(beginDateVal).getTime() |
82 | new Date(beginDateVal).getTime() | 83 | ); |
83 | ); | 84 | } |
84 | } | 85 | }, |
85 | }, | 86 | }, |
86 | }, | 87 | // 表格数据 |
87 | // 表格数据 | 88 | form: { |
89 | startTime: "", // 开始日期 | ||
90 | endTime: "" // 结束日期 | ||
91 | }, | ||
92 | // 校验规则 | ||
93 | rules: { | ||
94 | startTime: [ | ||
95 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
96 | ], | ||
97 | endTime: [ | ||
98 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
99 | ] | ||
100 | }, | ||
101 | // 表格数据 | ||
102 | tableData: { | ||
103 | // 表格头部 | ||
104 | columns: [ | ||
105 | { | ||
106 | label: "序号", | ||
107 | type: "index", | ||
108 | width: "50" | ||
109 | // index: this.indexMethod, | ||
110 | } | ||
111 | ] | ||
112 | .concat(data.columns()), | ||
113 | data: [], | ||
114 | }, | ||
115 | downTitle: '' | ||
116 | } | ||
117 | }, | ||
118 | watch: { | ||
88 | form: { | 119 | form: { |
89 | startTime: "", // 开始日期 | 120 | handler (newVal, oldVal) { |
90 | endTime: "" // 结束日期 | 121 | this.generateFileName() |
91 | }, | 122 | }, |
92 | // 校验规则 | 123 | deep: true |
93 | rules: { | 124 | } |
94 | startTime: [ | 125 | }, |
95 | { required: true, message: "请选择开始日期", trigger: "change" }, | 126 | created () { |
96 | ], | 127 | this.handleResetForm() |
97 | endTime: [ | 128 | this.generateFileName() |
98 | { required: true, message: "请选择结束日期", trigger: "change" }, | 129 | }, |
99 | ] | 130 | methods: { |
131 | // 生成文件名 | ||
132 | generateFileName () { | ||
133 | var reg = /(\d{4})\-(\d{2})\-(\d{2})/; | ||
134 | this.downTitle = this.BASE_API.XZQ + `不动产登记增量数据相关字段空项率统计(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` | ||
100 | }, | 135 | }, |
101 | // 表格数据 | 136 | handlesetExport2Excel (val) { |
102 | tableData: { | 137 | setExport2Excel(val) |
103 | // 表格头部 | ||
104 | columns: [ | ||
105 | { | ||
106 | label: "序号", | ||
107 | type: "index", | ||
108 | width: "50" | ||
109 | // index: this.indexMethod, | ||
110 | } | ||
111 | ] | ||
112 | .concat(data.columns()), | ||
113 | data: [], | ||
114 | }, | 138 | }, |
115 | downTitle: '' | 139 | // 初始化数据 |
116 | } | 140 | featchDataSelf () { |
117 | }, | 141 | nonNullSta(this.form.startTime, this.form.endTime).then(res => { |
118 | watch: { | 142 | let records = res.result |
119 | form: { | 143 | this.tableData.data = records ? records : [] |
120 | handler (newVal, oldVal) { | 144 | }) |
121 | this.generateFileName() | ||
122 | }, | 145 | }, |
123 | deep: true | 146 | // 重置 |
124 | } | 147 | handleResetForm () { |
125 | }, | 148 | this.form.startTime = getCurrentDate() |
126 | created () { | 149 | this.form.endTime = getCurrentDate('time') |
127 | this.handleResetForm() | 150 | this.featchDataSelf() |
128 | this.generateFileName() | 151 | } |
129 | }, | ||
130 | methods: { | ||
131 | // 生成文件名 | ||
132 | generateFileName () { | ||
133 | var reg = /(\d{4})\-(\d{2})\-(\d{2})/; | ||
134 | this.downTitle = `汉中市不动产登记增量数据相关字段空项率统计(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` | ||
135 | }, | ||
136 | handlesetExport2Excel (val) { | ||
137 | setExport2Excel(val) | ||
138 | }, | ||
139 | // 初始化数据 | ||
140 | featchDataSelf () { | ||
141 | nonNullSta(this.form.startTime, this.form.endTime).then(res => { | ||
142 | let records = res.result | ||
143 | this.tableData.data = records ? records : [] | ||
144 | }) | ||
145 | }, | ||
146 | // 重置 | ||
147 | handleResetForm () { | ||
148 | this.form.startTime = getCurrentDate() | ||
149 | this.form.endTime = getCurrentDate('time') | ||
150 | this.featchDataSelf() | ||
151 | } | 152 | } |
152 | } | 153 | } |
153 | } | ||
154 | </script> | 154 | </script> |
155 | <style scoped lang="scss"> | 155 | <style scoped lang="scss"> |
156 | // 引入表单整体样式 | 156 | // 引入表单整体样式 |
157 | @import "../css/index.scss"; | 157 | @import "../css/index.scss"; |
158 | 158 | ||
159 | /deep/.el-table thead.is-group th.el-table__cell { | 159 | /deep/.el-table thead.is-group th.el-table__cell { |
160 | height: 14px !important; | 160 | height: 14px !important; |
161 | } | 161 | } |
162 | </style> | 162 | </style> |
163 | 163 | ... | ... |
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | * @Author: yangwei | 2 | * @Author: yangwei |
3 | * @Date: 2023-02-17 16:32:50 | 3 | * @Date: 2023-02-17 16:32:50 |
4 | * @LastEditors: Please set LastEditors | 4 | * @LastEditors: Please set LastEditors |
5 | * @LastEditTime: 2023-03-28 10:24:52 | 5 | * @LastEditTime: 2023-05-11 10:11:15 |
6 | * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue | 6 | * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue |
7 | * @Description: | 7 | * @Description: |
8 | * | 8 | * |
... | @@ -54,148 +54,148 @@ | ... | @@ -54,148 +54,148 @@ |
54 | </template> | 54 | </template> |
55 | 55 | ||
56 | <script> | 56 | <script> |
57 | // 登簿质量评价表 | 57 | // 登簿质量评价表 |
58 | // 引入表格头部数据 | 58 | // 引入表格头部数据 |
59 | import data from "./data"; | 59 | import data from "./data"; |
60 | // 引入table混入方法 | 60 | // 引入table混入方法 |
61 | import tableMixin from "@/mixins/tableMixin.js"; | 61 | import tableMixin from "@/mixins/tableMixin.js"; |
62 | // 导出excel表格 | 62 | // 导出excel表格 |
63 | import downLbTable from '@/components/DownLbTable' | 63 | import downLbTable from '@/components/DownLbTable' |
64 | // 获取时间 | 64 | // 获取时间 |
65 | import { getCurrentDate, setExport2Excel } from "@/utils/tools"; | 65 | import { getCurrentDate, setExport2Excel } from "@/utils/tools"; |
66 | import { registerBookQuality } from "@/api/statistics.js"; | 66 | import { registerBookQuality } from "@/api/statistics.js"; |
67 | 67 | ||
68 | export default { | 68 | export default { |
69 | name: "jsbwcx", | 69 | name: "jsbwcx", |
70 | components: { | 70 | components: { |
71 | downLbTable | 71 | downLbTable |
72 | }, | 72 | }, |
73 | mixins: [tableMixin], | 73 | mixins: [tableMixin], |
74 | data () { | 74 | data () { |
75 | return { | 75 | return { |
76 | pickerOptionsStart: { | 76 | pickerOptionsStart: { |
77 | disabledDate: (time) => { | 77 | disabledDate: (time) => { |
78 | let endDateVal = this.form.endTime; | 78 | let endDateVal = this.form.endTime; |
79 | if (endDateVal) { | 79 | if (endDateVal) { |
80 | return ( | 80 | return ( |
81 | time.getTime() >= | 81 | time.getTime() >= |
82 | new Date(endDateVal).getTime() | 82 | new Date(endDateVal).getTime() |
83 | ); | 83 | ); |
84 | } | 84 | } |
85 | }, | ||
85 | }, | 86 | }, |
86 | }, | 87 | pickerOptionsEnd: { |
87 | pickerOptionsEnd: { | 88 | disabledDate: (time) => { |
88 | disabledDate: (time) => { | 89 | let beginDateVal = this.form.startTime; |
89 | let beginDateVal = this.form.startTime; | 90 | if (beginDateVal) { |
90 | if (beginDateVal) { | 91 | return ( |
91 | return ( | 92 | time.getTime() < |
92 | time.getTime() < | 93 | new Date(beginDateVal).getTime() |
93 | new Date(beginDateVal).getTime() | 94 | ); |
94 | ); | 95 | } |
95 | } | 96 | }, |
96 | }, | 97 | }, |
97 | }, | 98 | // 表格数据 |
98 | // 表格数据 | 99 | form: { |
100 | startTime: "", // 开始日期 | ||
101 | endTime: "", // 结束日期 | ||
102 | currentPage: 1 | ||
103 | }, | ||
104 | // 校验规则 | ||
105 | rules: { | ||
106 | startTime: [ | ||
107 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
108 | ], | ||
109 | endTime: [ | ||
110 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
111 | ] | ||
112 | }, | ||
113 | // 表格数据 | ||
114 | tableData: { | ||
115 | // 表格头部 | ||
116 | columns: [ | ||
117 | { | ||
118 | label: "序号", | ||
119 | type: "index", | ||
120 | width: "50", | ||
121 | index: this.indexMethod, | ||
122 | } | ||
123 | ] | ||
124 | .concat(data.columns()), | ||
125 | data: [] | ||
126 | }, | ||
127 | downTitle: '' | ||
128 | } | ||
129 | }, | ||
130 | watch: { | ||
99 | form: { | 131 | form: { |
100 | startTime: "", // 开始日期 | 132 | handler (newVal, oldVal) { |
101 | endTime: "", // 结束日期 | 133 | this.generateFileName() |
102 | currentPage: 1 | 134 | }, |
135 | deep: true | ||
136 | } | ||
137 | }, | ||
138 | created () { | ||
139 | this.handleResetForm() | ||
140 | this.generateFileName() | ||
141 | }, | ||
142 | mounted () { | ||
143 | this.$nextTick(function () { | ||
144 | let c = document.getElementsByClassName("el-table__header") | ||
145 | let k = c[0].getElementsByClassName("is-group has-gutter"); | ||
146 | let f = k[0].children | ||
147 | let d = f[1].getElementsByClassName("el-table__cell") | ||
148 | let p = d[0] | ||
149 | p.setAttribute("rowspan", 2) | ||
150 | }) | ||
151 | |||
152 | }, | ||
153 | methods: { | ||
154 | handleSearch () { }, | ||
155 | // 生成文件名 | ||
156 | generateFileName () { | ||
157 | var reg = /(\d{4})\-(\d{2})\-(\d{2})/; | ||
158 | this.downTitle = this.BASE_API.XZQ + `不动产登记增量数据登簿质量评价表(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` | ||
103 | }, | 159 | }, |
104 | // 校验规则 | 160 | handlesetExport2Excel (val) { |
105 | rules: { | 161 | setExport2Excel(val) |
106 | startTime: [ | ||
107 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
108 | ], | ||
109 | endTime: [ | ||
110 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
111 | ] | ||
112 | }, | 162 | }, |
113 | // 表格数据 | 163 | headerStyle ({ row, rowIndex }) { |
114 | tableData: { | 164 | if (rowIndex == 1) { |
115 | // 表格头部 | 165 | row.forEach(item => { |
116 | columns: [ | 166 | item.rowSpan = 2 |
117 | { | 167 | }) |
118 | label: "序号", | 168 | } |
119 | type: "index", | ||
120 | width: "50", | ||
121 | index: this.indexMethod, | ||
122 | } | ||
123 | ] | ||
124 | .concat(data.columns()), | ||
125 | data: [] | ||
126 | }, | 169 | }, |
127 | downTitle: '' | 170 | headerStyle1 ({ row, rowIndex }) { |
128 | } | 171 | if (rowIndex == 2) { |
129 | }, | 172 | row.forEach(item => { |
130 | watch: { | 173 | item.rowSpan = 2 |
131 | form: { | 174 | }) |
132 | handler (newVal, oldVal) { | 175 | } |
133 | this.generateFileName() | ||
134 | }, | 176 | }, |
135 | deep: true | 177 | // 初始化数据 |
136 | } | 178 | featchDataSelf () { |
137 | }, | 179 | registerBookQuality(this.form.startTime, this.form.endTime).then(res => { |
138 | created () { | 180 | let records = res.result |
139 | this.handleResetForm() | 181 | this.tableData.data = records ? records : [] |
140 | this.generateFileName() | ||
141 | }, | ||
142 | mounted () { | ||
143 | this.$nextTick(function () { | ||
144 | let c = document.getElementsByClassName("el-table__header") | ||
145 | let k = c[0].getElementsByClassName("is-group has-gutter"); | ||
146 | let f = k[0].children | ||
147 | let d = f[1].getElementsByClassName("el-table__cell") | ||
148 | let p = d[0] | ||
149 | p.setAttribute("rowspan", 2) | ||
150 | }) | ||
151 | |||
152 | }, | ||
153 | methods: { | ||
154 | handleSearch () { }, | ||
155 | // 生成文件名 | ||
156 | generateFileName () { | ||
157 | var reg = /(\d{4})\-(\d{2})\-(\d{2})/; | ||
158 | this.downTitle = `汉中市不动产登记增量数据登簿质量评价表(${this.form.startTime.replace(reg, "$1年$2月$3日")}至${this.form.endTime.replace(reg, "$1年$2月$3日")})` | ||
159 | }, | ||
160 | handlesetExport2Excel (val) { | ||
161 | setExport2Excel(val) | ||
162 | }, | ||
163 | headerStyle ({ row, rowIndex }) { | ||
164 | if (rowIndex == 1) { | ||
165 | row.forEach(item => { | ||
166 | item.rowSpan = 2 | ||
167 | }) | ||
168 | } | ||
169 | }, | ||
170 | headerStyle1 ({ row, rowIndex }) { | ||
171 | if (rowIndex == 2) { | ||
172 | row.forEach(item => { | ||
173 | item.rowSpan = 2 | ||
174 | }) | 182 | }) |
183 | }, | ||
184 | // 重置 | ||
185 | handleResetForm () { | ||
186 | this.form.startTime = getCurrentDate() | ||
187 | this.form.endTime = getCurrentDate('time') | ||
188 | this.featchDataSelf() | ||
175 | } | 189 | } |
176 | }, | ||
177 | // 初始化数据 | ||
178 | featchDataSelf () { | ||
179 | registerBookQuality(this.form.startTime, this.form.endTime).then(res => { | ||
180 | let records = res.result | ||
181 | this.tableData.data = records ? records : [] | ||
182 | }) | ||
183 | }, | ||
184 | // 重置 | ||
185 | handleResetForm () { | ||
186 | this.form.startTime = getCurrentDate() | ||
187 | this.form.endTime = getCurrentDate('time') | ||
188 | this.featchDataSelf() | ||
189 | } | 190 | } |
190 | } | 191 | } |
191 | } | ||
192 | </script> | 192 | </script> |
193 | <style scoped lang="scss"> | 193 | <style scoped lang="scss"> |
194 | // 引入表单整体样式 | 194 | // 引入表单整体样式 |
195 | @import "../css/index.scss"; | 195 | @import "../css/index.scss"; |
196 | 196 | ||
197 | /deep/.el-table thead.is-group th.el-table__cell { | 197 | /deep/.el-table thead.is-group th.el-table__cell { |
198 | height: 14px !important; | 198 | height: 14px !important; |
199 | } | 199 | } |
200 | </style> | 200 | </style> |
201 | 201 | ... | ... |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-17 15:10:43 | 4 | * @LastEditTime: 2023-05-11 10:02:44 |
5 | */ | 5 | */ |
6 | import filter from '@/utils/filter.js' | 6 | import filter from '@/utils/filter.js' |
7 | class data extends filter { | 7 | class data extends filter { |
... | @@ -10,6 +10,20 @@ class data extends filter { | ... | @@ -10,6 +10,20 @@ class data extends filter { |
10 | } | 10 | } |
11 | columns () { | 11 | columns () { |
12 | return [ | 12 | return [ |
13 | // { | ||
14 | // prop: 'sjlx', | ||
15 | // label: '数据类型', | ||
16 | // width: 90, | ||
17 | // render: (h, scope) => { | ||
18 | // return ( | ||
19 | // <div> | ||
20 | // <span v-show={scope.row.sjlx == 1}>ftp上传</span> | ||
21 | // <span v-show={scope.row.sjlx == 2}>业务库抽取</span> | ||
22 | // <span v-show={scope.row.sjlx == 3}>存量数据</span> | ||
23 | // </div> | ||
24 | // ) | ||
25 | // } | ||
26 | // }, | ||
13 | { | 27 | { |
14 | prop: 'jcjg', | 28 | prop: 'jcjg', |
15 | label: '检查结果', | 29 | label: '检查结果', | ... | ... |
... | @@ -79,10 +79,14 @@ | ... | @@ -79,10 +79,14 @@ |
79 | </el-col> | 79 | </el-col> |
80 | <!-- 按钮操作 --> | 80 | <!-- 按钮操作 --> |
81 | <el-col :span="6" class="btnColRight"> | 81 | <el-col :span="6" class="btnColRight"> |
82 | <el-form-item> | 82 | <el-form-item class="d-flex"> |
83 | <btn nativeType="cz" @click="resetForm">重置</btn> | 83 | <btn nativeType="cz" @click="resetForm">重置</btn> |
84 | <btn nativeType="cx" @click="handleSearch">查询</btn> | 84 | <btn nativeType="cx" @click="handleSearch">查询</btn> |
85 | <btn nativeType="cx">存量导入</btn> | 85 | <el-upload ref="upload" style="display:inline-block;margin-left: 10px" action="" :auto-upload="false" |
86 | :limit="1" accept=".xml" :show-file-list="false" | ||
87 | :file-list="fileList" :before-upload="uploadRecord" :on-change="fileChange"> | ||
88 | <btn nativeType="cx">xml导入</btn> | ||
89 | </el-upload> | ||
86 | </el-form-item> | 90 | </el-form-item> |
87 | </el-col> | 91 | </el-col> |
88 | </el-row> | 92 | </el-row> |
... | @@ -101,7 +105,7 @@ | ... | @@ -101,7 +105,7 @@ |
101 | </template> | 105 | </template> |
102 | 106 | ||
103 | <script> | 107 | <script> |
104 | import Vue from 'vue' | 108 | import { storage } from '@/api/file' |
105 | // 接收报文查询 | 109 | // 接收报文查询 |
106 | // 引入表格头部数据 | 110 | // 引入表格头部数据 |
107 | import data from "./data"; | 111 | import data from "./data"; |
... | @@ -121,7 +125,7 @@ | ... | @@ -121,7 +125,7 @@ |
121 | }, | 125 | }, |
122 | data () { | 126 | data () { |
123 | return { | 127 | return { |
124 | 128 | fileList: [], | |
125 | pickerOptionsStart: { | 129 | pickerOptionsStart: { |
126 | disabledDate: (time) => { | 130 | disabledDate: (time) => { |
127 | let endDateVal = this.form.receiveEndTime; | 131 | let endDateVal = this.form.receiveEndTime; |
... | @@ -232,6 +236,36 @@ | ... | @@ -232,6 +236,36 @@ |
232 | }; | 236 | }; |
233 | }, | 237 | }, |
234 | methods: { | 238 | methods: { |
239 | uploadRecord (file) { | ||
240 | this.requested = true | ||
241 | this.files = file; | ||
242 | const extension = file.name.split('.')[1] === 'xml' | ||
243 | const isLt5M = file.size / 1024 / 1024 < 5 | ||
244 | if (!extension) { | ||
245 | this.$message.warning('上传模板只能是 xml格式!') | ||
246 | this.requested = false | ||
247 | } | ||
248 | if (!isLt5M) { | ||
249 | this.$message.warning('上传模板大小不能超过 5MB!') | ||
250 | this.requested = false | ||
251 | } | ||
252 | return (extension) && isLt5M | ||
253 | }, | ||
254 | fileChange (res) { | ||
255 | let fd = new FormData() | ||
256 | fd.append('files', res.raw)// 文件对象 | ||
257 | storage(fd).then(res => { | ||
258 | if (res.code === 200) { | ||
259 | this.requested = false | ||
260 | this.$message({ | ||
261 | message: '上传成功', | ||
262 | type: 'success', | ||
263 | }) | ||
264 | } else { | ||
265 | this.$message.error(res.message) | ||
266 | } | ||
267 | }) | ||
268 | }, | ||
235 | //截止日期变化 | 269 | //截止日期变化 |
236 | endTimeChange (val) { | 270 | endTimeChange (val) { |
237 | this.form.receiveEndTime = timeFormat(new Date(val), true) | 271 | this.form.receiveEndTime = timeFormat(new Date(val), true) |
... | @@ -299,3 +333,4 @@ | ... | @@ -299,3 +333,4 @@ |
299 | } | 333 | } |
300 | </style> | 334 | </style> |
301 | 335 | ||
336 | ... | ... |
src/views/loginsb/index.vue
deleted
100644 → 0
1 | <template> | ||
2 | <div class="bg"> | ||
3 | <div class="title"> | ||
4 | <img src="../../image/bdclogo.png" alt=""> | ||
5 | <h2>{{ BASE_API.TITLE }}</h2> | ||
6 | </div> | ||
7 | <div class="login-inner-bg login"> | ||
8 | <div class="user_style"> | ||
9 | <h3>用户登录</h3> | ||
10 | <el-form :model="user" :rules="rules" ref="user" id="loginform" class="demo-ruleForm"> | ||
11 | <el-form-item prop="account"> | ||
12 | <el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input> | ||
13 | </el-form-item> | ||
14 | <el-form-item prop="password"> | ||
15 | <el-input type="password" class="password" @keyup.enter.native="login('user')" v-model="user.password" | ||
16 | placeholder="请输入密码" show-password></el-input> | ||
17 | </el-form-item> | ||
18 | <!-- <el-form-item prop="yz"> | ||
19 | <div class="flex-container"> | ||
20 | <div class="flex-input"> | ||
21 | <el-input class="yz" @keyup.native="login('user')" v-model="user.yz" placeholder="请输入验证码"></el-input> | ||
22 | </div> | ||
23 | <div class="flex-line"></div> | ||
24 | <div class="flex-img"><canvas id="s-canvas" ref="s-canvas"></canvas></div> | ||
25 | <div class="flex-renovate"> | ||
26 | <font id="renovate" @click="verification">换一批</font> | ||
27 | </div> | ||
28 | </div> | ||
29 | </el-form-item> --> | ||
30 | <el-form-item class="login-btn"> | ||
31 | <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button> | ||
32 | </el-form-item> | ||
33 | </el-form> | ||
34 | </div> | ||
35 | </div> | ||
36 | </div> | ||
37 | </template> | ||
38 | |||
39 | <script> | ||
40 | import { getMenuInfo } from "@/api/user"; | ||
41 | import { loginIn } from "@/api/login.js"; | ||
42 | export default { | ||
43 | name: "sbLogin", | ||
44 | data () { | ||
45 | return { | ||
46 | user: { | ||
47 | account: "", | ||
48 | password: "", | ||
49 | yz: "", | ||
50 | checkStatus: false, | ||
51 | }, | ||
52 | productName: "", | ||
53 | rules: { | ||
54 | account: [{ required: true, message: "请填写帐号", trigger: "blur" }], | ||
55 | password: [{ required: true, message: "请填写密码", trigger: "blur" }], | ||
56 | }, | ||
57 | }; | ||
58 | }, | ||
59 | methods: { | ||
60 | verification () { | ||
61 | let str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ', code = '', i = 0; | ||
62 | for (; i++ < 4;) code += str[Math.floor(Math.random() * (str.length - 0) + 0)]; | ||
63 | setTimeout(() => { | ||
64 | let canvas = document.getElementById("s-canvas"), ctx = canvas.getContext("2d"); | ||
65 | canvas.width = 80; | ||
66 | canvas.height = 28; | ||
67 | ctx.fillStyle = '#ffffff'; | ||
68 | ctx.fillRect(0, 0, 80, 28); | ||
69 | for (i = 0; i < code.length; i++) { this.drawText(ctx, code[i], i); } | ||
70 | }, 0); | ||
71 | }, | ||
72 | drawText (ctx, txt, i) { | ||
73 | ctx.fillStyle = this.randomColor(50, 160); | ||
74 | ctx.font = "18px SimHei"; | ||
75 | let x = (i + 1) * (80 / (4 + 1)), y = this.randomNum(18, 28 - 5); | ||
76 | ctx.translate(x, y); | ||
77 | ctx.fillText(txt, 0, 0); | ||
78 | ctx.rotate((-0 * Math.PI) / 180); | ||
79 | ctx.translate(-x, -y); | ||
80 | }, | ||
81 | randomColor (min, max) { | ||
82 | let r = this.randomNum(min, max); | ||
83 | let g = this.randomNum(min, max); | ||
84 | let b = this.randomNum(min, max); | ||
85 | return "rgb(" + r + "," + g + "," + b + ")"; | ||
86 | }, | ||
87 | randomNum (min, max) { | ||
88 | return Math.floor(Math.random() * (max - min) + min); | ||
89 | }, | ||
90 | //记住用户名 | ||
91 | checkUserName: function (flag) { | ||
92 | this.user.checkStatus = flag; | ||
93 | if (this.user.checkStatus) { | ||
94 | localStorage.setItem("accountId", this.user.account); | ||
95 | let name = localStorage.getItem("accountId"); | ||
96 | if (name === "") { | ||
97 | return; | ||
98 | } else { | ||
99 | this.user.account = name; | ||
100 | } | ||
101 | } else { | ||
102 | this.user.account = localStorage.getItem("accountId"); | ||
103 | } | ||
104 | }, | ||
105 | login (user) { | ||
106 | var self = this | ||
107 | this.$refs[user].validate(async (valid) => { | ||
108 | if (valid) { | ||
109 | let res = await loginIn(self.user.account, self.user.password) | ||
110 | if (res.status == 1) { | ||
111 | let code = this.BASE_API.CODE; | ||
112 | localStorage.setItem("token", `Bearer ${res.content}`); | ||
113 | const { result: getMenuData } = (await getMenuInfo(code)) || []; | ||
114 | let path1 = JSON.parse(getMenuData[0].metadata)?.path + '/' + JSON.parse(getMenuData[0].children[0].metadata)?.path | ||
115 | //登录成功后需判断有无重定向,没有重定向则跳转首页 | ||
116 | const accessRoutes = await this.$store.dispatch( | ||
117 | "permission/generateRoutes", | ||
118 | getMenuData | ||
119 | ); | ||
120 | this.$router.addRoutes([ | ||
121 | ...accessRoutes, | ||
122 | { path: "*", redirect: "/404", hidden: true }, | ||
123 | ]); | ||
124 | this.$router.replace(this.$route.query.redirect || path1); | ||
125 | } else { | ||
126 | this.$message.error(res.message); | ||
127 | } | ||
128 | } | ||
129 | }) | ||
130 | } | ||
131 | } | ||
132 | } | ||
133 | </script> | ||
134 | <style scoped lang="scss"> | ||
135 | .username, | ||
136 | .password, | ||
137 | .yz { | ||
138 | position: relative; | ||
139 | |||
140 | &:before { | ||
141 | content: ""; | ||
142 | display: block; | ||
143 | width: 16px; | ||
144 | height: 16px; | ||
145 | position: absolute; | ||
146 | left: 10px; | ||
147 | top: 7px; | ||
148 | background-size: 100% 100%; | ||
149 | } | ||
150 | |||
151 | /deep/ .el-input__inner { | ||
152 | color: #000 !important; | ||
153 | text-indent: 24px; | ||
154 | } | ||
155 | } | ||
156 | |||
157 | .flex-container { | ||
158 | position: relative; | ||
159 | display: -webkit-flex; | ||
160 | display: flex; | ||
161 | } | ||
162 | |||
163 | .flex-input { | ||
164 | width: 100%; | ||
165 | } | ||
166 | |||
167 | .flex-line { | ||
168 | position: absolute; | ||
169 | width: 1px; | ||
170 | height: 64%; | ||
171 | margin: 5px; | ||
172 | right: 36%; | ||
173 | background-color: #CCCCCC; | ||
174 | } | ||
175 | |||
176 | .flex-img { | ||
177 | position: absolute; | ||
178 | margin: 2px; | ||
179 | right: 16%; | ||
180 | } | ||
181 | |||
182 | .flex-renovate { | ||
183 | position: absolute; | ||
184 | margin: 1px; | ||
185 | right: 3%; | ||
186 | } | ||
187 | |||
188 | #renovate { | ||
189 | color: #3F8FEA; | ||
190 | font-size: 16px; | ||
191 | font-weight: 700; | ||
192 | cursor: pointer; | ||
193 | } | ||
194 | |||
195 | .username::before { | ||
196 | background-image: url(../../image/userlogo.png); | ||
197 | } | ||
198 | |||
199 | .password::before { | ||
200 | background-image: url(../../image/passlogo.png); | ||
201 | } | ||
202 | |||
203 | .yz::before { | ||
204 | background-image: url(../../image/yzlogo.png); | ||
205 | } | ||
206 | |||
207 | .bg { | ||
208 | width: 100%; | ||
209 | height: 100%; | ||
210 | min-width: 1440px; | ||
211 | min-height: 560px; | ||
212 | background: url(../../image/loginBoxsb.png) no-repeat; | ||
213 | background-size: 100% 100%; | ||
214 | overflow: hidden; | ||
215 | position: relative; | ||
216 | } | ||
217 | |||
218 | .title { | ||
219 | width: 24%; | ||
220 | height: 6%; | ||
221 | top: 20%; | ||
222 | right: 38%; | ||
223 | position: absolute; | ||
224 | |||
225 | img { | ||
226 | width: 60px; | ||
227 | height: 60px; | ||
228 | top: 0%; | ||
229 | left: 2%; | ||
230 | position: absolute; | ||
231 | } | ||
232 | |||
233 | h2 { | ||
234 | top: 25%; | ||
235 | left: 22%; | ||
236 | position: absolute; | ||
237 | width: 383px; | ||
238 | height: 42px; | ||
239 | font-size: 28px; | ||
240 | font-weight: 600; | ||
241 | color: #ffffff; | ||
242 | text-shadow: 0px 4px 4px #002c95; | ||
243 | } | ||
244 | } | ||
245 | |||
246 | .login-inner-bg { | ||
247 | background: white; | ||
248 | width: 24.6%; | ||
249 | min-width: 360px; | ||
250 | top: 30%; | ||
251 | right: 38%; | ||
252 | position: absolute; | ||
253 | background-size: 100% 100%; | ||
254 | box-sizing: border-box; | ||
255 | padding: 56px; | ||
256 | } | ||
257 | |||
258 | .login { | ||
259 | .user_style { | ||
260 | h3 { | ||
261 | font-weight: normal; | ||
262 | text-align: center; | ||
263 | margin: -10px auto 28px; | ||
264 | font-weight: 400; | ||
265 | width: 125px; | ||
266 | height: 29px; | ||
267 | font-size: 20px; | ||
268 | font-family: Source Han Sans CN; | ||
269 | font-weight: 400; | ||
270 | color: #333333; | ||
271 | } | ||
272 | } | ||
273 | |||
274 | .btn { | ||
275 | width: 100%; | ||
276 | height: 6vh; | ||
277 | background-color: #00c2de; | ||
278 | border-radius: 5px; | ||
279 | font-size: 1.4vw; | ||
280 | color: #000; | ||
281 | } | ||
282 | |||
283 | .btn:hover { | ||
284 | cursor: pointer; | ||
285 | background-color: #2d8cf0; | ||
286 | } | ||
287 | } | ||
288 | |||
289 | .login #loginform { | ||
290 | .el-form-item { | ||
291 | margin-bottom: 24px !important; | ||
292 | } | ||
293 | |||
294 | .login-btn { | ||
295 | margin-top: 30px !important; | ||
296 | } | ||
297 | |||
298 | .el-button { | ||
299 | font-size: 18px; | ||
300 | border-radius: 0; | ||
301 | background: #4162d8 !important; | ||
302 | color: #ffffff !important; | ||
303 | cursor: pointer !important; | ||
304 | } | ||
305 | |||
306 | .el-input__inner { | ||
307 | width: 100% !important; | ||
308 | } | ||
309 | |||
310 | .el-checkbox__label { | ||
311 | color: #fff; | ||
312 | } | ||
313 | } | ||
314 | |||
315 | .inputUser .ivu-input { | ||
316 | padding: 6px 24px !important; | ||
317 | border: 1px solid #9f9f9f !important; | ||
318 | } | ||
319 | </style> |
-
Please register or sign in to post a comment