Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcjg-web
Showing
77 changed files
with
2875 additions
and
1709 deletions
1 | /* | 1 | /* |
2 | * @Description: 数据上报模块api文件 | 2 | * @Description: 数据上报模块api文件 |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-03-01 16:33:08 | 4 | * @LastEditTime: 2023-03-03 14:38:57 |
5 | */ | 5 | */ |
6 | /* 引入axios请求文件 */ | 6 | /* 引入axios请求文件 */ |
7 | import request from '@/utils/request' | 7 | import request from '@/utils/request' |
... | @@ -109,4 +109,17 @@ export function restartGenerateXml (bsmReport) { | ... | @@ -109,4 +109,17 @@ export function restartGenerateXml (bsmReport) { |
109 | url: urlHeader + 'restartGenerateXml?bsmReport=' + bsmReport, | 109 | url: urlHeader + 'restartGenerateXml?bsmReport=' + bsmReport, |
110 | method: 'post' | 110 | method: 'post' |
111 | }) | 111 | }) |
112 | } | ||
113 | |||
114 | /** | ||
115 | * @description: 编辑报文头 | ||
116 | * @param {*} data | ||
117 | * @author: renchao | ||
118 | */ | ||
119 | export function edit (data) { | ||
120 | return request({ | ||
121 | url: urlHeader + 'edit', | ||
122 | method: 'post', | ||
123 | data | ||
124 | }) | ||
112 | } | 125 | } |
... | \ 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-01 17:09:38 | 4 | * @LastEditTime: 2023-03-02 13:45:53 |
5 | */ | 5 | */ |
6 | /* 引入请求文件 */ | 6 | /* 引入请求文件 */ |
7 | import request from '@/utils/request' | 7 | import request from '@/utils/request' |
8 | /* 引入配置文件 */ | 8 | /* 引入配置文件 */ |
9 | import SERVER from './config' | 9 | import SERVER from './config' |
10 | const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/RecordLog/' | 10 | const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/RecordLog/' |
11 | |||
12 | /** | 11 | /** |
13 | * @description: 登簿日志分页 | 12 | * @description: 登簿日志分页 |
14 | * @author: renchao | 13 | * @author: renchao |
... | @@ -35,4 +34,29 @@ export function getDetail (dbBsm) { | ... | @@ -35,4 +34,29 @@ export function getDetail (dbBsm) { |
35 | } | 34 | } |
36 | }) | 35 | }) |
37 | } | 36 | } |
38 | 37 | /** | |
38 | * @description: 详情页面编辑 | ||
39 | * @param {*} data | ||
40 | * @author: renchao | ||
41 | */ | ||
42 | export function edit (data) { | ||
43 | return request({ | ||
44 | url: urlHeader + 'edit', | ||
45 | method: 'post', | ||
46 | data | ||
47 | }) | ||
48 | } | ||
49 | /** | ||
50 | * @description: 登薄日志重新生成报文 | ||
51 | * @param {*} dbBsm | ||
52 | * @author: renchao | ||
53 | */ | ||
54 | export function regenerateDbXml (dbBsm) { | ||
55 | return request({ | ||
56 | url: urlHeader + 'regenerateDbXml', | ||
57 | method: 'get', | ||
58 | params: { | ||
59 | dbBsm: dbBsm | ||
60 | } | ||
61 | }) | ||
62 | } | ... | ... |
src/api/statistics.js
0 → 100644
1 | import request from '@/utils/request' | ||
2 | import SERVER from './config' | ||
3 | |||
4 | /** | ||
5 | * dataReceiveQuality | ||
6 | * @param startDate | ||
7 | * @param endDate | ||
8 | * @returns {AxiosPromise} | ||
9 | */ | ||
10 | export function dataReceiveQuality (startDate, endDate) { | ||
11 | return request({ | ||
12 | url: SERVER.SERVERAPI + '/rest/statistics/Efficient/dataReceiveQuality?startDate='+startDate+'&endDate='+endDate, | ||
13 | method: 'post' | ||
14 | }) | ||
15 | } | ||
16 | |||
17 | /** | ||
18 | * 空项率统计 | ||
19 | * @returns {AxiosPromise} | ||
20 | * @param startDate | ||
21 | * @param endDate | ||
22 | */ | ||
23 | export function nonNullSta (startDate, endDate) { | ||
24 | return request({ | ||
25 | url: SERVER.SERVERAPI + '/rest/statistics/Efficient/nonNullSta?startDate='+startDate+'&endDate='+endDate, | ||
26 | method: 'post' | ||
27 | }) | ||
28 | } | ||
29 | |||
30 | /** | ||
31 | * 登簿质量统计 | ||
32 | * @returns {AxiosPromise} | ||
33 | * @param startDate | ||
34 | * @param endDate | ||
35 | */ | ||
36 | export function registerBookQuality (startDate, endDate) { | ||
37 | return request({ | ||
38 | url: SERVER.SERVERAPI + '/rest/statistics/Efficient/registerBookQuality?startDate='+startDate+'&endDate='+endDate, | ||
39 | method: 'post' | ||
40 | }) | ||
41 | } |
1 | <template> | 1 | <template> |
2 | <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter" | 2 | <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter" |
3 | :visible.sync="dialogVisible" width="88%"> | 3 | :visible.sync="dialogVisible" width="92%"> |
4 | <div slot="title" class="dialog_title" ref="dialogTitle"> | 4 | <div slot="title" class="dialog_title" ref="dialogTitle"> |
5 | {{ title || '标题' }} | 5 | {{ title || '详情' }} |
6 | </div> | 6 | </div> |
7 | <div class="regularHeight"> | 7 | <div class="regularHeight"> |
8 | <div class="editDialogBox-box"> | 8 | <div class="editDialogBox-box"> |
... | @@ -11,73 +11,85 @@ | ... | @@ -11,73 +11,85 @@ |
11 | <el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane> | 11 | <el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane> |
12 | <el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane> | 12 | <el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane> |
13 | </el-tabs> | 13 | </el-tabs> |
14 | <div class="dialog-from" v-if="titleName == 'sjmx'"> | 14 | <div class="dialog-from item-content-input" v-if="titleName == 'sjmx'"> |
15 | <el-row> | 15 | <el-row> |
16 | <el-col :span="5"> | 16 | <el-col :span="5"> |
17 | <span>业务报文ID:</span> | 17 | <span>业务报文ID:</span> |
18 | <p>{{ dataReport.BizMsgId }}</p> | 18 | <el-select v-model="dataReport.BizMsgId" :disabled="$store.state.business.Edit"> |
19 | <el-option v-for="item in bwoptions" :key="item.value" :label="item.label" :value="item.value"> | ||
20 | </el-option> | ||
21 | </el-select> | ||
19 | </el-col> | 22 | </el-col> |
20 | <el-col :span="6"> | 23 | <el-col :span="6"> |
21 | <span>接入报文ID:</span> | 24 | <span>ASID:</span> |
22 | <p>{{ dataReport.ASID }}</p> | 25 | <el-input v-model="dataReport.ASID" :disabled="$store.state.business.Edit" maxLength="5"></el-input> |
23 | </el-col> | 26 | </el-col> |
24 | <el-col :span="6"> | 27 | <el-col :span="6"> |
25 | <span>行政区划编码:</span> | 28 | <span>行政区划编码:</span> |
26 | <p>{{ dataReport.AreaCode }}</p> | 29 | <el-input v-model="dataReport.AreaCode" :disabled="$store.state.business.Edit"></el-input> |
27 | </el-col> | 30 | </el-col> |
28 | <el-col :span="7"> | 31 | <el-col :span="7"> |
29 | <span>上次不动产单元号:</span> | 32 | <span>上次不动产单元号:</span> |
30 | <p>{{ dataReport.PreEstateNum }}</p> | 33 | <el-input v-model="dataReport.PreEstateNum" :disabled="$store.state.business.Edit"></el-input> |
31 | </el-col> | 34 | </el-col> |
32 | </el-row> | 35 | </el-row> |
33 | <el-row> | 36 | <el-row> |
34 | <el-col :span="5"> | 37 | <el-col :span="5"> |
35 | <span>业务编码:</span> | 38 | <span>业务编码:</span> |
36 | <p>{{ dataReport.RecType }}</p> | 39 | <el-input v-model="dataReport.RecType" :disabled="$store.state.business.Edit"></el-input> |
37 | </el-col> | 40 | </el-col> |
38 | <el-col :span="6"> | 41 | <el-col :span="6"> |
39 | <span>权利类型:</span> | 42 | <span>权利类型:</span> |
40 | <p>{{ this.dicStatus(dataReport.RightType, 'A8') }}</p> | 43 | <el-select v-model="dataReport.RightType" :disabled="$store.state.business.Edit"> |
44 | <el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
45 | </el-option> | ||
46 | </el-select> | ||
41 | </el-col> | 47 | </el-col> |
42 | <el-col :span="6"> | 48 | <el-col :span="6"> |
43 | <span>登记类型:</span> | 49 | <span>登记类型:</span> |
44 | <p>{{ this.dicStatus(dataReport.RegType, 'A21') }}</p> | 50 | <el-select v-model="dataReport.RegType" :disabled="$store.state.business.Edit"> |
51 | <el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | ||
52 | </el-option> | ||
53 | </el-select> | ||
45 | </el-col> | 54 | </el-col> |
46 | <el-col :span="7"> | 55 | <el-col :span="7"> |
47 | <span>不动产权证书数量:</span> | 56 | <span>不动产权证书数量:</span> |
48 | <p>{{ dataReport.CertCount }}</p> | 57 | <el-input v-model="dataReport.CertCount" :disabled="$store.state.business.Edit" |
58 | oninput="if(value.length > 8) value=value.slice(0, 8)"></el-input> | ||
49 | </el-col> | 59 | </el-col> |
50 | </el-row> | 60 | </el-row> |
51 | <el-row> | 61 | <el-row> |
52 | <el-col :span="5"> | 62 | <el-col :span="5"> |
53 | <span>创建时间:</span> | 63 | <span>创建时间:</span> |
54 | <p>{{ dataReport.createDate }}</p> | 64 | <el-date-picker v-model="dataReport.createDate" clearable disabled type="date" value-format="yyyy-MM-dd"> |
65 | </el-date-picker> | ||
55 | </el-col> | 66 | </el-col> |
56 | <el-col :span="6"> | 67 | <el-col :span="6"> |
57 | <span>业务流水号:</span> | 68 | <span>业务流水号:</span> |
58 | <p>{{ dataReport.RecFlowID }}</p> | 69 | <el-input v-model="dataReport.RecFlowID" :disabled="$store.state.business.Edit"></el-input> |
59 | </el-col> | 70 | </el-col> |
60 | <el-col :span="6"> | 71 | <el-col :span="6"> |
61 | <span>宗地/宗海代码:</span> | 72 | <span>宗地/宗海代码:</span> |
62 | <p>{{ dataReport.ParcelID }}</p> | 73 | <el-input v-model="dataReport.ParcelID" :disabled="$store.state.business.Edit"></el-input> |
63 | </el-col> | 74 | </el-col> |
64 | <el-col :span="7"> | 75 | <el-col :span="7"> |
65 | <span>证明数量:</span> | 76 | <span>证明数量:</span> |
66 | <p>{{ dataReport.ProofCount }}</p> | 77 | <el-input v-model="dataReport.ProofCount" :disabled="$store.state.business.Edit" |
78 | oninput="if(value.length > 8) value=value.slice(0, 8)"></el-input> | ||
67 | </el-col> | 79 | </el-col> |
68 | </el-row> | 80 | </el-row> |
69 | <el-row> | 81 | <el-row> |
70 | <el-col :span="6"> | 82 | <el-col :span="7"> |
71 | <span>不动产单元号:</span> | 83 | <span>不动产单元号:</span> |
72 | <p>{{ dataReport.EstateNum }}</p> | 84 | <el-input v-model="dataReport.EstateNum" :disabled="$store.state.business.Edit"></el-input> |
73 | </el-col> | 85 | </el-col> |
74 | <el-col :span="8"> | 86 | <el-col :span="7"> |
75 | <span>登记机构:</span> | 87 | <span>登记机构:</span> |
76 | <p>{{ dataReport.RegOrgID }}</p> | 88 | <el-input v-model="dataReport.RegOrgID" :disabled="$store.state.business.Edit"></el-input> |
77 | </el-col> | 89 | </el-col> |
78 | <el-col :span="11"> | 90 | <el-col :span="11"> |
79 | <span>上次不动产权证号/不动产登记证明:</span> | 91 | <span>上次不动产权证号/不动产登记证明:</span> |
80 | <p>{{ dataReport.PreCertID }}</p> | 92 | <el-input v-model="dataReport.PreCertID" :disabled="$store.state.business.Edit"></el-input> |
81 | </el-col> | 93 | </el-col> |
82 | </el-row> | 94 | </el-row> |
83 | </div> | 95 | </div> |
... | @@ -107,7 +119,7 @@ | ... | @@ -107,7 +119,7 @@ |
107 | </div> | 119 | </div> |
108 | <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'sjmx'"> | 120 | <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'sjmx'"> |
109 | <btn nativeType="cz" @click="dialogVisible = false">取 消</btn> | 121 | <btn nativeType="cz" @click="dialogVisible = false">取 消</btn> |
110 | <btn nativeType="cx" @click="submitForm">确 定</btn> | 122 | <btn nativeType="cx" @click="submitForm">保 存</btn> |
111 | </div> | 123 | </div> |
112 | <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'"> | 124 | <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'"> |
113 | <btn nativeType="cx" @click="handleResubmit">重新上报</btn> | 125 | <btn nativeType="cx" @click="handleResubmit">重新上报</btn> |
... | @@ -116,10 +128,13 @@ | ... | @@ -116,10 +128,13 @@ |
116 | </template> | 128 | </template> |
117 | 129 | ||
118 | <script> | 130 | <script> |
131 | import axios from "axios"; | ||
132 | import SERVER from '@/api/config' | ||
133 | const urlHeader = SERVER.SERVERAPI + '/rest/sjsb/DataReport/' | ||
119 | import { mapGetters } from "vuex"; | 134 | import { mapGetters } from "vuex"; |
120 | import JsonEditor from "@/components/JsonEditor.vue"; | 135 | import JsonEditor from "@/components/JsonEditor.vue"; |
121 | import Xyjg from "./Result"; | 136 | import Xyjg from "./Result"; |
122 | import { getTabsDetail, getXml, getReportDetail, restartGenerateXml } from "@/api/dataReport.js"; | 137 | import { getTabsDetail, getXml, getReportDetail, restartGenerateXml, edit } from "@/api/dataReport.js"; |
123 | export default { | 138 | export default { |
124 | components: { JsonEditor, Xyjg }, | 139 | components: { JsonEditor, Xyjg }, |
125 | props: { | 140 | props: { |
... | @@ -142,31 +157,31 @@ export default { | ... | @@ -142,31 +157,31 @@ export default { |
142 | }, | 157 | }, |
143 | data () { | 158 | data () { |
144 | return { | 159 | return { |
145 | 160 | key: 0, | |
146 | resultInfo: '', | 161 | resultInfo: '', |
147 | 162 | ||
148 | titleName: 'sjmx', | 163 | titleName: 'sjmx', |
149 | 164 | // 报文list | |
165 | bwoptions: [], | ||
150 | dataReport: {}, | 166 | dataReport: {}, |
151 | index: 0, | 167 | index: 0, |
152 | bsmYwsjb: "", | 168 | bsmYwsjb: "", |
153 | ruleFormList: { | 169 | ruleFormList: { |
154 | bizMsgID: "", | 170 | BizMsgId: "", // 业务报文ID |
155 | asid: "", | 171 | ASID: "", // ASID |
156 | areaCode: "", | 172 | AreaCode: "", //行政区划编码 |
157 | preestateNum: "", | 173 | PreEstateNum: "", //上次不动产单元号 |
158 | recType: "", | 174 | RecType: "", // 业务编码 |
159 | rightType: "", | 175 | RightType: "", // 权利类型 |
160 | regType: "", | 176 | RegType: "", //登记类型 |
161 | certCount: "", | 177 | CertCount: "", //不动产权证书数量 |
162 | createDate: "", | 178 | createDate: "", //创建时间 |
163 | recFlowID: "", | 179 | RecFlowID: "", // 业务流水号 |
164 | regOrgID: "", | 180 | ParcelID: "", //宗地/宗海代码 |
165 | prllfCount: "", | 181 | ProofCount: "", //证明数量 |
166 | parcelID: "", | 182 | EstateNum: "", // 不动产单元号 |
167 | estateNum: "", | 183 | RegOrgID: "", // 登记机构 |
168 | preCertID: "", | 184 | PreCertID: "", //次不动产权证号/不动产登记证明 |
169 | digitalSign: "", | ||
170 | }, | 185 | }, |
171 | images: require("./images/success.gif"), | 186 | images: require("./images/success.gif"), |
172 | dialogVisible: false, | 187 | dialogVisible: false, |
... | @@ -192,18 +207,22 @@ export default { | ... | @@ -192,18 +207,22 @@ export default { |
192 | handleTitleTab (val) { | 207 | handleTitleTab (val) { |
193 | }, | 208 | }, |
194 | isShow (item) { | 209 | isShow (item) { |
195 | this.dataReport = item; | 210 | this.$set(this.bwoptions, 0, { |
211 | value: item.bizMsgid, | ||
212 | label: item.bizMsgid, | ||
213 | }) | ||
214 | this.$set(this.bwoptions, 1, { | ||
215 | value: item.bizMsgid + 'CBXZ', | ||
216 | label: item.bizMsgid + 'CBXZ', | ||
217 | }) | ||
218 | this.$set(this.bwoptions, 2, { | ||
219 | value: item.bizMsgid + 'BBXZ', | ||
220 | label: item.bizMsgid + 'BBXZ', | ||
221 | }) | ||
196 | this.titleName = 'sjmx'; | 222 | this.titleName = 'sjmx'; |
197 | this.dialogVisible = true; | 223 | this.dialogVisible = true; |
198 | //获取表头列表 | 224 | //获取表头列表 |
199 | getTabsDetail({ bsmReport: this.dataReport.bsmReport || this.dataReport.bsmSjsb }).then((res) => { | 225 | this._getList(item) |
200 | if (res.code == 200) { | ||
201 | this.headerList = res.result; | ||
202 | this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName | ||
203 | this.bsmYwsjb = this.headerList[0].bsmYwsjb; | ||
204 | this.editItem = this.loadView(this.activeName); | ||
205 | } | ||
206 | }); | ||
207 | //不动产数据查询上报详情 | 226 | //不动产数据查询上报详情 |
208 | getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => { | 227 | getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => { |
209 | if (res.code == 200) { | 228 | if (res.code == 200) { |
... | @@ -217,6 +236,17 @@ export default { | ... | @@ -217,6 +236,17 @@ export default { |
217 | }) | 236 | }) |
218 | } | 237 | } |
219 | }, | 238 | }, |
239 | // 获取列表接口 | ||
240 | _getList (data) { | ||
241 | getTabsDetail({ bsmReport: data.bsmReport || data.bsmSjsb }).then((res) => { | ||
242 | if (res.code == 200) { | ||
243 | this.headerList = res.result; | ||
244 | this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName | ||
245 | this.bsmYwsjb = this.headerList[0].bsmYwsjb; | ||
246 | this.editItem = this.loadView(this.activeName); | ||
247 | } | ||
248 | }); | ||
249 | }, | ||
220 | changeList (val) { | 250 | changeList (val) { |
221 | let _index = val.index; | 251 | let _index = val.index; |
222 | if (_index > this.index) { | 252 | if (_index > this.index) { |
... | @@ -244,38 +274,63 @@ export default { | ... | @@ -244,38 +274,63 @@ export default { |
244 | * @description: 提交 | 274 | * @description: 提交 |
245 | * @author: renchao | 275 | * @author: renchao |
246 | */ | 276 | */ |
247 | submitForm: _.debounce(function () { | 277 | submitForm: _.debounce(async function () { |
248 | this.$refs["editItem"].handleUpdateForm() | 278 | let _this = this |
249 | .then((res) => { | 279 | // 上报请求头修改 |
250 | if (res == 200) { | 280 | try { |
251 | this.$message({ | 281 | var headRes = await axios.post('/api' + urlHeader + 'edit', this.dataReport, |
252 | message: '修改成功', | 282 | { |
253 | type: 'success' | 283 | headers: { |
254 | }) | 284 | 'Authorization': sessionStorage.getItem("token") || "" |
255 | } | 285 | } |
256 | }) | ||
257 | .catch(function (error) { | ||
258 | this.$alert(error, "提示", { | ||
259 | confirmButtonText: "确定", | ||
260 | type: "error" | ||
261 | }) | 286 | }) |
287 | if (headRes.code == 200) { | ||
288 | _this._getList(_this.dataReport) | ||
289 | } | ||
290 | } catch (error) { | ||
291 | this.$message({ | ||
292 | message: '报文头修改出错', | ||
293 | type: 'error' | ||
262 | }) | 294 | }) |
295 | } | ||
296 | let listRes = await this.$refs["editItem"].handleUpdateForm() | ||
297 | if (headRes.data?.code == 200 && listRes == 200) { | ||
298 | this.$message({ | ||
299 | message: '修改成功', | ||
300 | type: 'success' | ||
301 | }) | ||
302 | } | ||
263 | }, 500), | 303 | }, 500), |
264 | /** | 304 | /** |
265 | * @description: 重新上报 | 305 | * @description: 重新上报 |
266 | * @author: renchao | 306 | * @author: renchao |
267 | */ | 307 | */ |
268 | handleResubmit: _.debounce(function () { | 308 | handleResubmit () { |
269 | restartGenerateXml(this.dataReport.bsmSjsb || this.dataReport.bsmReport).then((res) => { | 309 | let _this = this |
270 | if (res.code == 200) { | 310 | this.$confirm('重新生成报文,是否上报省厅?', '提示', { |
271 | this.resultInfo = res.message | 311 | confirmButtonText: '确定', |
272 | this.$message({ | 312 | cancelButtonText: '取消', |
273 | message: '生成成功', | 313 | type: 'warning' |
274 | type: 'success' | 314 | }).then(() => { |
275 | }) | 315 | createXml() |
276 | } | 316 | }).catch(() => { |
317 | this.$message({ | ||
318 | type: 'info', | ||
319 | message: '已取消删除' | ||
320 | }) | ||
277 | }) | 321 | }) |
278 | }, 500) | 322 | function createXml () { |
323 | restartGenerateXml(_this.dataReport.bsmSjsb || _this.dataReport.bsmReport).then((res) => { | ||
324 | if (res.code == 200) { | ||
325 | _this.resultInfo = res.message | ||
326 | _this.$message({ | ||
327 | message: '修改成功', | ||
328 | type: 'success' | ||
329 | }) | ||
330 | } | ||
331 | }) | ||
332 | } | ||
333 | } | ||
279 | } | 334 | } |
280 | } | 335 | } |
281 | </script> | 336 | </script> |
... | @@ -374,7 +429,7 @@ export default { | ... | @@ -374,7 +429,7 @@ export default { |
374 | padding-right: 1px; | 429 | padding-right: 1px; |
375 | margin-bottom: 10px; | 430 | margin-bottom: 10px; |
376 | border-top: none; | 431 | border-top: none; |
377 | height: 45vh; | 432 | height: 44vh; |
378 | } | 433 | } |
379 | 434 | ||
380 | /deep/.editDialogBox { | 435 | /deep/.editDialogBox { |
... | @@ -404,5 +459,53 @@ export default { | ... | @@ -404,5 +459,53 @@ export default { |
404 | .el-dialog__wrapper { | 459 | .el-dialog__wrapper { |
405 | overflow: hidden; | 460 | overflow: hidden; |
406 | } | 461 | } |
462 | |||
463 | .dialog-from { | ||
464 | padding-top: 0; | ||
465 | |||
466 | .el-col { | ||
467 | justify-content: space-between; | ||
468 | } | ||
469 | |||
470 | .bz { | ||
471 | height: 100%; | ||
472 | position: relative; | ||
473 | top: 3px; | ||
474 | } | ||
475 | |||
476 | /deep/.el-select { | ||
477 | padding-right: 15px; | ||
478 | } | ||
479 | |||
480 | /deep/.el-icon-circle-close { | ||
481 | display: none; | ||
482 | } | ||
483 | |||
484 | /deep/.el-input__suffix { | ||
485 | right: -25px !important; | ||
486 | top: -5px; | ||
487 | } | ||
488 | |||
489 | /deep/.el-select, | ||
490 | /deep/.el-input { | ||
491 | flex: 1; | ||
492 | width: 100%; | ||
493 | } | ||
494 | |||
495 | /deep/.el-textarea__inner { | ||
496 | border: none !important; | ||
497 | margin: 0; | ||
498 | } | ||
499 | |||
500 | &_header { | ||
501 | margin: 0 -5px !important; | ||
502 | } | ||
503 | |||
504 | &_title { | ||
505 | font-size: 18px; | ||
506 | color: #d7eaee; | ||
507 | margin: 3px 0; | ||
508 | } | ||
509 | } | ||
407 | </style> | 510 | </style> |
408 | 511 | ... | ... |
src/image/bdclogo.png
0 → 100644

20.9 KB
src/image/loginBoxsb.png
0 → 100644

296 KB
src/image/passlogo.png
0 → 100644

655 Bytes
src/image/userlogo.png
0 → 100644

612 Bytes
src/image/yzlogo.png
0 → 100644

621 Bytes
... | @@ -46,7 +46,7 @@ export default { | ... | @@ -46,7 +46,7 @@ export default { |
46 | sessionStorage.removeItem("token"); | 46 | sessionStorage.removeItem("token"); |
47 | this.$store.dispatch("user/resetState"); | 47 | this.$store.dispatch("user/resetState"); |
48 | this.$router.replace({ | 48 | this.$router.replace({ |
49 | path: "/login", | 49 | path: "/login/jg", |
50 | query: { | 50 | query: { |
51 | redirect: this.$route.fullPath, | 51 | redirect: this.$route.fullPath, |
52 | }, | 52 | }, | ... | ... |
1 | <template> | 1 | <template> |
2 | <el-menu router :default-active="activeMenu" mode="horizontal"> | 2 | <el-menu router :default-active="activeMenu" mode="horizontal"> |
3 | <!-- 权限菜单 --> | 3 | <!-- 权限菜单 --> |
4 | <sidebar-item v-for="route in permission_routes.slice(2, 5)" :key="route.path" :item="route" | 4 | <sidebar-item v-for="route in permission_routes.slice(3, 6)" :key="route.path" :item="route" |
5 | :base-path="route.path" /> | 5 | :base-path="route.path" /> |
6 | <!-- 菜单全部展示 --> | 6 | <!-- 菜单全部展示 --> |
7 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> | 7 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> |
... | @@ -9,35 +9,40 @@ | ... | @@ -9,35 +9,40 @@ |
9 | </template> | 9 | </template> |
10 | 10 | ||
11 | <script> | 11 | <script> |
12 | import { mapGetters } from 'vuex' | 12 | import { mapGetters } from 'vuex' |
13 | import Logo from './Logo' | 13 | import Logo from './Logo' |
14 | import SidebarItem from './SidebarItem' | 14 | import SidebarItem from './SidebarItem' |
15 | import variables from '@/styles/variables.scss' | 15 | import variables from '@/styles/variables.scss' |
16 | import { asyncRoutes } from '@/router' | 16 | import { asyncRoutes } from '@/router' |
17 | export default { | 17 | export default { |
18 | components: { SidebarItem, Logo }, | 18 | components: { SidebarItem, Logo }, |
19 | computed: { | 19 | computed: { |
20 | ...mapGetters(['permission_routes', 'sidebar']), | 20 | ...mapGetters(['permission_routes', 'sidebar']), |
21 | activeMenu () { | 21 | |
22 | const route = this.$route | 22 | activeMenu () { |
23 | const { meta, path } = route | 23 | |
24 | if (meta.activeMenu) { | 24 | const route = this.$route |
25 | return meta.activeMenu | 25 | const { meta, path } = route |
26 | if (meta.activeMenu) { | ||
27 | return meta.activeMenu | ||
28 | } | ||
29 | return path | ||
30 | }, | ||
31 | variables () { | ||
32 | return variables | ||
33 | }, | ||
34 | asyncRoutes () { | ||
35 | return asyncRoutes.slice(0, 3) | ||
26 | } | 36 | } |
27 | return path | ||
28 | }, | 37 | }, |
29 | variables () { | 38 | mounted () { |
30 | return variables | 39 | console.log("permission_routes", this.permission_routes); |
31 | }, | ||
32 | asyncRoutes () { | ||
33 | return asyncRoutes.slice(0, 3) | ||
34 | } | 40 | } |
35 | } | 41 | } |
36 | } | ||
37 | </script> | 42 | </script> |
38 | <style scoped lang="scss"> | 43 | <style scoped lang="scss"> |
39 | .el-menu--horizontal { | ||
40 | display: flex; | ||
41 | background: none !important; | ||
42 | } | ||
43 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
44 | .el-menu--horizontal { | ||
45 | display: flex; | ||
46 | background: none !important; | ||
47 | } | ||
48 | </style> | ... | ... |
1 | <!-- | ||
2 | * @Author: xiaomiao 1158771342@qq.com | ||
3 | * @Date: 2023-01-10 09:03:06 | ||
4 | * @LastEditors: xiaomiao 1158771342@qq.com | ||
5 | * @LastEditTime: 2023-03-08 10:45:43 | ||
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 | ||
8 | --> | ||
1 | <template> | 9 | <template> |
2 | <el-menu router :default-active="activeMenu" mode="horizontal"> | 10 | <el-menu router :default-active="activeMenu" mode="horizontal"> |
3 | <!-- 权限菜单 --> | 11 | <!-- 权限菜单 --> |
4 | <sidebar-item v-for="route in permission_routes.slice(5, 8)" :key="route.path" :item="route" | 12 | <sidebar-item v-for="route in permission_routes.slice(6, 9)" :key="route.path" :item="route" |
5 | :base-path="route.path" /> | 13 | :base-path="route.path" /> |
6 | <!-- 菜单全部展示 --> | 14 | <!-- 菜单全部展示 --> |
7 | <!-- <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" /> --> |
... | @@ -9,59 +17,59 @@ | ... | @@ -9,59 +17,59 @@ |
9 | </template> | 17 | </template> |
10 | 18 | ||
11 | <script> | 19 | <script> |
12 | import { mapGetters } from 'vuex' | 20 | import { mapGetters } from 'vuex' |
13 | import Logo from './Logo' | 21 | import Logo from './Logo' |
14 | import SidebarItem from './SidebarItem' | 22 | import SidebarItem from './SidebarItem' |
15 | import variables from '@/styles/variables.scss' | 23 | import variables from '@/styles/variables.scss' |
16 | import { asyncRoutes } from '@/router' | 24 | import { asyncRoutes } from '@/router' |
17 | export default { | 25 | export default { |
18 | components: { SidebarItem, Logo }, | 26 | components: { SidebarItem, Logo }, |
19 | computed: { | 27 | computed: { |
20 | ...mapGetters(['permission_routes', 'sidebar']), | 28 | ...mapGetters(['permission_routes', 'sidebar']), |
21 | activeMenu () { | 29 | activeMenu () { |
22 | const route = this.$route | 30 | const route = this.$route |
23 | const { meta, path } = route | 31 | const { meta, path } = route |
24 | if (meta.activeMenu) { | 32 | if (meta.activeMenu) { |
25 | return meta.activeMenu | 33 | return meta.activeMenu |
34 | } | ||
35 | return path | ||
36 | }, | ||
37 | variables () { | ||
38 | return variables | ||
39 | }, | ||
40 | asyncRoutes () { | ||
41 | return asyncRoutes.slice(3, 6) | ||
26 | } | 42 | } |
27 | return path | ||
28 | }, | ||
29 | variables () { | ||
30 | return variables | ||
31 | }, | ||
32 | asyncRoutes () { | ||
33 | return asyncRoutes.slice(3, 6) | ||
34 | } | 43 | } |
35 | } | 44 | } |
36 | } | ||
37 | </script> | 45 | </script> |
38 | <style scoped lang="scss"> | 46 | <style scoped lang="scss"> |
39 | .el-menu--horizontal { | 47 | .el-menu--horizontal { |
40 | display: flex; | 48 | display: flex; |
41 | background: none !important; | 49 | background: none !important; |
42 | } | 50 | } |
43 | 51 | ||
44 | /deep/.el-menu-item:hover { | 52 | /deep/.el-menu-item:hover { |
45 | background: none; | 53 | background: none; |
46 | font-weight: 700; | 54 | font-weight: 700; |
47 | color: #fff !important; | 55 | color: #fff !important; |
48 | } | 56 | } |
49 | 57 | ||
50 | /deep/.el-submenu__title { | 58 | /deep/.el-submenu__title { |
51 | color: #fff; | 59 | color: #fff; |
52 | font-size: 18px; | 60 | font-size: 18px; |
53 | } | 61 | } |
54 | 62 | ||
55 | /deep/.el-submenu__title:hover { | 63 | /deep/.el-submenu__title:hover { |
56 | background: none; | 64 | background: none; |
57 | font-weight: 700; | 65 | font-weight: 700; |
58 | font-size: 20px; | 66 | font-size: 20px; |
59 | } | 67 | } |
60 | 68 | ||
61 | /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus { | ||
62 | background: none; | ||
63 | color: #fff; | ||
64 | font-size: 20px; | ||
65 | font-weight: 700 !important; | ||
66 | } | ||
67 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
69 | /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus { | ||
70 | background: none; | ||
71 | color: #fff; | ||
72 | font-size: 20px; | ||
73 | font-weight: 700 !important; | ||
74 | } | ||
75 | </style> | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-07 09:15:01 | ||
5 | --> | ||
1 | <template> | 6 | <template> |
2 | <div class="app-wrapper"> | 7 | <div class="app-wrapper jgWrapper"> |
3 | <navbar /> | 8 | <navbar /> |
4 | <div class="appMain"> | 9 | <div class="appMain"> |
5 | <app-main /> | 10 | <app-main /> |
... | @@ -28,6 +33,9 @@ export default { | ... | @@ -28,6 +33,9 @@ export default { |
28 | } | 33 | } |
29 | } | 34 | } |
30 | </script> | 35 | </script> |
36 | <style lang="scss"> | ||
37 | @import "~@/styles/jgSidebar.scss"; | ||
38 | </style> | ||
31 | <style lang="scss" scoped> | 39 | <style lang="scss" scoped> |
32 | @import "~@/styles/mixin.scss"; | 40 | @import "~@/styles/mixin.scss"; |
33 | 41 | ... | ... |
... | @@ -4,11 +4,7 @@ | ... | @@ -4,11 +4,7 @@ |
4 | <div class="logo"> | 4 | <div class="logo"> |
5 | <img :src="require('@/image/logo.png')" alt="" /> | 5 | <img :src="require('@/image/logo.png')" alt="" /> |
6 | </div> | 6 | </div> |
7 | <!-- <div class="backdrop"> | ||
8 | <Breadcrumb /> | ||
9 | </div> --> | ||
10 | <div class="right-menu"> | 7 | <div class="right-menu"> |
11 | <div class="dataView d-center pointer" @click="handleDataView">大屏展示</div> | ||
12 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> | 8 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> |
13 | <div class="avatar-wrapper"> | 9 | <div class="avatar-wrapper"> |
14 | <span style="padding-right:10px">{{ name }}</span> | 10 | <span style="padding-right:10px">{{ name }}</span> |
... | @@ -24,227 +20,214 @@ | ... | @@ -24,227 +20,214 @@ |
24 | </div> | 20 | </div> |
25 | </template> | 21 | </template> |
26 | <script> | 22 | <script> |
27 | import { mapGetters } from 'vuex' | 23 | import { mapGetters } from 'vuex' |
28 | import Breadcrumb from './Breadcrumb' | 24 | import Breadcrumb from './Breadcrumb' |
29 | import defaultSettings from '@/settings' | 25 | import defaultSettings from '@/settings' |
30 | export default { | 26 | export default { |
31 | components: { | 27 | components: { |
32 | Breadcrumb | 28 | Breadcrumb |
33 | }, | 29 | }, |
34 | computed: { | 30 | computed: { |
35 | ...mapGetters(['sidebar', 'avatar', 'name']) | 31 | ...mapGetters(['sidebar', 'avatar', 'name']) |
32 | }, | ||
33 | data () { | ||
34 | return { | ||
35 | title: defaultSettings.title | ||
36 | } | ||
37 | }, | ||
38 | methods: { | ||
39 | handleDataView () { | ||
40 | const { href } = this.$router.resolve('/dataView'); | ||
41 | window.open(href, '_blank'); | ||
36 | }, | 42 | }, |
37 | data () { | 43 | themeChange (val) { |
38 | return { | 44 | this.$store.dispatch('app/updateTheme', val) |
39 | title: defaultSettings.title | ||
40 | } | ||
41 | }, | 45 | }, |
42 | methods: { | 46 | handleCommand (command) { |
43 | handleDataView () { | 47 | if (command == 'a') { |
44 | const { href } = this.$router.resolve('/dataView'); | 48 | } else { |
45 | window.open(href, '_blank'); | ||
46 | }, | ||
47 | themeChange (val) { | ||
48 | this.$store.dispatch('app/updateTheme', val) | ||
49 | }, | ||
50 | handleCommand (command) { | ||
51 | if (command == 'a') { | ||
52 | } else { | ||
53 | 49 | ||
54 | } | ||
55 | } | 50 | } |
56 | } | 51 | } |
57 | } | 52 | } |
53 | } | ||
58 | </script> | 54 | </script> |
59 | <style lang="scss" scoped> | 55 | <style lang="scss" scoped> |
60 | .navbar-con { | 56 | .navbar-con { |
61 | position: relative; | 57 | position: relative; |
62 | 58 | ||
63 | .logo { | 59 | .logo { |
64 | color: #fff; | 60 | color: #fff; |
65 | font-size: 26px; | 61 | font-size: 26px; |
66 | font-weight: 700; | 62 | font-weight: 700; |
67 | } | 63 | } |
64 | } | ||
65 | |||
66 | .NoticeBar { | ||
67 | position: absolute; | ||
68 | bottom: 0; | ||
69 | } | ||
70 | |||
71 | .el-dropdown-menu { | ||
72 | padding: 0 !important; | ||
73 | border: 1px solid #ebeef5; | ||
74 | box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); | ||
75 | border-radius: 4px 0 0 4px 4px; | ||
76 | |||
77 | .el-dropdown-menu__item { | ||
78 | text-align: center; | ||
79 | margin-top: 0 !important; | ||
80 | font-size: 14px; | ||
81 | font-family: PingFangSC-Regular, PingFang SC; | ||
82 | font-weight: 400; | ||
83 | color: #4a4a4a; | ||
84 | width: 140px; | ||
85 | height: 36px; | ||
86 | line-height: 36px; | ||
68 | } | 87 | } |
69 | 88 | ||
70 | .dataView { | 89 | .el-dropdown-menu__item:nth-child(6) { |
71 | color: #fff; | 90 | border-top: 1px solid #ebeef5; |
72 | width: 120px; | ||
73 | height: 32px; | ||
74 | background: url("../../image/dp.png"); | ||
75 | background-size: cover; | ||
76 | margin-right: 20px; | ||
77 | } | 91 | } |
78 | 92 | ||
79 | .NoticeBar { | 93 | .popper__arrow { |
80 | position: absolute; | 94 | top: -11px !important; |
81 | bottom: 0; | 95 | left: 110px !important; |
96 | transform: rotate(0deg) scale(2); | ||
82 | } | 97 | } |
83 | 98 | ||
84 | .el-dropdown-menu { | 99 | .el-dropdown-menu__item:not(.is-disabled):hover, |
85 | padding: 0 !important; | 100 | .el-dropdown-menu__item:focus { |
86 | border: 1px solid #ebeef5; | 101 | background: #f6f7f9; |
87 | box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); | 102 | color: #4a4a4a; |
88 | border-radius: 4px 0 0 4px 4px; | 103 | } |
89 | 104 | } | |
90 | .el-dropdown-menu__item { | 105 | |
91 | text-align: center; | 106 | .navbar { |
92 | margin-top: 0 !important; | 107 | height: $headerHeight; |
93 | font-size: 14px; | 108 | overflow: hidden; |
94 | font-family: PingFangSC-Regular, PingFang SC; | 109 | position: relative; |
95 | font-weight: 400; | 110 | background: #3D59C4; |
96 | color: #4a4a4a; | 111 | display: flex; |
97 | width: 140px; | 112 | align-items: center; |
98 | height: 36px; | 113 | padding-right: 20px; |
99 | line-height: 36px; | 114 | justify-content: space-between; |
100 | } | 115 | .header-logo { |
116 | width: 300px; | ||
117 | } | ||
101 | 118 | ||
102 | .el-dropdown-menu__item:nth-child(6) { | 119 | .backdrop { |
103 | border-top: 1px solid #ebeef5; | 120 | flex: 1; |
104 | } | 121 | width: 60%; |
122 | background-size: 100% 100%; | ||
123 | height: $headerHeight; | ||
124 | display: flex; | ||
125 | align-items: center; | ||
126 | } | ||
105 | 127 | ||
106 | .popper__arrow { | 128 | .hamburger-container { |
107 | top: -11px !important; | 129 | line-height: 43px; |
108 | left: 110px !important; | 130 | height: 100%; |
109 | transform: rotate(0deg) scale(2); | 131 | float: left; |
110 | } | 132 | cursor: pointer; |
133 | transition: background 0.3s; | ||
134 | -webkit-tap-highlight-color: transparent; | ||
111 | 135 | ||
112 | .el-dropdown-menu__item:not(.is-disabled):hover, | 136 | &:hover { |
113 | .el-dropdown-menu__item:focus { | 137 | background: rgba(0, 0, 0, 0.025); |
114 | background: #f6f7f9; | ||
115 | color: #4a4a4a; | ||
116 | } | 138 | } |
117 | } | 139 | } |
118 | 140 | ||
119 | .navbar { | 141 | .breadcrumb-container { |
120 | height: $headerHeight; | 142 | float: left; |
121 | overflow: hidden; | 143 | } |
122 | position: relative; | 144 | |
123 | // background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色 | 145 | .right-menu { |
124 | // box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08); | 146 | float: right; |
125 | background: #0d1230; | 147 | height: 100%; |
148 | line-height: 50px; | ||
126 | display: flex; | 149 | display: flex; |
127 | align-items: center; | 150 | align-items: center; |
128 | padding-right: 20px; | ||
129 | justify-content: space-between; | ||
130 | margin-bottom: 10px; | ||
131 | 151 | ||
132 | .header-logo { | 152 | .function { |
133 | width: 300px; | 153 | margin: 0 15px; |
154 | cursor: pointer; | ||
134 | } | 155 | } |
135 | 156 | ||
136 | .backdrop { | 157 | .shutdown { |
137 | flex: 1; | 158 | font-size: 20px; |
138 | width: 60%; | 159 | margin-left: 15px; |
139 | background-size: 100% 100%; | 160 | cursor: pointer; |
140 | height: $headerHeight; | ||
141 | display: flex; | ||
142 | align-items: center; | ||
143 | } | 161 | } |
144 | 162 | ||
145 | .hamburger-container { | 163 | .organization-item { |
146 | line-height: 43px; | 164 | margin-right: 40px; |
147 | height: 100%; | 165 | margin-top: -40px !important; |
148 | float: left; | 166 | } |
149 | cursor: pointer; | ||
150 | transition: background 0.3s; | ||
151 | -webkit-tap-highlight-color: transparent; | ||
152 | 167 | ||
153 | &:hover { | 168 | .item { |
154 | background: rgba(0, 0, 0, 0.025); | 169 | margin-right: 40px; |
170 | margin-top: -20px; | ||
171 | line-height: 18.4px; | ||
172 | cursor: pointer; | ||
173 | position: relative; | ||
174 | |||
175 | .item-box { | ||
176 | position: absolute; | ||
177 | top: -5px; | ||
178 | left: 3px; | ||
179 | width: 100%; | ||
180 | min-width: 25px; | ||
181 | height: 25px; | ||
182 | cursor: pointer; | ||
183 | z-index: 100; | ||
155 | } | 184 | } |
156 | } | 185 | } |
157 | 186 | ||
158 | .breadcrumb-container { | 187 | &:focus { |
159 | float: left; | 188 | outline: none; |
160 | } | 189 | } |
161 | 190 | ||
162 | .right-menu { | 191 | .right-menu-item { |
163 | float: right; | 192 | display: inline-block; |
164 | height: 100%; | 193 | height: 100%; |
165 | line-height: 50px; | 194 | font-size: 18px; |
166 | display: flex; | 195 | color: #fff; |
167 | align-items: center; | 196 | vertical-align: text-bottom; |
168 | |||
169 | .function { | ||
170 | margin: 0 15px; | ||
171 | cursor: pointer; | ||
172 | } | ||
173 | 197 | ||
174 | .shutdown { | 198 | &.hover-effect { |
175 | font-size: 20px; | ||
176 | margin-left: 15px; | ||
177 | cursor: pointer; | 199 | cursor: pointer; |
178 | } | 200 | transition: background 0.3s; |
179 | 201 | display: flex; | |
180 | .organization-item { | 202 | align-items: center; |
181 | margin-right: 40px; | ||
182 | margin-top: -40px !important; | ||
183 | } | ||
184 | 203 | ||
185 | .item { | 204 | &:hover { |
186 | margin-right: 40px; | 205 | background: rgba(0, 0, 0, 0.025); |
187 | margin-top: -20px; | ||
188 | line-height: 18.4px; | ||
189 | cursor: pointer; | ||
190 | position: relative; | ||
191 | |||
192 | .item-box { | ||
193 | position: absolute; | ||
194 | top: -5px; | ||
195 | left: 3px; | ||
196 | width: 100%; | ||
197 | min-width: 25px; | ||
198 | height: 25px; | ||
199 | cursor: pointer; | ||
200 | z-index: 100; | ||
201 | } | 206 | } |
202 | } | 207 | } |
208 | } | ||
203 | 209 | ||
204 | &:focus { | 210 | .avatar-wrapper { |
205 | outline: none; | 211 | position: relative; |
206 | } | 212 | display: flex; |
213 | height: 40px; | ||
214 | align-items: center; | ||
207 | 215 | ||
208 | .right-menu-item { | 216 | .user-avatar { |
209 | display: inline-block; | 217 | cursor: pointer; |
210 | height: 100%; | 218 | width: 35px; |
211 | font-size: 18px; | 219 | height: 35px; |
212 | color: #fff; | 220 | border-radius: 50%; |
213 | vertical-align: text-bottom; | ||
214 | |||
215 | &.hover-effect { | ||
216 | cursor: pointer; | ||
217 | transition: background 0.3s; | ||
218 | display: flex; | ||
219 | align-items: center; | ||
220 | |||
221 | &:hover { | ||
222 | background: rgba(0, 0, 0, 0.025); | ||
223 | } | ||
224 | } | ||
225 | } | 221 | } |
226 | 222 | ||
227 | .avatar-wrapper { | 223 | .el-icon-caret-bottom { |
228 | position: relative; | 224 | cursor: pointer; |
229 | display: flex; | 225 | position: absolute; |
230 | height: 40px; | 226 | right: -15px; |
231 | align-items: center; | 227 | top: 17px; |
232 | 228 | font-size: 12px; | |
233 | .user-avatar { | ||
234 | cursor: pointer; | ||
235 | width: 35px; | ||
236 | height: 35px; | ||
237 | border-radius: 50%; | ||
238 | } | ||
239 | |||
240 | .el-icon-caret-bottom { | ||
241 | cursor: pointer; | ||
242 | position: absolute; | ||
243 | right: -15px; | ||
244 | top: 17px; | ||
245 | font-size: 12px; | ||
246 | } | ||
247 | } | 229 | } |
248 | } | 230 | } |
249 | } | 231 | } |
232 | } | ||
250 | </style> | 233 | </style> | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-06 16:18:21 | ||
5 | --> | ||
1 | <template> | 6 | <template> |
2 | <div> | 7 | <div> |
3 | <el-scrollbar wrap-class="scrollbar-wrapper"> | 8 | <el-scrollbar wrap-class="scrollbar-wrapper"> |
4 | <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" | 9 | <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" |
5 | :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical"> | 10 | :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical"> |
6 | <!-- 权限菜单 --> | 11 | <!-- 权限菜单 --> |
7 | <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> | 12 | <sidebar-item v-for="route in permission_routes.slice(3)" :key="route.path" :item="route" |
13 | :base-path="route.path" /> | ||
8 | <!-- 菜单全部展示 --> | 14 | <!-- 菜单全部展示 --> |
9 | <!-- <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" /> --> |
10 | </el-menu> | 16 | </el-menu> |
... | @@ -13,36 +19,38 @@ | ... | @@ -13,36 +19,38 @@ |
13 | </template> | 19 | </template> |
14 | 20 | ||
15 | <script> | 21 | <script> |
16 | import { mapGetters } from 'vuex' | 22 | import { mapGetters } from 'vuex' |
17 | import Logo from './Logo' | 23 | import Logo from './Logo' |
18 | import defaultSettings from '@/settings' | 24 | import defaultSettings from '@/settings' |
19 | import SidebarItem from './SidebarItem' | 25 | import SidebarItem from './SidebarItem' |
20 | import variables from '@/styles/variables.scss' | 26 | import variables from '@/styles/variables.scss' |
21 | import { asyncRoutes } from '@/router' | 27 | import { asyncRoutes } from '@/router' |
22 | export default { | 28 | export default { |
23 | components: { SidebarItem, Logo }, | 29 | components: { SidebarItem, Logo }, |
24 | data () { | 30 | data () { |
25 | return { | 31 | return { |
26 | title: defaultSettings.title | 32 | title: defaultSettings.title |
33 | } | ||
34 | }, | ||
35 | created () { | ||
36 | console.log(this.permission_routes); | ||
37 | }, | ||
38 | computed: { | ||
39 | ...mapGetters(['permission_routes', 'sidebar']), | ||
40 | activeMenu () { | ||
41 | const route = this.$route | ||
42 | const { meta, path } = route | ||
43 | if (meta.activeMenu) { | ||
44 | return meta.activeMenu | ||
27 | } | 45 | } |
46 | return path | ||
28 | }, | 47 | }, |
29 | 48 | variables () { | |
30 | computed: { | 49 | return variables |
31 | ...mapGetters(['permission_routes', 'sidebar']), | 50 | }, |
32 | activeMenu () { | 51 | asyncRoutes () { |
33 | const route = this.$route | 52 | return asyncRoutes |
34 | const { meta, path } = route | ||
35 | if (meta.activeMenu) { | ||
36 | return meta.activeMenu | ||
37 | } | ||
38 | return path | ||
39 | }, | ||
40 | variables () { | ||
41 | return variables | ||
42 | }, | ||
43 | asyncRoutes () { | ||
44 | return asyncRoutes | ||
45 | } | ||
46 | } | 53 | } |
47 | } | 54 | } |
48 | </script> | 55 | } |
56 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-07 09:11:01 | ||
5 | --> | ||
1 | <template> | 6 | <template> |
2 | <div class="app-wrapper"> | 7 | <div class="app-wrapper scWrapper"> |
3 | <navbar /> | 8 | <navbar /> |
4 | <div class="main-container"> | 9 | <div class="main-container"> |
5 | <sidebar class="sidebar-container" /> | 10 | <sidebar class="sidebar-container" /> |
... | @@ -29,15 +34,17 @@ export default { | ... | @@ -29,15 +34,17 @@ export default { |
29 | } | 34 | } |
30 | } | 35 | } |
31 | </script> | 36 | </script> |
32 | <style lang="scss" scoped> | 37 | <style lang="scss"> |
33 | @import "~@/styles/mixin.scss"; | 38 | @import "~@/styles/mixin.scss"; |
39 | @import '~@/styles/sbSidebar.scss'; | ||
34 | 40 | ||
35 | .app-wrapper { | 41 | .app-wrapper { |
36 | @include clearfix; | 42 | @include clearfix; |
37 | position: relative; | 43 | position: relative; |
38 | height: 100%; | 44 | height: 100%; |
39 | width: 100%; | 45 | width: 100%; |
40 | background-color: $containerbg; | 46 | // background-color: $containerbg; |
47 | padding: 0; | ||
41 | 48 | ||
42 | &.mobile.openSidebar { | 49 | &.mobile.openSidebar { |
43 | position: fixed; | 50 | position: fixed; | ... | ... |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-07 09:43:25 | ||
5 | */ | ||
1 | import router from "./router"; | 6 | import router from "./router"; |
2 | import store from "./store"; | 7 | import store from "./store"; |
3 | import { getMenuInfo } from "@/api/user"; | 8 | import { getMenuInfo } from "@/api/user"; |
... | @@ -13,16 +18,57 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -13,16 +18,57 @@ router.beforeEach(async (to, from, next) => { |
13 | let hasAddDict = store.state.dict.addDict; | 18 | let hasAddDict = store.state.dict.addDict; |
14 | let hasUser = store.state.user.hasUser; | 19 | let hasUser = store.state.user.hasUser; |
15 | let hasAddRoute = store.state.permission.addRoutes; | 20 | let hasAddRoute = store.state.permission.addRoutes; |
16 | if (to.path == "/login") { | 21 | |
22 | if (to.path == "/login/sb") { | ||
23 | sessionStorage.removeItem("token"); | ||
24 | next(); | ||
25 | } else if (to.path !== "/login/jg") { | ||
26 | //判断token是否存在 | ||
27 | const hasToken = sessionStorage.getItem("token"); | ||
28 | if (hasToken) { | ||
29 | //请求用户信息 | ||
30 | if (!hasUser) { | ||
31 | store.dispatch("user/getUserInfo"); | ||
32 | } | ||
33 | if (hasAddRoute) { | ||
34 | next(); | ||
35 | } else { | ||
36 | //请求菜单 | ||
37 | const { result: getMenuData } = (await getMenuInfo()) || []; | ||
38 | const accessRoutes = await store.dispatch( | ||
39 | "permission/generateRoutes", | ||
40 | getMenuData | ||
41 | ); | ||
42 | router.addRoutes([ | ||
43 | ...accessRoutes, | ||
44 | { path: "*", redirect: "/404", hidden: true }, | ||
45 | ]); | ||
46 | const routeTo = Cookies.get("routerTo"); | ||
47 | if (!hasAddDict) { | ||
48 | await store.dispatch("dict/generateDic"); | ||
49 | } | ||
50 | if (routeTo && routeTo !== "/") { | ||
51 | next({ ...to, replace: true }); | ||
52 | } else { | ||
53 | alert("上报") | ||
54 | next("/home"); | ||
55 | } | ||
56 | } | ||
57 | } else { | ||
58 | next("/login/sb"); | ||
59 | } | ||
60 | } | ||
61 | if (to.path == "/login/jg") { | ||
17 | sessionStorage.removeItem("token"); | 62 | sessionStorage.removeItem("token"); |
18 | next(); | 63 | next(); |
19 | } else { | 64 | } else if (to.path !== "/login/sb") { |
20 | //判断token是否存在 | 65 | //判断token是否存在 |
21 | const hasToken = sessionStorage.getItem("token"); | 66 | const hasToken = sessionStorage.getItem("token"); |
22 | if (hasToken) { | 67 | if (hasToken) { |
23 | //请求用户信息 | 68 | //请求用户信息 |
24 | if (!hasUser) { | 69 | if (!hasUser) { |
25 | store.dispatch("user/getUserInfo"); | 70 | store.dispatch("user/getUserInfo"); |
71 | import("@/styles/public.scss"); | ||
26 | } | 72 | } |
27 | if (hasAddRoute) { | 73 | if (hasAddRoute) { |
28 | next(); | 74 | next(); |
... | @@ -44,11 +90,12 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -44,11 +90,12 @@ router.beforeEach(async (to, from, next) => { |
44 | if (routeTo && routeTo !== "/") { | 90 | if (routeTo && routeTo !== "/") { |
45 | next({ ...to, replace: true }); | 91 | next({ ...to, replace: true }); |
46 | } else { | 92 | } else { |
93 | alert("监管") | ||
47 | next("/home"); | 94 | next("/home"); |
48 | } | 95 | } |
49 | } | 96 | } |
50 | } else { | 97 | } else { |
51 | next("/login"); | 98 | next("/login/jg"); |
52 | } | 99 | } |
53 | } | 100 | } |
54 | NProgress.done(); | 101 | NProgress.done(); | ... | ... |
... | @@ -3,6 +3,8 @@ import Router from 'vue-router' | ... | @@ -3,6 +3,8 @@ import Router from 'vue-router' |
3 | Vue.use(Router) | 3 | Vue.use(Router) |
4 | /* Layout */ | 4 | /* Layout */ |
5 | import Layout from '@/layout' | 5 | import Layout from '@/layout' |
6 | // const p = 'layout1' | ||
7 | // const Layout = require('@/layout') | ||
6 | /* Router Modules */ | 8 | /* Router Modules */ |
7 | // import componentsRouter from './modules/components' | 9 | // import componentsRouter from './modules/components' |
8 | export const constantRoutes = [ | 10 | export const constantRoutes = [ |
... | @@ -22,9 +24,14 @@ export const constantRoutes = [ | ... | @@ -22,9 +24,14 @@ export const constantRoutes = [ |
22 | }, | 24 | }, |
23 | //登录 | 25 | //登录 |
24 | { | 26 | { |
25 | path: "/login", | 27 | path: "/login/jg", |
26 | name: "login", | 28 | name: "loginjg", |
27 | component: () => import("@/views/login/index.vue"), | 29 | component: () => import("@/views/loginjg/index.vue"), |
30 | }, | ||
31 | { | ||
32 | path: "/login/sb", | ||
33 | name: "loginsb", | ||
34 | component: () => import("@/views/loginsb/index.vue"), | ||
28 | }, | 35 | }, |
29 | // 监管首页 | 36 | // 监管首页 |
30 | { | 37 | { | ... | ... |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-07 09:38:47 | ||
5 | */ | ||
1 | import { getUserInfo } from "@/api/user"; | 6 | import { getUserInfo } from "@/api/user"; |
2 | const state = { | 7 | const state = { |
3 | hasUser: false, | 8 | hasUser: false, |
... | @@ -18,9 +23,6 @@ const actions = { | ... | @@ -18,9 +23,6 @@ const actions = { |
18 | getUserInfo ({ commit }) { | 23 | getUserInfo ({ commit }) { |
19 | return new Promise(async (resolve) => { | 24 | return new Promise(async (resolve) => { |
20 | let { result: res } = await getUserInfo(); | 25 | let { result: res } = await getUserInfo(); |
21 | // require.ensure([], function (require) { | ||
22 | // require("@/assets/sass/smart-lift/index.scss"); | ||
23 | // }); | ||
24 | commit("SET_USERINFO", res); | 26 | commit("SET_USERINFO", res); |
25 | resolve(true); | 27 | resolve(true); |
26 | }); | 28 | }); | ... | ... |
... | @@ -60,6 +60,13 @@ | ... | @@ -60,6 +60,13 @@ |
60 | } | 60 | } |
61 | } | 61 | } |
62 | 62 | ||
63 | .item-content-input { | ||
64 | /deep/.el-input__inner { | ||
65 | border: none !important; | ||
66 | text-align: right; | ||
67 | } | ||
68 | } | ||
69 | |||
63 | .regularHeight { | 70 | .regularHeight { |
64 | height: 80vh; | 71 | height: 80vh; |
65 | display: flex; | 72 | display: flex; | ... | ... |
1 | // cover some element-ui styles | 1 | // cover some element-ui styles |
2 | |||
3 | .el-breadcrumb__inner, | 2 | .el-breadcrumb__inner, |
4 | .el-breadcrumb__inner a { | 3 | .el-breadcrumb__inner a { |
5 | font-weight: 400 !important; | 4 | font-weight: 400 !important; |
... | @@ -531,29 +530,34 @@ tr:hover { | ... | @@ -531,29 +530,34 @@ tr:hover { |
531 | background-color: #031a46; | 530 | background-color: #031a46; |
532 | border: 1px solid #5f82c7; | 531 | border: 1px solid #5f82c7; |
533 | 532 | ||
534 | .el-message-box__title{ | 533 | .el-message-box__title { |
535 | color: white; | 534 | color: white; |
536 | } | 535 | } |
537 | .el-message-box__content{ | 536 | |
537 | .el-message-box__content { | ||
538 | color: white; | 538 | color: white; |
539 | } | 539 | } |
540 | } | 540 | } |
541 | // 上级菜单 | 541 | |
542 | // 上级菜单 | ||
542 | .el-cascader__dropdown { | 543 | .el-cascader__dropdown { |
543 | background-color: #031a46; | 544 | background-color: #031a46; |
544 | border: 1px solid #5f82c7; | 545 | border: 1px solid #5f82c7; |
545 | 546 | ||
546 | } | 547 | } |
547 | .el-cascader-menu{ | 548 | |
549 | .el-cascader-menu { | ||
548 | color: white; | 550 | color: white; |
549 | } | 551 | } |
550 | .el-radio | 552 | |
551 | { | 553 | .el-radio { |
552 | .el-cascader-menu:hover{ | 554 | .el-cascader-menu:hover { |
553 | color: white; | 555 | color: white; |
554 | } | 556 | } |
555 | } | 557 | } |
556 | .el-cascader-node:not(.is-disabled):hover, .el-cascader-node:not(.is-disabled):focus { | 558 | |
559 | .el-cascader-node:not(.is-disabled):hover, | ||
560 | .el-cascader-node:not(.is-disabled):focus { | ||
557 | background: #F5F7FA; | 561 | background: #F5F7FA; |
558 | background-image: initial; | 562 | background-image: initial; |
559 | background-position-x: initial; | 563 | background-position-x: initial; |
... | @@ -565,4 +569,4 @@ tr:hover { | ... | @@ -565,4 +569,4 @@ tr:hover { |
565 | background-origin: initial; | 569 | background-origin: initial; |
566 | background-clip: initial; | 570 | background-clip: initial; |
567 | background-color: rgb(80, 142, 235); | 571 | background-color: rgb(80, 142, 235); |
568 | } | 572 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | @import './mixin.scss'; | 2 | @import './mixin.scss'; |
3 | @import './transition.scss'; | 3 | @import './transition.scss'; |
4 | @import './element-ui.scss'; | 4 | @import './element-ui.scss'; |
5 | @import './sidebar.scss'; | 5 | // @import './sidebar.scss'; |
6 | 6 | ||
7 | /* CSS 初始化 */ | 7 | /* CSS 初始化 */ |
8 | html, | 8 | html, | ... | ... |
1 | .tableClass { | 1 | .tableClass { |
2 | /deep/.el-table { | 2 | .el-table { |
3 | border: none !important; | 3 | border: none !important; |
4 | border-radius: 0 !important; | 4 | border-radius: 0 !important; |
5 | background-color: rgba(0, 0, 0, 0); | 5 | background-color: rgba(0, 0, 0, 0); |
... | @@ -40,6 +40,11 @@ | ... | @@ -40,6 +40,11 @@ |
40 | } | 40 | } |
41 | 41 | ||
42 | //*****start*通用表单查询条件,列表样式******// | 42 | //*****start*通用表单查询条件,列表样式******// |
43 | .bgc { | ||
44 | box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5); | ||
45 | background-color: rgba(0, 0, 0, 0); | ||
46 | } | ||
47 | |||
43 | .from-clues { | 48 | .from-clues { |
44 | height: 100%; | 49 | height: 100%; |
45 | width: 100%; | 50 | width: 100%; |
... | @@ -56,11 +61,11 @@ | ... | @@ -56,11 +61,11 @@ |
56 | background-size: 100% 100%; | 61 | background-size: 100% 100%; |
57 | margin-top: 15px; | 62 | margin-top: 15px; |
58 | 63 | ||
59 | /deep/.el-form-item__label { | 64 | .el-form-item__label { |
60 | color: #E3F1FF; | 65 | color: #E3F1FF; |
61 | } | 66 | } |
62 | 67 | ||
63 | /deep/.el-input__inner { | 68 | .el-input__inner { |
64 | background: #07388B; | 69 | background: #07388B; |
65 | border-radius: 2px; | 70 | border-radius: 2px; |
66 | color: #CEF8FF; | 71 | color: #CEF8FF; |
... | @@ -114,16 +119,11 @@ | ... | @@ -114,16 +119,11 @@ |
114 | //修改表头的背景颜色横向渐变色 | 119 | //修改表头的背景颜色横向渐变色 |
115 | @extend .tableClass; | 120 | @extend .tableClass; |
116 | 121 | ||
117 | /deep/.el-pagination__total { | 122 | .el-pagination__total { |
118 | color: #FFFFFF; | 123 | color: #FFFFFF; |
119 | } | 124 | } |
120 | 125 | ||
121 | .bgc { | 126 | .el-pagination { |
122 | box-shadow: inset 0px 0px 8px 0px rgba(255, 255, 255, 0.5); | ||
123 | background-color: rgba(0, 0, 0, 0); | ||
124 | } | ||
125 | |||
126 | /deep/ .el-pagination { | ||
127 | .el-input__inner { | 127 | .el-input__inner { |
128 | color: #FFFFFF; | 128 | color: #FFFFFF; |
129 | border: none; | 129 | border: none; |
... | @@ -142,14 +142,9 @@ | ... | @@ -142,14 +142,9 @@ |
142 | color: #FFFFFF; | 142 | color: #FFFFFF; |
143 | } | 143 | } |
144 | } | 144 | } |
145 | } | ||
145 | 146 | ||
146 | /deep/.btn-next, | ||
147 | /deep/.btn-prev { | ||
148 | @extend .bgc; | ||
149 | color: #FFFFFF; | ||
150 | } | ||
151 | 147 | ||
152 | } | ||
153 | 148 | ||
154 | .el-form--inline .el-form-item { | 149 | .el-form--inline .el-form-item { |
155 | width: auto; | 150 | width: auto; |
... | @@ -167,10 +162,15 @@ | ... | @@ -167,10 +162,15 @@ |
167 | } | 162 | } |
168 | } | 163 | } |
169 | 164 | ||
165 | .el-pagination.is-background .btn-prev, | ||
166 | .el-pagination.is-background .btn-next { | ||
167 | @extend .bgc; | ||
168 | color: #FFFFFF; | ||
169 | } | ||
170 | 170 | ||
171 | 171 | ||
172 | //*****end*通用表单查询条件,列表样式******// | 172 | //*****end*通用表单查询条件,列表样式******// |
173 | /deep/.el-range-separator { | 173 | .el-range-separator { |
174 | line-height: 28px !important; | 174 | line-height: 28px !important; |
175 | } | 175 | } |
176 | 176 | ||
... | @@ -202,7 +202,7 @@ | ... | @@ -202,7 +202,7 @@ |
202 | 202 | ||
203 | // 修改弹框样式 | 203 | // 修改弹框样式 |
204 | .modifydialog { | 204 | .modifydialog { |
205 | /deep/.el-dialog__header { | 205 | .el-dialog__header { |
206 | text-align: center; | 206 | text-align: center; |
207 | margin-bottom: 10px; | 207 | margin-bottom: 10px; |
208 | 208 | ||
... | @@ -211,36 +211,36 @@ | ... | @@ -211,36 +211,36 @@ |
211 | } | 211 | } |
212 | } | 212 | } |
213 | 213 | ||
214 | /deep/.el-form-item__label { | 214 | .el-form-item__label { |
215 | color: white; | 215 | color: white; |
216 | } | 216 | } |
217 | 217 | ||
218 | /deep/.el-input__inner { | 218 | .el-input__inner { |
219 | background-color: #07388b; | 219 | background-color: #07388b; |
220 | } | 220 | } |
221 | 221 | ||
222 | /deep/.el-input__inner { | 222 | .el-input__inner { |
223 | background: #07388b; | 223 | background: #07388b; |
224 | border-radius: 2px; | 224 | border-radius: 2px; |
225 | border: 1px solid #6bc1fc; | 225 | border: 1px solid #6bc1fc; |
226 | } | 226 | } |
227 | 227 | ||
228 | /deep/.el-textarea__inner { | 228 | .el-textarea__inner { |
229 | background: #07388b; | 229 | background: #07388b; |
230 | color: #fff; | 230 | color: #fff; |
231 | } | 231 | } |
232 | 232 | ||
233 | /deep/.el-form-item__label { | 233 | .el-form-item__label { |
234 | color: #fff; | 234 | color: #fff; |
235 | } | 235 | } |
236 | 236 | ||
237 | /deep/.el-dialog__headerbtn { | 237 | .el-dialog__headerbtn { |
238 | position: absolute; | 238 | position: absolute; |
239 | top: 22px; | 239 | top: 22px; |
240 | right: 30px; | 240 | right: 30px; |
241 | } | 241 | } |
242 | 242 | ||
243 | /deep/.el-dialog__header { | 243 | .el-dialog__header { |
244 | text-align: center; | 244 | text-align: center; |
245 | margin-bottom: 10px; | 245 | margin-bottom: 10px; |
246 | 246 | ||
... | @@ -252,23 +252,23 @@ | ... | @@ -252,23 +252,23 @@ |
252 | 252 | ||
253 | // 角色配置 | 253 | // 角色配置 |
254 | .roleconfiguration { | 254 | .roleconfiguration { |
255 | /deep/.el-dialog__body { | 255 | .el-dialog__body { |
256 | display: flex; | 256 | display: flex; |
257 | flex-direction: column; | 257 | flex-direction: column; |
258 | } | 258 | } |
259 | 259 | ||
260 | /deep/ .el-tabs { | 260 | .el-tabs { |
261 | color: #cef8ff; | 261 | color: #cef8ff; |
262 | } | 262 | } |
263 | 263 | ||
264 | .sjmx { | 264 | .sjmx { |
265 | /deep/.el-tabs__item { | 265 | .el-tabs__item { |
266 | height: 50px; | 266 | height: 50px; |
267 | padding-top: 6px; | 267 | padding-top: 6px; |
268 | } | 268 | } |
269 | } | 269 | } |
270 | 270 | ||
271 | /deep/.el-tabs__item { | 271 | .el-tabs__item { |
272 | color: #cef8ff !important; | 272 | color: #cef8ff !important; |
273 | 273 | ||
274 | display: flex; | 274 | display: flex; |
... | @@ -286,35 +286,35 @@ | ... | @@ -286,35 +286,35 @@ |
286 | background-size: 100% 100%; | 286 | background-size: 100% 100%; |
287 | } | 287 | } |
288 | 288 | ||
289 | /deep/.el-tabs__nav-scroll { | 289 | .el-tabs__nav-scroll { |
290 | background: none; | 290 | background: none; |
291 | } | 291 | } |
292 | 292 | ||
293 | /deep/.el-tabs__nav { | 293 | .el-tabs__nav { |
294 | display: flex; | 294 | display: flex; |
295 | border: none !important; | 295 | border: none !important; |
296 | } | 296 | } |
297 | 297 | ||
298 | /deep/.el-tabs__item.is-top { | 298 | .el-tabs__item.is-top { |
299 | border: 1px solid #dfe4ed; | 299 | border: 1px solid #dfe4ed; |
300 | border-top: 1px solid #dfe4ed; | 300 | border-top: 1px solid #dfe4ed; |
301 | border-bottom: 1px solid transparent; | 301 | border-bottom: 1px solid transparent; |
302 | } | 302 | } |
303 | 303 | ||
304 | /deep/.el-tabs__header { | 304 | .el-tabs__header { |
305 | border: none; | 305 | border: none; |
306 | margin-bottom: 0; | 306 | margin-bottom: 0; |
307 | } | 307 | } |
308 | 308 | ||
309 | /deep/.el-tabs__item.is-top:not(:last-child) { | 309 | .el-tabs__item.is-top:not(:last-child) { |
310 | margin-right: 5px; | 310 | margin-right: 5px; |
311 | } | 311 | } |
312 | 312 | ||
313 | /deep/.el-tabs__item.is-top { | 313 | .el-tabs__item.is-top { |
314 | background-color: none !important; | 314 | background-color: none !important; |
315 | } | 315 | } |
316 | 316 | ||
317 | /deep/.el-tabs__item.is-active { | 317 | .el-tabs__item.is-active { |
318 | background: url("~@/image/tabitemse.png") no-repeat; | 318 | background: url("~@/image/tabitemse.png") no-repeat; |
319 | background-size: 100% 100%; | 319 | background-size: 100% 100%; |
320 | } | 320 | } |
... | @@ -344,7 +344,7 @@ | ... | @@ -344,7 +344,7 @@ |
344 | border-top: none; | 344 | border-top: none; |
345 | } | 345 | } |
346 | 346 | ||
347 | /deep/.editDialogBox { | 347 | .editDialogBox { |
348 | border-radius: 8px; | 348 | border-radius: 8px; |
349 | overflow: hidden; | 349 | overflow: hidden; |
350 | min-width: 1228px; | 350 | min-width: 1228px; |
... | @@ -424,7 +424,7 @@ | ... | @@ -424,7 +424,7 @@ |
424 | overflow: hidden; | 424 | overflow: hidden; |
425 | } | 425 | } |
426 | 426 | ||
427 | /deep/.el-table { | 427 | .el-table { |
428 | background: none; | 428 | background: none; |
429 | 429 | ||
430 | th.el-table__cell { | 430 | th.el-table__cell { |
... | @@ -440,5 +440,4 @@ | ... | @@ -440,5 +440,4 @@ |
440 | } | 440 | } |
441 | } | 441 | } |
442 | } | 442 | } |
443 | |||
444 | } | 443 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/styles/sbSidebar.scss
0 → 100644
1 | .scWrapper { | ||
2 | .main-container { | ||
3 | width: 100%; | ||
4 | height: calc(100% - 74px); | ||
5 | transition: margin-left 0.28s; | ||
6 | display: flex; | ||
7 | } | ||
8 | |||
9 | .sidebar-container { | ||
10 | transition: width 0.28s; | ||
11 | width: $sideBarWidth !important; | ||
12 | font-size: 0px; | ||
13 | margin-right: 15px; | ||
14 | background: #121F41; | ||
15 | |||
16 | .horizontal-collapse-transition { | ||
17 | transition: 0s width ease-in-out, 0s padding-left ease-in-out, | ||
18 | 0s padding-right ease-in-out; | ||
19 | } | ||
20 | |||
21 | .scrollbar-wrapper { | ||
22 | overflow-x: hidden !important; | ||
23 | margin-right: 0 !important; | ||
24 | |||
25 | &::-webkit-scrollbar { | ||
26 | display: none; | ||
27 | } | ||
28 | } | ||
29 | |||
30 | a { | ||
31 | display: inline-block; | ||
32 | width: 100%; | ||
33 | overflow: hidden; | ||
34 | } | ||
35 | |||
36 | .svg-icon { | ||
37 | margin-right: 5px; | ||
38 | } | ||
39 | |||
40 | .sub-el-icon { | ||
41 | margin-right: 12px; | ||
42 | margin-left: -2px; | ||
43 | } | ||
44 | |||
45 | .el-menu { | ||
46 | background-color: transparent !important; | ||
47 | border: none; | ||
48 | height: 100%; | ||
49 | width: 100% !important; | ||
50 | } | ||
51 | |||
52 | // menu hover | ||
53 | .el-menu--collapse .el-submenu__title, | ||
54 | .el-menu--collapse .submenu-title-noDropdown { | ||
55 | margin-left: 0px !important; | ||
56 | } | ||
57 | |||
58 | // 有子级 | ||
59 | .el-submenu__title { | ||
60 | padding-left: 10px !important; | ||
61 | color: $menuText; | ||
62 | height: 42px; | ||
63 | background: linear-gradient(90deg, #013874 0%, #081B56 100%); | ||
64 | margin-bottom: 8px; | ||
65 | |||
66 | &:hover { | ||
67 | color: $subMenuActiveText !important; | ||
68 | background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); | ||
69 | |||
70 | .svg-icon, | ||
71 | i, | ||
72 | span { | ||
73 | color: $subMenuActiveText !important; | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | |||
78 | // 没有子级 | ||
79 | .submenu-title-noDropdown { | ||
80 | color: $menuText; | ||
81 | padding-left: 20px; | ||
82 | margin-bottom: 8px; | ||
83 | background: linear-gradient(90deg, #013874 0%, #081B56 100%); | ||
84 | |||
85 | &:hover { | ||
86 | color: $menuActiveText !important; | ||
87 | background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); | ||
88 | |||
89 | .svg-icon { | ||
90 | color: #1ea6f8 !important; | ||
91 | } | ||
92 | |||
93 | i { | ||
94 | color: #1ea6f8 !important; | ||
95 | } | ||
96 | } | ||
97 | } | ||
98 | |||
99 | .submenu-title-noDropdown.is-active, | ||
100 | .el-submenu__title.is-active { | ||
101 | color: $menuActiveText; | ||
102 | background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%); | ||
103 | |||
104 | .svg-icon { | ||
105 | color: #1ea6f8 !important; | ||
106 | } | ||
107 | |||
108 | i { | ||
109 | color: #1ea6f8 !important; | ||
110 | } | ||
111 | } | ||
112 | |||
113 | .submenu-title-noDropdown, | ||
114 | .el-submenu__title { | ||
115 | font-weight: 600; | ||
116 | font-size: $sideBarFontSize; | ||
117 | |||
118 | // margin: 0 10px; | ||
119 | >i { | ||
120 | color: $subMenuActiveText !important; | ||
121 | transform: rotate(90deg); | ||
122 | -webkit-transform: rotate(90deg); | ||
123 | -moz-transform: rotate(90deg); | ||
124 | -ms-transform: rotate(90deg); | ||
125 | -o-transform: rotate(90deg); | ||
126 | margin-right: 10px; | ||
127 | } | ||
128 | |||
129 | .svg-icon { | ||
130 | font-size: 18px; | ||
131 | margin-top: -5px; | ||
132 | } | ||
133 | } | ||
134 | |||
135 | .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow { | ||
136 | transform: rotateZ(0deg) !important; | ||
137 | -webkit-transform: rotateZ(0deg) !important; | ||
138 | -moz-transform: rotateZ(0deg) !important; | ||
139 | -ms-transform: rotateZ(0deg) !important; | ||
140 | -o-transform: rotateZ(0deg) !important; | ||
141 | } | ||
142 | |||
143 | .is-active>.el-submenu__title { | ||
144 | color: #fff !important; | ||
145 | } | ||
146 | |||
147 | & .nest-menu .el-submenu>.el-submenu__title, | ||
148 | & .el-submenu .el-menu-item { | ||
149 | &.is-active { | ||
150 | background-color: $subMenuHover !important; | ||
151 | color: $menuActiveText !important; | ||
152 | } | ||
153 | |||
154 | &:hover { | ||
155 | background-color: $subMenuHover !important; | ||
156 | color: $menuActiveText !important; | ||
157 | } | ||
158 | |||
159 | min-width: 130px !important; | ||
160 | background-color: transparent !important; | ||
161 | font-weight: 600; | ||
162 | font-size: $sideBarFontSize; | ||
163 | margin: 0 10px; | ||
164 | // border-radius: 6px; | ||
165 | } | ||
166 | } | ||
167 | |||
168 | .hideSidebar { | ||
169 | .sidebar-container { | ||
170 | width: 54px !important; | ||
171 | } | ||
172 | |||
173 | .submenu-title-noDropdown { | ||
174 | padding: 0 !important; | ||
175 | position: relative; | ||
176 | |||
177 | .el-tooltip { | ||
178 | padding: 0 !important; | ||
179 | |||
180 | .svg-icon { | ||
181 | margin-left: 16px; | ||
182 | } | ||
183 | |||
184 | .sub-el-icon { | ||
185 | margin-left: 19px; | ||
186 | } | ||
187 | } | ||
188 | } | ||
189 | |||
190 | .el-submenu { | ||
191 | overflow: hidden; | ||
192 | |||
193 | &>.el-submenu__title { | ||
194 | padding: 0 !important; | ||
195 | |||
196 | .svg-icon { | ||
197 | margin-left: 16px; | ||
198 | } | ||
199 | |||
200 | .sub-el-icon { | ||
201 | margin-left: 19px; | ||
202 | } | ||
203 | |||
204 | .el-submenu__icon-arrow { | ||
205 | display: none; | ||
206 | } | ||
207 | } | ||
208 | } | ||
209 | |||
210 | .el-menu--collapse { | ||
211 | .el-submenu { | ||
212 | &>.el-submenu__title { | ||
213 | &>span { | ||
214 | height: 0; | ||
215 | width: 0; | ||
216 | overflow: hidden; | ||
217 | visibility: hidden; | ||
218 | display: inline-block; | ||
219 | } | ||
220 | } | ||
221 | } | ||
222 | } | ||
223 | } | ||
224 | |||
225 | .el-menu--collapse .el-menu .el-submenu { | ||
226 | min-width: $sideBarWidth !important; | ||
227 | } | ||
228 | |||
229 | // mobile responsive | ||
230 | .mobile { | ||
231 | .main-container { | ||
232 | margin-left: 0px; | ||
233 | } | ||
234 | |||
235 | .sidebar-container { | ||
236 | transition: transform 0.28s; | ||
237 | width: $sideBarWidth !important; | ||
238 | } | ||
239 | |||
240 | &.hideSidebar { | ||
241 | .sidebar-container { | ||
242 | pointer-events: none; | ||
243 | transition-duration: 0.3s; | ||
244 | transform: translate3d(-$sideBarWidth, 0, 0); | ||
245 | } | ||
246 | } | ||
247 | } | ||
248 | |||
249 | .withoutAnimation { | ||
250 | |||
251 | .main-container, | ||
252 | .sidebar-container { | ||
253 | transition: none; | ||
254 | } | ||
255 | } | ||
256 | } | ||
257 | |||
258 | // when menu collapsed | ||
259 | .el-menu--vertical { | ||
260 | &>.el-menu { | ||
261 | .svg-icon { | ||
262 | margin-right: 16px; | ||
263 | } | ||
264 | |||
265 | .sub-el-icon { | ||
266 | margin-right: 12px; | ||
267 | margin-left: -2px; | ||
268 | } | ||
269 | } | ||
270 | |||
271 | .nest-menu .el-submenu>.el-submenu__title, | ||
272 | .el-menu-item { | ||
273 | width: calc(100% - 12px); | ||
274 | border-top-right-radius: 8px; | ||
275 | border-bottom-right-radius: 8px; | ||
276 | font-weight: 600 !important; | ||
277 | font-size: 15px !important; | ||
278 | background-color: $menuHover !important; | ||
279 | color: $menuText !important; | ||
280 | |||
281 | &:hover { | ||
282 | background-color: $menuHover !important; | ||
283 | opacity: .9; | ||
284 | |||
285 | .svg-icon, | ||
286 | i, | ||
287 | span { | ||
288 | color: $menuText; | ||
289 | } | ||
290 | } | ||
291 | } | ||
292 | |||
293 | // the scroll bar appears when the subMenu is too long | ||
294 | >.el-menu--popup { | ||
295 | max-height: 100vh; | ||
296 | overflow-y: auto; | ||
297 | background-color: #32ACFE !important; | ||
298 | border-top-right-radius: 8px; | ||
299 | border-bottom-right-radius: 8px; | ||
300 | min-width: 140px; | ||
301 | padding: 12px 0; | ||
302 | |||
303 | &::-webkit-scrollbar-track-piece { | ||
304 | background: #d3dce6; | ||
305 | } | ||
306 | |||
307 | &::-webkit-scrollbar { | ||
308 | width: 6px; | ||
309 | } | ||
310 | |||
311 | &::-webkit-scrollbar-thumb { | ||
312 | background: #99a9bf; | ||
313 | border-radius: 20px; | ||
314 | } | ||
315 | } | ||
316 | } | ||
317 | |||
318 | .el-submenu__title { | ||
319 | display: flex; | ||
320 | align-items: center; | ||
321 | } | ||
322 | |||
323 | .el-submenu__title span { | ||
324 | white-space: normal; | ||
325 | word-break: break-all; | ||
326 | line-height: 20px; | ||
327 | flex: 1; | ||
328 | padding-right: 20px; | ||
329 | } | ||
330 | |||
331 | .el-menu-item { | ||
332 | height: 42px; | ||
333 | display: flex; | ||
334 | align-items: center; | ||
335 | padding-right: 20px !important; | ||
336 | } | ||
337 | |||
338 | .el-menu-item span { | ||
339 | white-space: normal; | ||
340 | word-break: break-all; | ||
341 | line-height: 20px; | ||
342 | flex: 1; | ||
343 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-03-07 09:35:10 | ||
5 | */ | ||
1 | import Layout from '@/layout' | 6 | import Layout from '@/layout' |
2 | export default function filterAsyncRouter (routers) { | 7 | export default function filterAsyncRouter (routers) { |
3 | routers.forEach(item => { | 8 | routers.forEach(item => { | ... | ... |
... | @@ -62,7 +62,7 @@ function handleErrorData(status) { | ... | @@ -62,7 +62,7 @@ function handleErrorData(status) { |
62 | case 401: | 62 | case 401: |
63 | Message.error("由于长时间未操作,请重新登录!"); | 63 | Message.error("由于长时间未操作,请重新登录!"); |
64 | router.replace({ | 64 | router.replace({ |
65 | path: "/login", | 65 | path: "/login/jg", |
66 | query: { | 66 | query: { |
67 | redirect: router.history.current.fullPath, | 67 | redirect: router.history.current.fullPath, |
68 | }, | 68 | }, | ... | ... |
... | @@ -259,4 +259,27 @@ function openDownloadDialog (url, saveName) { | ... | @@ -259,4 +259,27 @@ function openDownloadDialog (url, saveName) { |
259 | event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); | 259 | event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); |
260 | } | 260 | } |
261 | aLink.dispatchEvent(event); | 261 | aLink.dispatchEvent(event); |
262 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
262 | } | ||
263 | |||
264 | |||
265 | |||
266 | |||
267 | export function judgeListComplete (list) { | ||
268 | function judgeObjectComplete (obj) { | ||
269 | let flag = false | ||
270 | for (const key in obj) { | ||
271 | if (obj[key] == '' && key != 'index') { | ||
272 | flag = true | ||
273 | } | ||
274 | } | ||
275 | return flag | ||
276 | } | ||
277 | let isNotComplete = list.findIndex(item => { | ||
278 | return judgeObjectComplete(item) === true | ||
279 | }) | ||
280 | if (isNotComplete > -1) { | ||
281 | return false | ||
282 | } else { | ||
283 | return true | ||
284 | } | ||
285 | } | ... | ... |
... | @@ -152,6 +152,6 @@ export default { | ... | @@ -152,6 +152,6 @@ export default { |
152 | </script> | 152 | </script> |
153 | <style scoped lang="scss"> | 153 | <style scoped lang="scss"> |
154 | // 引入表单整体样式 | 154 | // 引入表单整体样式 |
155 | @import "~@/styles/public.scss"; | 155 | // @import "~@/styles/public.scss"; |
156 | </style> | 156 | </style> |
157 | 157 | ... | ... |
... | @@ -163,6 +163,6 @@ export default { | ... | @@ -163,6 +163,6 @@ export default { |
163 | } | 163 | } |
164 | </script> | 164 | </script> |
165 | <style scoped lang="scss"> | 165 | <style scoped lang="scss"> |
166 | @import "~@/styles/public.scss"; | 166 | // @import "~@/styles/public.scss"; |
167 | @import "./index.scss"; | 167 | @import "./index.scss"; |
168 | </style> | 168 | </style> | ... | ... |
... | @@ -160,5 +160,5 @@ export default { | ... | @@ -160,5 +160,5 @@ export default { |
160 | </script> | 160 | </script> |
161 | <style scoped lang="scss"> | 161 | <style scoped lang="scss"> |
162 | // 引入表单整体样式 | 162 | // 引入表单整体样式 |
163 | @import "~@/styles/public.scss"; | 163 | // @import "~@/styles/public.scss"; |
164 | </style> | 164 | </style> | ... | ... |
... | @@ -10,29 +10,16 @@ | ... | @@ -10,29 +10,16 @@ |
10 | <el-row> | 10 | <el-row> |
11 | <el-col :span="4"> | 11 | <el-col :span="4"> |
12 | <el-form-item label="开始日期" prop="startTime"> | 12 | <el-form-item label="开始日期" prop="startTime"> |
13 | <el-date-picker | 13 | <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期" |
14 | type="date" | 14 | :picker-options="pickerOptionsStart" v-model="form.startTime" |
15 | :clearable="false" | 15 | value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> |
16 | class="width100" | ||
17 | placeholder="开始日期" | ||
18 | :picker-options="pickerOptionsStart" | ||
19 | v-model="form.startTime" | ||
20 | value-format="yyyy-MM-dd HH:mm:ss" | ||
21 | ></el-date-picker> | ||
22 | </el-form-item> | 16 | </el-form-item> |
23 | </el-col> | 17 | </el-col> |
24 | <el-col :span="4"> | 18 | <el-col :span="4"> |
25 | <el-form-item label="结束日期" prop="endTime"> | 19 | <el-form-item label="结束日期" prop="endTime"> |
26 | <el-date-picker | 20 | <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期" |
27 | class="width100" | 21 | :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" |
28 | :clearable="false" | 22 | @change="endTimeChange"></el-date-picker> |
29 | type="date" | ||
30 | placeholder="结束日期" | ||
31 | :picker-options="pickerOptionsEnd" | ||
32 | v-model="form.endTime" | ||
33 | value-format="yyyy-MM-dd HH:mm:ss" | ||
34 | @change="endTimeChange" | ||
35 | ></el-date-picker> | ||
36 | </el-form-item> | 23 | </el-form-item> |
37 | </el-col> | 24 | </el-col> |
38 | <!-- 操作按钮 --> | 25 | <!-- 操作按钮 --> |
... | @@ -57,7 +44,7 @@ import efficient from "@/api/efficient"; | ... | @@ -57,7 +44,7 @@ import efficient from "@/api/efficient"; |
57 | import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; | 44 | import { getFirstDayOfSeason, timeFormat } from "@/utils/operation"; |
58 | export default { | 45 | export default { |
59 | name: "jktj", | 46 | name: "jktj", |
60 | data() { | 47 | data () { |
61 | return { | 48 | return { |
62 | // 开始日期限制 | 49 | // 开始日期限制 |
63 | pickerOptionsStart: { | 50 | pickerOptionsStart: { |
... | @@ -83,19 +70,19 @@ export default { | ... | @@ -83,19 +70,19 @@ export default { |
83 | pieChartsData: [], | 70 | pieChartsData: [], |
84 | }; | 71 | }; |
85 | }, | 72 | }, |
86 | created() {}, | 73 | created () { }, |
87 | mounted() { | 74 | mounted () { |
88 | this.getProcessCounts(); | 75 | this.getProcessCounts(); |
89 | }, | 76 | }, |
90 | computed: { | 77 | computed: { |
91 | ...mapGetters(["dicData"]), | 78 | ...mapGetters(["dicData"]), |
92 | }, | 79 | }, |
93 | methods: { | 80 | methods: { |
94 | endTimeChange(val) { | 81 | endTimeChange (val) { |
95 | this.form.endTime = timeFormat(new Date(val), true); | 82 | this.form.endTime = timeFormat(new Date(val), true); |
96 | }, | 83 | }, |
97 | //查询各区县办件数量 | 84 | //查询各区县办件数量 |
98 | async getProcessCounts() { | 85 | async getProcessCounts () { |
99 | this.pieChartsData = []; | 86 | this.pieChartsData = []; |
100 | let { result: res } = await efficient.getProcessCounts( | 87 | let { result: res } = await efficient.getProcessCounts( |
101 | this.form.startTime, | 88 | this.form.startTime, |
... | @@ -121,7 +108,7 @@ export default { | ... | @@ -121,7 +108,7 @@ export default { |
121 | }); | 108 | }); |
122 | }, | 109 | }, |
123 | // 重置 | 110 | // 重置 |
124 | resetForm() { | 111 | resetForm () { |
125 | this.form = { | 112 | this.form = { |
126 | startTime: getFirstDayOfSeason(), | 113 | startTime: getFirstDayOfSeason(), |
127 | endTime: timeFormat(new Date(), true), | 114 | endTime: timeFormat(new Date(), true), |
... | @@ -129,7 +116,7 @@ export default { | ... | @@ -129,7 +116,7 @@ export default { |
129 | this.getProcessCounts(); | 116 | this.getProcessCounts(); |
130 | }, | 117 | }, |
131 | //玫瑰图初始化 | 118 | //玫瑰图初始化 |
132 | echartInit() { | 119 | echartInit () { |
133 | let _this = this; | 120 | let _this = this; |
134 | // 基于准备好的dom,初始化echarts实例 | 121 | // 基于准备好的dom,初始化echarts实例 |
135 | let myChart = this.$echarts.init(document.getElementById("myChart")); | 122 | let myChart = this.$echarts.init(document.getElementById("myChart")); |
... | @@ -190,7 +177,7 @@ export default { | ... | @@ -190,7 +177,7 @@ export default { |
190 | }); | 177 | }); |
191 | }, | 178 | }, |
192 | //柱图初始化 | 179 | //柱图初始化 |
193 | async barChartInit(recType) { | 180 | async barChartInit (recType) { |
194 | //请求recType对应业务的各区县数据 | 181 | //请求recType对应业务的各区县数据 |
195 | let { result: res } = await efficient.getProcessDays( | 182 | let { result: res } = await efficient.getProcessDays( |
196 | recType, | 183 | recType, |
... | @@ -325,7 +312,7 @@ export default { | ... | @@ -325,7 +312,7 @@ export default { |
325 | }; | 312 | }; |
326 | </script> | 313 | </script> |
327 | <style scoped lang="scss"> | 314 | <style scoped lang="scss"> |
328 | @import "~@/styles/public.scss"; | 315 | // @import "~@/styles/public.scss"; |
329 | 316 | ||
330 | .jktjDetail { | 317 | .jktjDetail { |
331 | height: 100%; | 318 | height: 100%; |
... | @@ -364,5 +351,5 @@ export default { | ... | @@ -364,5 +351,5 @@ export default { |
364 | } | 351 | } |
365 | </style> | 352 | </style> |
366 | <style scoped lang="scss"> | 353 | <style scoped lang="scss"> |
367 | @import "~@/styles/public.scss"; | 354 | // @import "~@/styles/public.scss"; |
368 | </style> | 355 | </style> | ... | ... |
... | @@ -10,47 +10,24 @@ | ... | @@ -10,47 +10,24 @@ |
10 | <el-row> | 10 | <el-row> |
11 | <el-col :span="4"> | 11 | <el-col :span="4"> |
12 | <el-form-item label="行政区"> | 12 | <el-form-item label="行政区"> |
13 | <el-select | 13 | <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区"> |
14 | v-model="form.qxdm" | 14 | <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
15 | class="width100" | ||
16 | clearable | ||
17 | placeholder="行政区" | ||
18 | > | ||
19 | <el-option | ||
20 | v-for="item in dicData['A20']" | ||
21 | :key="item.DCODE" | ||
22 | :label="item.DNAME" | ||
23 | :value="item.DCODE" | ||
24 | > | ||
25 | </el-option> | 15 | </el-option> |
26 | </el-select> | 16 | </el-select> |
27 | </el-form-item> | 17 | </el-form-item> |
28 | </el-col> | 18 | </el-col> |
29 | <el-col :span="4"> | 19 | <el-col :span="4"> |
30 | <el-form-item label="开始日期" prop="startTime"> | 20 | <el-form-item label="开始日期" prop="startTime"> |
31 | <el-date-picker | 21 | <el-date-picker type="date" :clearable="false" class="width100" placeholder="开始日期" |
32 | type="date" | 22 | :picker-options="pickerOptionsStart" v-model="form.startTime" |
33 | :clearable="false" | 23 | value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> |
34 | class="width100" | ||
35 | placeholder="开始日期" | ||
36 | :picker-options="pickerOptionsStart" | ||
37 | v-model="form.startTime" | ||
38 | value-format="yyyy-MM-dd HH:mm:ss" | ||
39 | ></el-date-picker> | ||
40 | </el-form-item> | 24 | </el-form-item> |
41 | </el-col> | 25 | </el-col> |
42 | <el-col :span="4"> | 26 | <el-col :span="4"> |
43 | <el-form-item label="结束日期" prop="endTime"> | 27 | <el-form-item label="结束日期" prop="endTime"> |
44 | <el-date-picker | 28 | <el-date-picker type="date" :clearable="false" class="width100" placeholder="结束日期" |
45 | type="date" | 29 | :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" |
46 | :clearable="false" | 30 | @change="endTimeChange"></el-date-picker> |
47 | class="width100" | ||
48 | placeholder="结束日期" | ||
49 | :picker-options="pickerOptionsEnd" | ||
50 | v-model="form.endTime" | ||
51 | value-format="yyyy-MM-dd HH:mm:ss" | ||
52 | @change="endTimeChange" | ||
53 | ></el-date-picker> | ||
54 | </el-form-item> | 31 | </el-form-item> |
55 | </el-col> | 32 | </el-col> |
56 | <!-- 操作按钮 --> | 33 | <!-- 操作按钮 --> |
... | @@ -98,7 +75,7 @@ export default { | ... | @@ -98,7 +75,7 @@ export default { |
98 | // 搜索表单 | 75 | // 搜索表单 |
99 | form: { | 76 | form: { |
100 | startTime: getFirstDayOfSeason(), | 77 | startTime: getFirstDayOfSeason(), |
101 | endTime: timeFormat(new Date(),true), | 78 | endTime: timeFormat(new Date(), true), |
102 | qxdm: "", | 79 | qxdm: "", |
103 | }, | 80 | }, |
104 | }; | 81 | }; |
... | @@ -111,8 +88,8 @@ export default { | ... | @@ -111,8 +88,8 @@ export default { |
111 | ...mapGetters(["dicData"]), | 88 | ...mapGetters(["dicData"]), |
112 | }, | 89 | }, |
113 | methods: { | 90 | methods: { |
114 | endTimeChange(val){ | 91 | endTimeChange (val) { |
115 | this.form.endTime = timeFormat(new Date(val),true) | 92 | this.form.endTime = timeFormat(new Date(val), true) |
116 | }, | 93 | }, |
117 | async getSuucessRate () { | 94 | async getSuucessRate () { |
118 | this.recTypeArr = []; | 95 | this.recTypeArr = []; |
... | @@ -137,7 +114,7 @@ export default { | ... | @@ -137,7 +114,7 @@ export default { |
137 | resetForm () { | 114 | resetForm () { |
138 | this.form = { | 115 | this.form = { |
139 | startTime: getFirstDayOfSeason(), | 116 | startTime: getFirstDayOfSeason(), |
140 | endTime: timeFormat(new Date(),true), | 117 | endTime: timeFormat(new Date(), true), |
141 | qxdm: "", | 118 | qxdm: "", |
142 | }; | 119 | }; |
143 | this.getSuucessRate(); | 120 | this.getSuucessRate(); |
... | @@ -231,7 +208,7 @@ export default { | ... | @@ -231,7 +208,7 @@ export default { |
231 | color: "#fff", | 208 | color: "#fff", |
232 | fontSize: "16", | 209 | fontSize: "16", |
233 | }, | 210 | }, |
234 | splitNumber:2, | 211 | splitNumber: 2, |
235 | axisLabel: { | 212 | axisLabel: { |
236 | formatter: "{value} %", | 213 | formatter: "{value} %", |
237 | textStyle: { | 214 | textStyle: { |
... | @@ -302,7 +279,7 @@ export default { | ... | @@ -302,7 +279,7 @@ export default { |
302 | }; | 279 | }; |
303 | </script> | 280 | </script> |
304 | <style scoped lang="scss"> | 281 | <style scoped lang="scss"> |
305 | @import "~@/styles/public.scss"; | 282 | // @import "~@/styles/public.scss"; |
306 | 283 | ||
307 | .jktjDetail { | 284 | .jktjDetail { |
308 | height: 100%; | 285 | height: 100%; |
... | @@ -337,5 +314,5 @@ export default { | ... | @@ -337,5 +314,5 @@ export default { |
337 | } | 314 | } |
338 | </style> | 315 | </style> |
339 | <style scoped lang="scss"> | 316 | <style scoped lang="scss"> |
340 | @import "~@/styles/public.scss"; | 317 | // @import "~@/styles/public.scss"; |
341 | </style> | 318 | </style> | ... | ... |
... | @@ -10,47 +10,24 @@ | ... | @@ -10,47 +10,24 @@ |
10 | <el-row> | 10 | <el-row> |
11 | <el-col :span="4"> | 11 | <el-col :span="4"> |
12 | <el-form-item label="行政区"> | 12 | <el-form-item label="行政区"> |
13 | <el-select | 13 | <el-select v-model="form.qxdm" class="width100" clearable placeholder="行政区"> |
14 | v-model="form.qxdm" | 14 | <el-option v-for="item in dicData['A20']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
15 | class="width100" | ||
16 | clearable | ||
17 | placeholder="行政区" | ||
18 | > | ||
19 | <el-option | ||
20 | v-for="item in dicData['A20']" | ||
21 | :key="item.DCODE" | ||
22 | :label="item.DNAME" | ||
23 | :value="item.DCODE" | ||
24 | > | ||
25 | </el-option> | 15 | </el-option> |
26 | </el-select> | 16 | </el-select> |
27 | </el-form-item> | 17 | </el-form-item> |
28 | </el-col> | 18 | </el-col> |
29 | <el-col :span="4"> | 19 | <el-col :span="4"> |
30 | <el-form-item label="开始日期"> | 20 | <el-form-item label="开始日期"> |
31 | <el-date-picker | 21 | <el-date-picker class="width100" :clearable="false" type="date" placeholder="开始日期" |
32 | class="width100" | 22 | :picker-options="pickerOptionsStart" v-model="form.startTime" |
33 | :clearable="false" | 23 | value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> |
34 | type="date" | ||
35 | placeholder="开始日期" | ||
36 | :picker-options="pickerOptionsStart" | ||
37 | v-model="form.startTime" | ||
38 | value-format="yyyy-MM-dd HH:mm:ss" | ||
39 | ></el-date-picker> | ||
40 | </el-form-item> | 24 | </el-form-item> |
41 | </el-col> | 25 | </el-col> |
42 | <el-col :span="4"> | 26 | <el-col :span="4"> |
43 | <el-form-item label="结束日期"> | 27 | <el-form-item label="结束日期"> |
44 | <el-date-picker | 28 | <el-date-picker class="width100" :clearable="false" type="date" placeholder="结束日期" |
45 | class="width100" | 29 | :picker-options="pickerOptionsEnd" v-model="form.endTime" value-format="yyyy-MM-dd HH:mm:ss" |
46 | :clearable="false" | 30 | @change="endTimeChange"></el-date-picker> |
47 | type="date" | ||
48 | placeholder="结束日期" | ||
49 | :picker-options="pickerOptionsEnd" | ||
50 | v-model="form.endTime" | ||
51 | value-format="yyyy-MM-dd HH:mm:ss" | ||
52 | @change="endTimeChange" | ||
53 | ></el-date-picker> | ||
54 | </el-form-item> | 31 | </el-form-item> |
55 | </el-col> | 32 | </el-col> |
56 | <!-- 操作按钮 --> | 33 | <!-- 操作按钮 --> |
... | @@ -98,13 +75,13 @@ export default { | ... | @@ -98,13 +75,13 @@ export default { |
98 | // 搜索表单 | 75 | // 搜索表单 |
99 | form: { | 76 | form: { |
100 | startTime: getFirstDayOfSeason(), | 77 | startTime: getFirstDayOfSeason(), |
101 | endTime: timeFormat(new Date(),true), | 78 | endTime: timeFormat(new Date(), true), |
102 | qxdm: "", | 79 | qxdm: "", |
103 | }, | 80 | }, |
104 | chartData:[] | 81 | chartData: [] |
105 | }; | 82 | }; |
106 | }, | 83 | }, |
107 | mounted() { | 84 | mounted () { |
108 | // 查询业务量 | 85 | // 查询业务量 |
109 | this.getProcessCounts(); | 86 | this.getProcessCounts(); |
110 | }, | 87 | }, |
... | @@ -112,10 +89,10 @@ export default { | ... | @@ -112,10 +89,10 @@ export default { |
112 | ...mapGetters(["dicData"]), | 89 | ...mapGetters(["dicData"]), |
113 | }, | 90 | }, |
114 | methods: { | 91 | methods: { |
115 | endTimeChange(val){ | 92 | endTimeChange (val) { |
116 | this.form.endTime = timeFormat(new Date(val),true) | 93 | this.form.endTime = timeFormat(new Date(val), true) |
117 | }, | 94 | }, |
118 | async getProcessCounts(){ | 95 | async getProcessCounts () { |
119 | this.chartData = []; | 96 | this.chartData = []; |
120 | let { result: res } = await efficient.getProcessCounts( | 97 | let { result: res } = await efficient.getProcessCounts( |
121 | this.form.startTime, | 98 | this.form.startTime, |
... | @@ -133,13 +110,13 @@ export default { | ... | @@ -133,13 +110,13 @@ export default { |
133 | resetForm () { | 110 | resetForm () { |
134 | this.form = { | 111 | this.form = { |
135 | startTime: getFirstDayOfSeason(), | 112 | startTime: getFirstDayOfSeason(), |
136 | endTime: timeFormat(new Date(),true), | 113 | endTime: timeFormat(new Date(), true), |
137 | qxdm: "" | 114 | qxdm: "" |
138 | }; | 115 | }; |
139 | this.getProcessCounts(); | 116 | this.getProcessCounts(); |
140 | }, | 117 | }, |
141 | //图表渲染 | 118 | //图表渲染 |
142 | echartInit(chartArr) { | 119 | echartInit (chartArr) { |
143 | // 基于准备好的dom,初始化echarts实例 | 120 | // 基于准备好的dom,初始化echarts实例 |
144 | let myChart = this.$echarts.init(document.getElementById("myChart")); | 121 | let myChart = this.$echarts.init(document.getElementById("myChart")); |
145 | // 绘制图表 | 122 | // 绘制图表 |
... | @@ -158,7 +135,7 @@ export default { | ... | @@ -158,7 +135,7 @@ export default { |
158 | xAxis: [ | 135 | xAxis: [ |
159 | { | 136 | { |
160 | type: "category", | 137 | type: "category", |
161 | data: chartArr.map(item=>item.recTypeName), | 138 | data: chartArr.map(item => item.recTypeName), |
162 | axisLabel: { | 139 | axisLabel: { |
163 | interval: 0, | 140 | interval: 0, |
164 | formatter: function (val) { | 141 | formatter: function (val) { |
... | @@ -221,7 +198,7 @@ export default { | ... | @@ -221,7 +198,7 @@ export default { |
221 | }, | 198 | }, |
222 | }, | 199 | }, |
223 | barMaxWidth: '60', | 200 | barMaxWidth: '60', |
224 | data: chartArr.map(item=>item.counts), | 201 | data: chartArr.map(item => item.counts), |
225 | }, | 202 | }, |
226 | ], | 203 | ], |
227 | }); | 204 | }); |
... | @@ -230,7 +207,7 @@ export default { | ... | @@ -230,7 +207,7 @@ export default { |
230 | }; | 207 | }; |
231 | </script> | 208 | </script> |
232 | <style scoped lang="scss"> | 209 | <style scoped lang="scss"> |
233 | @import "~@/styles/public.scss"; | 210 | // @import "~@/styles/public.scss"; |
234 | 211 | ||
235 | .jktjDetail { | 212 | .jktjDetail { |
236 | height: 100%; | 213 | height: 100%; |
... | @@ -240,11 +217,13 @@ export default { | ... | @@ -240,11 +217,13 @@ export default { |
240 | .rows { | 217 | .rows { |
241 | margin-left: 100px; | 218 | margin-left: 100px; |
242 | } | 219 | } |
220 | |||
243 | .center { | 221 | .center { |
244 | line-height: 50vh; | 222 | line-height: 50vh; |
245 | text-align: center; | 223 | text-align: center; |
246 | color:#b6b5b5 | 224 | color: #b6b5b5 |
247 | } | 225 | } |
226 | |||
248 | .echarts-box { | 227 | .echarts-box { |
249 | display: flex; | 228 | display: flex; |
250 | justify-content: center; | 229 | justify-content: center; |
... | @@ -263,5 +242,5 @@ export default { | ... | @@ -263,5 +242,5 @@ export default { |
263 | } | 242 | } |
264 | </style> | 243 | </style> |
265 | <style scoped lang="scss"> | 244 | <style scoped lang="scss"> |
266 | @import "~@/styles/public.scss"; | 245 | // @import "~@/styles/public.scss"; |
267 | </style> | 246 | </style> | ... | ... |
... | @@ -99,189 +99,202 @@ | ... | @@ -99,189 +99,202 @@ |
99 | </template> | 99 | </template> |
100 | 100 | ||
101 | <script> | 101 | <script> |
102 | // 接收报文查询 | 102 | // 接收报文查询 |
103 | // 引入表格头部数据 | 103 | // 引入表格头部数据 |
104 | import data from "./data"; | 104 | import data from "./data"; |
105 | // 引入table混入方法 | 105 | // 引入table混入方法 |
106 | import tableMixin from "@/mixins/tableMixin.js"; | 106 | import tableMixin from "@/mixins/tableMixin.js"; |
107 | import { getReceiveDataReportPage } from "@/api/dataReport.js"; | 107 | import { getReceiveDataReportPage } from "@/api/dataReport.js"; |
108 | // 引入详情弹框 | 108 | // 引入详情弹框 |
109 | import dataDetails from "@/components/EditDialog"; | 109 | import dataDetails from "@/components/EditDialog"; |
110 | //引入日期处理方法 | 110 | //引入日期处理方法 |
111 | import { timeFormat } from "@/utils/operation"; | 111 | import { timeFormat } from "@/utils/operation"; |
112 | export default { | 112 | export default { |
113 | name: "jsbwcx", | 113 | name: "jsbwcx", |
114 | mixins: [tableMixin], | 114 | mixins: [tableMixin], |
115 | // 注册组件 | 115 | // 注册组件 |
116 | components: { | 116 | components: { |
117 | dataDetails, | 117 | dataDetails, |
118 | }, | 118 | }, |
119 | data () { | 119 | data () { |
120 | return { | 120 | return { |
121 | 121 | ||
122 | pickerOptionsStart: { | 122 | pickerOptionsStart: { |
123 | disabledDate: (time) => { | 123 | disabledDate: (time) => { |
124 | let endDateVal = this.form.receiveEndTime; | 124 | let endDateVal = this.form.receiveEndTime; |
125 | if (endDateVal) { | 125 | if (endDateVal) { |
126 | return ( | 126 | return ( |
127 | time.getTime() >= | 127 | time.getTime() >= |
128 | new Date(endDateVal).getTime() | 128 | new Date(endDateVal).getTime() |
129 | ); | 129 | ); |
130 | } | 130 | } |
131 | }, | ||
132 | }, | ||
133 | pickerOptionsEnd: { | ||
134 | disabledDate: (time) => { | ||
135 | let beginDateVal = this.form.receiveStartTime; | ||
136 | if (beginDateVal) { | ||
137 | return ( | ||
138 | time.getTime() < | ||
139 | new Date(beginDateVal).getTime() | ||
140 | ); | ||
141 | } | ||
142 | }, | ||
143 | }, | ||
144 | // 表格数据 | ||
145 | form: { | ||
146 | qxdm: "", // 行政区 | ||
147 | receiveStartTime: "", // 开始日期 | ||
148 | receiveEndTime: "", // 结束日期 | ||
149 | bdcdyh: "", // 不动产单元号 | ||
150 | ywh: "", // 业务号 | ||
151 | qllx: "", // 权利类型 | ||
152 | djlx: "", // 登记类型 | ||
153 | jcjg: "", // 检查结果 | ||
154 | rkjg: "", //入库结果 | ||
155 | currentPage: 1 | ||
156 | }, | ||
157 | // 校验规则 | ||
158 | rules: { | ||
159 | pcode: [{ required: true, message: "请选择行政区", trigger: "change" }], | ||
160 | startTime: [ | ||
161 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
162 | ], | ||
163 | endTime: [ | ||
164 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
165 | ], | ||
166 | bdcdyh: [ | ||
167 | { required: true, message: "不动产单元号", trigger: "change" }, | ||
168 | ], | ||
169 | ywmc: [{ required: true, message: "业务名称", trigger: "change" }], | ||
170 | jcjg: [{ required: true, message: "检查结果", trigger: "change" }], | ||
171 | rkjg: [{ required: true, message: "入库结果", trigger: "change" }], | ||
172 | }, | ||
173 | // 表格数据 | ||
174 | tableData: { | ||
175 | // 表格头部 | ||
176 | columns: [ | ||
177 | { | ||
178 | label: "序号", | ||
179 | type: "index", | ||
180 | width: "50", | ||
181 | index: this.indexMethod, | ||
182 | } | ||
183 | ] | ||
184 | .concat(data.columns()) | ||
185 | .concat([ | ||
186 | { | ||
187 | label: "操作", | ||
188 | width: "90", | ||
189 | render: (h, scope) => { | ||
190 | return ( | ||
191 | <div> | ||
192 | <el-button | ||
193 | type="primary" | ||
194 | onClick={() => { | ||
195 | this.handleDetails(scope.row); | ||
196 | }} | ||
197 | > | ||
198 | 详情 | ||
199 | </el-button> | ||
200 | </div> | ||
201 | ) | ||
202 | } | ||
203 | } | ||
204 | ]), | ||
205 | // 表格列表数据 | ||
206 | total: 0, | ||
207 | data: [], | ||
208 | }, | ||
209 | // 分页 | ||
210 | pageData: { | ||
211 | total: 0, | ||
212 | pageSize: 10, | ||
213 | current: 1 | ||
214 | }, | 131 | }, |
215 | title: "", | ||
216 | }; | ||
217 | }, | ||
218 | methods: { | ||
219 | //截止日期变化 | ||
220 | endTimeChange (val) { | ||
221 | this.form.receiveEndTime = timeFormat(new Date(val), true) | ||
222 | }, | 132 | }, |
223 | // 初始化数据 | 133 | pickerOptionsEnd: { |
224 | queryClick () { | 134 | disabledDate: (time) => { |
225 | getReceiveDataReportPage({ ...this.form, ...this.formData }).then( | 135 | let beginDateVal = this.form.receiveStartTime; |
226 | (res) => { | 136 | if (beginDateVal) { |
227 | if (res.code === 200) { | 137 | return ( |
228 | console.log("菜单列表", res); | 138 | time.getTime() < |
229 | let { total, records, current } = res.result; | 139 | new Date(beginDateVal).getTime() |
230 | this.tableData.total = total; | 140 | ); |
231 | this.tableData.data = records ? records : []; | ||
232 | this.pageData.current = current | ||
233 | } | ||
234 | } | 141 | } |
235 | ) | 142 | }, |
236 | }, | ||
237 | // 重置 | ||
238 | resetForm () { | ||
239 | this.$refs.ruleForm.resetFields(); | ||
240 | this.form.currentPage = 1 | ||
241 | this.queryClick(); | ||
242 | }, | 143 | }, |
243 | featchData () { | 144 | // 表格数据 |
244 | this.queryClick(); | 145 | form: { |
146 | qxdm: "", // 行政区 | ||
147 | receiveStartTime: "", // 开始日期 | ||
148 | receiveEndTime: "", // 结束日期 | ||
149 | bdcdyh: "", // 不动产单元号 | ||
150 | ywh: "", // 业务号 | ||
151 | qllx: "", // 权利类型 | ||
152 | djlx: "", // 登记类型 | ||
153 | jcjg: "", // 检查结果 | ||
154 | rkjg: "", //入库结果 | ||
155 | currentPage: 1 | ||
245 | }, | 156 | }, |
246 | // 结果 | 157 | // 校验规则 |
247 | handleResult (row) { | 158 | rules: { |
248 | this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row) | 159 | pcode: [{ required: true, message: "请选择行政区", trigger: "change" }], |
160 | startTime: [ | ||
161 | { required: true, message: "请选择开始日期", trigger: "change" }, | ||
162 | ], | ||
163 | endTime: [ | ||
164 | { required: true, message: "请选择结束日期", trigger: "change" }, | ||
165 | ], | ||
166 | bdcdyh: [ | ||
167 | { required: true, message: "不动产单元号", trigger: "change" }, | ||
168 | ], | ||
169 | ywmc: [{ required: true, message: "业务名称", trigger: "change" }], | ||
170 | jcjg: [{ required: true, message: "检查结果", trigger: "change" }], | ||
171 | rkjg: [{ required: true, message: "入库结果", trigger: "change" }], | ||
249 | }, | 172 | }, |
250 | // 详情 | 173 | // 表格数据 |
251 | handleDetails (row) { | 174 | tableData: { |
252 | if (row.rectypeName) { | 175 | // 表格头部 |
253 | this.title = row.rectypeName | 176 | columns: [ |
254 | } else { | 177 | { |
255 | let Title = '' | 178 | label: "序号", |
256 | this.dicData['A21'].map(item => { | 179 | type: "index", |
257 | if (item.DCODE == row.DJLX || item.DCODE == row.djlx) { | 180 | width: "50", |
258 | Title = item.DNAME | 181 | index: this.indexMethod, |
259 | return | 182 | } |
260 | } | 183 | ] |
261 | }) | 184 | .concat(data.columns()) |
262 | 185 | .concat([ | |
263 | this.dicData['A8'].map(item => { | 186 | { |
264 | if (item.DCODE == row.QLLX || item.DCODE == row.qllx) { | 187 | label: "操作", |
265 | Title += '-' + item.DNAME | 188 | width: "90", |
266 | return | 189 | render: (h, scope) => { |
190 | return ( | ||
191 | <div> | ||
192 | { | ||
193 | scope.row.receiveState == 2 ? | ||
194 | <el-button | ||
195 | type="text" | ||
196 | style="color:#67C23A" | ||
197 | onClick={() => { | ||
198 | this.handleDetails(scope.row); | ||
199 | }} | ||
200 | > | ||
201 | 修改 | ||
202 | <i class="el-icon-d-arrow-right"></i> | ||
203 | </el-button> : | ||
204 | <el-button | ||
205 | type="text" | ||
206 | onClick={() => { | ||
207 | this.handleDetails(scope.row); | ||
208 | }} | ||
209 | > | ||
210 | 详情 | ||
211 | <i class="el-icon-d-arrow-right"></i> | ||
212 | </el-button> | ||
213 | } | ||
214 | </div> | ||
215 | ) | ||
216 | } | ||
267 | } | 217 | } |
268 | }) | 218 | ]), |
269 | this.title = Title | 219 | // 表格列表数据 |
270 | } | 220 | total: 0, |
271 | this.$refs.editLog.isShow(row); | 221 | data: [], |
272 | if (row.receiveState == 2) { | 222 | }, |
273 | this.$store.dispatch('business/setReportLogEdit') | 223 | // 分页 |
274 | } else { | 224 | pageData: { |
275 | this.$store.dispatch('business/setEdit') | 225 | total: 0, |
276 | } | 226 | pageSize: 10, |
227 | current: 1 | ||
277 | }, | 228 | }, |
278 | } | 229 | title: "", |
230 | }; | ||
231 | }, | ||
232 | methods: { | ||
233 | //截止日期变化 | ||
234 | endTimeChange (val) { | ||
235 | this.form.receiveEndTime = timeFormat(new Date(val), true) | ||
236 | }, | ||
237 | // 初始化数据 | ||
238 | queryClick () { | ||
239 | getReceiveDataReportPage({ ...this.form, ...this.formData }).then( | ||
240 | (res) => { | ||
241 | if (res.code === 200) { | ||
242 | let { total, records, current } = res.result; | ||
243 | this.tableData.total = total; | ||
244 | this.tableData.data = records ? records : []; | ||
245 | this.pageData.current = current | ||
246 | } | ||
247 | } | ||
248 | ) | ||
249 | }, | ||
250 | // 重置 | ||
251 | resetForm () { | ||
252 | this.$refs.ruleForm.resetFields(); | ||
253 | this.form.currentPage = 1 | ||
254 | this.queryClick(); | ||
255 | }, | ||
256 | featchData () { | ||
257 | this.queryClick(); | ||
258 | }, | ||
259 | // 结果 | ||
260 | handleResult (row) { | ||
261 | this.$popupDialog('响应结果', 'views/jsbwcx/components/result', row) | ||
262 | }, | ||
263 | // 详情 | ||
264 | handleDetails (row) { | ||
265 | if (row.rectypeName) { | ||
266 | this.title = row.rectypeName | ||
267 | } else { | ||
268 | let Title = '' | ||
269 | this.dicData['A21'].map(item => { | ||
270 | if (item.DCODE == row.DJLX || item.DCODE == row.djlx) { | ||
271 | Title = item.DNAME | ||
272 | return | ||
273 | } | ||
274 | }) | ||
275 | |||
276 | this.dicData['A8'].map(item => { | ||
277 | if (item.DCODE == row.QLLX || item.DCODE == row.qllx) { | ||
278 | Title += '-' + item.DNAME | ||
279 | return | ||
280 | } | ||
281 | }) | ||
282 | this.title = Title | ||
283 | } | ||
284 | this.$refs.editLog.isShow(row); | ||
285 | if (row.receiveState == 2) { | ||
286 | this.$store.dispatch('business/setReportLogEdit') | ||
287 | } else { | ||
288 | this.$store.dispatch('business/setEdit') | ||
289 | } | ||
290 | }, | ||
279 | } | 291 | } |
292 | } | ||
280 | </script> | 293 | </script> |
281 | <style scoped lang="scss"> | 294 | <style scoped lang="scss"> |
282 | // 引入表单整体样式 | 295 | // 引入表单整体样式 |
283 | @import "~@/styles/public.scss"; | 296 | // // @import "~@/styles/public.scss"; |
284 | // 引入当前css | 297 | // 引入当前css |
285 | @import "./index.scss"; | 298 | @import "./index.scss"; |
286 | </style> | 299 | </style> |
287 | 300 | ... | ... |
... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
9 | <el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input> | 9 | <el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input> |
10 | </el-form-item> | 10 | </el-form-item> |
11 | <el-form-item prop="password"> | 11 | <el-form-item prop="password"> |
12 | <el-input type="password" class="password" @keyup.native="login('user')" v-model="user.password" | 12 | <el-input type="password" class="password" @keyup.enter.native="login('user')" v-model="user.password" |
13 | placeholder="请输入密码"></el-input> | 13 | placeholder="请输入密码"></el-input> |
14 | </el-form-item> | 14 | </el-form-item> |
15 | <el-form-item class="login-btn"> | 15 | <el-form-item class="login-btn"> | ... | ... |
src/views/loginjg/index.vue
0 → 100644
1 | <template> | ||
2 | <div class="bg"> | ||
3 | <div class="login-inner-bg login"> | ||
4 | <h2>{{ productName }}</h2> | ||
5 | <div class="user_style"> | ||
6 | <h3>欢迎登录</h3> | ||
7 | <el-form :model="user" :rules="rules" ref="user" id="loginform" class="demo-ruleForm"> | ||
8 | <el-form-item prop="account"> | ||
9 | <el-input class="username" v-model="user.account" placeholder="请输入用户名"></el-input> | ||
10 | </el-form-item> | ||
11 | <el-form-item prop="password"> | ||
12 | <el-input type="password" class="password" @keyup.native="login('user')" v-model="user.password" | ||
13 | placeholder="请输入密码"></el-input> | ||
14 | </el-form-item> | ||
15 | <el-form-item class="login-btn"> | ||
16 | <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button> | ||
17 | </el-form-item> | ||
18 | </el-form> | ||
19 | </div> | ||
20 | </div> | ||
21 | </div> | ||
22 | </template> | ||
23 | |||
24 | <script> | ||
25 | import { loginIn } from "@/api/login.js"; | ||
26 | import { api, getAction } from "@/api/manageApi"; | ||
27 | export default { | ||
28 | name: "Login", | ||
29 | data () { | ||
30 | return { | ||
31 | user: { | ||
32 | account: "", | ||
33 | password: "", | ||
34 | checkStatus: false, | ||
35 | }, | ||
36 | productName: "", | ||
37 | rules: { | ||
38 | account: [{ required: true, message: "请填写帐号", trigger: "blur" }], | ||
39 | password: [{ required: true, message: "请填写密码", trigger: "blur" }], | ||
40 | }, | ||
41 | }; | ||
42 | }, | ||
43 | created () { | ||
44 | const params = {}; | ||
45 | const queryOptions = { | ||
46 | conditionGroup: { | ||
47 | conditions: [ | ||
48 | { | ||
49 | property: "code", | ||
50 | value: "BDCJGPT", | ||
51 | operator: "EQ", | ||
52 | }, | ||
53 | ], | ||
54 | queryRelation: "AND", | ||
55 | }, | ||
56 | }; | ||
57 | params.queryOptions = JSON.stringify(queryOptions); | ||
58 | //根据子系统code获取子系统详细信息 | ||
59 | getAction(api.subsystem, params).then((res) => { | ||
60 | if (res.status === 1) { | ||
61 | this.productName = res.content[0].name; | ||
62 | this.$store.dispatch("products/setData", res.content[0]); | ||
63 | } else { | ||
64 | this.$message.error({ message: res.message, showClose: true }); | ||
65 | } | ||
66 | }); | ||
67 | }, | ||
68 | mounted () { | ||
69 | // this.checkUserName(); | ||
70 | }, | ||
71 | methods: { | ||
72 | //记住用户名 | ||
73 | checkUserName: function (flag) { | ||
74 | this.user.checkStatus = flag; | ||
75 | if (this.user.checkStatus) { | ||
76 | localStorage.setItem("accountId", this.user.account); | ||
77 | let name = localStorage.getItem("accountId"); | ||
78 | if (name === "") { | ||
79 | return; | ||
80 | } else { | ||
81 | this.user.account = name; | ||
82 | } | ||
83 | } else { | ||
84 | this.user.account = localStorage.getItem("accountId"); | ||
85 | } | ||
86 | }, | ||
87 | login (user) { | ||
88 | var self = this; | ||
89 | this.$refs[user].validate((valid) => { | ||
90 | if (valid) { | ||
91 | loginIn(self.user.account, self.user.password) | ||
92 | .then((res) => { | ||
93 | if (res.status === 1) { | ||
94 | //存储token | ||
95 | sessionStorage.setItem("token", `Bearer ${res.content}`); | ||
96 | //登录成功后需判断有无重定向,没有重定向则跳转首页 | ||
97 | this.$router.replace(this.$route.query.redirect || "/"); | ||
98 | } else { | ||
99 | //错误处理 | ||
100 | } | ||
101 | }) | ||
102 | .catch((error) => { | ||
103 | // console.dir(error); | ||
104 | }); | ||
105 | } | ||
106 | }); | ||
107 | }, | ||
108 | }, | ||
109 | components: {}, | ||
110 | }; | ||
111 | </script> | ||
112 | <style scoped lang="scss"> | ||
113 | .username, | ||
114 | .password { | ||
115 | position: relative; | ||
116 | |||
117 | &:before { | ||
118 | content: ""; | ||
119 | display: block; | ||
120 | width: 16px; | ||
121 | height: 16px; | ||
122 | position: absolute; | ||
123 | left: 10px; | ||
124 | top: 7px; | ||
125 | background-size: 100% 100%; | ||
126 | } | ||
127 | |||
128 | /deep/ .el-input__inner { | ||
129 | text-indent: 24px; | ||
130 | border: 1px solid rgba(11, 161, 248, 0.4); | ||
131 | background-color: rgba(6, 135, 205, 0.3) !important; | ||
132 | } | ||
133 | } | ||
134 | |||
135 | .username::before { | ||
136 | background-image: url(../../image/username.png); | ||
137 | } | ||
138 | |||
139 | .password::before { | ||
140 | background-image: url(../../image/password.png); | ||
141 | } | ||
142 | |||
143 | .bg { | ||
144 | width: 100%; | ||
145 | height: 100%; | ||
146 | min-width: 1440px; | ||
147 | min-height: 560px; | ||
148 | background: url(../../image/loginBoxBg.png) no-repeat; | ||
149 | background-size: 100% 100%; | ||
150 | overflow: hidden; | ||
151 | position: relative; | ||
152 | } | ||
153 | |||
154 | .login-inner-bg { | ||
155 | background: url(../../image/loginBg.png) no-repeat; | ||
156 | width: 21.6%; | ||
157 | height: 43%; | ||
158 | min-width: 360px; | ||
159 | min-height: 380px; | ||
160 | top: 30%; | ||
161 | right: 20%; | ||
162 | position: absolute; | ||
163 | background-size: 100% 100%; | ||
164 | box-sizing: border-box; | ||
165 | padding: 56px; | ||
166 | |||
167 | h2 { | ||
168 | width: 100%; | ||
169 | font-size: 36px; | ||
170 | font-weight: 700; | ||
171 | color: #fff; | ||
172 | text-align: center; | ||
173 | white-space: nowrap; | ||
174 | position: absolute; | ||
175 | right: 0; | ||
176 | top: -70px; | ||
177 | background-image: linear-gradient( | ||
178 | 180deg, | ||
179 | rgba(99, 163, 255, 1) 0, | ||
180 | rgba(99, 163, 255, 1) 0, | ||
181 | rgba(182, 220, 255, 1) 49.731445%, | ||
182 | rgba(114, 190, 255, 1) 100%, | ||
183 | rgba(114, 190, 255, 1) 100% | ||
184 | ); | ||
185 | overflow-wrap: break-word; | ||
186 | color: rgba(255, 255, 255, 1); | ||
187 | font-size: 36px; | ||
188 | font-family: AlimamaShuHeiTi-Bold; | ||
189 | -webkit-background-clip: text; | ||
190 | -webkit-text-fill-color: transparent; | ||
191 | } | ||
192 | } | ||
193 | |||
194 | .login { | ||
195 | .user_style { | ||
196 | h3 { | ||
197 | color: #fff; | ||
198 | font-size: 22px; | ||
199 | font-weight: normal; | ||
200 | text-align: center; | ||
201 | margin: 16px auto 34px; | ||
202 | font-weight: 400; | ||
203 | } | ||
204 | } | ||
205 | |||
206 | .btn { | ||
207 | width: 100%; | ||
208 | height: 6vh; | ||
209 | background-color: #00c2de; | ||
210 | border-radius: 5px; | ||
211 | font-size: 1.4vw; | ||
212 | color: #ffffff; | ||
213 | } | ||
214 | |||
215 | .btn:hover { | ||
216 | cursor: pointer; | ||
217 | background-color: #2d8cf0; | ||
218 | } | ||
219 | } | ||
220 | |||
221 | .login #loginform { | ||
222 | .el-form-item { | ||
223 | margin-bottom: 24px !important; | ||
224 | } | ||
225 | |||
226 | .login-btn { | ||
227 | margin-top: 40px !important; | ||
228 | } | ||
229 | |||
230 | .el-button { | ||
231 | font-size: 18px; | ||
232 | background: #0d8cc0 !important; | ||
233 | color: #ffffff !important; | ||
234 | cursor: pointer !important; | ||
235 | } | ||
236 | |||
237 | .el-input__inner { | ||
238 | width: 100% !important; | ||
239 | } | ||
240 | |||
241 | .el-checkbox__label { | ||
242 | color: #fff; | ||
243 | } | ||
244 | } | ||
245 | |||
246 | .inputUser .ivu-input { | ||
247 | padding: 6px 24px !important; | ||
248 | border: 1px solid #9f9f9f !important; | ||
249 | } | ||
250 | </style> |
src/views/loginsb/index.vue
0 → 100644
1 | <template> | ||
2 | <div class="bg"> | ||
3 | <div class="title"> | ||
4 | <img src="../../image/bdclogo.png" alt=""> | ||
5 | <h2>{{ productName }}</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.native="login('user')" v-model="user.password" | ||
16 | placeholder="请输入密码" show-password></el-input> | ||
17 | </el-form-item> | ||
18 | <el-form-item prop="yz"> | ||
19 | <el-input class="yz" @keyup.native="login('user')" v-model="user.yz" | ||
20 | placeholder="请输入验证码"></el-input> | ||
21 | </el-form-item> | ||
22 | <el-form-item class="login-btn"> | ||
23 | <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button> | ||
24 | </el-form-item> | ||
25 | </el-form> | ||
26 | </div> | ||
27 | </div> | ||
28 | </div> | ||
29 | </template> | ||
30 | |||
31 | <script> | ||
32 | import { loginIn } from "@/api/login.js"; | ||
33 | import { api, getAction } from "@/api/manageApi"; | ||
34 | export default { | ||
35 | name: "Login", | ||
36 | data () { | ||
37 | return { | ||
38 | user: { | ||
39 | account: "", | ||
40 | password: "", | ||
41 | yz: "", | ||
42 | checkStatus: false, | ||
43 | }, | ||
44 | productName: "", | ||
45 | rules: { | ||
46 | account: [{ required: true, message: "请填写帐号", trigger: "blur" }], | ||
47 | password: [{ required: true, message: "请填写密码", trigger: "blur" }], | ||
48 | }, | ||
49 | }; | ||
50 | }, | ||
51 | created () { | ||
52 | const params = {}; | ||
53 | const queryOptions = { | ||
54 | conditionGroup: { | ||
55 | conditions: [ | ||
56 | { | ||
57 | property: "code", | ||
58 | value: "BDCJGPT", | ||
59 | operator: "EQ", | ||
60 | }, | ||
61 | ], | ||
62 | queryRelation: "AND", | ||
63 | }, | ||
64 | }; | ||
65 | params.queryOptions = JSON.stringify(queryOptions); | ||
66 | //根据子系统code获取子系统详细信息 | ||
67 | getAction(api.subsystem, params).then((res) => { | ||
68 | if (res.status === 1) { | ||
69 | this.productName = res.content[0].name; | ||
70 | this.$store.dispatch("products/setData", res.content[0]); | ||
71 | } else { | ||
72 | this.$message.error({ message: res.message, showClose: true }); | ||
73 | } | ||
74 | }); | ||
75 | }, | ||
76 | mounted () { | ||
77 | // this.checkUserName(); | ||
78 | }, | ||
79 | methods: { | ||
80 | //记住用户名 | ||
81 | checkUserName: function (flag) { | ||
82 | this.user.checkStatus = flag; | ||
83 | if (this.user.checkStatus) { | ||
84 | localStorage.setItem("accountId", this.user.account); | ||
85 | let name = localStorage.getItem("accountId"); | ||
86 | if (name === "") { | ||
87 | return; | ||
88 | } else { | ||
89 | this.user.account = name; | ||
90 | } | ||
91 | } else { | ||
92 | this.user.account = localStorage.getItem("accountId"); | ||
93 | } | ||
94 | }, | ||
95 | login (user) { | ||
96 | var self = this; | ||
97 | this.$refs[user].validate((valid) => { | ||
98 | if (valid) { | ||
99 | loginIn(self.user.account, self.user.password) | ||
100 | .then((res) => { | ||
101 | if (res.status === 1) { | ||
102 | this.$store.dispatch('business/setInitRules', "layout1") | ||
103 | //存储token | ||
104 | sessionStorage.setItem("token", `Bearer ${res.content}`); | ||
105 | //登录成功后需判断有无重定向,没有重定向则跳转首页 | ||
106 | this.$router.replace(this.$route.query.redirect || "/"); | ||
107 | } else { | ||
108 | console.log(res); | ||
109 | this.$message.error({ message: res.message }) | ||
110 | } | ||
111 | }) | ||
112 | .catch((error) => { | ||
113 | // console.dir(error); | ||
114 | }); | ||
115 | } | ||
116 | }); | ||
117 | }, | ||
118 | }, | ||
119 | components: {}, | ||
120 | }; | ||
121 | </script> | ||
122 | <style scoped lang="scss"> | ||
123 | .username, | ||
124 | .password, | ||
125 | .yz { | ||
126 | position: relative; | ||
127 | |||
128 | &:before { | ||
129 | content: ""; | ||
130 | display: block; | ||
131 | width: 16px; | ||
132 | height: 16px; | ||
133 | position: absolute; | ||
134 | left: 10px; | ||
135 | top: 7px; | ||
136 | background-size: 100% 100%; | ||
137 | } | ||
138 | |||
139 | /deep/ .el-input__inner { | ||
140 | color: #000 !important; | ||
141 | text-indent: 24px; | ||
142 | // border: 1px solid rgba(11, 161, 248, 0.4); | ||
143 | // background-color: rgba(6, 135, 205, 0.3) !important; | ||
144 | } | ||
145 | } | ||
146 | |||
147 | .username::before { | ||
148 | background-image: url(../../image/userlogo.png); | ||
149 | } | ||
150 | |||
151 | .password::before { | ||
152 | background-image: url(../../image/passlogo.png); | ||
153 | } | ||
154 | .yz::before { | ||
155 | background-image: url(../../image/yzlogo.png); | ||
156 | } | ||
157 | |||
158 | .bg { | ||
159 | width: 100%; | ||
160 | height: 100%; | ||
161 | min-width: 1440px; | ||
162 | min-height: 560px; | ||
163 | background: url(../../image/loginBoxsb.png) no-repeat; | ||
164 | background-size: 100% 100%; | ||
165 | overflow: hidden; | ||
166 | position: relative; | ||
167 | } | ||
168 | .title { | ||
169 | width: 24%; | ||
170 | height: 6%; | ||
171 | top: 20%; | ||
172 | right: 38%; | ||
173 | position: absolute; | ||
174 | img { | ||
175 | width: 60px; | ||
176 | height: 60px; | ||
177 | top: 0%; | ||
178 | left: 2%; | ||
179 | position: absolute; | ||
180 | } | ||
181 | h2 { | ||
182 | top: 25%; | ||
183 | left: 22%; | ||
184 | position: absolute; | ||
185 | width: 383px; | ||
186 | height: 42px; | ||
187 | font-size: 28px; | ||
188 | font-weight: 600; | ||
189 | color: #ffffff; | ||
190 | text-shadow: 0px 4px 4px #002c95; | ||
191 | } | ||
192 | } | ||
193 | .login-inner-bg { | ||
194 | background: white; | ||
195 | width: 24.6%; | ||
196 | height: 47%; | ||
197 | min-width: 360px; | ||
198 | min-height: 380px; | ||
199 | top: 30%; | ||
200 | right: 38%; | ||
201 | position: absolute; | ||
202 | background-size: 100% 100%; | ||
203 | box-sizing: border-box; | ||
204 | padding: 56px; | ||
205 | } | ||
206 | |||
207 | .login { | ||
208 | .user_style { | ||
209 | h3 { | ||
210 | font-weight: normal; | ||
211 | text-align: center; | ||
212 | margin: -10px auto 28px; | ||
213 | font-weight: 400; | ||
214 | width: 125px; | ||
215 | height: 29px; | ||
216 | font-size: 20px; | ||
217 | font-family: Source Han Sans CN; | ||
218 | font-weight: 400; | ||
219 | color: #333333; | ||
220 | } | ||
221 | } | ||
222 | |||
223 | .btn { | ||
224 | width: 100%; | ||
225 | height: 6vh; | ||
226 | background-color: #00c2de; | ||
227 | border-radius: 5px; | ||
228 | font-size: 1.4vw; | ||
229 | color: #000; | ||
230 | } | ||
231 | |||
232 | .btn:hover { | ||
233 | cursor: pointer; | ||
234 | background-color: #2d8cf0; | ||
235 | } | ||
236 | } | ||
237 | |||
238 | .login #loginform { | ||
239 | .el-form-item { | ||
240 | margin-bottom: 24px !important; | ||
241 | } | ||
242 | |||
243 | .login-btn { | ||
244 | margin-top: 30px !important; | ||
245 | } | ||
246 | |||
247 | .el-button { | ||
248 | font-size: 18px; | ||
249 | border-radius: 0; | ||
250 | background: #4162d8 !important; | ||
251 | color: #ffffff !important; | ||
252 | cursor: pointer !important; | ||
253 | } | ||
254 | |||
255 | .el-input__inner { | ||
256 | width: 100% !important; | ||
257 | } | ||
258 | |||
259 | .el-checkbox__label { | ||
260 | color: #fff; | ||
261 | } | ||
262 | } | ||
263 | |||
264 | .inputUser .ivu-input { | ||
265 | padding: 6px 24px !important; | ||
266 | border: 1px solid #9f9f9f !important; | ||
267 | } | ||
268 | </style> |
... | @@ -6,6 +6,10 @@ | ... | @@ -6,6 +6,10 @@ |
6 | border-right: 1px solid #458ACF !important; | 6 | border-right: 1px solid #458ACF !important; |
7 | } | 7 | } |
8 | 8 | ||
9 | /deep/.el-table thead.is-group th.el-table__cell { | ||
10 | background-color: transparent !important; | ||
11 | } | ||
12 | |||
9 | /deep/.el-table--group::after, | 13 | /deep/.el-table--group::after, |
10 | .el-table--border::after { | 14 | .el-table--border::after { |
11 | width: 0 !important; | 15 | width: 0 !important; | ... | ... |
... | @@ -164,7 +164,7 @@ export default { | ... | @@ -164,7 +164,7 @@ export default { |
164 | </script> | 164 | </script> |
165 | <style scoped lang="scss"> | 165 | <style scoped lang="scss"> |
166 | // 引入表单整体样式 | 166 | // 引入表单整体样式 |
167 | @import "~@/styles/public.scss"; | 167 | // @import "~@/styles/public.scss"; |
168 | @import "../css/index.scss"; | 168 | @import "../css/index.scss"; |
169 | </style> | 169 | </style> |
170 | 170 | ... | ... |
... | @@ -155,7 +155,7 @@ export default { | ... | @@ -155,7 +155,7 @@ export default { |
155 | </script> | 155 | </script> |
156 | <style scoped lang="scss"> | 156 | <style scoped lang="scss"> |
157 | // 引入表单整体样式 | 157 | // 引入表单整体样式 |
158 | @import "~@/styles/public.scss"; | 158 | // @import "~@/styles/public.scss"; |
159 | @import "../css/index.scss"; | 159 | @import "../css/index.scss"; |
160 | </style> | 160 | </style> |
161 | 161 | ... | ... |
... | @@ -148,7 +148,7 @@ export default { | ... | @@ -148,7 +148,7 @@ export default { |
148 | </script> | 148 | </script> |
149 | <style scoped lang="scss"> | 149 | <style scoped lang="scss"> |
150 | // 引入表单整体样式 | 150 | // 引入表单整体样式 |
151 | @import "~@/styles/public.scss"; | 151 | // @import "~@/styles/public.scss"; |
152 | @import "../css/index.scss"; | 152 | @import "../css/index.scss"; |
153 | </style> | 153 | </style> |
154 | 154 | ... | ... |
src/views/sthj/components/Result.vue
deleted
100644 → 0
1 | <!-- | ||
2 | 功能:结果 | ||
3 | 作者:calliope | ||
4 | --> | ||
5 | <template> | ||
6 | <div class='result'> | ||
7 | <p>响应xml</p> | ||
8 | <el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="响应xml" v-model="REPMSGXML"> | ||
9 | </el-input> | ||
10 | <p>错误信息</p> | ||
11 | <el-input type="textarea" disabled :rows="6" class="resulttext" placeholder="错误信息" v-model="ERRORINFO"> | ||
12 | </el-input> | ||
13 | </div> | ||
14 | </template> | ||
15 | <script> | ||
16 | import { getReceiveDataReportResult } from "@/api/dataReport.js"; | ||
17 | export default { | ||
18 | components: {}, | ||
19 | props: { | ||
20 | formData: { | ||
21 | type: Object, | ||
22 | default: {} | ||
23 | } | ||
24 | }, | ||
25 | data () { | ||
26 | return { | ||
27 | REPMSGXML: '', | ||
28 | ERRORINFO: '', | ||
29 | } | ||
30 | }, | ||
31 | created () { | ||
32 | getReceiveDataReportResult(this.formData.bsmReport).then(res => { | ||
33 | let data = res.result | ||
34 | this.REPMSGXML = data.REPMSGXML | ||
35 | this.ERRORINFO = data.ERRORINFO | ||
36 | }) | ||
37 | } | ||
38 | } | ||
39 | </script> | ||
40 | <style scoped lang='scss'> | ||
41 | @import '~@/styles/public.scss'; | ||
42 | |||
43 | .result { | ||
44 | padding: 15px; | ||
45 | |||
46 | p { | ||
47 | color: #ffffff; | ||
48 | line-height: 26px; | ||
49 | font-size: 18px; | ||
50 | } | ||
51 | |||
52 | /deep/.el-textarea__inner { | ||
53 | min-height: 27vh !important; | ||
54 | background-color: #08346F !important; | ||
55 | color: #ffffff; | ||
56 | border: none !important; | ||
57 | } | ||
58 | |||
59 | } | ||
60 | </style> |
... | @@ -32,7 +32,7 @@ class data { | ... | @@ -32,7 +32,7 @@ class data { |
32 | }, | 32 | }, |
33 | }, | 33 | }, |
34 | { | 34 | { |
35 | prop: 'ywh', | 35 | prop: 'YWH', |
36 | label: '业务号', | 36 | label: '业务号', |
37 | render: (h, scope) => { | 37 | render: (h, scope) => { |
38 | return ( | 38 | return ( |
... | @@ -41,43 +41,25 @@ class data { | ... | @@ -41,43 +41,25 @@ class data { |
41 | } | 41 | } |
42 | }, | 42 | }, |
43 | { | 43 | { |
44 | prop: 'djlx', | 44 | prop: 'DJLX', |
45 | label: '登记类型', | 45 | label: '登记类型', |
46 | render: (h, scope) => { | 46 | render: (h, scope) => { |
47 | return ( | 47 | return ( |
48 | <el-select class="width100" value={scope.row[scope.column.property]} | 48 | <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> |
49 | onChange={(val) => { scope.row[scope.column.property] = val }}> | ||
50 | { | ||
51 | store.getters.dicData['A21'].map(option => { | ||
52 | return ( | ||
53 | <el-option label={option.DNAME} value={option.DCODE}></el-option> | ||
54 | ) | ||
55 | }) | ||
56 | } | ||
57 | </el-select> | ||
58 | ) | 49 | ) |
59 | } | 50 | } |
60 | }, | 51 | }, |
61 | { | 52 | { |
62 | prop: 'qllx', | 53 | prop: 'QLLX', |
63 | label: '权利类型', | 54 | label: '权利类型', |
64 | render: (h, scope) => { | 55 | render: (h, scope) => { |
65 | return ( | 56 | return ( |
66 | <el-select class="width100" value={scope.row[scope.column.property]} | 57 | <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> |
67 | onChange={(val) => { scope.row[scope.column.property] = val }}> | ||
68 | { | ||
69 | store.getters.dicData['A8'].map(option => { | ||
70 | return ( | ||
71 | <el-option label={option.DNAME} value={option.DCODE}></el-option> | ||
72 | ) | ||
73 | }) | ||
74 | } | ||
75 | </el-select> | ||
76 | ) | 58 | ) |
77 | } | 59 | } |
78 | }, | 60 | }, |
79 | { | 61 | { |
80 | prop: 'bdcdyh', | 62 | prop: 'BDCDYH', |
81 | label: '不动产单元号', | 63 | label: '不动产单元号', |
82 | render: (h, scope) => { | 64 | render: (h, scope) => { |
83 | return ( | 65 | return ( |
... | @@ -86,7 +68,7 @@ class data { | ... | @@ -86,7 +68,7 @@ class data { |
86 | } | 68 | } |
87 | }, | 69 | }, |
88 | { | 70 | { |
89 | prop: 'zszmh', | 71 | prop: 'ZSZMH', |
90 | label: '证书证明号', | 72 | label: '证书证明号', |
91 | render: (h, scope) => { | 73 | render: (h, scope) => { |
92 | return ( | 74 | return ( |
... | @@ -95,7 +77,7 @@ class data { | ... | @@ -95,7 +77,7 @@ class data { |
95 | } | 77 | } |
96 | }, | 78 | }, |
97 | { | 79 | { |
98 | prop: 'sfsb', | 80 | prop: 'SFSB', |
99 | label: '是否上报', | 81 | label: '是否上报', |
100 | render: (h, scope) => { | 82 | render: (h, scope) => { |
101 | return ( | 83 | return ( |
... | @@ -113,14 +95,14 @@ class data { | ... | @@ -113,14 +95,14 @@ class data { |
113 | } | 95 | } |
114 | }, | 96 | }, |
115 | { | 97 | { |
116 | prop: 'bwid', | 98 | prop: 'BWID', |
117 | label: '报文ID', | 99 | label: '报文ID', |
118 | render: (h, scope) => { | 100 | render: (h, scope) => { |
119 | return ( | 101 | return ( |
120 | <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> | 102 | <el-input value={scope.row[scope.column.property]} onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> |
121 | ) | 103 | ) |
122 | } | 104 | } |
123 | }, | 105 | } |
124 | ] | 106 | ] |
125 | } | 107 | } |
126 | } | 108 | } |
... | @@ -131,3 +113,4 @@ export { | ... | @@ -131,3 +113,4 @@ export { |
131 | } | 113 | } |
132 | 114 | ||
133 | 115 | ||
116 | ... | ... |
... | @@ -31,7 +31,7 @@ class data { | ... | @@ -31,7 +31,7 @@ class data { |
31 | }, | 31 | }, |
32 | }, | 32 | }, |
33 | { | 33 | { |
34 | prop: 'ywh', | 34 | prop: 'YWH', |
35 | label: '业务号', | 35 | label: '业务号', |
36 | render: (h, scope) => { | 36 | render: (h, scope) => { |
37 | return ( | 37 | return ( |
... | @@ -40,7 +40,7 @@ class data { | ... | @@ -40,7 +40,7 @@ class data { |
40 | } | 40 | } |
41 | }, | 41 | }, |
42 | { | 42 | { |
43 | prop: 'bdcdyh', | 43 | prop: 'BDCDYH', |
44 | label: '不动产单元号', | 44 | label: '不动产单元号', |
45 | render: (h, scope) => { | 45 | render: (h, scope) => { |
46 | return ( | 46 | return ( |
... | @@ -49,7 +49,7 @@ class data { | ... | @@ -49,7 +49,7 @@ class data { |
49 | } | 49 | } |
50 | }, | 50 | }, |
51 | { | 51 | { |
52 | prop: 'bwid', | 52 | prop: 'BWID', |
53 | label: '报文ID', | 53 | label: '报文ID', |
54 | render: (h, scope) => { | 54 | render: (h, scope) => { |
55 | return ( | 55 | return ( |
... | @@ -67,3 +67,4 @@ export { | ... | @@ -67,3 +67,4 @@ export { |
67 | } | 67 | } |
68 | 68 | ||
69 | 69 | ||
70 | ... | ... |
... | @@ -2,29 +2,27 @@ | ... | @@ -2,29 +2,27 @@ |
2 | <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter" | 2 | <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" custom-class="dialogBox editDialogBox mainCenter" |
3 | :visible.sync="dialogVisible" width="90%"> | 3 | :visible.sync="dialogVisible" width="90%"> |
4 | <div slot="title" class="dialog_title" ref="dialogTitle"> | 4 | <div slot="title" class="dialog_title" ref="dialogTitle"> |
5 | {{ title || '标题' }} | 5 | {{ title || '登薄日志' }} |
6 | </div> | 6 | </div> |
7 | <div class="regularHeight"> | 7 | <div class="regularHeight"> |
8 | <div class="editDialogBox-box"> | 8 | <div class="editDialogBox-box"> |
9 | <el-tabs v-model="titleName" type="card"> | 9 | <el-tabs v-model="titleName" type="card"> |
10 | <el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane> | 10 | <el-tab-pane label="登薄详情" name="sjmx"></el-tab-pane> |
11 | <el-tab-pane label="xml报文" name="xml"></el-tab-pane> | 11 | <el-tab-pane label="xml报文" name="xml"></el-tab-pane> |
12 | <el-tab-pane label="响应结果" name="xyjg"></el-tab-pane> | ||
13 | </el-tabs> | 12 | </el-tabs> |
14 | <div class="dialog-from" v-if="titleName == 'sjmx'"> | 13 | <div class="dialog-from" v-if="titleName == 'sjmx'"> |
15 | <el-row class="dialog-from_header item-content-input"> | 14 | <el-row class="dialog-from_header item-content-input"> |
16 | <el-col :span="8"> | 15 | <el-col :span="8"> |
17 | <span>行政编码:</span> | 16 | <span>行政编码:</span> |
18 | <el-input v-model="accessLog.AREACODE" maxlength="10"></el-input> | 17 | <el-input v-model="accessLog.AREACODE" maxlength="10" disabled></el-input> |
19 | </el-col> | 18 | </el-col> |
20 | <el-col :span="8"> | 19 | <el-col :span="8"> |
21 | <span>行政名称:</span> | 20 | <span>行政名称:</span> |
22 | <el-input v-model="accessLog.AREANAME" maxlength="20"></el-input> | 21 | <el-input v-model="accessLog.AREANAME" maxlength="20" disabled></el-input> |
23 | </el-col> | 22 | </el-col> |
24 | <el-col :span="8"> | 23 | <el-col :span="8"> |
25 | <span>日期:</span> | 24 | <span>日期:</span> |
26 | <el-date-picker v-model="accessLog.CREATEDATE" type="date"> | 25 | <el-input v-model="accessLog.ACCESSDATE" disabled></el-input> |
27 | </el-date-picker> | ||
28 | </el-col> | 26 | </el-col> |
29 | </el-row> | 27 | </el-row> |
30 | <el-row class="dialog-from_header item-content-input"> | 28 | <el-row class="dialog-from_header item-content-input"> |
... | @@ -34,146 +32,131 @@ | ... | @@ -34,146 +32,131 @@ |
34 | </el-input> | 32 | </el-input> |
35 | </el-col> | 33 | </el-col> |
36 | </el-row> | 34 | </el-row> |
35 | <!-- 当日登薄信息记录数 --> | ||
37 | <P class="dialog-from_title">当日登薄信息记录数</P> | 36 | <P class="dialog-from_title">当日登薄信息记录数</P> |
38 | <div> | 37 | <div> |
39 | <el-row class="dialog-from_header item-content-input"> | 38 | <el-row class="dialog-from_header item-content-input"> |
40 | <el-col :span="4"> | 39 | <el-col :span="4"> |
41 | <span>总数量:</span> | 40 | <span>当日登薄量:</span> |
42 | <el-input v-model="titleForm.totalNum" oninput="if(value.length > 6) value=value.slice(0, 6)" | 41 | <el-input v-model="registerInfo.TOTALNUM" disabled type="number"></el-input> |
43 | type="number"></el-input> | ||
44 | </el-col> | 42 | </el-col> |
45 | <el-col :span="4"> | 43 | <el-col :span="4"> |
46 | <span>首次登记数量:</span> | 44 | <span>首次登记量:</span> |
47 | <el-input v-model="titleForm.firstReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 45 | <el-input v-model="registerInfo.FIRSTREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
48 | type="number"></el-input> | 46 | type="number"></el-input> |
49 | </el-col> | 47 | </el-col> |
50 | <el-col :span="4"> | 48 | <el-col :span="4"> |
51 | <span>转移登记数量:</span> | 49 | <span>转移登记量:</span> |
52 | <el-input v-model="titleForm.transferReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 50 | <el-input v-model="registerInfo.TRANSFERREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
53 | type="number"></el-input> | 51 | type="number"></el-input> |
54 | </el-col> | 52 | </el-col> |
55 | <el-col :span="4"> | 53 | <el-col :span="4"> |
56 | <span>变更登记数量:</span> | 54 | <span>变更登记量:</span> |
57 | <el-input v-model="titleForm.changeReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 55 | <el-input v-model="registerInfo.CHANGEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
58 | type="number"></el-input> | 56 | type="number"></el-input> |
59 | </el-col> | 57 | </el-col> |
60 | <el-col :span="4"> | 58 | <el-col :span="4"> |
61 | <span>注销登记数量:</span> | 59 | <span>注销登记量:</span> |
62 | <el-input v-model="titleForm.logoutReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 60 | <el-input v-model="registerInfo.LOGOUTREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
63 | type="number"></el-input> | 61 | type="number"></el-input> |
64 | </el-col> | 62 | </el-col> |
65 | <!-- 更正登记数量 --> | ||
66 | <el-col :span="4"> | 63 | <el-col :span="4"> |
67 | <span>更正登记数量:</span> | 64 | <span>更正登记量:</span> |
68 | <el-input v-model="titleForm.riviseReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 65 | <el-input v-model="registerInfo.RIVISEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
69 | type="number"></el-input> | 66 | type="number"></el-input> |
70 | </el-col> | 67 | </el-col> |
71 | </el-row> | 68 | </el-row> |
72 | <el-row class="dialog-from_header item-content-input"> | 69 | <el-row class="dialog-from_header item-content-input"> |
73 | <el-col :span="4"> | 70 | <el-col :span="4"> |
74 | <span>异议登记数量:</span> | 71 | <span>异议登记量:</span> |
75 | <el-input v-model="titleForm.dissentingReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 72 | <el-input v-model="registerInfo.DISSENTINGREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
76 | type="number"></el-input> | 73 | type="number"></el-input> |
77 | </el-col> | 74 | </el-col> |
78 | <el-col :span="4"> | 75 | <el-col :span="4"> |
79 | <span>预告登记数量:</span> | 76 | <span>预告登记量:</span> |
80 | <el-input v-model="titleForm.advanceReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 77 | <el-input v-model="registerInfo.ADVANCEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
81 | type="number"></el-input> | 78 | type="number"></el-input> |
82 | </el-col> | 79 | </el-col> |
83 | <el-col :span="4"> | 80 | <el-col :span="4"> |
84 | <span>查封登记数量:</span> | 81 | <span>查封登记量:</span> |
85 | <el-input v-model="titleForm.seizeReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 82 | <el-input v-model="registerInfo.SEIZEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
86 | type="number"></el-input> | 83 | type="number"></el-input> |
87 | </el-col> | 84 | </el-col> |
88 | <!-- 地役权登记数量 --> | ||
89 | <el-col :span="4"> | 85 | <el-col :span="4"> |
90 | <span>地役权登记数量:</span> | 86 | <span>其他登记:</span> |
91 | <el-input v-model="titleForm.easementReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 87 | <el-input v-model="registerInfo.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)" |
92 | type="number"></el-input> | 88 | type="number"></el-input> |
93 | </el-col> | 89 | </el-col> |
94 | <!-- 其他登记数量 --> | ||
95 | <el-col :span="4"> | 90 | <el-col :span="4"> |
96 | <span>其他登记数量:</span> | 91 | <span>业务类型量:</span> |
97 | <el-input v-model="titleForm.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 92 | <el-input v-model="registerInfo.BUSINESSTYPECOUNT" oninput="if(value.length > 6) value=value.slice(0, 6)" |
98 | type="number"></el-input> | 93 | type="number"></el-input> |
99 | </el-col> | 94 | </el-col> |
100 | <!-- 业务类型总数 --> | 95 | <el-col :span="4" style="border:none"> |
101 | <el-col :span="4"> | ||
102 | <span>业务类型总数:</span> | ||
103 | <el-input v-model="titleForm.businessTypeCount" oninput="if(value.length > 6) value=value.slice(0, 6)" | ||
104 | type="number"></el-input> | ||
105 | </el-col> | 96 | </el-col> |
106 | </el-row> | 97 | </el-row> |
107 | </div> | 98 | </div> |
108 | <P class="dialog-from_title">当日上报记录数</P> | ||
109 | <!-- 当日上报记录数 --> | 99 | <!-- 当日上报记录数 --> |
100 | <P class="dialog-from_title">当日上报记录数</P> | ||
110 | <div> | 101 | <div> |
111 | <el-row class="dialog-from_header item-content-input"> | 102 | <el-row class="dialog-from_header item-content-input"> |
112 | <el-col :span="4"> | 103 | <el-col :span="4"> |
113 | <span>总数量:</span> | 104 | <span>当日上报量:</span> |
114 | <el-input v-model="titleForm.totalNum" oninput="if(value.length > 6) value=value.slice(0, 6)" | 105 | <el-input v-model="accessInfo.TOTALNUM" disabled type="number"></el-input> |
115 | type="number"></el-input> | ||
116 | </el-col> | 106 | </el-col> |
117 | <el-col :span="4"> | 107 | <el-col :span="4"> |
118 | <span>首次登记数量:</span> | 108 | <span>首次登记量:</span> |
119 | <el-input v-model="titleForm.firstReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 109 | <el-input v-model="accessInfo.FIRSTREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
120 | type="number"></el-input> | 110 | type="number"></el-input> |
121 | </el-col> | 111 | </el-col> |
122 | <el-col :span="4"> | 112 | <el-col :span="4"> |
123 | <span>转移登记数量:</span> | 113 | <span>转移登记量:</span> |
124 | <el-input v-model="titleForm.transferReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 114 | <el-input v-model="accessInfo.TRANSFERREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
125 | type="number"></el-input> | 115 | type="number"></el-input> |
126 | </el-col> | 116 | </el-col> |
127 | <el-col :span="4"> | 117 | <el-col :span="4"> |
128 | <span>变更登记数量:</span> | 118 | <span>变更登记量:</span> |
129 | <el-input v-model="titleForm.changeReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 119 | <el-input v-model="accessInfo.CHANGEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
130 | type="number"></el-input> | 120 | type="number"></el-input> |
131 | </el-col> | 121 | </el-col> |
132 | <el-col :span="4"> | 122 | <el-col :span="4"> |
133 | <span>注销登记数量:</span> | 123 | <span>注销登记量:</span> |
134 | <el-input v-model="titleForm.logoutReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 124 | <el-input v-model="accessInfo.LOGOUTREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
135 | type="number"></el-input> | 125 | type="number"></el-input> |
136 | </el-col> | 126 | </el-col> |
137 | <!-- 更正登记数量 --> | ||
138 | <el-col :span="4"> | 127 | <el-col :span="4"> |
139 | <span>更正登记数量:</span> | 128 | <span>更正登记量:</span> |
140 | <el-input v-model="titleForm.riviseReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 129 | <el-input v-model="accessInfo.RIVISEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
141 | type="number"></el-input> | 130 | type="number"></el-input> |
142 | </el-col> | 131 | </el-col> |
143 | </el-row> | 132 | </el-row> |
144 | <el-row class="dialog-from_header item-content-input"> | 133 | <el-row class="dialog-from_header item-content-input"> |
145 | <el-col :span="4"> | 134 | <el-col :span="4"> |
146 | <span>异议登记数量:</span> | 135 | <span>异议登记量:</span> |
147 | <el-input v-model="titleForm.dissentingReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 136 | <el-input v-model="accessInfo.DISSENTINGREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
148 | type="number"></el-input> | 137 | type="number"></el-input> |
149 | </el-col> | 138 | </el-col> |
150 | <el-col :span="4"> | 139 | <el-col :span="4"> |
151 | <span>预告登记数量:</span> | 140 | <span>预告登记量:</span> |
152 | <el-input v-model="titleForm.advanceReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 141 | <el-input v-model="accessInfo.ADVANCEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
153 | type="number"></el-input> | 142 | type="number"></el-input> |
154 | </el-col> | 143 | </el-col> |
155 | <el-col :span="4"> | 144 | <el-col :span="4"> |
156 | <span>查封登记数量:</span> | 145 | <span>查封登记量:</span> |
157 | <el-input v-model="titleForm.seizeReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 146 | <el-input v-model="accessInfo.SEIZEREG" oninput="if(value.length > 6) value=value.slice(0, 6)" |
158 | type="number"></el-input> | 147 | type="number"></el-input> |
159 | </el-col> | 148 | </el-col> |
160 | <!-- 地役权登记数量 --> | ||
161 | <el-col :span="4"> | 149 | <el-col :span="4"> |
162 | <span>地役权登记数量:</span> | 150 | <span>其他登记:</span> |
163 | <el-input v-model="titleForm.easementReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 151 | <el-input v-model="accessInfo.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)" |
164 | type="number"></el-input> | 152 | type="number"></el-input> |
165 | </el-col> | 153 | </el-col> |
166 | <!-- 其他登记数量 --> | ||
167 | <el-col :span="4"> | 154 | <el-col :span="4"> |
168 | <span>其他登记数量:</span> | 155 | <span>业务类型量:</span> |
169 | <el-input v-model="titleForm.otherReg" oninput="if(value.length > 6) value=value.slice(0, 6)" | 156 | <el-input v-model="accessInfo.BUSINESSTYPECOUNT" oninput="if(value.length > 6) value=value.slice(0, 6)" |
170 | type="number"></el-input> | 157 | type="number"></el-input> |
171 | </el-col> | 158 | </el-col> |
172 | <!-- 业务类型总数 --> | 159 | <el-col :span="4" style="border:none"> |
173 | <el-col :span="4"> | ||
174 | <span>业务类型总数:</span> | ||
175 | <el-input v-model="titleForm.businessTypeCount" oninput="if(value.length > 6) value=value.slice(0, 6)" | ||
176 | type="number"></el-input> | ||
177 | </el-col> | 160 | </el-col> |
178 | </el-row> | 161 | </el-row> |
179 | </div> | 162 | </div> |
... | @@ -181,29 +164,27 @@ | ... | @@ -181,29 +164,27 @@ |
181 | <el-tab-pane label="当日登薄详单" name="drdbxd"></el-tab-pane> | 164 | <el-tab-pane label="当日登薄详单" name="drdbxd"></el-tab-pane> |
182 | <el-tab-pane label="当日上报详单" name="sbslxd"></el-tab-pane> | 165 | <el-tab-pane label="当日上报详单" name="sbslxd"></el-tab-pane> |
183 | </el-tabs> | 166 | </el-tabs> |
184 | <div class="from-clues-content" v-show="titleName2 == 'drdbxd'" :key="key"> | 167 | <!-- 当日登薄详单 --> |
168 | <div class="from-clues-content" v-show="titleName2 == 'drdbxd'"> | ||
185 | <lb-table :column="tableDBData.column" :pagination="false" :heightNumSetting="true" :heightNum="200" | 169 | <lb-table :column="tableDBData.column" :pagination="false" :heightNumSetting="true" :heightNum="200" |
186 | :data="tableDBData.data"> | 170 | :data="tableDBData.data"> |
187 | </lb-table> | 171 | </lb-table> |
188 | </div> | 172 | </div> |
173 | <!-- 当日上报详单 --> | ||
189 | <div class="from-clues-content" v-show="titleName2 == 'sbslxd'"> | 174 | <div class="from-clues-content" v-show="titleName2 == 'sbslxd'"> |
190 | <lb-table :column="tableSBData.column" :pagination="false" :heightNumSetting="true" :heightNum="200" | 175 | <lb-table :column="tableSBData.column" :pagination="false" :heightNumSetting="true" :heightNum="200" |
191 | :data="tableSBData.data"> | 176 | :data="tableSBData.data"> |
192 | </lb-table> | 177 | </lb-table> |
193 | </div> | 178 | </div> |
194 | |||
195 | </div> | 179 | </div> |
196 | </div> | 180 | </div> |
197 | <div class="editDialogBox-box" v-if="titleName == 'xml'"> | 181 | <div class="editDialogBox-box" v-if="titleName == 'xml'"> |
198 | <JsonEditor :resultInfo="resultInfo" /> | 182 | <JsonEditor :resultInfo="resultInfo" :key="key" /> |
199 | </div> | ||
200 | <div class="editDialogBox-box JsonEditor" v-if="titleName == 'xyjg'"> | ||
201 | <Xyjg :form-data='dataReport'></Xyjg> | ||
202 | </div> | 183 | </div> |
203 | </div> | 184 | </div> |
204 | <div class="d-center" v-if="titleName == 'sjmx'"> | 185 | <div class="d-center" v-if="titleName == 'sjmx'"> |
205 | <btn nativeType="cz" @click="dialogVisible = false">取 消</btn> | 186 | <btn nativeType="cz" @click="dialogVisible = false">取 消</btn> |
206 | <btn nativeType="cx" @click="submitForm">确 定</btn> | 187 | <btn nativeType="cx" @click="submitForm">保 存</btn> |
207 | </div> | 188 | </div> |
208 | <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'"> | 189 | <div class="d-center" v-if="!$store.state.business.Edit && titleName == 'xml'"> |
209 | <btn nativeType="cx" @click="handleResubmit">重新上报</btn> | 190 | <btn nativeType="cx" @click="handleResubmit">重新上报</btn> |
... | @@ -214,50 +195,62 @@ | ... | @@ -214,50 +195,62 @@ |
214 | <script> | 195 | <script> |
215 | import { sbdata, sendThis } from './data/sbdata' | 196 | import { sbdata, sendThis } from './data/sbdata' |
216 | import { dbdata, sendThis1 } from './data/dbdata' | 197 | import { dbdata, sendThis1 } from './data/dbdata' |
217 | import { getDetail } from "@/api/recordLog.js" | 198 | import { getDetail, edit, regenerateDbXml } from "@/api/recordLog.js" |
218 | import JsonEditor from "@/components/JsonEditor.vue"; | 199 | import JsonEditor from "@/components/JsonEditor.vue"; |
219 | import Xyjg from "./Result"; | 200 | import { judgeListComplete } from "@/utils/tools.js" |
220 | export default { | 201 | export default { |
221 | components: { JsonEditor, Xyjg }, | 202 | components: { JsonEditor }, |
222 | props: { | ||
223 | title: { | ||
224 | type: String, | ||
225 | default: '' | ||
226 | } | ||
227 | }, | ||
228 | data () { | 203 | data () { |
229 | return { | 204 | return { |
230 | key: 0, | 205 | key: 0, |
206 | title: '', | ||
231 | dialogVisible: false, | 207 | dialogVisible: false, |
232 | titleName: 'sjmx', | 208 | titleName: 'sjmx', |
233 | titleName2: 'drdbxd', | 209 | titleName2: 'drdbxd', |
210 | dbBsm: '', | ||
234 | // 头部信息 | 211 | // 头部信息 |
235 | accessLog: { | 212 | accessLog: { |
236 | AREACODE: '', | 213 | AREACODE: '', |
237 | AREANAME: '', | 214 | AREANAME: '', |
238 | CREATEDATE: '', | 215 | ACCESSDATE: '', |
239 | REMARK: '' | 216 | REMARK: '' |
240 | }, | 217 | }, |
241 | 218 | // 当日登薄信息记录数 | |
242 | titleForm: { | 219 | registerInfo: { |
243 | totalNum: '', | 220 | TOTALNUM: '', // 总数量 |
244 | firstReg: '', | 221 | FIRSTREG: '', // 首次登记数量 |
245 | transferReg: '', | 222 | TRANSFERREG: '', // 转移登记数量 |
246 | changeReg: '', | 223 | CHANGEREG: '', // 变更登记数量 |
247 | logoutReg: '', | 224 | LOGOUTREG: '', // 注销登记数量 |
248 | riviseReg: '', | 225 | RIVISEREG: '', // 更正登记数量 |
249 | // 异议登记数量 | 226 | DISSENTINGREG: '', // 异议登记数量 |
250 | dissentingReg: '', | 227 | ADVANCEREG: '', // 预告登记数量 |
251 | advanceReg: '', | 228 | SEIZEREG: '', // 查封登记数量 |
252 | seizeReg: '', | 229 | EASEMENTREG: '', // 地役权登记数量 |
253 | easementReg: '', | 230 | otherReg: '', // 其他登记数量 |
254 | otherReg: '', | 231 | BUSINESSTYPECOUNT: '', // 业务类型总数 |
255 | businessTypeCount: '' | 232 | }, |
233 | // 当日上报记录数 | ||
234 | accessInfo: { | ||
235 | TOTALNUM: '', // 总数量 | ||
236 | FIRSTREG: '', // 首次登记数量 | ||
237 | TRANSFERREG: '', // 转移登记数量 | ||
238 | CHANGEREG: '', // 变更登记数量 | ||
239 | LOGOUTREG: '', // 注销登记数量 | ||
240 | RIVISEREG: '', // 更正登记数量 | ||
241 | DISSENTINGREG: '', // 异议登记数量 | ||
242 | ADVANCEREG: '', // 预告登记数量 | ||
243 | SEIZEREG: '', // 查封登记数量 | ||
244 | EASEMENTREG: '', // 地役权登记数量 | ||
245 | otherReg: '', // 其他登记数量 | ||
246 | BUSINESSTYPECOUNT: '', // 业务类型总数 | ||
256 | }, | 247 | }, |
248 | // 当日登薄详单 | ||
257 | tableDBData: { | 249 | tableDBData: { |
258 | data: [], | 250 | data: [], |
259 | column: dbdata.columns() | 251 | column: dbdata.columns() |
260 | }, | 252 | }, |
253 | // 当日上报详单 | ||
261 | tableSBData: { | 254 | tableSBData: { |
262 | data: [], | 255 | data: [], |
263 | column: sbdata.columns() | 256 | column: sbdata.columns() |
... | @@ -271,63 +264,202 @@ export default { | ... | @@ -271,63 +264,202 @@ export default { |
271 | sendThis(this); | 264 | sendThis(this); |
272 | sendThis1(this); | 265 | sendThis1(this); |
273 | }, | 266 | }, |
267 | watch: { | ||
268 | registerInfo: { | ||
269 | handler: function (newVal, oldVal) { | ||
270 | this.registerInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) + | ||
271 | (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0) | ||
272 | + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0) | ||
273 | }, | ||
274 | deep: true | ||
275 | }, | ||
276 | accessInfo: { | ||
277 | handler: function (newVal, oldVal) { | ||
278 | this.accessInfo.TOTALNUM = (newVal.FIRSTREG - 0) + (newVal.TRANSFERREG - 0) + | ||
279 | (newVal.CHANGEREG - 0) + (newVal.LOGOUTREG - 0) + (newVal.RIVISEREG - 0) + (newVal.DISSENTINGREG - 0) | ||
280 | + (newVal.ADVANCEREG - 0) + (newVal.SEIZEREG - 0) + (newVal.otherReg - 0) | ||
281 | }, | ||
282 | deep: true | ||
283 | } | ||
284 | }, | ||
274 | methods: { | 285 | methods: { |
275 | closeDialog () { | 286 | closeDialog () { |
276 | this.dialogVisible = false; | 287 | this.dialogVisible = false; |
277 | }, | 288 | }, |
278 | isShow (item) { | 289 | isShow (item) { |
290 | this.title = '登薄日志(' + item.ACCESSDATE + ')' | ||
279 | this.titleName = 'sjmx' | 291 | this.titleName = 'sjmx' |
280 | this.dialogVisible = true | 292 | this.dialogVisible = true |
281 | console.log(item, 'itemitemitem') | 293 | this.dbBsm = item.dbBsm |
282 | getDetail(item.dbBsm).then(res => { | 294 | this._getDetails(item.dbBsm) |
283 | console.log(res, 'eeeeeeeeeeeeeeeee'); | 295 | }, |
296 | /** | ||
297 | * @description: 获取列表接口 | ||
298 | * @author: renchao | ||
299 | */ | ||
300 | _getDetails (data) { | ||
301 | getDetail(data).then(res => { | ||
302 | let { accessLog, registerInfo, accessInfo, accessList, registerList | ||
303 | } = res.result | ||
304 | this.accessLog = accessLog | ||
305 | this.resultInfo = accessLog.LOGSXML | ||
306 | this.registerInfo = registerInfo | ||
307 | this.accessInfo = accessInfo | ||
308 | this.tableDBData.data = _.cloneDeep(registerList) | ||
309 | this.tableSBData.data = _.cloneDeep(accessList) | ||
310 | this.tableDBData.data.forEach((item, index) => { | ||
311 | this.$set(item, 'index', index) | ||
312 | }) | ||
313 | this.tableSBData.data.forEach((item, index) => { | ||
314 | this.$set(item, 'index', index) | ||
315 | }) | ||
284 | }) | 316 | }) |
285 | }, | 317 | }, |
286 | // 当日登薄详单 | 318 | // 当日登薄详单 |
287 | handleDBAdd () { | 319 | handleDBAdd () { |
288 | this.tableDBData.data.push({ | 320 | this.tableDBData.data.push({ |
289 | ywh: '', | 321 | YWH: '', |
290 | djlx: '', | 322 | DJLX: '', |
291 | qllx: '', | 323 | QLLX: '', |
292 | bdcdyh: '', | 324 | BDCDYH: '', |
293 | zszmh: '', | 325 | ZSZMH: '', |
294 | sfsb: '', | 326 | SFSB: '', |
295 | bwid: '' | 327 | BWID: '', |
328 | BSM_DBLOG: this.accessLog.bsmDblog | ||
296 | }) | 329 | }) |
297 | this.tableDBData.data.forEach((item, indx) => { | 330 | this.tableDBData.data.forEach((item, index) => { |
298 | this.$set(item, 'index', index) | 331 | this.$set(item, 'index', index) |
299 | }) | 332 | }) |
300 | this.key++ | ||
301 | }, | 333 | }, |
302 | handleDBMinus (row) { | 334 | handleDBMinus (row) { |
303 | this.tableDBData.data.splice(row.index, 1) | 335 | this.$confirm('此操作将删除列表, 是否继续?', '提示', { |
336 | confirmButtonText: '确定', | ||
337 | cancelButtonText: '取消', | ||
338 | type: 'warning' | ||
339 | }).then(() => { | ||
340 | this.tableDBData.data.splice(row.index, 1) | ||
341 | this.$message({ | ||
342 | type: 'success', | ||
343 | message: '删除成功!' | ||
344 | }) | ||
345 | this.tableDBData.data.forEach((item, index) => { | ||
346 | this.$set(item, 'index', index) | ||
347 | }) | ||
348 | }).catch(() => { | ||
349 | this.$message({ | ||
350 | type: 'info', | ||
351 | message: '已取消删除' | ||
352 | }) | ||
353 | }) | ||
304 | }, | 354 | }, |
305 | // 当日上报详单 | 355 | // 当日上报详单 |
306 | handleSBAdd () { | 356 | handleSBAdd () { |
307 | this.tableSBData.data.push({ | 357 | this.tableSBData.data.push({ |
308 | ywh: '', | 358 | YWH: '', |
309 | djlx: '', | 359 | BDCDYH: '', |
310 | qllx: '', | 360 | BWID: '', |
311 | bdcdyh: '', | 361 | BSM_DBLOG: this.accessLog.bsmDblog |
312 | zszmh: '', | ||
313 | sfsb: '', | ||
314 | bwid: '' | ||
315 | }) | 362 | }) |
316 | this.tableSBData.data.forEach((item, indx) => { | 363 | this.tableSBData.data.forEach((item, index) => { |
317 | this.$set(item, 'index', index) | 364 | this.$set(item, 'index', index) |
318 | }) | 365 | }) |
319 | this.key++ | ||
320 | }, | 366 | }, |
321 | handleSBMinus (row) { | 367 | handleSBMinus (row) { |
322 | this.tableSBData.data.splice(row.index, 1) | 368 | this.$confirm('此操作将删除列表, 是否继续?', '提示', { |
369 | confirmButtonText: '确定', | ||
370 | cancelButtonText: '取消', | ||
371 | type: 'warning' | ||
372 | }).then(() => { | ||
373 | this.tableSBData.data.splice(row.index, 1) | ||
374 | this.$message({ | ||
375 | type: 'success', | ||
376 | message: '删除成功!' | ||
377 | }) | ||
378 | this.tableSBData.data.forEach((item, index) => { | ||
379 | this.$set(item, 'index', index) | ||
380 | }) | ||
381 | }).catch(() => { | ||
382 | this.$message({ | ||
383 | type: 'info', | ||
384 | message: '已取消删除' | ||
385 | }) | ||
386 | }) | ||
323 | }, | 387 | }, |
324 | submitForm () { } | 388 | /** |
389 | * @description: 确定修改详情 | ||
390 | * @param {*} function | ||
391 | * @author: renchao | ||
392 | */ | ||
393 | submitForm: _.debounce(function () { | ||
394 | let _this = this | ||
395 | if (_verify(this.tableDBData.data, '当日登薄详单列表必填') && _verify(this.tableSBData.data, '当日上报详单列表必填')) { | ||
396 | _editDetail() | ||
397 | } | ||
398 | function _verify (data, msg) { | ||
399 | let flag = true | ||
400 | if (!judgeListComplete(data)) { | ||
401 | _this.$message({ | ||
402 | message: msg, | ||
403 | type: 'warning' | ||
404 | }) | ||
405 | flag = false | ||
406 | } | ||
407 | return flag | ||
408 | } | ||
409 | function _editDetail () { | ||
410 | edit({ | ||
411 | accessLog: _this.accessLog, registerInfo: _this.registerInfo, | ||
412 | accessInfo: _this.accessInfo, | ||
413 | accessList: _this.tableSBData.data, | ||
414 | registerList: _this.tableDBData.data | ||
415 | }).then(res => { | ||
416 | if (res.code == 200) { | ||
417 | _this.$message({ | ||
418 | message: '保存成功', | ||
419 | type: 'success' | ||
420 | }) | ||
421 | _this._getDetails(_this.dbBsm) | ||
422 | } | ||
423 | }) | ||
424 | } | ||
425 | }, 600), | ||
426 | /** | ||
427 | * @description: 登薄日志重新生成报文 | ||
428 | * @param {*} function | ||
429 | * @author: renchao | ||
430 | */ | ||
431 | handleResubmit () { | ||
432 | let _this = this | ||
433 | this.$confirm('重新生成报文,是否上报省厅?', '提示', { | ||
434 | confirmButtonText: '确定', | ||
435 | cancelButtonText: '取消', | ||
436 | type: 'warning' | ||
437 | }).then(() => { | ||
438 | createXml() | ||
439 | }).catch(() => { | ||
440 | this.$message({ | ||
441 | type: 'info', | ||
442 | message: '已取消删除' | ||
443 | }) | ||
444 | }) | ||
445 | function createXml () { | ||
446 | regenerateDbXml(_this.dbBsm).then(res => { | ||
447 | if (res.code == 200) { | ||
448 | _this.$message({ | ||
449 | message: '生成成功', | ||
450 | type: 'success' | ||
451 | }) | ||
452 | _this.resultInfo = res.message | ||
453 | } | ||
454 | }) | ||
455 | } | ||
456 | } | ||
325 | } | 457 | } |
326 | } | 458 | } |
327 | </script> | 459 | </script> |
328 | <style scoped lang="scss"> | 460 | <style scoped lang="scss"> |
329 | @import "~@/styles/mixin.scss"; | 461 | @import "~@/styles/mixin.scss"; |
330 | @import "~@/styles/public.scss"; | 462 | // @import "~@/styles/public.scss"; |
331 | @import "~@/styles/dialogBox.scss"; | 463 | @import "~@/styles/dialogBox.scss"; |
332 | 464 | ||
333 | 465 | ||
... | @@ -366,6 +498,10 @@ export default { | ... | @@ -366,6 +498,10 @@ export default { |
366 | margin-right: 5px; | 498 | margin-right: 5px; |
367 | } | 499 | } |
368 | 500 | ||
501 | /deep/.el-icon-circle-close { | ||
502 | display: none; | ||
503 | } | ||
504 | |||
369 | /deep/.el-tabs__item.is-active { | 505 | /deep/.el-tabs__item.is-active { |
370 | background: url("~@/image/tabitemse.png") no-repeat; | 506 | background: url("~@/image/tabitemse.png") no-repeat; |
371 | background-size: 100% 100%; | 507 | background-size: 100% 100%; |
... | @@ -400,13 +536,6 @@ export default { | ... | @@ -400,13 +536,6 @@ export default { |
400 | width: 100%; | 536 | width: 100%; |
401 | } | 537 | } |
402 | 538 | ||
403 | .item-content-input { | ||
404 | /deep/.el-input__inner { | ||
405 | border: none !important; | ||
406 | text-align: right; | ||
407 | } | ||
408 | } | ||
409 | |||
410 | /deep/.el-textarea__inner { | 539 | /deep/.el-textarea__inner { |
411 | border: none !important; | 540 | border: none !important; |
412 | margin: 0; | 541 | margin: 0; | ... | ... |
... | @@ -192,13 +192,14 @@ class data { | ... | @@ -192,13 +192,14 @@ class data { |
192 | return ( | 192 | return ( |
193 | <div> | 193 | <div> |
194 | <el-button | 194 | <el-button |
195 | size="mini" | 195 | type="text" |
196 | type="primary" | 196 | style="color:#67C23A" |
197 | onClick={() => { | 197 | onClick={() => { |
198 | vm.handleEdit(scope.row); | 198 | vm.handleEdit(scope.row); |
199 | }} | 199 | }} |
200 | > | 200 | > |
201 | 编辑 | 201 | 修改 |
202 | <i class="el-icon-d-arrow-right"></i> | ||
202 | </el-button> | 203 | </el-button> |
203 | </div> | 204 | </div> |
204 | ); | 205 | ); | ... | ... |
... | @@ -154,6 +154,5 @@ export default { | ... | @@ -154,6 +154,5 @@ export default { |
154 | } | 154 | } |
155 | </script> | 155 | </script> |
156 | <style scoped lang="scss"> | 156 | <style scoped lang="scss"> |
157 | @import "~@/styles/public.scss"; | ||
158 | @import "./index.scss"; | 157 | @import "./index.scss"; |
159 | </style> | 158 | </style> | ... | ... |
... | @@ -156,15 +156,31 @@ export default { | ... | @@ -156,15 +156,31 @@ export default { |
156 | render: (h, scope) => { | 156 | render: (h, scope) => { |
157 | return ( | 157 | return ( |
158 | <div> | 158 | <div> |
159 | <el-button | 159 | { |
160 | size="mini" | 160 | scope.row.exchangeState == 2 ? |
161 | type="primary" | 161 | <el-button |
162 | onClick={() => { | 162 | size="mini" |
163 | this.handleDetail(scope.row); | 163 | type="text" |
164 | }} | 164 | style="color:#67C23A" |
165 | > | 165 | onClick={() => { |
166 | 详情 | 166 | this.handleDetail(scope.row); |
167 | </el-button> | 167 | }} |
168 | > | ||
169 | 修改 | ||
170 | <i class="el-icon-d-arrow-right"></i> | ||
171 | </el-button> : | ||
172 | <el-button | ||
173 | size="mini" | ||
174 | type="text" | ||
175 | onClick={() => { | ||
176 | this.handleDetail(scope.row); | ||
177 | }} | ||
178 | > | ||
179 | 详情 | ||
180 | <i class="el-icon-d-arrow-right"></i> | ||
181 | </el-button> | ||
182 | } | ||
183 | |||
168 | </div> | 184 | </div> |
169 | ); | 185 | ); |
170 | }, | 186 | }, |
... | @@ -203,7 +219,7 @@ export default { | ... | @@ -203,7 +219,7 @@ export default { |
203 | this.$refs.editLog.isShow(row); | 219 | this.$refs.editLog.isShow(row); |
204 | if (row.exchangeState == 2) { | 220 | if (row.exchangeState == 2) { |
205 | this.$store.dispatch('business/setReportLogEdit') | 221 | this.$store.dispatch('business/setReportLogEdit') |
206 | } else { | 222 | } else { |
207 | this.$store.dispatch('business/setEdit') | 223 | this.$store.dispatch('business/setEdit') |
208 | } | 224 | } |
209 | }, | 225 | }, |
... | @@ -219,7 +235,6 @@ export default { | ... | @@ -219,7 +235,6 @@ export default { |
219 | </script> | 235 | </script> |
220 | <style scoped lang="scss"> | 236 | <style scoped lang="scss"> |
221 | // 引入页面公共样式 | 237 | // 引入页面公共样式 |
222 | @import "~@/styles/public.scss"; | ||
223 | @import "./index.scss"; | 238 | @import "./index.scss"; |
224 | </style> | 239 | </style> |
225 | 240 | ... | ... |
... | @@ -146,8 +146,7 @@ export default { | ... | @@ -146,8 +146,7 @@ export default { |
146 | } | 146 | } |
147 | </script> | 147 | </script> |
148 | <style rel="stylesheet/scss" lang="scss" scoped> | 148 | <style rel="stylesheet/scss" lang="scss" scoped> |
149 | @import "~@/styles/public.scss"; | 149 | // @import "~@/styles/public.scss"; |
150 | |||
151 | .editDialogBox-box { | 150 | .editDialogBox-box { |
152 | margin: 14px 18px 30px 18px !important | 151 | margin: 14px 18px 30px 18px !important |
153 | } | 152 | } | ... | ... |
1 | <template> | 1 | <template> |
2 | <!-- 编辑 --> | 2 | <!-- 编辑 --> |
3 | <dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" | 3 | <dialogBox submitForm="submitForm" class="tableClass" @closeDialog="closeDialog" @submitForm="handleSubmit" width="60%" |
4 | width="60%" v-model="myValue" :isMain="true" title="字典信息"> | 4 | v-model="myValue" :isMain="true" title="字典信息"> |
5 | <div class="editDialogBox-box "> | 5 | <div class="editDialogBox-box "> |
6 | <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> | 6 | <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> |
7 | <el-row :gutter="20"> | 7 | <el-row :gutter="20"> |
... | @@ -17,9 +17,8 @@ | ... | @@ -17,9 +17,8 @@ |
17 | </el-col> | 17 | </el-col> |
18 | </el-row> | 18 | </el-row> |
19 | </el-form> | 19 | </el-form> |
20 | <lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key" | 20 | <lb-table :column="column" class="loadingtext opacity-input" :heightNum="600" :key="key" :expand-row-keys="keyList" |
21 | :expand-row-keys="keyList" row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false" | 21 | row-key="dictid" :tree-props="{ children: 'children' }" :pagination="false" :data="tableData"> |
22 | :data="tableData"> | ||
23 | </lb-table> | 22 | </lb-table> |
24 | </div> | 23 | </div> |
25 | </dialogBox> | 24 | </dialogBox> |
... | @@ -359,7 +358,7 @@ export default { | ... | @@ -359,7 +358,7 @@ export default { |
359 | }; | 358 | }; |
360 | </script> | 359 | </script> |
361 | <style rel="stylesheet/scss" lang="scss" scoped> | 360 | <style rel="stylesheet/scss" lang="scss" scoped> |
362 | @import "~@/styles/public.scss"; | 361 | // @import "~@/styles/public.scss"; |
363 | 362 | ||
364 | /deep/.el-radio { | 363 | /deep/.el-radio { |
365 | margin-right: 5px !important; | 364 | margin-right: 5px !important; | ... | ... |
... | @@ -84,7 +84,7 @@ | ... | @@ -84,7 +84,7 @@ |
84 | }, | 84 | }, |
85 | mounted () { | 85 | mounted () { |
86 | if (this.userInfo) { | 86 | if (this.userInfo) { |
87 | this.getUserInfo(this.userInfo.id) | 87 | this.getUserInfo(this.userInfo) |
88 | } | 88 | } |
89 | this.sexList = [ | 89 | this.sexList = [ |
90 | { | 90 | { |
... | @@ -105,8 +105,8 @@ | ... | @@ -105,8 +105,8 @@ |
105 | ] | 105 | ] |
106 | }, | 106 | }, |
107 | methods: { | 107 | methods: { |
108 | getUserInfo (id) { | 108 | getUserInfo (p) { |
109 | getAction(`${api.users}/${id}`).then((res) => { | 109 | getAction(`${api.users}/${p.id}`).then((res) => { |
110 | if (res.status === 1) { | 110 | if (res.status === 1) { |
111 | this.form = res.content | 111 | this.form = res.content |
112 | } else { | 112 | } else { |
... | @@ -136,12 +136,10 @@ | ... | @@ -136,12 +136,10 @@ |
136 | .user-info { | 136 | .user-info { |
137 | margin: 0.1875rem 1.0417rem; | 137 | margin: 0.1875rem 1.0417rem; |
138 | background: #ffffff; | 138 | background: #ffffff; |
139 | max-height: 90%; | ||
140 | overflow-y: auto; | 139 | overflow-y: auto; |
141 | .form-wrapper { | 140 | .form-wrapper { |
142 | padding: 24px 120px 0px; | 141 | padding: 0px 120px 0px; |
143 | .el-form-item { | 142 | .el-form-item { |
144 | margin-bottom: 24px; | ||
145 | /deep/.el-form-item__label { | 143 | /deep/.el-form-item__label { |
146 | color: #ffffff; | 144 | color: #ffffff; |
147 | } | 145 | } |
... | @@ -152,9 +150,12 @@ | ... | @@ -152,9 +150,12 @@ |
152 | border: 1px solid #6bc1fc; | 150 | border: 1px solid #6bc1fc; |
153 | } | 151 | } |
154 | } | 152 | } |
153 | .el-form-item--small.el-form-item { | ||
154 | margin-bottom: 16px; | ||
155 | } | ||
155 | } | 156 | } |
156 | .bottom-wrapper { | 157 | .bottom-wrapper { |
157 | padding: 32px 120px 24px; | 158 | padding: 0px 120px 0px; |
158 | text-align: right; | 159 | text-align: right; |
159 | } | 160 | } |
160 | } | 161 | } | ... | ... |
1 | <!-- | ||
2 | * @Author: xiaomiao 1158771342@qq.com | ||
3 | * @Date: 2023-03-08 15:30:43 | ||
4 | * @LastEditors: xiaomiao 1158771342@qq.com | ||
5 | * @LastEditTime: 2023-03-08 16:33:50 | ||
6 | * @FilePath: \监管系统\js-web-jianguan\src\views\system\information copy\index.vue | ||
7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||
8 | --> | ||
1 | <template> | 9 | <template> |
2 | <div class="information from-clues"> | 10 | <div class="information from-clues"> |
3 | <div class="from-clues-header"> | 11 | <div class="from-clues-header"> |
... | @@ -13,7 +21,7 @@ | ... | @@ -13,7 +21,7 @@ |
13 | </el-row> | 21 | </el-row> |
14 | </el-form> | 22 | </el-form> |
15 | </div> | 23 | </div> |
16 | <div class="from-clues-content"> | 24 | <div class="from-clues-content boxin"> |
17 | <div class="contentbox"> | 25 | <div class="contentbox"> |
18 | <base-set v-if="isshow" :userInfo="userData" /> | 26 | <base-set v-if="isshow" :userInfo="userData" /> |
19 | <password-edit v-if="!isshow" :userInfo="userData" /> | 27 | <password-edit v-if="!isshow" :userInfo="userData" /> |
... | @@ -61,9 +69,6 @@ | ... | @@ -61,9 +69,6 @@ |
61 | @import "~@/styles/mixin.scss"; | 69 | @import "~@/styles/mixin.scss"; |
62 | @import "~@/styles/public.scss"; | 70 | @import "~@/styles/public.scss"; |
63 | .information { | 71 | .information { |
64 | .btnColRight { | ||
65 | margin-top: 20px; | ||
66 | } | ||
67 | /deep/.content { | 72 | /deep/.content { |
68 | .el-input__inner { | 73 | .el-input__inner { |
69 | background: none; | 74 | background: none; |
... | @@ -71,15 +76,10 @@ | ... | @@ -71,15 +76,10 @@ |
71 | .user-info { | 76 | .user-info { |
72 | background: none; | 77 | background: none; |
73 | } | 78 | } |
74 | } | 79 | |
75 | /deep/.el-tabs { | 80 | .boxin { |
76 | .el-tabs__content { | 81 | height: 79%; |
77 | height: 100%; | ||
78 | width: 100%; | ||
79 | } | 82 | } |
80 | } | 83 | } |
81 | .contentbox { | ||
82 | height: 3.0854rem; | ||
83 | } | ||
84 | } | 84 | } |
85 | </style> | 85 | </style> | ... | ... |
... | @@ -69,13 +69,21 @@ | ... | @@ -69,13 +69,21 @@ |
69 | userInfo: { | 69 | userInfo: { |
70 | handler: function (val) { | 70 | handler: function (val) { |
71 | if (val) { | 71 | if (val) { |
72 | this.userId = val.id | 72 | this.getid(val) |
73 | } | 73 | } |
74 | } | 74 | } |
75 | } | 75 | } |
76 | |||
77 | }, | ||
78 | mounted () { | ||
79 | if (this.userInfo) { | ||
80 | this.getid(this.userInfo) | ||
81 | } | ||
76 | }, | 82 | }, |
77 | mounted () { }, | ||
78 | methods: { | 83 | methods: { |
84 | getid (val) { | ||
85 | this.userId = val.id | ||
86 | }, | ||
79 | validatorConfirmPassword (rule, value, callback) { | 87 | validatorConfirmPassword (rule, value, callback) { |
80 | const { newPassword } = this.form | 88 | const { newPassword } = this.form |
81 | if (value !== newPassword) { | 89 | if (value !== newPassword) { |
... | @@ -106,7 +114,6 @@ | ... | @@ -106,7 +114,6 @@ |
106 | .user-info { | 114 | .user-info { |
107 | margin: 36px 200px; | 115 | margin: 36px 200px; |
108 | background: #ffffff; | 116 | background: #ffffff; |
109 | max-height: 90%; | ||
110 | overflow-y: auto; | 117 | overflow-y: auto; |
111 | .form-wrapper { | 118 | .form-wrapper { |
112 | padding: 24px 120px 0px; | 119 | padding: 24px 120px 0px; | ... | ... |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | <Dialog | 3 | <Dialog class="modifydialog" :title="title" :show.sync="visible" :width="'767px'" @close="close()"> |
4 | class="modifydialog" | ||
5 | :title="title" | ||
6 | :show.sync="visible" | ||
7 | :width="'767px'" | ||
8 | @close="close()"> | ||
9 | <template slot="content"> | 4 | <template slot="content"> |
10 | <el-form ref="form" :model="form" :rules="rules"> | 5 | <el-form ref="form" :model="form" :rules="rules"> |
11 | <el-row :gutter="24"> | 6 | <el-row :gutter="24"> |
... | @@ -18,14 +13,8 @@ | ... | @@ -18,14 +13,8 @@ |
18 | <el-row :gutter="24"> | 13 | <el-row :gutter="24"> |
19 | <el-col :span="12"> | 14 | <el-col :span="12"> |
20 | <el-form-item label="上级菜单:" label-width="124px"> | 15 | <el-form-item label="上级菜单:" label-width="124px"> |
21 | <el-cascader | 16 | <el-cascader :key="menuKey" v-model="form.parentId" :options="parentMenuList" :props="setProps" |
22 | :key="menuKey" | 17 | placeholder="请选择上级菜单" clearable @change="handleChange" /> |
23 | v-model="form.parentId" | ||
24 | :options="parentMenuList" | ||
25 | :props="setProps" | ||
26 | placeholder="请选择上级菜单" | ||
27 | clearable | ||
28 | @change="handleChange" /> | ||
29 | </el-form-item> | 18 | </el-form-item> |
30 | </el-col> | 19 | </el-col> |
31 | 20 | ||
... | @@ -33,10 +22,7 @@ | ... | @@ -33,10 +22,7 @@ |
33 | <el-row :gutter="24"> | 22 | <el-row :gutter="24"> |
34 | <el-col :span="24"> | 23 | <el-col :span="24"> |
35 | <el-form-item label="代码:" prop="code" label-width="124px"> | 24 | <el-form-item label="代码:" prop="code" label-width="124px"> |
36 | <el-input | 25 | <el-input v-model="codeComputed" placeholder="请输入菜单代码" :disabled="type === 1" /> |
37 | v-model="codeComputed" | ||
38 | placeholder="请输入菜单代码" | ||
39 | :disabled="type === 1" /> | ||
40 | </el-form-item> | 26 | </el-form-item> |
41 | </el-col> | 27 | </el-col> |
42 | </el-row> | 28 | </el-row> |
... | @@ -50,28 +36,17 @@ | ... | @@ -50,28 +36,17 @@ |
50 | <el-row :gutter="24"> | 36 | <el-row :gutter="24"> |
51 | <el-col :span="24"> | 37 | <el-col :span="24"> |
52 | <el-form-item label="浏览器跳转模式:" label-width="124px"> | 38 | <el-form-item label="浏览器跳转模式:" label-width="124px"> |
53 | <el-select | 39 | <el-select v-model="form.jumpMode" placeholder="请选择浏览器跳转模式"> |
54 | v-model="form.jumpMode" | 40 | <el-option v-for="item in jumpModeList" :key="item.value" :label="item.name" :value="item.value" /> |
55 | placeholder="请选择浏览器跳转模式"> | ||
56 | <el-option | ||
57 | v-for="item in jumpModeList" | ||
58 | :key="item.value" | ||
59 | :label="item.name" | ||
60 | :value="item.value" /> | ||
61 | </el-select> | 41 | </el-select> |
62 | </el-form-item> | 42 | </el-form-item> |
63 | </el-col> | 43 | </el-col> |
64 | </el-row> | 44 | </el-row> |
65 | <el-row :gutter="24"> | 45 | <el-row :gutter="24"> |
66 | <el-col :span="24"> | 46 | <el-col :span="24"> |
67 | <el-form-item | 47 | <el-form-item label="配置参数:" label-width="124px" class="form-item-mb0"> |
68 | label="配置参数:" | ||
69 | label-width="124px" | ||
70 | class="form-item-mb0"> | ||
71 | <!-- 配置参数 --> | 48 | <!-- 配置参数 --> |
72 | <JsonEditor | 49 | <JsonEditor :result-infos="form.metadata" @getJsonString="getJsonString" /> |
73 | :result-infos="form.metadata" | ||
74 | @getJsonString="getJsonString" /> | ||
75 | </el-form-item> | 50 | </el-form-item> |
76 | </el-col> | 51 | </el-col> |
77 | </el-row> | 52 | </el-row> |
... | @@ -80,9 +55,7 @@ | ... | @@ -80,9 +55,7 @@ |
80 | <template slot="footer"> | 55 | <template slot="footer"> |
81 | <el-button class="cancel-button" @click="close()">取消</el-button> | 56 | <el-button class="cancel-button" @click="close()">取消</el-button> |
82 | 57 | ||
83 | <el-button | 58 | <el-button type="primary" @click="submitForm()">保存</el-button> |
84 | type="primary" | ||
85 | @click="submitForm()">保存</el-button> | ||
86 | </template> | 59 | </template> |
87 | </Dialog> | 60 | </Dialog> |
88 | <!-- 图标列表 --> | 61 | <!-- 图标列表 --> |
... | @@ -91,173 +64,173 @@ | ... | @@ -91,173 +64,173 @@ |
91 | </template> | 64 | </template> |
92 | 65 | ||
93 | <script> | 66 | <script> |
94 | import Dialog from "@/components/Dialog/"; | 67 | import Dialog from "@/components/Dialog/"; |
95 | import { getParentMenuListAction } from '@/api/authorityManage' | 68 | import { getParentMenuListAction } from '@/api/authorityManage' |
96 | import JsonEditor from '@/components/JsonEditors' | 69 | import JsonEditor from '@/components/JsonEditors' |
97 | import IconList from '@/components/IconList' | 70 | import IconList from '@/components/IconList' |
98 | import { validateCode } from '@/utils/validate'; | 71 | import { validateCode } from '@/utils/validate'; |
99 | import { api, httpAction } from '@/api/manageApi' | 72 | import { api, httpAction } from '@/api/manageApi' |
100 | export default { | 73 | export default { |
101 | name: 'MenuModal', | 74 | name: 'MenuModal', |
102 | components: { | 75 | components: { |
103 | IconList, | 76 | IconList, |
104 | JsonEditor, | 77 | JsonEditor, |
105 | Dialog | 78 | Dialog |
106 | }, | 79 | }, |
107 | props: { | 80 | props: { |
108 | productId: { | 81 | productId: { |
109 | type: String, | 82 | type: String, |
110 | default: '' | 83 | default: '' |
84 | } | ||
85 | }, | ||
86 | data () { | ||
87 | return { | ||
88 | form: { | ||
89 | icon: '', | ||
90 | code: '' | ||
91 | }, | ||
92 | rules: { | ||
93 | name: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }], | ||
94 | code: [ | ||
95 | { required: true, message: '必填', trigger: 'blur' }, | ||
96 | { validator: validateCode, trigger: 'blur' } | ||
97 | ] | ||
98 | }, | ||
99 | title: '', | ||
100 | type: '', | ||
101 | visible: false, | ||
102 | parentMenuList: [], | ||
103 | menuKey: 0, | ||
104 | jumpModeList: [ | ||
105 | { name: '在当前页面显示', value: 1 }, | ||
106 | { name: '跳转到新页面', value: 2 } | ||
107 | ], | ||
108 | setProps: { | ||
109 | value: 'id', | ||
110 | label: 'name', | ||
111 | children: 'children', | ||
112 | expandTrigger: 'hover', | ||
113 | checkStrictly: true, // 可取消关联,选择任意一级选项 | ||
114 | emitPath: false | ||
115 | }, | ||
116 | dataUrl: api.menus | ||
117 | } | ||
118 | }, | ||
119 | computed: { | ||
120 | codeComputed: { | ||
121 | get: function () { | ||
122 | return this.form.code | ||
123 | }, | ||
124 | set: function (val) { | ||
125 | this.form.code = val.toUpperCase() | ||
111 | } | 126 | } |
127 | } | ||
128 | }, | ||
129 | created () { }, | ||
130 | mounted () { }, | ||
131 | methods: { | ||
132 | // 获取父级菜单 | ||
133 | getParentMenuList (id) { | ||
134 | |||
135 | getParentMenuListAction(id).then((res) => { | ||
136 | if (res.status === 1) { | ||
137 | const list = this.$dealArrChildren(res.content) | ||
138 | if (id) { | ||
139 | this.parentMenuList = this.$dealArrDisabled( | ||
140 | this.$deepCopy(list), | ||
141 | id | ||
142 | ) | ||
143 | this.menuKey++ | ||
144 | } else { | ||
145 | this.parentMenuList = list | ||
146 | } | ||
147 | } else { | ||
148 | this.$message.error({ message: res.message, showClose: true }) | ||
149 | } | ||
150 | }) | ||
112 | }, | 151 | }, |
113 | data () { | 152 | getIconList () { |
114 | return { | 153 | this.$refs.iconList.show(true) |
115 | form: { | ||
116 | icon: '', | ||
117 | code: '' | ||
118 | }, | ||
119 | rules: { | ||
120 | name: [{ required: true, message: '请输入菜单名称', trigger: 'blur' }], | ||
121 | code: [ | ||
122 | { required: true, message: '必填', trigger: 'blur' }, | ||
123 | { validator: validateCode, trigger: 'blur' } | ||
124 | ] | ||
125 | }, | ||
126 | title: '', | ||
127 | type: '', | ||
128 | visible: false, | ||
129 | parentMenuList: [], | ||
130 | menuKey: 0, | ||
131 | jumpModeList: [ | ||
132 | { name: '在当前页面显示', value: 1 }, | ||
133 | { name: '跳转到新页面', value: 2 } | ||
134 | ], | ||
135 | setProps: { | ||
136 | value: 'id', | ||
137 | label: 'name', | ||
138 | children: 'children', | ||
139 | expandTrigger: 'hover', | ||
140 | checkStrictly: true, // 可取消关联,选择任意一级选项 | ||
141 | emitPath: false | ||
142 | }, | ||
143 | dataUrl: api.menus | ||
144 | } | ||
145 | }, | 154 | }, |
146 | computed: { | 155 | getIconName (data) { |
147 | codeComputed: { | 156 | this.form.icon = data |
148 | get: function () { | 157 | }, |
149 | return this.form.code | 158 | // 配置参数 |
150 | }, | 159 | getJsonString (data) { |
151 | set: function (val) { | 160 | this.form.metadata = data |
152 | this.form.code = val.toUpperCase() | 161 | }, |
153 | } | 162 | // 新增菜单 |
163 | add () { | ||
164 | this.getParentMenuList(this.productId) | ||
165 | this.visible = true | ||
166 | this.type = 0 | ||
167 | this.form.jumpMode = 1 | ||
168 | }, | ||
169 | // 编辑菜单 | ||
170 | edit (record) { | ||
171 | this.type = 1 | ||
172 | // 若有id为编辑 | ||
173 | if (record.id) { | ||
174 | this.$nextTick(() => { | ||
175 | this.form = Object.assign({}, record) | ||
176 | this.getParentMenuList(this.productId) | ||
177 | }) | ||
154 | } | 178 | } |
179 | this.visible = true | ||
155 | }, | 180 | }, |
156 | created () { }, | 181 | // 选择上级菜单 |
157 | mounted () { }, | 182 | handleChange (value) { |
158 | methods: { | 183 | this.form.parentId = value |
159 | // 获取父级菜单 | 184 | }, |
160 | getParentMenuList (id) { | 185 | // 保存 |
161 | 186 | submitForm (submitType) { | |
162 | getParentMenuListAction(id).then((res) => { | 187 | this.$refs.form.validate((valid) => { |
163 | if (res.status === 1) { | 188 | if (valid) { |
164 | const list = this.$dealArrChildren(res.content) | 189 | let method = '' |
165 | if (id) { | 190 | let url = '' |
166 | this.parentMenuList = this.$dealArrDisabled( | 191 | const formData = this.form |
167 | this.$deepCopy(list), | 192 | formData.productId = this.productId |
168 | id | 193 | if (!formData.id) { |
169 | ) | 194 | method = 'post' |
170 | this.menuKey++ | 195 | url = this.dataUrl |
171 | } else { | ||
172 | this.parentMenuList = list | ||
173 | } | ||
174 | } else { | 196 | } else { |
175 | this.$message.error({ message: res.message, showClose: true }) | 197 | method = 'put' |
198 | url = `${this.dataUrl}/${formData.id}` | ||
176 | } | 199 | } |
177 | }) | 200 | httpAction(url, formData, method) |
178 | }, | 201 | .then((res) => { |
179 | getIconList () { | 202 | if (res.status === 1) { |
180 | this.$refs.iconList.show(true) | 203 | this.$message.success({ |
181 | }, | 204 | message: res.message, |
182 | getIconName (data) { | 205 | showClose: true |
183 | this.form.icon = data | 206 | }) |
184 | }, | ||
185 | // 配置参数 | ||
186 | getJsonString (data) { | ||
187 | this.form.metadata = data | ||
188 | }, | ||
189 | // 新增菜单 | ||
190 | add () { | ||
191 | this.getParentMenuList(this.productId) | ||
192 | this.visible = true | ||
193 | this.type = 0 | ||
194 | this.form.jumpMode = 1 | ||
195 | }, | ||
196 | // 编辑菜单 | ||
197 | edit (record) { | ||
198 | this.type = 1 | ||
199 | // 若有id为编辑 | ||
200 | if (record.id) { | ||
201 | this.$nextTick(() => { | ||
202 | this.form = Object.assign({}, record) | ||
203 | this.getParentMenuList(this.productId) | ||
204 | }) | ||
205 | } | ||
206 | this.visible = true | ||
207 | }, | ||
208 | // 选择上级菜单 | ||
209 | handleChange (value) { | ||
210 | this.form.parentId = value | ||
211 | }, | ||
212 | // 保存 | ||
213 | submitForm (submitType) { | ||
214 | this.$refs.form.validate((valid) => { | ||
215 | if (valid) { | ||
216 | let method = '' | ||
217 | let url = '' | ||
218 | const formData = this.form | ||
219 | formData.productId = this.productId | ||
220 | if (!formData.id) { | ||
221 | method = 'post' | ||
222 | url = this.dataUrl | ||
223 | } else { | ||
224 | method = 'put' | ||
225 | url = `${this.dataUrl}/${formData.id}` | ||
226 | } | ||
227 | httpAction(url, formData, method) | ||
228 | .then((res) => { | ||
229 | if (res.status === 1) { | ||
230 | this.$message.success({ | ||
231 | message: res.message, | ||
232 | showClose: true | ||
233 | }) | ||
234 | 207 | ||
235 | this.resetForm() | 208 | this.resetForm() |
236 | this.$emit('ok') | 209 | this.$emit('ok') |
237 | } else { | 210 | } else { |
238 | this.$message.error({ message: res.message, showClose: true }) | 211 | this.$message.error({ message: res.message, showClose: true }) |
239 | } | 212 | } |
240 | }) | 213 | }) |
241 | .catch((err) => { | 214 | .catch((err) => { |
242 | console.log(err) | 215 | console.log(err) |
243 | }) | 216 | }) |
244 | } | ||
245 | }) | ||
246 | }, | ||
247 | resetForm () { | ||
248 | this.$refs.form.resetFields() | ||
249 | this.form = { | ||
250 | icon: '', | ||
251 | code: '' | ||
252 | } | 217 | } |
253 | }, | 218 | }) |
254 | close () { | 219 | }, |
255 | this.resetForm() | 220 | resetForm () { |
256 | this.visible = false | 221 | this.$refs.form.resetFields() |
222 | this.form = { | ||
223 | icon: '', | ||
224 | code: '' | ||
257 | } | 225 | } |
226 | }, | ||
227 | close () { | ||
228 | this.resetForm() | ||
229 | this.visible = false | ||
258 | } | 230 | } |
259 | } | 231 | } |
232 | } | ||
260 | </script> | 233 | </script> |
261 | <style scoped lang="scss"> | 234 | <style scoped lang="scss"> |
262 | @import "~@/styles/public.scss"; | 235 | // @import "~@/styles/public.scss"; |
263 | </style> | 236 | </style> | ... | ... |
... | @@ -13,182 +13,175 @@ | ... | @@ -13,182 +13,175 @@ |
13 | </el-form> | 13 | </el-form> |
14 | </div> | 14 | </div> |
15 | <div class="from-clues-content"> | 15 | <div class="from-clues-content"> |
16 | <lb-table | 16 | <lb-table :pagination="false" :column="tableData.columns" :data="tablelistData" row-key="id" default-expand-all |
17 | :pagination="false" | ||
18 | :column="tableData.columns" | ||
19 | :data="tablelistData" | ||
20 | row-key="id" | ||
21 | default-expand-all | ||
22 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> | 17 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> |
23 | </lb-table> | 18 | </lb-table> |
24 | </div> | 19 | </div> |
25 | <edit-dialog ref="dialogForm" | 20 | <edit-dialog ref="dialogForm" :product-id="productId" :resource-category-id="resourceCategoryId" |
26 | :product-id="productId" | ||
27 | :resource-category-id="resourceCategoryId" | ||
28 | @ok="reloadTableData" /> | 21 | @ok="reloadTableData" /> |
29 | <!-- <authorizationdiglog ref="rolesForm" /> --> | 22 | <!-- <authorizationdiglog ref="rolesForm" /> --> |
30 | </div> | 23 | </div> |
31 | </template> | 24 | </template> |
32 | <script> | 25 | <script> |
33 | // 定时任务 | 26 | // 定时任务 |
34 | import data from "./data"; | 27 | import data from "./data"; |
35 | import { deleteAction, getAction, api } from "@/api/manageApi"; | 28 | import { deleteAction, getAction, api } from "@/api/manageApi"; |
36 | import EditDialog from "./edit-dialog.vue"; | 29 | import EditDialog from "./edit-dialog.vue"; |
37 | // import authorizationdiglog from "./authorizationdiglog.vue"; | 30 | // import authorizationdiglog from "./authorizationdiglog.vue"; |
38 | export default { | 31 | export default { |
39 | name: "menus", | 32 | name: "menus", |
40 | components: { | 33 | components: { |
41 | EditDialog, | 34 | EditDialog, |
42 | // authorizationdiglog, | 35 | // authorizationdiglog, |
43 | }, | 36 | }, |
44 | data () { | 37 | data () { |
45 | return { | 38 | return { |
46 | tablelistData: [], | 39 | tablelistData: [], |
47 | resourceCategoryId: "", | 40 | resourceCategoryId: "", |
48 | taskData: null, | 41 | taskData: null, |
49 | form: { | 42 | form: { |
50 | job_name: "", | 43 | job_name: "", |
51 | currentPage: 1, | 44 | currentPage: 1, |
52 | }, | 45 | }, |
53 | title: "", | 46 | title: "", |
54 | queryParam: {}, | 47 | queryParam: {}, |
55 | selectType: "0", | 48 | selectType: "0", |
56 | queryName: "", | 49 | queryName: "", |
57 | organizationId: "", // 组织机构ID | 50 | organizationId: "", // 组织机构ID |
58 | departmentId: "", // 部门ID | 51 | departmentId: "", // 部门ID |
59 | departmentList: [], // 部门列表 | 52 | departmentList: [], // 部门列表 |
60 | levelList: [], // 职务级别 | 53 | levelList: [], // 职务级别 |
61 | sexList: [], | 54 | sexList: [], |
62 | 55 | ||
63 | selectionList: [], | 56 | selectionList: [], |
64 | tableData: { | 57 | tableData: { |
65 | columns: [].concat(data.columns()).concat([ | 58 | columns: [].concat(data.columns()).concat([ |
66 | { | 59 | { |
67 | label: "操作", | 60 | label: "操作", |
68 | width: 380, | 61 | width: 380, |
69 | render: (h, scope) => { | 62 | render: (h, scope) => { |
70 | return ( | 63 | return ( |
71 | <div> | 64 | <div> |
72 | <el-button | 65 | <el-button |
73 | type="text" | 66 | type="text" |
74 | size="mini" | 67 | size="mini" |
75 | icon="el-icon-edit" | 68 | icon="el-icon-edit" |
76 | onClick={() => { | 69 | onClick={() => { |
77 | this.handleEdit(scope.row); | 70 | this.handleEdit(scope.row); |
78 | }} | 71 | }} |
79 | > | 72 | > |
80 | 修改 | 73 | 修改 |
81 | </el-button> | 74 | </el-button> |
82 | 75 | ||
83 | <el-button | 76 | <el-button |
84 | type="text" | 77 | type="text" |
85 | size="mini" | 78 | size="mini" |
86 | icon="el-icon-delete" | 79 | icon="el-icon-delete" |
87 | style="color:#F56C6C" | 80 | style="color:#F56C6C" |
88 | onClick={() => { | 81 | onClick={() => { |
89 | this.handleDelete(scope.row.id, scope.row.name); | 82 | this.handleDelete(scope.row.id, scope.row.name); |
90 | }} | 83 | }} |
91 | > | 84 | > |
92 | 删除 | 85 | 删除 |
93 | </el-button> | 86 | </el-button> |
94 | </div> | 87 | </div> |
95 | ); | 88 | ); |
96 | }, | ||
97 | }, | 89 | }, |
98 | ]), | 90 | }, |
99 | data: [], | 91 | ]), |
100 | }, | 92 | data: [], |
101 | pageData: { | 93 | }, |
102 | total: 5, | 94 | pageData: { |
103 | pageSize: 15, | 95 | total: 5, |
104 | current: 1, | 96 | pageSize: 15, |
97 | current: 1, | ||
98 | }, | ||
99 | tableUrl: api.menus, // 菜单接口地址 | ||
100 | meumurlid: api.subsystem,// 项目id接口地址 | ||
101 | productId: ""//项目id | ||
102 | }; | ||
103 | }, | ||
104 | created () { | ||
105 | this.getTableList(); | ||
106 | }, | ||
107 | methods: { | ||
108 | // 加载表格数据 | ||
109 | getTableList () { | ||
110 | |||
111 | const queryOptionsid = { | ||
112 | conditionGroup: { | ||
113 | queryRelation: "AND", | ||
114 | conditions: [ | ||
115 | { | ||
116 | property: "code", | ||
117 | value: "BDCJGPT", | ||
118 | operator: "EQ", | ||
119 | }, | ||
120 | ], | ||
105 | }, | 121 | }, |
106 | tableUrl: api.menus, // 菜单接口地址 | ||
107 | meumurlid: api.subsystem,// 项目id接口地址 | ||
108 | productId: ""//项目id | ||
109 | }; | 122 | }; |
123 | const params = { | ||
124 | queryOptions: queryOptionsid, | ||
125 | }; | ||
126 | // 获取系统id | ||
127 | getAction(this.meumurlid, params) | ||
128 | .then((res) => { | ||
129 | this.productId = res.content[0].id; | ||
130 | let queryOptions = { | ||
131 | conditionGroup: { | ||
132 | conditions: [ | ||
133 | { | ||
134 | property: "productId", | ||
135 | value: this.productId, | ||
136 | operator: "EQ", | ||
137 | }, | ||
138 | ], | ||
139 | queryRelation: "AND", | ||
140 | }, | ||
141 | orderBys: [{ property: "sort", direction: "desc" }], | ||
142 | }; | ||
143 | if (!this.tableUrl) { | ||
144 | console.log("请设置tableUrl属性为接口地址!"); | ||
145 | return; | ||
146 | } | ||
147 | if (this.queryOptions !== "") { | ||
148 | this.queryParam.queryOptions = JSON.stringify(queryOptions); | ||
149 | } | ||
150 | // 查询系统菜单 | ||
151 | getAction(this.tableUrl, this.queryParam) | ||
152 | .then((res) => { | ||
153 | if (res.status === 1) { | ||
154 | this.loading = false; | ||
155 | this.tablelistData = res.content; | ||
156 | } else { | ||
157 | this.$message.error({ message: res.message, showClose: true }); | ||
158 | this.loading = false; | ||
159 | } | ||
160 | }) | ||
161 | .catch((error) => { | ||
162 | console.log("er", error); | ||
163 | this.loading = false; | ||
164 | }); | ||
165 | }) | ||
166 | .catch((error) => { | ||
167 | console.log("er", error); | ||
168 | }); | ||
110 | }, | 169 | }, |
111 | created () { | 170 | // 新增菜单 |
112 | this.getTableList(); | 171 | handleAdd () { |
172 | this.$refs.dialogForm.add(); | ||
173 | this.$refs.dialogForm.title = "添加"; | ||
113 | }, | 174 | }, |
114 | methods: { | ||
115 | // 加载表格数据 | ||
116 | getTableList () { | ||
117 | 175 | ||
118 | const queryOptionsid = { | 176 | // 修改 |
119 | conditionGroup: { | 177 | handleEdit (record) { |
120 | queryRelation: "AND", | 178 | this.$refs.dialogForm.edit(record); |
121 | conditions: [ | 179 | this.$refs.dialogForm.title = "修改"; |
122 | { | 180 | }, |
123 | property: "code", | 181 | // 删除 |
124 | value: "BDCJGPT", | 182 | handleDelete (id, content) { |
125 | operator: "EQ", | 183 | this.$confirm( |
126 | }, | 184 | `<div class="customer-message-wrapper"> |
127 | ], | ||
128 | }, | ||
129 | }; | ||
130 | const params = { | ||
131 | queryOptions: queryOptionsid, | ||
132 | }; | ||
133 | // 获取系统id | ||
134 | getAction(this.meumurlid, params) | ||
135 | .then((res) => { | ||
136 | this.productId = res.content[0].id; | ||
137 | let queryOptions = { | ||
138 | conditionGroup: { | ||
139 | conditions: [ | ||
140 | { | ||
141 | property: "productId", | ||
142 | value: this.productId, | ||
143 | operator: "EQ", | ||
144 | }, | ||
145 | ], | ||
146 | queryRelation: "AND", | ||
147 | }, | ||
148 | orderBys: [{ property: "sort", direction: "desc" }], | ||
149 | }; | ||
150 | if (!this.tableUrl) { | ||
151 | console.log("请设置tableUrl属性为接口地址!"); | ||
152 | return; | ||
153 | } | ||
154 | if (this.queryOptions !== "") { | ||
155 | this.queryParam.queryOptions = JSON.stringify(queryOptions); | ||
156 | } | ||
157 | // 查询系统菜单 | ||
158 | getAction(this.tableUrl, this.queryParam) | ||
159 | .then((res) => { | ||
160 | if (res.status === 1) { | ||
161 | this.loading = false; | ||
162 | this.tablelistData = res.content; | ||
163 | } else { | ||
164 | this.$message.error({ message: res.message, showClose: true }); | ||
165 | this.loading = false; | ||
166 | } | ||
167 | }) | ||
168 | .catch((error) => { | ||
169 | console.log("er", error); | ||
170 | this.loading = false; | ||
171 | }); | ||
172 | }) | ||
173 | .catch((error) => { | ||
174 | console.log("er", error); | ||
175 | }); | ||
176 | }, | ||
177 | // 新增菜单 | ||
178 | handleAdd () { | ||
179 | this.$refs.dialogForm.add(); | ||
180 | this.$refs.dialogForm.title = "添加"; | ||
181 | }, | ||
182 | |||
183 | // 修改 | ||
184 | handleEdit (record) { | ||
185 | this.$refs.dialogForm.edit(record); | ||
186 | this.$refs.dialogForm.title = "修改"; | ||
187 | }, | ||
188 | // 删除 | ||
189 | handleDelete (id, content) { | ||
190 | this.$confirm( | ||
191 | `<div class="customer-message-wrapper"> | ||
192 | <h5 class="title">您确认要执行该操作用于以下信息:</h5> | 185 | <h5 class="title">您确认要执行该操作用于以下信息:</h5> |
193 | <p class="content" aria-controls="${content}">${content} | 186 | <p class="content" aria-controls="${content}">${content} |
194 | </p> | 187 | </p> |
... | @@ -196,49 +189,51 @@ | ... | @@ -196,49 +189,51 @@ |
196 | <span >无法恢复</span> | 189 | <span >无法恢复</span> |
197 | </p> | 190 | </p> |
198 | </div>`, | 191 | </div>`, |
199 | '执行确认', | 192 | '执行确认', |
200 | { | 193 | { |
201 | dangerouslyUseHTMLString: true, | 194 | dangerouslyUseHTMLString: true, |
202 | customClass: 'customer-delete', | 195 | customClass: 'customer-delete', |
203 | confirmButtonText: '确定', | 196 | confirmButtonText: '确定', |
204 | cancelButtonText: '取消', | 197 | cancelButtonText: '取消', |
205 | type: 'warning' | 198 | type: 'warning' |
199 | } | ||
200 | ) | ||
201 | .then(() => { | ||
202 | if (!this.tableUrl) { | ||
203 | this.$message.error({ | ||
204 | message: '请设置tableUrl属性为接口地址!', | ||
205 | showClose: true | ||
206 | }) | ||
207 | return | ||
206 | } | 208 | } |
207 | ) | 209 | const url = this.tableUrl + '/' + id |
208 | .then(() => { | 210 | deleteAction(url).then(res => { |
209 | if (!this.tableUrl) { | 211 | if (res.status === 1) { |
210 | this.$message.error({ | 212 | this.$message.success({ message: res.message, showClose: true }) |
211 | message: '请设置tableUrl属性为接口地址!', | 213 | this.reloadTableData() |
212 | showClose: true | 214 | } else { |
213 | }) | 215 | this.$message.error({ message: res.message, showClose: true }) |
214 | return | ||
215 | } | 216 | } |
216 | const url = this.tableUrl + '/' + id | ||
217 | deleteAction(url).then(res => { | ||
218 | if (res.status === 1) { | ||
219 | this.$message.success({ message: res.message, showClose: true }) | ||
220 | this.reloadTableData() | ||
221 | } else { | ||
222 | this.$message.error({ message: res.message, showClose: true }) | ||
223 | } | ||
224 | }) | ||
225 | }) | 217 | }) |
226 | .catch(() => { }) | 218 | }) |
227 | }, | 219 | .catch(() => { }) |
228 | // 新增、编辑回显 | 220 | }, |
229 | reloadTableData () { | 221 | // 新增、编辑回显 |
230 | this.getTableList() | 222 | reloadTableData () { |
231 | }, | 223 | this.getTableList() |
232 | }, | 224 | }, |
233 | }; | 225 | }, |
226 | }; | ||
234 | </script> | 227 | </script> |
235 | <style scoped lang="scss"> | 228 | <style scoped lang="scss"> |
236 | @import "~@/styles/mixin.scss"; | 229 | @import "~@/styles/mixin.scss"; |
237 | @import "~@/styles/public.scss"; | 230 | |
238 | .btnColRight { | 231 | // @import "~@/styles/public.scss"; |
239 | margin-top: 20px; | 232 | .btnColRight { |
240 | } | 233 | margin-top: 20px; |
241 | /deep/.el-table__expand-icon { | 234 | } |
242 | color: #fff; | 235 | |
243 | } | 236 | /deep/.el-table__expand-icon { |
237 | color: #fff; | ||
238 | } | ||
244 | </style> | 239 | </style> | ... | ... |
... | @@ -8,12 +8,12 @@ class data extends filter { | ... | @@ -8,12 +8,12 @@ class data extends filter { |
8 | { | 8 | { |
9 | prop: "name", | 9 | prop: "name", |
10 | label: "角色名称", | 10 | label: "角色名称", |
11 | width: 330 | 11 | width: 130 |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | prop: "type", | 14 | prop: "type", |
15 | label: "类别", | 15 | label: "类别", |
16 | width: 400 | 16 | width: 200 |
17 | }, | 17 | }, |
18 | { | 18 | { |
19 | prop: "description", | 19 | prop: "description", | ... | ... |
... | @@ -13,14 +13,8 @@ | ... | @@ -13,14 +13,8 @@ |
13 | </el-form> | 13 | </el-form> |
14 | </div> | 14 | </div> |
15 | <div class="from-clues-content"> | 15 | <div class="from-clues-content"> |
16 | <lb-table | 16 | <lb-table :pagination="false" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" |
17 | :pagination="false" | 17 | :column="tableData.columns" :data="listdata" :expand-row-keys="keyList" row-key="dictid"> |
18 | @size-change="handleSizeChange" | ||
19 | @p-current-change="handleCurrentChange" | ||
20 | :column="tableData.columns" | ||
21 | :data="listdata" | ||
22 | :expand-row-keys="keyList" | ||
23 | row-key="dictid"> | ||
24 | </lb-table> | 18 | </lb-table> |
25 | </div> | 19 | </div> |
26 | <EditDialog ref="addEditDialog" @ok="reloadTableData" /> | 20 | <EditDialog ref="addEditDialog" @ok="reloadTableData" /> |
... | @@ -28,90 +22,90 @@ | ... | @@ -28,90 +22,90 @@ |
28 | </div> | 22 | </div> |
29 | </template> | 23 | </template> |
30 | <script> | 24 | <script> |
31 | import { | 25 | import { |
32 | getUuid, | 26 | getUuid, |
33 | judgeSort, | 27 | judgeSort, |
34 | realMove, | 28 | realMove, |
35 | findParents, | 29 | findParents, |
36 | removeTreeListItem, | 30 | removeTreeListItem, |
37 | } from "@/utils/operation"; | 31 | } from "@/utils/operation"; |
38 | import { getRolesById, getAuthorityListAction } from "@/api/authorityManage"; | 32 | import { getRolesById, getAuthorityListAction } from "@/api/authorityManage"; |
39 | import { getUserRoles } from "@/api/personnelManage"; | 33 | import { getUserRoles } from "@/api/personnelManage"; |
40 | import data from "./data"; | 34 | import data from "./data"; |
41 | import { api, getAction, deleteAction } from "@/api/manageApi"; | 35 | import { api, getAction, deleteAction } from "@/api/manageApi"; |
42 | import tableMixin from "@/mixins/tableMixin.js"; | 36 | import tableMixin from "@/mixins/tableMixin.js"; |
43 | import EditDialog from "./edit-dialog.vue"; | 37 | import EditDialog from "./edit-dialog.vue"; |
44 | import Roleslistdiglog from "./roleslistdiglog.vue"; | 38 | import Roleslistdiglog from "./roleslistdiglog.vue"; |
45 | export default { | 39 | export default { |
46 | name: "menus", | 40 | name: "menus", |
47 | mixins: [tableMixin], | 41 | mixins: [tableMixin], |
48 | components: { | 42 | components: { |
49 | EditDialog, | 43 | EditDialog, |
50 | Roleslistdiglog, | 44 | Roleslistdiglog, |
51 | }, | 45 | }, |
52 | data () { | 46 | data () { |
53 | return { | 47 | return { |
54 | personlist: null, | 48 | personlist: null, |
55 | waitMemberList: [], | 49 | waitMemberList: [], |
56 | keyList: [], | 50 | keyList: [], |
57 | listdata: [], | 51 | listdata: [], |
58 | tableUrl: api.roles, | 52 | tableUrl: api.roles, |
59 | form: { | 53 | form: { |
60 | job_name: "", | 54 | job_name: "", |
61 | currentPage: 1, | 55 | currentPage: 1, |
56 | }, | ||
57 | // 当前所选角色id | ||
58 | roleId: "", | ||
59 | title: "", | ||
60 | queryParam: {}, | ||
61 | multipleSelection: [], | ||
62 | // 菜单列表 | ||
63 | menutablelistData: [], | ||
64 | tableUrl: api.menus, // 菜单接口地址 | ||
65 | meumurlid: api.subsystem, // 项目id接口地址 | ||
66 | selectType: "0", | ||
67 | queryName: "", | ||
68 | organizationId: "", // 组织机构ID | ||
69 | departmentId: "", // 部门ID | ||
70 | departmentList: [], // 部门列表 | ||
71 | levelList: [], // 职务级别 | ||
72 | sexList: [], | ||
73 | operationCodes: null, // 操作符对象 | ||
74 | operationList: [], // 获取授权列表需要提交的操作符数组 | ||
75 | typeOptions: [ | ||
76 | { | ||
77 | value: "0", | ||
78 | label: "姓名", | ||
62 | }, | 79 | }, |
63 | // 当前所选角色id | 80 | { |
64 | roleId: "", | 81 | value: "1", |
65 | title: "", | 82 | label: "工号", |
66 | queryParam: {}, | 83 | }, |
67 | multipleSelection: [], | 84 | { |
68 | // 菜单列表 | 85 | value: "2", |
69 | menutablelistData: [], | 86 | label: "部门", |
70 | tableUrl: api.menus, // 菜单接口地址 | 87 | }, |
71 | meumurlid: api.subsystem, // 项目id接口地址 | 88 | { |
72 | selectType: "0", | 89 | value: "3", |
73 | queryName: "", | 90 | label: "机构", |
74 | organizationId: "", // 组织机构ID | 91 | }, |
75 | departmentId: "", // 部门ID | 92 | ], |
76 | departmentList: [], // 部门列表 | 93 | |
77 | levelList: [], // 职务级别 | 94 | selectionList: [], |
78 | sexList: [], | 95 | tableData: { |
79 | operationCodes: null, // 操作符对象 | 96 | columns: [ |
80 | operationList: [], // 获取授权列表需要提交的操作符数组 | ||
81 | typeOptions: [ | ||
82 | { | ||
83 | value: "0", | ||
84 | label: "姓名", | ||
85 | }, | ||
86 | { | ||
87 | value: "1", | ||
88 | label: "工号", | ||
89 | }, | ||
90 | { | ||
91 | value: "2", | ||
92 | label: "部门", | ||
93 | }, | ||
94 | { | 97 | { |
95 | value: "3", | 98 | label: "序号", |
96 | label: "机构", | 99 | type: "index", |
100 | width: "50", | ||
101 | index: this.indexMethod, | ||
97 | }, | 102 | }, |
98 | ], | 103 | ] |
99 | 104 | .concat(data.columns()) | |
100 | selectionList: [], | ||
101 | tableData: { | ||
102 | columns: [ | ||
103 | { | ||
104 | label: "序号", | ||
105 | type: "index", | ||
106 | width: "50", | ||
107 | index: this.indexMethod, | ||
108 | }, | ||
109 | ] | ||
110 | .concat(data.columns()) | ||
111 | .concat([ | 105 | .concat([ |
112 | { | 106 | { |
113 | label: "排序", | 107 | label: "排序", |
114 | width: 380, | 108 | width: 100, |
115 | render: (h, scope) => { | 109 | render: (h, scope) => { |
116 | return ( | 110 | return ( |
117 | <div> | 111 | <div> |
... | @@ -141,7 +135,7 @@ | ... | @@ -141,7 +135,7 @@ |
141 | .concat([ | 135 | .concat([ |
142 | { | 136 | { |
143 | label: "操作", | 137 | label: "操作", |
144 | width: 380, | 138 | width: 280, |
145 | render: (h, scope) => { | 139 | render: (h, scope) => { |
146 | return ( | 140 | return ( |
147 | <div> | 141 | <div> |
... | @@ -212,203 +206,204 @@ | ... | @@ -212,203 +206,204 @@ |
212 | </div> | 206 | </div> |
213 | ); | 207 | ); |
214 | }, | 208 | }, |
215 | }, | 209 | |
216 | ]), | 210 | }]), |
217 | data: [], | 211 | }, |
218 | }, | 212 | data: [], |
219 | }; | 213 | } |
220 | }, | ||
221 | created () { | ||
222 | this.getTableData(); | ||
223 | this.getTableList() | ||
224 | }, | 214 | }, |
225 | mounted () { }, | ||
226 | methods: { | ||
227 | // 获取角色列表 | ||
228 | getTableData () { | ||
229 | let Builtinrole = []; | ||
230 | let Publicrole = []; | ||
231 | 215 | ||
232 | getRolesById(1) | 216 | created () { |
233 | .then((res) => { | 217 | this.getTableData(); |
234 | Builtinrole = res.content; | 218 | this.getTableList() |
235 | getRolesById(2) | 219 | }, |
236 | .then((res) => { | 220 | mounted () { }, |
237 | console.log("角色列表", res); | 221 | methods: { |
238 | Publicrole = res.content; | 222 | // 获取角色列表 |
223 | getTableData () { | ||
224 | let Builtinrole = []; | ||
225 | let Publicrole = []; | ||
239 | 226 | ||
240 | this.listdata = Builtinrole.concat(Publicrole); | 227 | getRolesById(1) |
228 | .then((res) => { | ||
229 | Builtinrole = res.content; | ||
230 | getRolesById(2) | ||
231 | .then((res) => { | ||
232 | console.log("角色列表", res); | ||
233 | Publicrole = res.content; | ||
241 | 234 | ||
242 | this.listdata = judgeSort(this.listdata); | 235 | this.listdata = Builtinrole.concat(Publicrole); |
243 | }) | ||
244 | .catch((e) => console.error(e)); | ||
245 | }) | ||
246 | .catch((e) => console.error(e)); | ||
247 | }, | ||
248 | 236 | ||
249 | // 获取菜单列表 | 237 | this.listdata = judgeSort(this.listdata); |
250 | getTableList () { | 238 | }) |
251 | const queryOptionsid = { | 239 | .catch((e) => console.error(e)); |
252 | conditionGroup: { | 240 | }) |
253 | queryRelation: "AND", | 241 | .catch((e) => console.error(e)); |
254 | conditions: [ | 242 | }, |
255 | { | ||
256 | property: "code", | ||
257 | value: "BDCJGPT", | ||
258 | operator: "EQ", | ||
259 | }, | ||
260 | ], | ||
261 | }, | ||
262 | }; | ||
263 | const params = { | ||
264 | queryOptions: queryOptionsid, | ||
265 | }; | ||
266 | // 获取系统id | ||
267 | getAction(this.meumurlid, params) | ||
268 | .then((res) => { | ||
269 | this.productId = res.content[0].id; | ||
270 | this.getAuthorityList(res.content[0].id, res.content[0].code) | ||
271 | this.selectedSubsystemCode = res.content[0].code | ||
272 | let queryOptions = { | ||
273 | conditionGroup: { | ||
274 | conditions: [ | ||
275 | { | ||
276 | property: "productId", | ||
277 | value: this.productId, | ||
278 | operator: "EQ", | ||
279 | }, | ||
280 | ], | ||
281 | queryRelation: "AND", | ||
282 | }, | ||
283 | orderBys: [{ property: "sort", direction: "desc" }], | ||
284 | }; | ||
285 | if (!this.tableUrl) { | ||
286 | console.log("请设置tableUrl属性为接口地址!"); | ||
287 | return; | ||
288 | } | ||
289 | if (this.queryOptions !== "") { | ||
290 | this.queryParam.queryOptions = JSON.stringify(queryOptions); | ||
291 | } | ||
292 | // 查询系统菜单 | ||
293 | getAction(this.tableUrl, this.queryParam) | ||
294 | .then((res) => { | ||
295 | if (res.status === 1) { | ||
296 | this.loading = false; | ||
297 | this.menutablelistData = res.content; | ||
298 | } else { | ||
299 | this.$message.error({ message: res.message, showClose: true }); | ||
300 | this.loading = false; | ||
301 | } | ||
302 | }) | ||
303 | .catch((error) => { | ||
304 | console.log("er", error); | ||
305 | this.loading = false; | ||
306 | }); | ||
307 | }) | ||
308 | .catch((error) => { | ||
309 | console.log("er", error); | ||
310 | }); | ||
311 | }, | ||
312 | // 获取权限列表 | ||
313 | getAuthorityList (productId, code) { | ||
314 | getAuthorityListAction(productId, code).then( | ||
315 | res => { | ||
316 | if (res.status === 1) { | ||
317 | if (res.content.length !== 0) { | ||
318 | this.operationCodes = res.content[0].operations | ||
319 | this.operationList = [] | ||
320 | for (var k in this.operationCodes) { | ||
321 | this.operationList.push(k) | ||
322 | } | ||
323 | } | ||
324 | } else { | ||
325 | this.$message.error({ message: res.message, showClose: true }) | ||
326 | } | ||
327 | } | ||
328 | ) | ||
329 | }, | ||
330 | |||
331 | // 配置 | ||
332 | getUserList (row) { | ||
333 | this.getTableList() | ||
334 | const params = {}; | ||
335 | const queryOptions = { | ||
336 | conditionGroup: { | ||
337 | conditions: [ | ||
338 | { | ||
339 | property: "organizationId", | ||
340 | value: row.organizationId, | ||
341 | operator: "EQ", | ||
342 | }, | ||
343 | { | ||
344 | property: "departmentId", | ||
345 | value: row.departmentId, | ||
346 | operator: "EQ", | ||
347 | }, | ||
348 | ], | ||
349 | queryRelation: "AND", | ||
350 | }, | ||
351 | orderBys: [{ property: "sort", direction: "desc" }], | ||
352 | }; | ||
353 | params.queryOptions = JSON.stringify(queryOptions); | ||
354 | 243 | ||
355 | getUserRoles(row.id).then((res) => { | 244 | // 获取菜单列表 |
356 | if (res.status === 1) { | 245 | getTableList () { |
357 | this.personlist = res.content; | 246 | const queryOptionsid = { |
358 | getAction(api.users, params).then((res) => { | 247 | conditionGroup: { |
248 | queryRelation: "AND", | ||
249 | conditions: [ | ||
250 | { | ||
251 | property: "code", | ||
252 | value: "BDCJGPT", | ||
253 | operator: "EQ", | ||
254 | }, | ||
255 | ], | ||
256 | }, | ||
257 | }; | ||
258 | const params = { | ||
259 | queryOptions: queryOptionsid, | ||
260 | }; | ||
261 | // 获取系统id | ||
262 | getAction(this.meumurlid, params) | ||
263 | .then((res) => { | ||
264 | this.productId = res.content[0].id; | ||
265 | this.getAuthorityList(res.content[0].id, res.content[0].code) | ||
266 | this.selectedSubsystemCode = res.content[0].code | ||
267 | let queryOptions = { | ||
268 | conditionGroup: { | ||
269 | conditions: [ | ||
270 | { | ||
271 | property: "productId", | ||
272 | value: this.productId, | ||
273 | operator: "EQ", | ||
274 | }, | ||
275 | ], | ||
276 | queryRelation: "AND", | ||
277 | }, | ||
278 | orderBys: [{ property: "sort", direction: "desc" }], | ||
279 | }; | ||
280 | if (!this.tableUrl) { | ||
281 | console.log("请设置tableUrl属性为接口地址!"); | ||
282 | return; | ||
283 | } | ||
284 | if (this.queryOptions !== "") { | ||
285 | this.queryParam.queryOptions = JSON.stringify(queryOptions); | ||
286 | } | ||
287 | // 查询系统菜单 | ||
288 | getAction(this.tableUrl, this.queryParam) | ||
289 | .then((res) => { | ||
359 | if (res.status === 1) { | 290 | if (res.status === 1) { |
360 | this.waitMemberList = res.content; | 291 | this.loading = false; |
361 | if (this.personlist) { | 292 | this.menutablelistData = res.content; |
362 | this.waitMemberList.forEach((item, i) => { | ||
363 | this.personlist.forEach((val) => { | ||
364 | if (item.id === val.id) { | ||
365 | this.waitMemberList[i].selectStatus = 0; | ||
366 | } | ||
367 | }); | ||
368 | }); | ||
369 | } | ||
370 | |||
371 | this.$refs.rolesForm.personlist(this.waitMemberList, row.id); | ||
372 | this.$refs.rolesForm.menulist(this.operationList, row.id, this.selectedSubsystemCode, this.menutablelistData, this.operationCodes); | ||
373 | } else { | 293 | } else { |
374 | this.$message.error({ message: res.message, showClose: true }); | 294 | this.$message.error({ message: res.message, showClose: true }); |
295 | this.loading = false; | ||
375 | } | 296 | } |
297 | }) | ||
298 | .catch((error) => { | ||
299 | console.log("er", error); | ||
300 | this.loading = false; | ||
376 | }); | 301 | }); |
377 | this.$refs.rolesForm.title = "人员配置"; | 302 | }) |
378 | } else this.$message.error({ message: res.message, showClose: true }); | 303 | .catch((error) => { |
304 | console.log("er", error); | ||
379 | }); | 305 | }); |
380 | }, | 306 | }, |
381 | // 新增、修改角色 | 307 | // 获取权限列表 |
382 | handleAddEdit (value) { | 308 | getAuthorityList (productId, code) { |
383 | this.$refs.addEditDialog.menuType = this.menuType; | 309 | getAuthorityListAction(productId, code).then( |
384 | this.$refs.addEditDialog.roleId = value.id; | 310 | res => { |
385 | this.roleSort = value.sort ? value.sort : 0; | 311 | if (res.status === 1) { |
386 | if (value.id) { | 312 | if (res.content.length !== 0) { |
387 | this.$refs.addEditDialog.dialogForm.roleName = value.name; | 313 | this.operationCodes = res.content[0].operations |
388 | this.$refs.addEditDialog.dialogForm.roleType = value.type; | 314 | this.operationList = [] |
389 | this.$refs.addEditDialog.dialogForm.roleTextArea = value.description; | 315 | for (var k in this.operationCodes) { |
316 | this.operationList.push(k) | ||
317 | } | ||
318 | } | ||
319 | } else { | ||
320 | this.$message.error({ message: res.message, showClose: true }) | ||
321 | } | ||
390 | } | 322 | } |
391 | this.$refs.addEditDialog.showAddEditDialog = true; | 323 | ) |
392 | this.$refs.addEditDialog.dialogTitle = value.id ? "修改" : "新增"; | 324 | }, |
393 | }, | ||
394 | // 上移下移 | ||
395 | moveUpward (index, row) { | ||
396 | realMove(row.dictid, "UP", this.listdata); | ||
397 | this.key++; | ||
398 | let id = findParents(this.listdata, row.dictid); | ||
399 | this.keyList = id; | ||
400 | }, | ||
401 | moveDown (index, row) { | ||
402 | realMove(row.dictid, "DOWN", this.listdata); | ||
403 | this.key++; | ||
404 | let id = findParents(this.listdata, row.dictid); | ||
405 | this.keyList = id; | ||
406 | }, | ||
407 | 325 | ||
408 | // 删除 | 326 | // 配置 |
409 | handleDelete: function (id, content = "") { | 327 | getUserList (row) { |
410 | this.$confirm( | 328 | this.getTableList() |
411 | `<div class="customer-message-wrapper"> | 329 | const params = {}; |
330 | const queryOptions = { | ||
331 | conditionGroup: { | ||
332 | conditions: [ | ||
333 | { | ||
334 | property: "organizationId", | ||
335 | value: row.organizationId, | ||
336 | operator: "EQ", | ||
337 | }, | ||
338 | { | ||
339 | property: "departmentId", | ||
340 | value: row.departmentId, | ||
341 | operator: "EQ", | ||
342 | }, | ||
343 | ], | ||
344 | queryRelation: "AND", | ||
345 | }, | ||
346 | orderBys: [{ property: "sort", direction: "desc" }], | ||
347 | }; | ||
348 | params.queryOptions = JSON.stringify(queryOptions); | ||
349 | |||
350 | getUserRoles(row.id).then((res) => { | ||
351 | if (res.status === 1) { | ||
352 | this.personlist = res.content; | ||
353 | getAction(api.users, params).then((res) => { | ||
354 | if (res.status === 1) { | ||
355 | this.waitMemberList = res.content; | ||
356 | if (this.personlist) { | ||
357 | this.waitMemberList.forEach((item, i) => { | ||
358 | this.personlist.forEach((val) => { | ||
359 | if (item.id === val.id) { | ||
360 | this.waitMemberList[i].selectStatus = 0; | ||
361 | } | ||
362 | }); | ||
363 | }); | ||
364 | } | ||
365 | |||
366 | this.$refs.rolesForm.personlist(this.waitMemberList, row.id); | ||
367 | this.$refs.rolesForm.menulist(this.operationList, row.id, this.selectedSubsystemCode, this.menutablelistData, this.operationCodes); | ||
368 | } else { | ||
369 | this.$message.error({ message: res.message, showClose: true }); | ||
370 | } | ||
371 | }); | ||
372 | this.$refs.rolesForm.title = "人员配置"; | ||
373 | } else this.$message.error({ message: res.message, showClose: true }); | ||
374 | }); | ||
375 | }, | ||
376 | // 新增、修改角色 | ||
377 | handleAddEdit (value) { | ||
378 | this.$refs.addEditDialog.menuType = this.menuType; | ||
379 | this.$refs.addEditDialog.roleId = value.id; | ||
380 | this.roleSort = value.sort ? value.sort : 0; | ||
381 | if (value.id) { | ||
382 | this.$refs.addEditDialog.dialogForm.roleName = value.name; | ||
383 | this.$refs.addEditDialog.dialogForm.roleType = value.type; | ||
384 | this.$refs.addEditDialog.dialogForm.roleTextArea = value.description; | ||
385 | } | ||
386 | this.$refs.addEditDialog.showAddEditDialog = true; | ||
387 | this.$refs.addEditDialog.dialogTitle = value.id ? "修改" : "新增"; | ||
388 | }, | ||
389 | // 上移下移 | ||
390 | moveUpward (index, row) { | ||
391 | realMove(row.dictid, "UP", this.listdata); | ||
392 | this.key++; | ||
393 | let id = findParents(this.listdata, row.dictid); | ||
394 | this.keyList = id; | ||
395 | }, | ||
396 | moveDown (index, row) { | ||
397 | realMove(row.dictid, "DOWN", this.listdata); | ||
398 | this.key++; | ||
399 | let id = findParents(this.listdata, row.dictid); | ||
400 | this.keyList = id; | ||
401 | }, | ||
402 | |||
403 | // 删除 | ||
404 | handleDelete: function (id, content = "") { | ||
405 | this.$confirm( | ||
406 | `<div class="customer-message-wrapper"> | ||
412 | <h5 class="title">您确认要执行该操作用于以下信息:</h5> | 407 | <h5 class="title">您确认要执行该操作用于以下信息:</h5> |
413 | <p class="content" aria-controls="${content}">${content} | 408 | <p class="content" aria-controls="${content}">${content} |
414 | </p> | 409 | </p> |
... | @@ -416,47 +411,48 @@ | ... | @@ -416,47 +411,48 @@ |
416 | <span >无法恢复</span> | 411 | <span >无法恢复</span> |
417 | </p> | 412 | </p> |
418 | </div>`, | 413 | </div>`, |
419 | "执行确认", | 414 | "执行确认", |
420 | { | 415 | { |
421 | dangerouslyUseHTMLString: true, | 416 | dangerouslyUseHTMLString: true, |
422 | customClass: "customer-delete", | 417 | customClass: "customer-delete", |
423 | confirmButtonText: "确定", | 418 | confirmButtonText: "确定", |
424 | cancelButtonText: "取消", | 419 | cancelButtonText: "取消", |
425 | type: "warning", | 420 | type: "warning", |
421 | } | ||
422 | ) | ||
423 | .then(() => { | ||
424 | if (!this.tableUrl) { | ||
425 | this.$message.error({ | ||
426 | message: "请设置tableUrl属性为接口地址!", | ||
427 | showClose: true, | ||
428 | }); | ||
429 | return; | ||
426 | } | 430 | } |
427 | ) | 431 | const url = this.tableUrl + "/" + id; |
428 | .then(() => { | 432 | deleteAction(url).then((res) => { |
429 | if (!this.tableUrl) { | 433 | if (res.status === 1) { |
430 | this.$message.error({ | 434 | this.$message.success({ message: res.message, showClose: true }); |
431 | message: "请设置tableUrl属性为接口地址!", | 435 | this.getTableData(); |
432 | showClose: true, | 436 | } else { |
433 | }); | 437 | this.$message.error({ message: res.message, showClose: true }); |
434 | return; | ||
435 | } | 438 | } |
436 | const url = this.tableUrl + "/" + id; | 439 | }); |
437 | deleteAction(url).then((res) => { | 440 | }) |
438 | if (res.status === 1) { | 441 | .catch(() => { }); |
439 | this.$message.success({ message: res.message, showClose: true }); | ||
440 | this.getTableData(); | ||
441 | } else { | ||
442 | this.$message.error({ message: res.message, showClose: true }); | ||
443 | } | ||
444 | }); | ||
445 | }) | ||
446 | .catch(() => { }); | ||
447 | }, | ||
448 | // 新增回显 | ||
449 | reloadTableData () { | ||
450 | this.getTableData(); | ||
451 | }, | ||
452 | }, | 442 | }, |
453 | }; | 443 | // 新增回显 |
444 | reloadTableData () { | ||
445 | this.getTableData(); | ||
446 | }, | ||
447 | }, | ||
448 | }; | ||
454 | </script> | 449 | </script> |
455 | <style scoped lang="scss"> | 450 | <style scoped lang="scss"> |
456 | @import "~@/styles/mixin.scss"; | 451 | @import "~@/styles/mixin.scss"; |
457 | @import "~@/styles/public.scss"; | 452 | |
458 | .btnColRight { | 453 | // @import "~@/styles/public.scss"; |
459 | margin-left: -30px; | 454 | .btnColRight { |
460 | margin-top: 20px; | 455 | margin-left: -30px; |
461 | } | 456 | margin-top: 20px; |
457 | } | ||
462 | </style> | 458 | </style> | ... | ... |
... | @@ -249,5 +249,5 @@ export default { | ... | @@ -249,5 +249,5 @@ export default { |
249 | </script> | 249 | </script> |
250 | <style scoped lang="scss"> | 250 | <style scoped lang="scss"> |
251 | @import "~@/styles/mixin.scss"; | 251 | @import "~@/styles/mixin.scss"; |
252 | @import "~@/styles/public.scss"; | 252 | // @import "~@/styles/public.scss"; |
253 | </style> | 253 | </style> | ... | ... |
1 | /* | ||
2 | * @Author: xiaomiao 1158771342@qq.com | ||
3 | * @Date: 2023-01-30 17:59:51 | ||
4 | * @LastEditors: xiaomiao 1158771342@qq.com | ||
5 | * @LastEditTime: 2023-03-08 15:09:15 | ||
6 | * @FilePath: \监管系统\js-web-jianguan\src\views\system\users\data\index.js | ||
7 | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE | ||
8 | */ | ||
1 | import filter from '@/utils/filter.js' | 9 | import filter from '@/utils/filter.js' |
2 | class data extends filter { | 10 | class data extends filter { |
3 | constructor() { | 11 | constructor() { |
... | @@ -13,7 +21,7 @@ class data extends filter { | ... | @@ -13,7 +21,7 @@ class data extends filter { |
13 | { | 21 | { |
14 | prop: "name", | 22 | prop: "name", |
15 | label: "姓名", | 23 | label: "姓名", |
16 | width: 300 | 24 | width: 100 |
17 | }, | 25 | }, |
18 | { | 26 | { |
19 | prop: "loginName", | 27 | prop: "loginName", | ... | ... |
... | @@ -199,6 +199,6 @@ export default { | ... | @@ -199,6 +199,6 @@ export default { |
199 | }; | 199 | }; |
200 | </script> | 200 | </script> |
201 | <style scoped lang="scss"> | 201 | <style scoped lang="scss"> |
202 | @import "~@/styles/public.scss"; | 202 | // @import "~@/styles/public.scss"; |
203 | @import "./index.scss"; | 203 | @import "./index.scss"; |
204 | </style> | 204 | </style> | ... | ... |
-
Please register or sign in to post a comment