Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcjg-web
Showing
59 changed files
with
2378 additions
and
1608 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 | } | ... | ... |
| 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 | ... | ... |
| 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"; |
| ... | @@ -63,6 +68,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -63,6 +68,7 @@ router.beforeEach(async (to, from, next) => { |
| 63 | //请求用户信息 | 68 | //请求用户信息 |
| 64 | if (!hasUser) { | 69 | if (!hasUser) { |
| 65 | store.dispatch("user/getUserInfo"); | 70 | store.dispatch("user/getUserInfo"); |
| 71 | import("@/styles/public.scss"); | ||
| 66 | } | 72 | } |
| 67 | if (hasAddRoute) { | 73 | if (hasAddRoute) { |
| 68 | next(); | 74 | next(); | ... | ... |
| 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 => { | ... | ... |
| ... | @@ -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 | ... | ... |
src/views/login/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.enter.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(180deg, | ||
| 178 | rgba(99, 163, 255, 1) 0, | ||
| 179 | rgba(99, 163, 255, 1) 0, | ||
| 180 | rgba(182, 220, 255, 1) 49.731445%, | ||
| 181 | rgba(114, 190, 255, 1) 100%, | ||
| 182 | rgba(114, 190, 255, 1) 100%); | ||
| 183 | overflow-wrap: break-word; | ||
| 184 | color: rgba(255, 255, 255, 1); | ||
| 185 | font-size: 36px; | ||
| 186 | font-family: AlimamaShuHeiTi-Bold; | ||
| 187 | -webkit-background-clip: text; | ||
| 188 | -webkit-text-fill-color: transparent; | ||
| 189 | } | ||
| 190 | } | ||
| 191 | |||
| 192 | .login { | ||
| 193 | .user_style { | ||
| 194 | h3 { | ||
| 195 | color: #fff; | ||
| 196 | font-size: 22px; | ||
| 197 | font-weight: normal; | ||
| 198 | text-align: center; | ||
| 199 | margin: 16px auto 34px; | ||
| 200 | font-weight: 400; | ||
| 201 | } | ||
| 202 | } | ||
| 203 | |||
| 204 | .btn { | ||
| 205 | width: 100%; | ||
| 206 | height: 6vh; | ||
| 207 | background-color: #00c2de; | ||
| 208 | border-radius: 5px; | ||
| 209 | font-size: 1.4vw; | ||
| 210 | color: #ffffff; | ||
| 211 | } | ||
| 212 | |||
| 213 | .btn:hover { | ||
| 214 | cursor: pointer; | ||
| 215 | background-color: #2d8cf0; | ||
| 216 | } | ||
| 217 | } | ||
| 218 | |||
| 219 | .login #loginform { | ||
| 220 | .el-form-item { | ||
| 221 | margin-bottom: 24px !important; | ||
| 222 | } | ||
| 223 | |||
| 224 | .login-btn { | ||
| 225 | margin-top: 40px !important; | ||
| 226 | } | ||
| 227 | |||
| 228 | .el-button { | ||
| 229 | font-size: 18px; | ||
| 230 | background: #0d8cc0 !important; | ||
| 231 | color: #ffffff !important; | ||
| 232 | cursor: pointer !important; | ||
| 233 | } | ||
| 234 | |||
| 235 | .el-input__inner { | ||
| 236 | width: 100% !important; | ||
| 237 | } | ||
| 238 | |||
| 239 | .el-checkbox__label { | ||
| 240 | color: #fff; | ||
| 241 | } | ||
| 242 | } | ||
| 243 | |||
| 244 | .inputUser .ivu-input { | ||
| 245 | padding: 6px 24px !important; | ||
| 246 | border: 1px solid #9f9f9f !important; | ||
| 247 | } | ||
| 248 | </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; | ... | ... |
| ... | @@ -76,18 +76,10 @@ | ... | @@ -76,18 +76,10 @@ |
| 76 | .user-info { | 76 | .user-info { |
| 77 | background: none; | 77 | background: none; |
| 78 | } | 78 | } |
| 79 | } | 79 | |
| 80 | /deep/.el-tabs { | 80 | .boxin { |
| 81 | .el-tabs__content { | 81 | height: 79%; |
| 82 | height: 100%; | ||
| 83 | width: 100%; | ||
| 84 | } | 82 | } |
| 85 | } | 83 | } |
| 86 | .boxin { | ||
| 87 | height: 79%; | ||
| 88 | } | ||
| 89 | .contentbox { | ||
| 90 | // overflow-y: auto; | ||
| 91 | } | ||
| 92 | } | 84 | } |
| 93 | </style> | 85 | </style> | ... | ... |
| 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> | ... | ... |
| ... | @@ -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,86 +22,86 @@ | ... | @@ -28,86 +22,86 @@ |
| 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: "排序", |
| ... | @@ -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> | ... | ... |
| ... | @@ -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