Merge branch 'master' into dev
Showing
73 changed files
with
2500 additions
and
1374 deletions
... | @@ -20,6 +20,7 @@ | ... | @@ -20,6 +20,7 @@ |
20 | "nprogress": "0.2.0", | 20 | "nprogress": "0.2.0", |
21 | "vue": "2.6.10", | 21 | "vue": "2.6.10", |
22 | "vue-awesome": "^4.5.0", | 22 | "vue-awesome": "^4.5.0", |
23 | "vue-json-editor": "^1.4.3", | ||
23 | "vue-router": "3.0.2", | 24 | "vue-router": "3.0.2", |
24 | "vuex": "3.1.0", | 25 | "vuex": "3.1.0", |
25 | "xe-utils": "^3.5.7" | 26 | "xe-utils": "^3.5.7" | ... | ... |
... | @@ -40,10 +40,18 @@ export function getDataReportPage (data) { | ... | @@ -40,10 +40,18 @@ export function getDataReportPage (data) { |
40 | }) | 40 | }) |
41 | } | 41 | } |
42 | 42 | ||
43 | // 数据上报分页 | 43 | // 查询数据上报详情tabs选项卡 |
44 | export function getDetail (params) { | 44 | export function getTabsDetail (params) { |
45 | return request({ | ||
46 | url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getTabsDetail', | ||
47 | method: 'get', | ||
48 | params | ||
49 | }) | ||
50 | } | ||
51 | // 查询数据上报详情 | ||
52 | export function getReportDetail (params) { | ||
45 | return request({ | 53 | return request({ |
46 | url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getDetail', | 54 | url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getReportDetail', |
47 | method: 'get', | 55 | method: 'get', |
48 | params | 56 | params |
49 | }) | 57 | }) | ... | ... |
1 | import dialogBox from '@/components/DialogBox' | 1 | import dialogBox from '@/components/DialogBox' |
2 | import LbTable from '@/components/LbTable' | 2 | import LbTable from '@/components/LbTable' |
3 | import Theme from '@/components/Theme.vue' | 3 | import Theme from '@/components/Theme.vue' |
4 | import Breadcrumb from "@/components/Breadcrumb.vue"; | ||
4 | // 引入按钮 | 5 | // 引入按钮 |
5 | import btn from '@/components/Button.vue' | 6 | import btn from '@/components/Button.vue' |
6 | import Popup from '@/components/Popup/index' | 7 | import Popup from '@/components/Popup/index' |
... | @@ -8,6 +9,7 @@ import MessageBox from '@/components/MessageBox/index.js' | ... | @@ -8,6 +9,7 @@ import MessageBox from '@/components/MessageBox/index.js' |
8 | export default { | 9 | export default { |
9 | install: (Vue) => { | 10 | install: (Vue) => { |
10 | Vue.component('dialogBox', dialogBox); | 11 | Vue.component('dialogBox', dialogBox); |
12 | Vue.component('Breadcrumb', Breadcrumb); | ||
11 | Vue.component('btn', btn); | 13 | Vue.component('btn', btn); |
12 | Vue.component('lbTable', LbTable); | 14 | Vue.component('lbTable', LbTable); |
13 | Vue.component('Theme', Theme); | 15 | Vue.component('Theme', Theme); | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="breadcrumb"> | 2 | <el-breadcrumb class="breadcrumb" separator-class="el-icon-arrow-right"> |
3 | <el-breadcrumb class="app-breadcrumb" separator-class="el-icon-arrow-right"> | 3 | <span class="fl">当前页面:</span> |
4 | <transition-group name="breadcrumb"> | 4 | <transition-group name="breadcrumb"> |
5 | <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path"> | 5 | <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path"> |
6 | <span | 6 | <span @click.prevent="handleLink(item)">{{ item.meta.title }}</span> |
7 | v-if=" | ||
8 | item.redirect === 'noRedirect' || index == levelList.length - 1 | ||
9 | " | ||
10 | class="no-redirect" | ||
11 | >{{ item.meta.title }}</span | ||
12 | > | ||
13 | <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> | ||
14 | </el-breadcrumb-item> | 7 | </el-breadcrumb-item> |
15 | </transition-group> | 8 | </transition-group> |
16 | </el-breadcrumb> | 9 | </el-breadcrumb> |
17 | </div> | ||
18 | </template> | 10 | </template> |
19 | 11 | ||
20 | <script> | 12 | <script> |
21 | import pathToRegexp from "path-to-regexp"; | 13 | import pathToRegexp from "path-to-regexp"; |
22 | 14 | ||
23 | export default { | 15 | export default { |
24 | data() { | 16 | data () { |
25 | return { | 17 | return { |
26 | levelList: null, | 18 | levelList: null, |
27 | }; | 19 | }; |
28 | }, | 20 | }, |
29 | watch: { | 21 | watch: { |
30 | $route() { | 22 | $route () { |
31 | this.getBreadcrumb(); | 23 | this.getBreadcrumb(); |
32 | }, | 24 | }, |
33 | }, | 25 | }, |
34 | created() { | 26 | created () { |
35 | this.getBreadcrumb(); | 27 | this.getBreadcrumb(); |
36 | }, | 28 | }, |
37 | methods: { | 29 | methods: { |
38 | getBreadcrumb() { | 30 | getBreadcrumb () { |
39 | // only show routes with meta.title | 31 | // only show routes with meta.title |
40 | let matched = this.$route.matched.filter( | 32 | this.levelList = this.$route.matched.filter( |
41 | (item) => item.meta && item.meta.title | 33 | (item) => item.meta && item.meta.title |
42 | ); | 34 | ) |
43 | this.levelList = matched.filter( | 35 | if (this.$route.matched[0].path == '/jsbwcx') { |
44 | (item) => item.meta && item.meta.title | 36 | this.levelList = this.levelList.slice(-1) |
45 | ); | 37 | } |
46 | }, | 38 | }, |
47 | isDashboard(route) { | 39 | isDashboard (route) { |
48 | const name = route && route.name; | 40 | const name = route && route.name; |
49 | if (!name) { | 41 | if (!name) { |
50 | return false; | 42 | return false; |
... | @@ -53,65 +45,62 @@ export default { | ... | @@ -53,65 +45,62 @@ export default { |
53 | name.trim().toLocaleLowerCase() === "Dashboard".toLocaleLowerCase() | 45 | name.trim().toLocaleLowerCase() === "Dashboard".toLocaleLowerCase() |
54 | ); | 46 | ); |
55 | }, | 47 | }, |
56 | pathCompile(path) { | 48 | pathCompile (path) { |
57 | const { params } = this.$route; | 49 | const { params } = this.$route; |
58 | var toPath = pathToRegexp.compile(path); | 50 | var toPath = pathToRegexp.compile(path); |
59 | return toPath(params); | 51 | return toPath(params); |
60 | }, | 52 | } |
61 | handleLink(item) { | 53 | } |
62 | // const { redirect, path } = item; | 54 | } |
63 | // if (redirect) { | ||
64 | // this.$router.push(redirect); | ||
65 | // return; | ||
66 | // } | ||
67 | // this.$router.push(path); | ||
68 | }, | ||
69 | }, | ||
70 | }; | ||
71 | </script> | 55 | </script> |
72 | 56 | ||
73 | <style lang="scss" scoped> | 57 | <style lang="scss" scoped> |
74 | .breadcrumb { | 58 | .breadcrumb { |
75 | margin: 15px auto 0; | ||
76 | box-sizing: border-box; | 59 | box-sizing: border-box; |
77 | text-indent: 16px; | 60 | text-indent: 10px; |
61 | background: linear-gradient(90deg, #0047B8 0%, rgba(0, 26, 95, 0.1) 100%); | ||
62 | line-height: 32px; | ||
63 | color: #FFFFFF; | ||
64 | } | ||
65 | |||
66 | /deep/.el-icon-arrow-right { | ||
67 | width: 2px; | ||
68 | position: relative; | ||
69 | left: -10px; | ||
70 | color: #FFFFFF; | ||
71 | } | ||
72 | |||
73 | /deep/.el-breadcrumb__inner { | ||
74 | color: #FFFFFF !important; | ||
78 | } | 75 | } |
76 | |||
79 | .breadcrumb1366 { | 77 | .breadcrumb1366 { |
80 | padding: 10px 0 !important; | 78 | padding: 10px 0 !important; |
81 | } | 79 | } |
82 | .isFullScreen{ | 80 | |
81 | .isFullScreen { | ||
83 | width: calc(100% - 20px); | 82 | width: calc(100% - 20px); |
84 | margin: 0 auto; | 83 | margin: 0 auto; |
85 | padding: 10px!important; | 84 | padding: 10px !important; |
86 | } | 85 | } |
86 | |||
87 | .cur-location { | 87 | .cur-location { |
88 | font-size: 16px; | 88 | font-size: 16px; |
89 | color: white; | 89 | color: white; |
90 | line-height: 40px; | 90 | line-height: 40px; |
91 | float: left; | 91 | float: left; |
92 | |||
92 | img { | 93 | img { |
93 | position: relative; | 94 | position: relative; |
94 | top: 3px; | 95 | top: 3px; |
95 | margin-right: 4px; | 96 | margin-right: 4px; |
96 | } | 97 | } |
97 | } | 98 | } |
98 | .app-breadcrumb.el-breadcrumb { | 99 | |
99 | display: inline-block; | ||
100 | font-size: 14px; | ||
101 | // line-height: 40px; | ||
102 | .no-redirect { | ||
103 | color: white; | ||
104 | cursor: text; | ||
105 | } | ||
106 | } | ||
107 | .el-breadcrumb__inner a, | 100 | .el-breadcrumb__inner a, |
108 | .el-breadcrumb__inner.is-link { | 101 | .el-breadcrumb__inner.is-link { |
109 | color: white; | 102 | color: white; |
110 | cursor: text; | 103 | cursor: text; |
111 | font-weight: normal; | 104 | font-weight: normal; |
112 | } | 105 | } |
113 | // .el-breadcrumb__inner a:hover, | ||
114 | // .el-breadcrumb__inner.is-link:hover { | ||
115 | // text-decoration: underline; | ||
116 | // } | ||
117 | </style> | 106 | </style> | ... | ... |
... | @@ -5,6 +5,7 @@ | ... | @@ -5,6 +5,7 @@ |
5 | /deep/.el-select { | 5 | /deep/.el-select { |
6 | width: 100%; | 6 | width: 100%; |
7 | } | 7 | } |
8 | |||
8 | /deep/.el-form-item__error { | 9 | /deep/.el-form-item__error { |
9 | right: 25px; | 10 | right: 25px; |
10 | top: 15px; | 11 | top: 15px; |
... | @@ -40,6 +41,13 @@ | ... | @@ -40,6 +41,13 @@ |
40 | margin-right: -1px; | 41 | margin-right: -1px; |
41 | } | 42 | } |
42 | 43 | ||
44 | .obligee-item-name, | ||
45 | .receivingInfo-item-name, | ||
46 | .auditInfo-item-name { | ||
47 | background: url("~@/image/itembg.png") no-repeat; | ||
48 | background-size: 100% 100%; | ||
49 | color: #FFFFFF; | ||
50 | } | ||
43 | 51 | ||
44 | /deep/.el-textarea__inner { | 52 | /deep/.el-textarea__inner { |
45 | margin: 5px; | 53 | margin: 5px; |
... | @@ -49,23 +57,27 @@ | ... | @@ -49,23 +57,27 @@ |
49 | border-radius: 2px; | 57 | border-radius: 2px; |
50 | border: 1px solid #6BC1FC; | 58 | border: 1px solid #6BC1FC; |
51 | } | 59 | } |
52 | /deep/.el-input-number{ | 60 | |
61 | /deep/.el-input-number { | ||
53 | width: 100%; | 62 | width: 100%; |
54 | } | 63 | } |
55 | /deep/.el-input-number__increase{ | 64 | |
65 | /deep/.el-input-number__increase { | ||
56 | background: #05275B; | 66 | background: #05275B; |
57 | color: #FFFFFF; | 67 | color: #FFFFFF; |
58 | border:none; | 68 | border: none; |
59 | right: 12px; | 69 | right: 7px; |
60 | top: 6px; | 70 | top: 2px; |
61 | } | 71 | } |
62 | /deep/.el-input-number__decrease{ | 72 | |
73 | /deep/.el-input-number__decrease { | ||
63 | background: #05275B; | 74 | background: #05275B; |
64 | color: #FFFFFF; | 75 | color: #FFFFFF; |
65 | border:none; | 76 | border: none; |
66 | right: 12px; | 77 | right: 7px; |
67 | bottom:6px; | 78 | bottom: 10px; |
68 | } | 79 | } |
80 | |||
69 | /deep/.el-input__inner { | 81 | /deep/.el-input__inner { |
70 | margin: 5px; | 82 | margin: 5px; |
71 | width: 96%; | 83 | width: 96%; | ... | ... |
... | @@ -95,8 +95,9 @@ | ... | @@ -95,8 +95,9 @@ |
95 | 实际层数: <br /> | 95 | 实际层数: <br /> |
96 | <p class="label-detail">(SJCS)</p> | 96 | <p class="label-detail">(SJCS)</p> |
97 | </span> | 97 | </span> |
98 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-only-number="{ max: 99999, min: 1, precision: 0 }" | 98 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" |
99 | placeholder="实际层数" v-model="ruleForm.sjcs"></el-input-number> | 99 | v-only-number="{ max: 99999, min: 1, precision: 0 }" placeholder="实际层数" |
100 | v-model="ruleForm.sjcs"></el-input-number> | ||
100 | </el-form-item> | 101 | </el-form-item> |
101 | </el-col> | 102 | </el-col> |
102 | </el-row> | 103 | </el-row> |
... | @@ -108,8 +109,8 @@ | ... | @@ -108,8 +109,8 @@ |
108 | 户号: <br /> | 109 | 户号: <br /> |
109 | <p class="label-detail">(HH)</p> | 110 | <p class="label-detail">(HH)</p> |
110 | </span> | 111 | </span> |
111 | <el-input-number controls-position="right":disabled="$store.state.business.Edit" v-model="ruleForm.hh" placeholder="户号" | 112 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" v-model="ruleForm.hh" |
112 | v-only-number="{ max: 99999, min: 1, precision: 0 }"></el-input-number> | 113 | placeholder="户号" v-only-number="{ max: 99999, min: 1, precision: 0 }"></el-input-number> |
113 | </el-form-item> | 114 | </el-form-item> |
114 | </el-col> | 115 | </el-col> |
115 | 116 | ||
... | @@ -225,7 +226,7 @@ | ... | @@ -225,7 +226,7 @@ |
225 | <p class="label-detail">(YCFTJZMJ)</p> | 226 | <p class="label-detail">(YCFTJZMJ)</p> |
226 | </span> | 227 | </span> |
227 | <el-input :disabled="$store.state.business.Edit" | 228 | <el-input :disabled="$store.state.business.Edit" |
228 | : 999999999999999, min: 0, precision: 2 }" placeholder="预测分摊建筑面积" type="number" | 229 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="预测分摊建筑面积" type="number" |
229 | v-model.number="ruleForm.ycftjzmj"></el-input> | 230 | v-model.number="ruleForm.ycftjzmj"></el-input> |
230 | </el-form-item> | 231 | </el-form-item> |
231 | </el-col> | 232 | </el-col> |
... | @@ -236,9 +237,9 @@ | ... | @@ -236,9 +237,9 @@ |
236 | 预测地下部分建筑面积: <br /> | 237 | 预测地下部分建筑面积: <br /> |
237 | <p class="label-detail">(YCDXBFJZMJ)</p> | 238 | <p class="label-detail">(YCDXBFJZMJ)</p> |
238 | </span> | 239 | </span> |
239 | <el-input-number controls-position="right" :disabled="$store.state.business.Edit" | 240 | <el-input controls-position="right" :disabled="$store.state.business.Edit" |
240 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="预测地下部分建筑面积" type="number" | 241 | v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="预测地下部分建筑面积" type="number" |
241 | v-model.number="ruleForm.ycdxbfjzmj"></el-input-number> | 242 | v-model.number="ruleForm.ycdxbfjzmj"></el-input> |
242 | </el-form-item> | 243 | </el-form-item> |
243 | </el-col> | 244 | </el-col> |
244 | 245 | ||
... | @@ -363,9 +364,8 @@ | ... | @@ -363,9 +364,8 @@ |
363 | 分摊土地面积: <br /> | 364 | 分摊土地面积: <br /> |
364 | <p class="label-detail">(FTTDMJ)</p> | 365 | <p class="label-detail">(FTTDMJ)</p> |
365 | </span> | 366 | </span> |
366 | <el-input :disabled="$store.state.business.Edit" | 367 | <el-input :disabled="$store.state.business.Edit" : 999999999999999, min: 0, precision: 3 }" |
367 | : 999999999999999, min: 0, precision: 3 }" placeholder="分摊土地面积" type="number" | 368 | placeholder="分摊土地面积" type="number" v-model.number="ruleForm.fttdmj"></el-input> |
368 | v-model.number="ruleForm.fttdmj"></el-input> | ||
369 | </el-form-item> | 369 | </el-form-item> |
370 | </el-col> | 370 | </el-col> |
371 | </el-row> | 371 | </el-row> |
... | @@ -465,7 +465,7 @@ export default { | ... | @@ -465,7 +465,7 @@ export default { |
465 | default: "", | 465 | default: "", |
466 | }, | 466 | }, |
467 | }, | 467 | }, |
468 | data() { | 468 | data () { |
469 | return { | 469 | return { |
470 | ruleForm: { | 470 | ruleForm: { |
471 | YSDM: "", | 471 | YSDM: "", |
... | @@ -508,7 +508,7 @@ export default { | ... | @@ -508,7 +508,7 @@ export default { |
508 | }; | 508 | }; |
509 | }, | 509 | }, |
510 | methods: { | 510 | methods: { |
511 | async featchData() { | 511 | async featchData () { |
512 | try { | 512 | try { |
513 | let { result: res } = await kttFwH.getKttFwHById(this.bsmSjsb); | 513 | let { result: res } = await kttFwH.getKttFwHById(this.bsmSjsb); |
514 | this.ruleForm = res; | 514 | this.ruleForm = res; |
... | @@ -517,7 +517,7 @@ export default { | ... | @@ -517,7 +517,7 @@ export default { |
517 | this.$refs.msg.messageShow(); | 517 | this.$refs.msg.messageShow(); |
518 | } | 518 | } |
519 | }, | 519 | }, |
520 | handleUpdateForm() { | 520 | handleUpdateForm () { |
521 | return new Promise(async (resolve, reject) => { | 521 | return new Promise(async (resolve, reject) => { |
522 | try { | 522 | try { |
523 | let res = await kttFwH.updateKttFwH(this.ruleForm); | 523 | let res = await kttFwH.updateKttFwH(this.ruleForm); | ... | ... |
... | @@ -315,7 +315,6 @@ | ... | @@ -315,7 +315,6 @@ |
315 | </div> | 315 | </div> |
316 | </div> | 316 | </div> |
317 | </el-form> | 317 | </el-form> |
318 | <message-tips ref="msg" /> | ||
319 | </div> | 318 | </div> |
320 | </template> | 319 | </template> |
321 | <script> | 320 | <script> |
... | @@ -378,19 +377,15 @@ export default { | ... | @@ -378,19 +377,15 @@ export default { |
378 | try { | 377 | try { |
379 | let { result: res } = await zttGyQlr.getZttGyQlrById(this.bsmSjsb) | 378 | let { result: res } = await zttGyQlr.getZttGyQlrById(this.bsmSjsb) |
380 | this.obligeeForm.obligeeList = res | 379 | this.obligeeForm.obligeeList = res |
381 | //this.featchRule() | ||
382 | } catch (error) { | 380 | } catch (error) { |
383 | this.$refs.msg.messageShow() | ||
384 | } | 381 | } |
385 | }, | 382 | }, |
386 | handleUpdateForm () { | 383 | handleUpdateForm () { |
387 | return new Promise(async (resolve) => { | 384 | return new Promise(async (resolve) => { |
388 | try { | 385 | try { |
389 | let res = await zttGyQlr.updateZttGyQlr(this.obligeeForm.obligeeList) | 386 | let res = await zttGyQlr.updateZttGyQlr(this.obligeeForm.obligeeList) |
390 | // this.$refs['formList'].resetFields(); | ||
391 | resolve(res.code) | 387 | resolve(res.code) |
392 | } catch (error) { | 388 | } catch (error) { |
393 | this.$refs.msg.messageShow() | ||
394 | } | 389 | } |
395 | }) | 390 | }) |
396 | } | 391 | } | ... | ... |
... | @@ -21,23 +21,21 @@ export default { | ... | @@ -21,23 +21,21 @@ export default { |
21 | </script> | 21 | </script> |
22 | <style scoped lang="scss"> | 22 | <style scoped lang="scss"> |
23 | .button { | 23 | .button { |
24 | width: 80px; //适配4字按钮样式 | 24 | width: 76px; |
25 | height: 32px; | 25 | height: 32px; |
26 | color: #ffffff; | 26 | color: #ffffff; |
27 | margin: 0 5px; | 27 | margin: 0 5px; |
28 | cursor: pointer; | ||
29 | border: 0 | ||
28 | } | 30 | } |
29 | 31 | ||
30 | .cx { | 32 | .cx { |
31 | background: url('../image/btn.png') no-repeat -4px -40px; | 33 | background: url('../image/btn.png') no-repeat 0 -34px; |
32 | cursor: pointer; | 34 | background-size: cover; |
33 | } | 35 | } |
34 | 36 | ||
35 | .cz { | 37 | .cz { |
36 | background: url('../image/btn.png') no-repeat -4px -4px; | 38 | background: url('../image/btn.png') no-repeat 0 0; |
37 | cursor: pointer; | 39 | background-size: cover; |
38 | } | ||
39 | |||
40 | .sb { | ||
41 | background: url('../image/btn.png') no-repeat -4px -112px; | ||
42 | } | 40 | } |
43 | </style> | 41 | </style> | ... | ... |
src/components/Dialog/index.vue
0 → 100644
1 | <template> | ||
2 | <el-dialog | ||
3 | :title="title" | ||
4 | :visible.sync="visible" | ||
5 | :width="width" | ||
6 | :append-to-body="appendToBody" | ||
7 | :modal="modal" | ||
8 | :close-on-click-modal="false" | ||
9 | :fullscreen="fullscreen" | ||
10 | :destroy-on-close="destroyOnClose" | ||
11 | :modal-append-to-body="modalAppendToBody" | ||
12 | :class="customClass" | ||
13 | @close="close" | ||
14 | class="dialog" | ||
15 | > | ||
16 | <slot name="content" /> | ||
17 | <span slot="footer" class="dialog-footer"> | ||
18 | <slot name="footer" /> | ||
19 | </span> | ||
20 | </el-dialog> | ||
21 | </template> | ||
22 | |||
23 | <script> | ||
24 | export default { | ||
25 | name: '', | ||
26 | props: { | ||
27 | show: { | ||
28 | type: Boolean, | ||
29 | default: false | ||
30 | }, | ||
31 | customClass: { | ||
32 | type: String, | ||
33 | default: '' | ||
34 | }, | ||
35 | title: { | ||
36 | type: String, | ||
37 | default: '新增' | ||
38 | }, | ||
39 | appendToBody: { | ||
40 | // Dialog 自身是否插入至 body 元素上。嵌套的 Dialog 必须指定该属性并赋值为 true | ||
41 | type: Boolean, | ||
42 | default: true | ||
43 | }, | ||
44 | modalAppendToBody: { | ||
45 | // 遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上 | ||
46 | type: Boolean, | ||
47 | default: true | ||
48 | }, | ||
49 | modal: { | ||
50 | // 是否需要遮罩层 | ||
51 | type: Boolean, | ||
52 | default: true | ||
53 | }, | ||
54 | fullscreen: { | ||
55 | // 是否全屏 | ||
56 | type: Boolean, | ||
57 | default: false | ||
58 | }, | ||
59 | destroyOnClose: { | ||
60 | // 关闭时销毁 Dialog 中的元素 | ||
61 | type: Boolean, | ||
62 | default: false | ||
63 | }, | ||
64 | width: { | ||
65 | type: String, | ||
66 | default: '30%' | ||
67 | } | ||
68 | }, | ||
69 | data() { | ||
70 | return {} | ||
71 | }, | ||
72 | computed: { | ||
73 | visible: { | ||
74 | get() { | ||
75 | return this.show | ||
76 | }, | ||
77 | set(val) { | ||
78 | this.$emit('update:show', val) // visible 改变的时候通知父组件 | ||
79 | } | ||
80 | } | ||
81 | }, | ||
82 | methods: { | ||
83 | close() { | ||
84 | this.$emit('close') | ||
85 | } | ||
86 | } | ||
87 | } | ||
88 | </script> | ||
89 | |||
90 | <style lang="scss" scoped> | ||
91 | |||
92 | .dialog { | ||
93 | /deep/.el-dialog{ | ||
94 | overflow: hidden; | ||
95 | background: url("~@/image/dialogBg.png") no-repeat !important; | ||
96 | background-size: 100% 100% !important; | ||
97 | } | ||
98 | .el-dialog__header { | ||
99 | padding: 0; | ||
100 | height: 56px; | ||
101 | line-height: 56px; | ||
102 | border-bottom: none; | ||
103 | .el-dialog__title { | ||
104 | font-weight: 400; | ||
105 | } | ||
106 | .el-dialog__title:before { | ||
107 | display: inline-block; | ||
108 | content: ''; | ||
109 | width: 4px; | ||
110 | height: 16px; | ||
111 | background: #3aa3f8; | ||
112 | margin-left: 12px; | ||
113 | margin-right: 8px; | ||
114 | position: relative; | ||
115 | top: 2px; | ||
116 | } | ||
117 | .el-dialog__headerbtn { | ||
118 | position: absolute; | ||
119 | // top: 2%; | ||
120 | right: 12px; | ||
121 | } | ||
122 | } | ||
123 | .el-dialog__body { | ||
124 | margin: 0px 12px; | ||
125 | padding: 48px 24px; | ||
126 | background: #fff; | ||
127 | border: 1px solid #dfe7f3; | ||
128 | .el-button { | ||
129 | padding: 8px 16px; | ||
130 | border: none; | ||
131 | } | ||
132 | .el-form { | ||
133 | .el-checkbox { | ||
134 | line-height: 32px; | ||
135 | height: 32px; | ||
136 | } | ||
137 | .form-item-mb0 { | ||
138 | margin-bottom: 0 !important; | ||
139 | } | ||
140 | .el-form-item { | ||
141 | margin-bottom: 24px; | ||
142 | .el-form-item__label { | ||
143 | height: 32px; | ||
144 | line-height: 32px; | ||
145 | vertical-align: middle; | ||
146 | } | ||
147 | |||
148 | .el-form-item__content { | ||
149 | // height: 32px; | ||
150 | line-height: 32px; | ||
151 | // date 组件有图标 | ||
152 | .has-icon.el-date-editor { | ||
153 | .el-input__inner { | ||
154 | padding-left: 32px; | ||
155 | } | ||
156 | } | ||
157 | .el-input__inner { | ||
158 | padding: 0 8px; | ||
159 | height: 32px; | ||
160 | line-height: 32px; | ||
161 | text-align: left; | ||
162 | } | ||
163 | .el-textarea__inner { | ||
164 | padding: 8px 8px; | ||
165 | } | ||
166 | .el-input .el-input__icon { | ||
167 | font-size: 14px; | ||
168 | color: #747e8c; | ||
169 | } | ||
170 | } | ||
171 | } | ||
172 | } | ||
173 | .el-select, | ||
174 | .el-cascader, | ||
175 | .el-date-editor { | ||
176 | width: 100%; | ||
177 | line-height: 32px; | ||
178 | } | ||
179 | } | ||
180 | |||
181 | .el-dialog__footer { | ||
182 | padding: 0 12px; | ||
183 | height: 56px; | ||
184 | line-height: 56px; | ||
185 | border: none; | ||
186 | .el-button { | ||
187 | padding: 8px 16px; | ||
188 | border: none; | ||
189 | } | ||
190 | .el-button + .el-button { | ||
191 | margin-left: 12px; | ||
192 | } | ||
193 | } | ||
194 | } | ||
195 | </style> |
... | @@ -28,8 +28,8 @@ export default { | ... | @@ -28,8 +28,8 @@ export default { |
28 | res.filter((item) => { | 28 | res.filter((item) => { |
29 | return ( | 29 | return ( |
30 | this.cdata.category.push(item.areaName), | 30 | this.cdata.category.push(item.areaName), |
31 | this.cdata.lineData.push(item.successCount), | 31 | this.cdata.barData.push(item.successCount), |
32 | this.cdata.barData.push(item.failureCount) | 32 | this.cdata.lineData.push(item.failureCount) |
33 | ); | 33 | ); |
34 | }); | 34 | }); |
35 | } catch (error) { | 35 | } catch (error) { | ... | ... |
... | @@ -17,9 +17,6 @@ export default { | ... | @@ -17,9 +17,6 @@ export default { |
17 | components: { | 17 | components: { |
18 | Chart, | 18 | Chart, |
19 | }, | 19 | }, |
20 | created () { | ||
21 | |||
22 | }, | ||
23 | mounted () { | 20 | mounted () { |
24 | this.getDjlxtotal(); | 21 | this.getDjlxtotal(); |
25 | }, | 22 | }, |
... | @@ -28,9 +25,9 @@ export default { | ... | @@ -28,9 +25,9 @@ export default { |
28 | return new Promise(async (resolve) => { | 25 | return new Promise(async (resolve) => { |
29 | try { | 26 | try { |
30 | let p = { | 27 | let p = { |
31 | DJLX: "A21", | 28 | DJLX: "", |
32 | QLLX: "A8", | 29 | QLLX: "", |
33 | XZQDM: "A20", | 30 | XZQDM: "", |
34 | }; | 31 | }; |
35 | let res = await work.getDjlxtotal(p); | 32 | let res = await work.getDjlxtotal(p); |
36 | res.result.filter((item) => { | 33 | res.result.filter((item) => { | ... | ... |
... | @@ -16,23 +16,7 @@ export default { | ... | @@ -16,23 +16,7 @@ export default { |
16 | data () { | 16 | data () { |
17 | return { | 17 | return { |
18 | cdata: { | 18 | cdata: { |
19 | seriesData: [ | 19 | seriesData: [], |
20 | { value: 10, name: "土地所有权" }, | ||
21 | { value: 5, name: "建设用地、宅基地使用权" }, | ||
22 | { value: 15, name: "房地产权(项目内多幢房屋)" }, | ||
23 | { value: 25, name: "产地产权(独幢、层、套、间、房屋)" }, | ||
24 | { value: 20, name: "建筑物区分所有权业主共有部分" }, | ||
25 | { value: 35, name: "海域(含无居民海岛)使用权" }, | ||
26 | { value: 10, name: "构(建)筑物所有权" }, | ||
27 | { value: 5, name: "农用地使用权(非林地)" }, | ||
28 | { value: 15, name: "林权" }, | ||
29 | { value: 25, name: "注销登记" }, | ||
30 | { value: 20, name: "异议登记" }, | ||
31 | { value: 35, name: "预告登记" }, | ||
32 | { value: 20, name: "查封登记" }, | ||
33 | { value: 35, name: "抵押权登记" }, | ||
34 | { value: 20, name: "地役权登记" }, | ||
35 | ], | ||
36 | }, | 20 | }, |
37 | }; | 21 | }; |
38 | }, | 22 | }, |
... | @@ -41,22 +25,30 @@ export default { | ... | @@ -41,22 +25,30 @@ export default { |
41 | }, | 25 | }, |
42 | mounted () { | 26 | mounted () { |
43 | this.getdjywltotal(); | 27 | this.getdjywltotal(); |
28 | |||
29 | |||
44 | }, | 30 | }, |
45 | methods: { | 31 | methods: { |
46 | getdjywltotal () { | 32 | async getdjywltotal () { |
47 | return new Promise(async (resolve) => { | ||
48 | try { | 33 | try { |
49 | let p = { | 34 | let p = { |
50 | DJLX: "A21", | 35 | DJLX: "", |
51 | QLLX: "A8", | 36 | QLLX: "", |
52 | XZQDM: "A20", | 37 | XZQDM: "", |
53 | }; | 38 | }; |
54 | let res = await work.getdjywltotal(p); | 39 | let res = await work.getdjywltotal(p); |
55 | 40 | console.log("res",res); | |
41 | res.result.filter((item) => { | ||
42 | return ( | ||
43 | this.cdata.seriesData.push({ "name": item.AREACODE, "value": item.ywtotal }) | ||
44 | ) | ||
45 | }); | ||
46 | console.log("this.cdata.seriesData",this.cdata.seriesData); | ||
56 | } catch (error) { | 47 | } catch (error) { |
57 | this.$refs.msg.messageShow(); | 48 | this.$refs.msg.messageShow(); |
58 | } | 49 | } |
59 | }); | 50 | |
51 | |||
60 | }, | 52 | }, |
61 | }, | 53 | }, |
62 | }; | 54 | }; | ... | ... |
1 | <template> | 1 | <template> |
2 | <!-- 编辑 --> | 2 | <!-- 编辑 --> |
3 | <el-dialog :close-on-click-modal="false" top="0" custom-class="dialogBox editDialogBox mainCenter" | 3 | <el-dialog :close-on-click-modal="false" top="0" @close="closeDialog" |
4 | :visible.sync="dialogVisible" width="85%"> | 4 | custom-class="dialogBox editDialogBox mainCenter" :visible.sync="dialogVisible" width="85%"> |
5 | <div slot="title" class="dialog_title" ref="dialogTitle"> | 5 | <div slot="title" class="dialog_title" ref="dialogTitle"> |
6 | <b>{{ title || '标题' }}</b> | 6 | <b>{{ title || '标题' }}</b> |
7 | </div> | 7 | </div> |
8 | <el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab"> | 8 | <el-tabs v-model="titleName" type="card" @tab-click="handleTitleTab"> |
9 | <el-tab-pane label="数据模型" name="sjmx"></el-tab-pane> | 9 | <el-tab-pane label="数据模型" name="sjmx"></el-tab-pane> |
10 | <el-tab-pane label="xml报文" name="xml"></el-tab-pane> | 10 | <el-tab-pane v-if="visiableXml" label="xml报文" name="xml"></el-tab-pane> |
11 | <el-tab-pane label="响应结果" name="xyjg"></el-tab-pane> | 11 | <el-tab-pane v-if="visiableXml" label="响应结果" name="xyjg"></el-tab-pane> |
12 | </el-tabs> | 12 | </el-tabs> |
13 | <div v-if="titleName == 'sjmx'" class="sjmx"> | 13 | <div v-if="titleName == 'sjmx'" class="sjmx"> |
14 | <div class="dialog-from"> | 14 | <div class="dialog-from"> |
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 | <div>{{ dataReport.bizMsgid }}</div> | 18 | <div>{{ dataReport.BizMsgId }}</div> |
19 | </el-col> | 19 | </el-col> |
20 | <el-col :span="7"> | 20 | <el-col :span="7"> |
21 | <span>接入报文ID:</span> | 21 | <span>接入报文ID:</span> |
22 | <div>{{ dataReport.asid }}</div> | 22 | <div>{{ dataReport.ASID }}</div> |
23 | </el-col> | 23 | </el-col> |
24 | <el-col :span="5"> | 24 | <el-col :span="5"> |
25 | <span>行政区划编码:</span> | 25 | <span>行政区划编码:</span> |
26 | <div>{{ dataReport.areacode }}</div> | 26 | <div>{{ dataReport.AreaCode }}</div> |
27 | </el-col> | 27 | </el-col> |
28 | <el-col :span="7"> | 28 | <el-col :span="7"> |
29 | <span>上次不动产单元号:</span> | 29 | <span>上次不动产单元号:</span> |
30 | <div>{{ dataReport.preestatenum }}</div> | 30 | <div>{{ dataReport.PreEstateNum }}</div> |
31 | </el-col> | 31 | </el-col> |
32 | </el-row> | 32 | </el-row> |
33 | <el-row> | 33 | <el-row> |
34 | <el-col :span="5"> | 34 | <el-col :span="5"> |
35 | <span>业务编码:</span> | 35 | <span>业务编码:</span> |
36 | <div>{{ dataReport.rectype }}</div> | 36 | <div>{{ dataReport.RecType }}</div> |
37 | </el-col> | 37 | </el-col> |
38 | <el-col :span="7"> | 38 | <el-col :span="7"> |
39 | <span>权利类型:</span> | 39 | <span>权利类型:</span> |
40 | <div>{{ dataReport.righttype }}</div> | 40 | <div>{{ dataReport.RightType }}</div> |
41 | </el-col> | 41 | </el-col> |
42 | <el-col :span="5"> | 42 | <el-col :span="5"> |
43 | <span>登记类型:</span> | 43 | <span>登记类型:</span> |
44 | <div>{{ dataReport.regtype }}</div> | 44 | <div>{{ dataReport.RegType }}</div> |
45 | </el-col> | 45 | </el-col> |
46 | <el-col :span="7"> | 46 | <el-col :span="7"> |
47 | <span>不动产权证书数量:</span> | 47 | <span>不动产权证书数量:</span> |
48 | <div>{{ dataReport.certcount }}</div> | 48 | <div>{{ dataReport.CertCount }}</div> |
49 | </el-col> | 49 | </el-col> |
50 | </el-row> | 50 | </el-row> |
51 | <el-row> | 51 | <el-row> |
52 | <el-col :span="5"> | 52 | <el-col :span="5"> |
53 | <span>创建时间:</span> | 53 | <span>创建时间:</span> |
54 | <div>{{ dataReport.createdate }}</div> | 54 | <div>{{ dataReport.createDate }}</div> |
55 | </el-col> | 55 | </el-col> |
56 | <el-col :span="7"> | 56 | <el-col :span="7"> |
57 | <span>业务流水号:</span> | 57 | <span>业务流水号:</span> |
58 | <div>{{ dataReport.recflowid }}</div> | 58 | <div>{{ dataReport.RecFlowID }}</div> |
59 | </el-col> | 59 | </el-col> |
60 | <el-col :span="5"> | 60 | <el-col :span="5"> |
61 | <span>登记机构:</span> | 61 | <span>登记机构:</span> |
62 | <div>{{ dataReport.regorgid }}</div> | 62 | <div>{{ dataReport.RegOrgID }}</div> |
63 | </el-col> | 63 | </el-col> |
64 | <el-col :span="7"> | 64 | <el-col :span="7"> |
65 | <span>证明数量:</span> | 65 | <span>证明数量:</span> |
66 | <div>{{ dataReport.proofcount }}</div> | 66 | <div>{{ dataReport.ProofCount }}</div> |
67 | </el-col> | 67 | </el-col> |
68 | </el-row> | 68 | </el-row> |
69 | <el-row> | 69 | <el-row> |
70 | <el-col :span="5"> | 70 | <el-col :span="5"> |
71 | <span>宗地/宗海代码:</span> | 71 | <span>宗地/宗海代码:</span> |
72 | <div>{{ dataReport.parcelid }}</div> | 72 | <div>{{ dataReport.ParcelID }}</div> |
73 | </el-col> | 73 | </el-col> |
74 | <el-col :span="7"> | 74 | <el-col :span="7"> |
75 | <span>不动产单元号:</span> | 75 | <span>不动产单元号:</span> |
76 | <div>{{ dataReport.estatenum }}</div> | 76 | <div>{{ dataReport.EstateNum }}</div> |
77 | </el-col> | 77 | </el-col> |
78 | <el-col :span="10"> | 78 | <el-col :span="10"> |
79 | <span>上次不动产权证号/不动产登记证明:</span> | 79 | <span>上次不动产权证号/不动产登记证明:</span> |
80 | <div>{{ dataReport.precertid }}</div> | 80 | <div>{{ dataReport.PreCertID }}</div> |
81 | </el-col> | 81 | </el-col> |
82 | </el-row> | 82 | </el-row> |
83 | <!-- <el-row> | 83 | <!-- <el-row> |
... | @@ -97,20 +97,13 @@ | ... | @@ -97,20 +97,13 @@ |
97 | </el-tabs> | 97 | </el-tabs> |
98 | <div class="edit-content"> | 98 | <div class="edit-content"> |
99 | <component :is="editItem" ref="editItem" :class="{ 'editForm': $store.state.business.Edit }" | 99 | <component :is="editItem" ref="editItem" :class="{ 'editForm': $store.state.business.Edit }" |
100 | :bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport" /> | 100 | :bsmYwsjb="bsmYwsjb" :bsmSjsb="dataReport.bsmReport || dataReport.bsmSjsb" /> |
101 | </div> | 101 | </div> |
102 | </div> | 102 | </div> |
103 | <div v-if="titleName == 'xyjg'"> | 103 | <div v-if="titleName == 'xyjg'"> |
104 | <Xyjg :form-data = 'dataReport'></Xyjg> | 104 | <Xyjg :form-data='dataReport'></Xyjg> |
105 | </div> | 105 | </div> |
106 | <JsonEditor :resultInfo="resultInfo" v-if="titleName == 'xml'" /> | 106 | <JsonEditor :resultInfo="resultInfo" v-if="titleName == 'xml'" /> |
107 | <!-- <div slot="footer" class="dialog_footer" ref="dialogFooter"> | ||
108 | <div class="dialog_button"> | ||
109 | <el-button type="primary" plain @click="submitForm" v-if="!Edit" :loading="saveloding">确定 | ||
110 | </el-button> | ||
111 | <el-button @click="closeDialog()">关闭</el-button> | ||
112 | </div> | ||
113 | </div> --> | ||
114 | </el-dialog> | 107 | </el-dialog> |
115 | </template> | 108 | </template> |
116 | 109 | ||
... | @@ -118,7 +111,7 @@ | ... | @@ -118,7 +111,7 @@ |
118 | import { mapGetters } from "vuex"; | 111 | import { mapGetters } from "vuex"; |
119 | import JsonEditor from "@/components/JsonEditor.vue"; | 112 | import JsonEditor from "@/components/JsonEditor.vue"; |
120 | import Xyjg from "./Result"; | 113 | import Xyjg from "./Result"; |
121 | import { getDetail, getXml } from "@/api/dataReport.js"; | 114 | import { getTabsDetail, getXml, getReportDetail } from "@/api/dataReport.js"; |
122 | import { MessageBox } from "element-ui"; | 115 | import { MessageBox } from "element-ui"; |
123 | export default { | 116 | export default { |
124 | components: { JsonEditor, Xyjg }, | 117 | components: { JsonEditor, Xyjg }, |
... | @@ -126,6 +119,14 @@ export default { | ... | @@ -126,6 +119,14 @@ export default { |
126 | title: { | 119 | title: { |
127 | type: String, | 120 | type: String, |
128 | default: '' | 121 | default: '' |
122 | }, | ||
123 | tabsActiveName: { | ||
124 | type: String, | ||
125 | default: '' | ||
126 | }, | ||
127 | visiableXml: { | ||
128 | type: Boolean, | ||
129 | default: false | ||
129 | } | 130 | } |
130 | }, | 131 | }, |
131 | computed: { | 132 | computed: { |
... | @@ -177,19 +178,26 @@ export default { | ... | @@ -177,19 +178,26 @@ export default { |
177 | this.titleName = 'sjmx'; | 178 | this.titleName = 'sjmx'; |
178 | this.dialogVisible = true; | 179 | this.dialogVisible = true; |
179 | //获取表头列表 | 180 | //获取表头列表 |
180 | getDetail({ bsmReport: this.dataReport.bsmReport }).then((res) => { | 181 | getTabsDetail({ bsmReport: this.dataReport.bsmReport || this.dataReport.bsmSjsb }).then((res) => { |
181 | if (res.code == 200) { | 182 | if (res.code == 200) { |
182 | this.headerList = res.result; | 183 | this.headerList = res.result; |
183 | this.activeName = res.result[0].soleurl | 184 | this.activeName = this.tabsActiveName == '' ? res.result[0].soleurl : this.tabsActiveName |
184 | this.bsmYwsjb = this.headerList[0].bsmYwsjb; | 185 | this.bsmYwsjb = this.headerList[0].bsmYwsjb; |
185 | this.editItem = this.loadView(this.activeName); | 186 | this.editItem = this.loadView(this.activeName); |
186 | } | 187 | } |
187 | }); | 188 | }); |
189 | //不动产数据查询上报详情 | ||
190 | getReportDetail({ bsmReport: item.bsmSjsb || item.bsmReport }).then((res) => { | ||
191 | if (res.code == 200) { | ||
192 | this.dataReport = res.result; | ||
193 | } | ||
194 | }) | ||
188 | // 获取xml | 195 | // 获取xml |
196 | if (this.visiableXml) { | ||
189 | getXml(item.bizMsgid).then((res) => { | 197 | getXml(item.bizMsgid).then((res) => { |
190 | console.log(res); | ||
191 | this.resultInfo = res.message | 198 | this.resultInfo = res.message |
192 | }) | 199 | }) |
200 | } | ||
193 | }, | 201 | }, |
194 | changeList (val) { | 202 | changeList (val) { |
195 | let _index = val.index; | 203 | let _index = val.index; |
... | @@ -206,10 +214,13 @@ export default { | ... | @@ -206,10 +214,13 @@ export default { |
206 | }, | 214 | }, |
207 | loadView (view) { | 215 | loadView (view) { |
208 | return (r) => | 216 | return (r) => |
209 | require.ensure([], () => r(require(`@/components/Business/${view}`))); | 217 | require.ensure([], () => r(require(`@/components/Business/${view}.vue`))); |
210 | }, | 218 | }, |
211 | closeDialog () { | 219 | closeDialog () { |
212 | this.dialogVisible = false; | 220 | this.dialogVisible = false; |
221 | //关闭弹框时将tabs项置空 | ||
222 | this.editItem = ""; | ||
223 | this.headerList = []; | ||
213 | }, | 224 | }, |
214 | submitForm () { | 225 | submitForm () { |
215 | let _this = this; | 226 | let _this = this; |
... | @@ -267,13 +278,13 @@ export default { | ... | @@ -267,13 +278,13 @@ export default { |
267 | 278 | ||
268 | .editForm { | 279 | .editForm { |
269 | /deep/.el-textarea__inner { | 280 | /deep/.el-textarea__inner { |
270 | border: none !important; | 281 | border: 1px solid #224C7C !important; |
271 | margin: 0 !important; | 282 | margin: 0 0 10px 0 !important; |
272 | width: 100% !important; | 283 | width: 100% !important; |
273 | } | 284 | } |
274 | 285 | ||
275 | /deep/.el-input__inner { | 286 | /deep/.el-input__inner { |
276 | border: none !important; | 287 | border: 1px solid #224C7C !important; |
277 | margin: 0 !important; | 288 | margin: 0 !important; |
278 | width: 100% !important; | 289 | width: 100% !important; |
279 | } | 290 | } |
... | @@ -310,7 +321,8 @@ export default { | ... | @@ -310,7 +321,8 @@ export default { |
310 | .obligee-item-name { | 321 | .obligee-item-name { |
311 | background: #05275B; | 322 | background: #05275B; |
312 | color: #FFFFFF; | 323 | color: #FFFFFF; |
313 | border: 1px solid #6BC1FC; | 324 | background: url("~@/image/itembg.png") no-repeat; |
325 | background-size: 100% 100%; | ||
314 | } | 326 | } |
315 | 327 | ||
316 | /deep/.el-tabs__nav-scroll { | 328 | /deep/.el-tabs__nav-scroll { |
... | @@ -362,7 +374,7 @@ export default { | ... | @@ -362,7 +374,7 @@ export default { |
362 | } | 374 | } |
363 | 375 | ||
364 | .edit-content { | 376 | .edit-content { |
365 | height: 400px; | 377 | height: 450px; |
366 | overflow-y: auto; | 378 | overflow-y: auto; |
367 | overflow-x: hidden; | 379 | overflow-x: hidden; |
368 | padding-right: 1px; | 380 | padding-right: 1px; | ... | ... |
src/components/IconList/index.vue
0 → 100644
1 | <template> | ||
2 | <div class="icon-List"> | ||
3 | <el-dialog | ||
4 | :visible.sync="visible" | ||
5 | :append-to-body="true" | ||
6 | :show-close="isClose" | ||
7 | > | ||
8 | <el-tabs v-model="activeName" @tab-click="handleClick"> | ||
9 | <el-tab-pane label="内置图标" name="first"> | ||
10 | <ul v-if="iconList" class="clearfix"> | ||
11 | <li | ||
12 | v-for="(item, index) in iconList" | ||
13 | :key="index" | ||
14 | @click="changeData(item)" | ||
15 | > | ||
16 | <i :class="item" /> | ||
17 | </li> | ||
18 | </ul> | ||
19 | </el-tab-pane> | ||
20 | <el-tab-pane label="自定义图标" name="second"> | ||
21 | <el-upload | ||
22 | class="avatar-uploader" | ||
23 | action="https://jsonplaceholder.typicode.com/posts/" | ||
24 | > | ||
25 | <img v-if="imageUrl" :src="imageUrl" class="avatar"> | ||
26 | <i v-else class="el-icon-plus avatar-uploader-icon"> | ||
27 | <p>点击上传</p> | ||
28 | </i> | ||
29 | </el-upload> | ||
30 | <div> | ||
31 | <el-input v-model="iconName" class="icon-name" placeholder="请输入图标代码"></el-input> | ||
32 | </div> | ||
33 | <el-button class="confirm" type="primary" @click="changeIconName">确定</el-button> | ||
34 | </el-tab-pane> | ||
35 | </el-tabs> | ||
36 | </el-dialog> | ||
37 | </div> | ||
38 | </template> | ||
39 | |||
40 | <script> | ||
41 | import icoNameList from '@/utils/elementUI' | ||
42 | export default { | ||
43 | name: 'IconList', | ||
44 | components: {}, | ||
45 | props: {}, | ||
46 | data() { | ||
47 | return { | ||
48 | visible: false, | ||
49 | isClose: false, | ||
50 | iconList: [], | ||
51 | activeName: 'first', | ||
52 | iconName: '', | ||
53 | imageUrl: '' | ||
54 | } | ||
55 | }, | ||
56 | computed: {}, | ||
57 | watch: {}, | ||
58 | created() {}, | ||
59 | mounted() { | ||
60 | this.iconList = icoNameList | ||
61 | }, | ||
62 | methods: { | ||
63 | show(show) { | ||
64 | this.visible = show | ||
65 | }, | ||
66 | handleClick(tab, event) { | ||
67 | console.log(tab, event) | ||
68 | }, | ||
69 | changeData(iconName) { | ||
70 | this.visible = false | ||
71 | // 传递图标名称给父级 | ||
72 | this.$emit('iconName', iconName) | ||
73 | }, | ||
74 | changeIconName() { | ||
75 | this.visible = false | ||
76 | // 传递图标名称给父级 | ||
77 | this.$emit('iconName', this.iconName) | ||
78 | } | ||
79 | } | ||
80 | } | ||
81 | </script> | ||
82 | <style scoped lang="scss"> | ||
83 | ::v-deep .el-dialog { | ||
84 | box-shadow: 0px 4px 10px 0px #666666; | ||
85 | border-radius: 4px; | ||
86 | width: 573px; | ||
87 | height: 300px; | ||
88 | position: relative; | ||
89 | top: 4vh; | ||
90 | left: 0vw; | ||
91 | .el-dialog__header { | ||
92 | display: none; | ||
93 | } | ||
94 | .el-dialog__body { | ||
95 | padding: 10px; | ||
96 | } | ||
97 | .el-tabs { | ||
98 | .el-tabs__content { | ||
99 | height: 200px; | ||
100 | overflow-y: scroll; | ||
101 | ul { | ||
102 | li { | ||
103 | float: left; | ||
104 | padding: 1%; | ||
105 | margin: 2px; | ||
106 | border: 1px solid #e8eaec; | ||
107 | cursor: pointer; | ||
108 | width: 30px; | ||
109 | height: 30px; | ||
110 | } | ||
111 | } | ||
112 | .avatar-uploader-icon { | ||
113 | font-size: 12px; | ||
114 | color: #8c939d; | ||
115 | text-align: center; | ||
116 | width: 62px; | ||
117 | height: 62px; | ||
118 | background: #f6f7f9; | ||
119 | border-radius: 4px; | ||
120 | border: 1px solid #e5e5e5; | ||
121 | padding-top: 32%; | ||
122 | } | ||
123 | } | ||
124 | } | ||
125 | .confirm { | ||
126 | float: right; | ||
127 | margin-top: 30px; | ||
128 | } | ||
129 | |||
130 | .icon-name { | ||
131 | width: 70%; | ||
132 | margin-top: 10px; | ||
133 | } | ||
134 | } | ||
135 | </style> |
src/components/JsonEditors/index.vue
0 → 100644
1 | <template> | ||
2 | <div> | ||
3 | <i class="icon-tubiao-242 iconfont" :title="title" @click="openDialog" /> | ||
4 | <el-dialog | ||
5 | :key="key" | ||
6 | :title="title" | ||
7 | :inner-dialog="true" | ||
8 | :visible.sync="dialogVisible" | ||
9 | width="600px" | ||
10 | :close-on-click-modal="false" | ||
11 | append-to-body | ||
12 | @cancel="cancel" | ||
13 | > | ||
14 | <vue-json-editor | ||
15 | id="minejson" | ||
16 | v-model="resultInfo" | ||
17 | :mode="'code'" | ||
18 | lang="zh" | ||
19 | @json-change="onJsonChange" | ||
20 | @json-save="onJsonSave" | ||
21 | @has-error="onError" | ||
22 | /> | ||
23 | <el-tooltip | ||
24 | content="全屏缩放" | ||
25 | effect="dark" | ||
26 | placement="bottom" | ||
27 | fullscreen | ||
28 | class="fullScreen" | ||
29 | > | ||
30 | <i class="el-icon-full-screen" @click="enLarge" /> | ||
31 | </el-tooltip> | ||
32 | <template slot="footer"> | ||
33 | <div class="dialog-footer flex flex-pack-center"> | ||
34 | <el-button | ||
35 | type="primary" | ||
36 | class="confirmBtn" | ||
37 | @click="onJsonSave" | ||
38 | >保存</el-button> | ||
39 | <el-button | ||
40 | type="primary" | ||
41 | class="cancelBtn" | ||
42 | @click="cancel" | ||
43 | >关闭</el-button> | ||
44 | </div> | ||
45 | </template> | ||
46 | </el-dialog> | ||
47 | </div> | ||
48 | </template> | ||
49 | <script> | ||
50 | import vueJsonEditor from 'vue-json-editor' | ||
51 | export default { | ||
52 | components: { | ||
53 | vueJsonEditor | ||
54 | }, | ||
55 | props: { | ||
56 | title: { | ||
57 | type: String, | ||
58 | default: '配置参数' | ||
59 | }, | ||
60 | resultInfos: { | ||
61 | type: String, | ||
62 | default: '' | ||
63 | } | ||
64 | }, | ||
65 | data() { | ||
66 | return { | ||
67 | activeNames: [], | ||
68 | resultInfo: {}, | ||
69 | tmpResultInfo: {}, | ||
70 | dialogVisible: false, | ||
71 | hasJsonFlag: true, | ||
72 | key: 0, | ||
73 | isEnlarge: false | ||
74 | } | ||
75 | }, | ||
76 | watch: { | ||
77 | resultInfos: { | ||
78 | handler: function(val) { | ||
79 | ++this.key | ||
80 | this.resultInfo = | ||
81 | this.resultInfos === '' ? {} : JSON.parse(this.resultInfos) | ||
82 | this.tmpResultInfo = this.resultInfo | ||
83 | }, | ||
84 | deep: true, | ||
85 | immediate: true | ||
86 | } | ||
87 | }, | ||
88 | |||
89 | mounted() { | ||
90 | this.resultInfo = | ||
91 | this.resultInfos === '' ? {} : JSON.parse(this.resultInfos) | ||
92 | }, | ||
93 | |||
94 | methods: { | ||
95 | onJsonChange(value) { | ||
96 | // 只有在格式正确的时候进入此事件 | ||
97 | this.hasJsonFlag = true | ||
98 | }, | ||
99 | onJsonSave() { | ||
100 | const value = this.resultInfo | ||
101 | console.log(this.resultInfo, 'resultInfo') | ||
102 | if (this.hasJsonFlag === false) { | ||
103 | this.$message.error({ message: 'json格式验证失败', showClose: true }) | ||
104 | // alert("json验证失败") | ||
105 | return false | ||
106 | } else { | ||
107 | this.dialogVisible = false | ||
108 | this.$emit('getJsonString', JSON.stringify(value)) | ||
109 | return true | ||
110 | } | ||
111 | }, | ||
112 | onError(value) { | ||
113 | this.hasJsonFlag = false | ||
114 | }, | ||
115 | openDialog() { | ||
116 | this.dialogVisible = true | ||
117 | }, | ||
118 | cancel() { | ||
119 | console.log(this.tmpResultInfo, 'tmpResultInfo') | ||
120 | this.resultInfo = this.tmpResultInfo | ||
121 | this.dialogVisible = false | ||
122 | }, | ||
123 | // 放大 | ||
124 | enLarge() { | ||
125 | const fullarea = document.getElementById('minejson') | ||
126 | if (fullarea.requestFullscreen) { | ||
127 | fullarea.requestFullscreen() | ||
128 | } else if (fullarea.webkitRequestFullScreen) { | ||
129 | fullarea.webkitRequestFullScreen() // webkit内核(chrome、safari、Opera等) | ||
130 | } else if (fullarea.mozRequestFullScreen) { | ||
131 | fullarea.mozRequestFullScreen() // moz内核(firefox) | ||
132 | } else if (fullarea.msRequestFullscreen) { | ||
133 | fullarea.msRequestFullscreen() // IE11、edge | ||
134 | } | ||
135 | this.isEnlarge = true | ||
136 | } | ||
137 | } | ||
138 | } | ||
139 | </script> | ||
140 | |||
141 | <style scoped lang="scss"> | ||
142 | /* jsoneditor右上角默认有一个链接,加css去掉了 */ | ||
143 | .iconfont { | ||
144 | cursor: pointer; | ||
145 | position: relative; | ||
146 | top: 1px; | ||
147 | color: #349af3; | ||
148 | } | ||
149 | ::v-deep .jsoneditor-vue { | ||
150 | height: 100%; | ||
151 | } | ||
152 | .fullScreen { | ||
153 | position: absolute; | ||
154 | right: 5%; | ||
155 | top: 22%; | ||
156 | cursor: pointer; | ||
157 | color: #fff; | ||
158 | } | ||
159 | ::v-deep .jsoneditor-modes { | ||
160 | display: none !important; | ||
161 | } | ||
162 | .jsoneditor-poweredBy { | ||
163 | display: none !important; | ||
164 | } | ||
165 | .jsoneditor-menu { | ||
166 | background-color: #9c9e9f !important; | ||
167 | border-bottom: 1px solid #9c9e9f !important; | ||
168 | } | ||
169 | .jsoneditor { | ||
170 | border: 1px solid #9c9e9f !important; | ||
171 | } | ||
172 | .el-collapse { | ||
173 | border: 0; | ||
174 | } | ||
175 | .el-collapse-item__header { | ||
176 | height: 44px; | ||
177 | } | ||
178 | </style> |
... | @@ -74,7 +74,7 @@ export default { | ... | @@ -74,7 +74,7 @@ export default { |
74 | }, | 74 | }, |
75 | heightNum: { | 75 | heightNum: { |
76 | type: Number, | 76 | type: Number, |
77 | default: 345, | 77 | default: 355, |
78 | }, | 78 | }, |
79 | maxHeight: { | 79 | maxHeight: { |
80 | type: Number, | 80 | type: Number, |
... | @@ -99,7 +99,7 @@ export default { | ... | @@ -99,7 +99,7 @@ export default { |
99 | }, | 99 | }, |
100 | data () { | 100 | data () { |
101 | return { | 101 | return { |
102 | tableHeight: '', | 102 | tableHeight: 'auto', |
103 | mergeLine: {}, | 103 | mergeLine: {}, |
104 | mergeIndex: {}, | 104 | mergeIndex: {}, |
105 | selected: '' | 105 | selected: '' |
... | @@ -115,7 +115,6 @@ export default { | ... | @@ -115,7 +115,6 @@ export default { |
115 | }, | 115 | }, |
116 | }, | 116 | }, |
117 | methods: { | 117 | methods: { |
118 | |||
119 | // 单选 | 118 | // 单选 |
120 | singleElection (row) { | 119 | singleElection (row) { |
121 | this.selected = this.data.indexOf(row); | 120 | this.selected = this.data.indexOf(row); |
... | @@ -128,8 +127,37 @@ export default { | ... | @@ -128,8 +127,37 @@ export default { |
128 | }, | 127 | }, |
129 | getHeight () { | 128 | getHeight () { |
130 | if (!this.heightNumSetting) { | 129 | if (!this.heightNumSetting) { |
131 | this.tableHeight = window.innerHeight - this.heightNum | 130 | let _this = this |
131 | if (this.heightNum) { | ||
132 | _this.$nextTick(() => { | ||
133 | window.addEventListener('resize', () => { | ||
134 | _this.tableHeight = _this.calcHeightx(230) | ||
135 | }); | ||
136 | _this.tableHeight = _this.calcHeightx(230) | ||
137 | }) | ||
138 | } else { | ||
139 | _this.tableHeight = window.innerHeight - _this.heightNum | ||
140 | } | ||
141 | } | ||
142 | }, | ||
143 | calcHeightx (value, wappered = true) { | ||
144 | //项目自定义的公共header部分的高度,可忽略 | ||
145 | let header = document.querySelector(".from-clues-header").offsetHeight; | ||
146 | //value为动态计算table界面高度时,减去的其他空白部分,需自行在调试找到临界值,剩下的就是table表格的高度(包含header+body部分) | ||
147 | value = value == undefined ? 100 : value; | ||
148 | let res = window.innerHeight - parseInt(header) - value; | ||
149 | if (wappered) { | ||
150 | //通过原生方法,获取dom节点的高度------获取element-ui table表格body的元素 | ||
151 | let wapper = window.document.getElementsByClassName('el-table__body-wrapper'); | ||
152 | //通过原生方法,获取dom节点的高度------获取element-ui table表格header的元素 | ||
153 | let header = window.document.getElementsByClassName('el-table__header-wrapper'); | ||
154 | //必须加延时,要不然赋不上去值 | ||
155 | setTimeout(() => { | ||
156 | //通过上边计算得到的table高度的value值,减去table表格的header高度,剩下的通过dom节点直接强行赋给table表格的body | ||
157 | wapper[0].style.height = (value - header[0].clientHeight) | ||
158 | }, 100) | ||
132 | } | 159 | } |
160 | return res; | ||
133 | }, | 161 | }, |
134 | clearSelection () { | 162 | clearSelection () { |
135 | this.$refs.elTable.clearSelection() | 163 | this.$refs.elTable.clearSelection() | ... | ... |
src/image/itembg.png
0 → 100644

529 Bytes
src/image/slbg.png
0 → 100644

9.58 KB
src/image/slitembg.png
0 → 100644

405 Bytes
src/image/xzslitembg.png
0 → 100644

506 Bytes
1 | <template> | 1 | <template> |
2 | <section class="app-main"> | 2 | <section class="app-main"> |
3 | <!-- <Breadcrumb v-if="judgeRoute()" /> --> | ||
4 | <transition name="fade-transform" mode="out-in"> | 3 | <transition name="fade-transform" mode="out-in"> |
5 | <router-view /> | 4 | <router-view /> |
6 | </transition> | 5 | </transition> |
7 | </section> | 6 | </section> |
8 | </template> | 7 | </template> |
9 | <script> | 8 | <script> |
10 | import Breadcrumb from "@/components/Breadcrumb.vue"; | 9 | |
11 | export default { | 10 | export default { |
12 | name: 'AppMain', | 11 | name: 'AppMain', |
13 | components: { | ||
14 | Breadcrumb | ||
15 | }, | ||
16 | methods: { | ||
17 | judgeRoute(){ | ||
18 | if (this.$route.path == '/home' || this.$route.path.indexOf('jsbwcx') > -1) { | ||
19 | return false | ||
20 | }else{ | ||
21 | return true | ||
22 | } | ||
23 | } | ||
24 | }, | ||
25 | computed: { | 12 | computed: { |
26 | key () { | 13 | key () { |
27 | return this.$route.path | 14 | return this.$route.path | ... | ... |
... | @@ -79,7 +79,8 @@ export default { | ... | @@ -79,7 +79,8 @@ export default { |
79 | .xuanzhong { | 79 | .xuanzhong { |
80 | background: url('~@/image/selNavbar.png') no-repeat; | 80 | background: url('~@/image/selNavbar.png') no-repeat; |
81 | background-size: 100% 100%; | 81 | background-size: 100% 100%; |
82 | color: #09C39A !important; | 82 | color: #FFFFFF !important; |
83 | font-weight: 700; | ||
83 | } | 84 | } |
84 | 85 | ||
85 | /deep/.el-menu-item:hover { | 86 | /deep/.el-menu-item:hover { | ... | ... |
1 | <template> | 1 | <template> |
2 | <el-menu router :default-active="activeMenu" mode="horizontal"> | 2 | <el-menu router :default-active="activeMenu" mode="horizontal" menu-trigger="click"> |
3 | <!-- 权限菜单 --> | 3 | <!-- 权限菜单 --> |
4 | <sidebar-item v-for="route in permission_routes.slice(1, 4)" :key="route.path" :item="route" | 4 | <sidebar-item v-for="route in permission_routes.slice(1, 4)" :key="route.path" :item="route" |
5 | :base-path="route.path" /> | 5 | :base-path="route.path" /> | ... | ... |
... | @@ -36,6 +36,7 @@ export default { | ... | @@ -36,6 +36,7 @@ export default { |
36 | position: relative; | 36 | position: relative; |
37 | height: 100%; | 37 | height: 100%; |
38 | width: 100%; | 38 | width: 100%; |
39 | min-width: 1280px; | ||
39 | background: url('~@/image/bg.png') no-repeat; | 40 | background: url('~@/image/bg.png') no-repeat; |
40 | background-size: 100% 100%; | 41 | background-size: 100% 100%; |
41 | padding: 12px; | 42 | padding: 12px; |
... | @@ -48,6 +49,7 @@ export default { | ... | @@ -48,6 +49,7 @@ export default { |
48 | } | 49 | } |
49 | 50 | ||
50 | .appMain { | 51 | .appMain { |
52 | min-width: 1290px; | ||
51 | height: calc(100vh - 101px) !important; | 53 | height: calc(100vh - 101px) !important; |
52 | box-sizing: border-box; | 54 | box-sizing: border-box; |
53 | 55 | ... | ... |
... | @@ -2,7 +2,7 @@ const state = { | ... | @@ -2,7 +2,7 @@ const state = { |
2 | rules: {}, | 2 | rules: {}, |
3 | initRules: {}, | 3 | initRules: {}, |
4 | subRules: {}, | 4 | subRules: {}, |
5 | Edit: false | 5 | Edit: true |
6 | } | 6 | } |
7 | 7 | ||
8 | const mutations = { | 8 | const mutations = { |
... | @@ -30,13 +30,13 @@ const actions = { | ... | @@ -30,13 +30,13 @@ const actions = { |
30 | setInitRules ({ commit }, data) { | 30 | setInitRules ({ commit }, data) { |
31 | commit('SET_INITRULES', data) | 31 | commit('SET_INITRULES', data) |
32 | }, | 32 | }, |
33 | setSubRules({ commit }, data) { | 33 | setSubRules ({ commit }, data) { |
34 | commit('SET_SUBRULES', data) | 34 | commit('SET_SUBRULES', data) |
35 | }, | 35 | }, |
36 | setEdit({ commit }) { | 36 | setEdit ({ commit }) { |
37 | commit('SET_EDIT') | 37 | commit('SET_EDIT') |
38 | }, | 38 | }, |
39 | setReportLogEdit({ commit }) { | 39 | setReportLogEdit ({ commit }) { |
40 | commit('SET_REPORTEDIT') | 40 | commit('SET_REPORTEDIT') |
41 | } | 41 | } |
42 | } | 42 | } | ... | ... |
... | @@ -66,7 +66,8 @@ | ... | @@ -66,7 +66,8 @@ |
66 | // refine element ui upload | 66 | // refine element ui upload |
67 | .el-input.is-disabled .el-input__inner { | 67 | .el-input.is-disabled .el-input__inner { |
68 | color: #FFFFFF !important; | 68 | color: #FFFFFF !important; |
69 | background-color: transparent !important; | 69 | // background-color: transparent !important; |
70 | border: 1px solid #224C7C !important; | ||
70 | } | 71 | } |
71 | 72 | ||
72 | .upload-container { | 73 | .upload-container { |
... | @@ -214,6 +215,15 @@ table td { | ... | @@ -214,6 +215,15 @@ table td { |
214 | color: #4A4A4A; | 215 | color: #4A4A4A; |
215 | } | 216 | } |
216 | 217 | ||
218 | .twoLineCls { | ||
219 | text-overflow: -o-ellipsis-lastline; | ||
220 | overflow: hidden; | ||
221 | text-overflow: ellipsis; | ||
222 | display: -webkit-box; | ||
223 | -webkit-line-clamp: 2; | ||
224 | line-clamp: 2; | ||
225 | -webkit-box-orient: vertical; | ||
226 | } | ||
217 | 227 | ||
218 | .el-table tr td { | 228 | .el-table tr td { |
219 | font-size: 14px; | 229 | font-size: 14px; |
... | @@ -253,7 +263,8 @@ table td { | ... | @@ -253,7 +263,8 @@ table td { |
253 | // element 下拉框样式 | 263 | // element 下拉框样式 |
254 | .el-menu--popup, | 264 | .el-menu--popup, |
255 | .el-select-dropdown { | 265 | .el-select-dropdown { |
256 | background-color: #031A46 !important; | 266 | background: url("~@/image/slbg.png") no-repeat; |
267 | background-size: 100% 100%; | ||
257 | padding: 10px; | 268 | padding: 10px; |
258 | border: none; | 269 | border: none; |
259 | } | 270 | } |
... | @@ -265,20 +276,25 @@ table td { | ... | @@ -265,20 +276,25 @@ table td { |
265 | .el-popper[x-placement^="bottom"] .popper__arrow { | 276 | .el-popper[x-placement^="bottom"] .popper__arrow { |
266 | display: none; | 277 | display: none; |
267 | } | 278 | } |
279 | |||
268 | .el-popper[x-placement^="bottom"] { | 280 | .el-popper[x-placement^="bottom"] { |
269 | margin-top: 0px; | 281 | margin-top: 0px; |
270 | } | 282 | } |
283 | |||
271 | // 时间选择框样式 | 284 | // 时间选择框样式 |
272 | .el-date-picker { | 285 | .el-date-picker { |
273 | .el-input__inner{ | 286 | .el-input__inner { |
274 | background-color: #031a46; | 287 | background-color: #031a46; |
275 | } | 288 | } |
276 | .el-picker-panel{ | 289 | |
290 | .el-picker-panel { | ||
277 | border: none; | 291 | border: none; |
278 | } | 292 | } |
279 | .el-picker-panel__footer{ | 293 | |
294 | .el-picker-panel__footer { | ||
280 | background-color: #031a46; | 295 | background-color: #031a46; |
281 | } | 296 | } |
297 | |||
282 | .el-date-table td.disabled div { | 298 | .el-date-table td.disabled div { |
283 | background-color: #074487; | 299 | background-color: #074487; |
284 | } | 300 | } |
... | @@ -400,9 +416,12 @@ table td { | ... | @@ -400,9 +416,12 @@ table td { |
400 | 416 | ||
401 | // 时间组件input框部分 | 417 | // 时间组件input框部分 |
402 | .el-date-editor { | 418 | .el-date-editor { |
403 | [class^="el-icon-"], [class*=" el-icon-"] { | 419 | |
420 | [class^="el-icon-"], | ||
421 | [class*=" el-icon-"] { | ||
404 | display: none; | 422 | display: none; |
405 | } | 423 | } |
424 | |||
406 | .el-range-separator { | 425 | .el-range-separator { |
407 | color: #E3F1FF; | 426 | color: #E3F1FF; |
408 | } | 427 | } |
... | @@ -416,18 +435,30 @@ table td { | ... | @@ -416,18 +435,30 @@ table td { |
416 | .el-menu--horizontal .el-menu .el-menu-item, | 435 | .el-menu--horizontal .el-menu .el-menu-item, |
417 | .el-select-dropdown__item, | 436 | .el-select-dropdown__item, |
418 | .el-menu--horizontal .el-menu .el-submenu__title { | 437 | .el-menu--horizontal .el-menu .el-submenu__title { |
419 | background: #074487 !important; | 438 | background: url("~@/image/slitembg.png") no-repeat; |
420 | margin: 5px 0; | 439 | height: 26px; |
421 | border: 1px solid #074487; | 440 | line-height: 26px; |
441 | background-size: 100% 100%; | ||
442 | margin-bottom: 7px; | ||
422 | color: #02D9FD !important; | 443 | color: #02D9FD !important; |
423 | } | 444 | } |
424 | 445 | ||
446 | .el-select-dropdown { | ||
447 | top: 203px !important; | ||
448 | } | ||
449 | |||
425 | .el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):hover, | 450 | .el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):hover, |
426 | .el-select-dropdown__item:hover, | 451 | .el-select-dropdown__item:hover, |
427 | .el-select-dropdown__item.selected, | 452 | .el-select-dropdown__item.selected, |
428 | .el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):focus { | 453 | .el-menu--horizontal .el-menu--popup .el-menu-item:not(.is-disabled):focus { |
429 | background: #074487; | 454 | background: url("~@/image/xzslitembg.png") no-repeat; |
430 | border: 1px solid #02D9FD; | 455 | background-size: 100% 100%; |
431 | color: #FFFFFF !important; | 456 | color: #FFFFFF !important; |
432 | font-weight: 700; | 457 | font-weight: 700; |
433 | } | 458 | } |
459 | |||
460 | .el-select-dropdown__item.hover, | ||
461 | .el-select-dropdown__item:hover { | ||
462 | background-color: transparent !important; | ||
463 | ; | ||
464 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -7,36 +7,43 @@ | ... | @@ -7,36 +7,43 @@ |
7 | max-height: 100%; | 7 | max-height: 100%; |
8 | overflow-y: scroll; | 8 | overflow-y: scroll; |
9 | } | 9 | } |
10 | |||
10 | .panel-tab__title { | 11 | .panel-tab__title { |
11 | font-weight: 600; | 12 | font-weight: 600; |
12 | padding: 0 8px; | 13 | padding: 0 8px; |
13 | font-size: 1.1em; | 14 | font-size: 1.1em; |
14 | line-height: 1.2em; | 15 | line-height: 1.2em; |
16 | |||
15 | i { | 17 | i { |
16 | margin-right: 8px; | 18 | margin-right: 8px; |
17 | font-size: 1.2em; | 19 | font-size: 1.2em; |
18 | } | 20 | } |
19 | } | 21 | } |
22 | |||
20 | .panel-tab__content { | 23 | .panel-tab__content { |
21 | width: 100%; | 24 | width: 100%; |
22 | box-sizing: border-box; | 25 | box-sizing: border-box; |
23 | border-top: 1px solid #eeeeee; | 26 | border-top: 1px solid #eeeeee; |
24 | padding: 8px 16px; | 27 | padding: 8px 16px; |
28 | |||
25 | .panel-tab__content--title { | 29 | .panel-tab__content--title { |
26 | display: flex; | 30 | display: flex; |
27 | justify-content: space-between; | 31 | justify-content: space-between; |
28 | padding-bottom: 8px; | 32 | padding-bottom: 8px; |
33 | |||
29 | span { | 34 | span { |
30 | flex: 1; | 35 | flex: 1; |
31 | text-align: left; | 36 | text-align: left; |
32 | } | 37 | } |
33 | } | 38 | } |
34 | } | 39 | } |
40 | |||
35 | .element-property { | 41 | .element-property { |
36 | width: 100%; | 42 | width: 100%; |
37 | display: flex; | 43 | display: flex; |
38 | align-items: flex-start; | 44 | align-items: flex-start; |
39 | margin: 8px 0; | 45 | margin: 8px 0; |
46 | |||
40 | .element-property__label { | 47 | .element-property__label { |
41 | display: block; | 48 | display: block; |
42 | width: 90px; | 49 | width: 90px; |
... | @@ -47,64 +54,72 @@ | ... | @@ -47,64 +54,72 @@ |
47 | font-size: 14px; | 54 | font-size: 14px; |
48 | box-sizing: border-box; | 55 | box-sizing: border-box; |
49 | } | 56 | } |
57 | |||
50 | .element-property__value { | 58 | .element-property__value { |
51 | flex: 1; | 59 | flex: 1; |
52 | line-height: 32px; | 60 | line-height: 32px; |
53 | } | 61 | } |
62 | |||
54 | .el-form-item { | 63 | .el-form-item { |
55 | width: 100%; | 64 | width: 100%; |
56 | margin-bottom: 0; | 65 | margin-bottom: 0; |
57 | padding-bottom: 18px; | 66 | padding-bottom: 18px; |
58 | } | 67 | } |
59 | } | 68 | } |
69 | |||
60 | .list-property { | 70 | .list-property { |
61 | flex-direction: column; | 71 | flex-direction: column; |
72 | |||
62 | .element-listener-item { | 73 | .element-listener-item { |
63 | width: 100%; | 74 | width: 100%; |
64 | display: inline-grid; | 75 | display: inline-grid; |
65 | grid-template-columns: 16px auto 32px 32px; | 76 | grid-template-columns: 16px auto 32px 32px; |
66 | grid-column-gap: 8px; | 77 | grid-column-gap: 8px; |
67 | } | 78 | } |
68 | .element-listener-item + .element-listener-item { | 79 | |
80 | .element-listener-item+.element-listener-item { | ||
69 | margin-top: 8px; | 81 | margin-top: 8px; |
70 | } | 82 | } |
71 | } | 83 | } |
84 | |||
72 | .listener-filed__title { | 85 | .listener-filed__title { |
73 | display: inline-flex; | 86 | display: inline-flex; |
74 | width: 100%; | 87 | width: 100%; |
75 | justify-content: space-between; | 88 | justify-content: space-between; |
76 | align-items: center; | 89 | align-items: center; |
77 | margin-top: 0; | 90 | margin-top: 0; |
91 | |||
78 | span { | 92 | span { |
79 | width: 200px; | 93 | width: 200px; |
80 | text-align: left; | 94 | text-align: left; |
81 | font-size: 14px; | 95 | font-size: 14px; |
82 | } | 96 | } |
97 | |||
83 | i { | 98 | i { |
84 | margin-right: 8px; | 99 | margin-right: 8px; |
85 | } | 100 | } |
86 | } | 101 | } |
102 | |||
87 | .element-drawer__button { | 103 | .element-drawer__button { |
88 | margin-top: 8px; | 104 | margin-top: 8px; |
89 | width: 100%; | 105 | width: 100%; |
90 | display: inline-flex; | 106 | display: inline-flex; |
91 | justify-content: space-around; | 107 | justify-content: space-around; |
92 | } | 108 | } |
93 | .element-drawer__button > .el-button { | 109 | |
110 | .element-drawer__button>.el-button { | ||
94 | width: 100%; | 111 | width: 100%; |
95 | } | 112 | } |
96 | 113 | ||
97 | .el-collapse-item__content { | 114 | .el-collapse-item__content { |
98 | padding-bottom: 0; | 115 | padding-bottom: 0; |
99 | } | 116 | } |
100 | .el-input.is-disabled .el-input__inner { | 117 | |
101 | color: #999999; | ||
102 | } | ||
103 | .el-form-item.el-form-item--mini { | 118 | .el-form-item.el-form-item--mini { |
104 | margin-bottom: 0; | 119 | margin-bottom: 0; |
105 | & + .el-form-item { | 120 | |
121 | &+.el-form-item { | ||
106 | margin-top: 16px; | 122 | margin-top: 16px; |
107 | } | 123 | } |
108 | } | 124 | } |
109 | } | 125 | } |
... | \ No newline at end of file | ... | \ No newline at end of file |
110 | ... | ... |
... | @@ -40,16 +40,16 @@ | ... | @@ -40,16 +40,16 @@ |
40 | 40 | ||
41 | //*****start*通用表单查询条件,列表样式******// | 41 | //*****start*通用表单查询条件,列表样式******// |
42 | .from-clues { | 42 | .from-clues { |
43 | min-width: 1280px; | ||
44 | height: 100%; | 43 | height: 100%; |
45 | width: 100%; | 44 | width: 100%; |
45 | min-width: 1280px; | ||
46 | box-sizing: border-box; | 46 | box-sizing: border-box; |
47 | overflow-x: hidden; | 47 | overflow-x: hidden; |
48 | padding: 2px; | 48 | padding: 2px; |
49 | 49 | ||
50 | &-header { | 50 | &-header { |
51 | width: 100%; | 51 | width: 100%; |
52 | padding: 20px 30px 20px 20px; | 52 | padding: 5px 30px 20px 20px; |
53 | box-sizing: border-box; | 53 | box-sizing: border-box; |
54 | background: url("~@/image/formHeader.png") no-repeat; | 54 | background: url("~@/image/formHeader.png") no-repeat; |
55 | background-size: 100% 100%; | 55 | background-size: 100% 100%; | ... | ... |
src/utils/elementUI.js
0 → 100644
1 | const icoNameList = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round'] | ||
2 | .map(s => 'el-icon-' + s) | ||
3 | export default icoNameList | ||
4 |
... | @@ -5,3 +5,26 @@ | ... | @@ -5,3 +5,26 @@ |
5 | export function isExternal (path) { | 5 | export function isExternal (path) { |
6 | return /^(https?:|mailto:|tel:)/.test(path) | 6 | return /^(https?:|mailto:|tel:)/.test(path) |
7 | } | 7 | } |
8 | // ex: {validator:validateCode,trigger:'blur'} | ||
9 | // 验证code | ||
10 | export const validateCode = (rule, value, callback) => { | ||
11 | const reg = /^[A-Z]{1}[A-Za-z0-9]*$/ | ||
12 | !reg.test(value) ? callback('字母开头、数字和字母组成') : callback() | ||
13 | } | ||
14 | // 验证 网址 | ||
15 | export const validateUrl = (rule, value, callback) => { | ||
16 | const reg = /^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/ | ||
17 | !reg.test(value) ? callback('URL格式不正确') : callback() | ||
18 | } | ||
19 | // 验证 电话 | ||
20 | export const validatePhone = (rule, value, callback) => { | ||
21 | const phoneReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/ | ||
22 | const rel = /^[0]\d{2,3}-[1-9]\d{7}$/ | ||
23 | if (!value) { | ||
24 | callback() | ||
25 | } else { | ||
26 | !(phoneReg.test(value) || rel.test(value)) | ||
27 | ? callback(new Error('请输入正确的联系电话')) | ||
28 | : callback() | ||
29 | } | ||
30 | } | ... | ... |
... | @@ -33,19 +33,28 @@ class data extends filter { | ... | @@ -33,19 +33,28 @@ class data extends filter { |
33 | label: "不动产单元号", | 33 | label: "不动产单元号", |
34 | prop: "bdcdyh" | 34 | prop: "bdcdyh" |
35 | }, | 35 | }, |
36 | // { | ||
37 | // label: "不动产产权证号", | ||
38 | // prop: "bdcqzh" | ||
39 | // }, | ||
36 | { | 40 | { |
37 | label: "不动产产权证号", | 41 | label: "查封机关", |
38 | prop: "bdcqzh" | 42 | prop: "cfjg" |
39 | }, | 43 | }, |
40 | { | 44 | { |
41 | label: "查封(解封)机关", | 45 | label: "查封文号", |
42 | prop: "cjfjg" | 46 | prop: "cfwh" |
43 | }, | 47 | }, |
44 | { | 48 | { |
45 | label: "查封(解封)文号", | 49 | label: "解封机关", |
46 | prop: "cjfwh" | 50 | prop: "jfjg" |
47 | }, | 51 | }, |
48 | { | 52 | { |
53 | label: "解封文号", | ||
54 | prop: "jfwh" | ||
55 | }, | ||
56 | |||
57 | { | ||
49 | label: "查封开始时间", | 58 | label: "查封开始时间", |
50 | width: 140, | 59 | width: 140, |
51 | prop: "cfqssj" | 60 | prop: "cfqssj" | ... | ... |
... | @@ -19,18 +19,16 @@ | ... | @@ -19,18 +19,16 @@ |
19 | </el-select> | 19 | </el-select> |
20 | </el-form-item> | 20 | </el-form-item> |
21 | </el-col> | 21 | </el-col> |
22 | <el-col :span="5"> | 22 | <!-- <el-col :span="5"> |
23 | <el-form-item label="坐落"> | 23 | <el-form-item label="坐落"> |
24 | <el-input v-model="form.ZL" placeholder="坐落"></el-input> | 24 | <el-input v-model="form.ZL" placeholder="坐落"></el-input> |
25 | </el-form-item> | 25 | </el-form-item> |
26 | </el-col> | 26 | </el-col> --> |
27 | <el-col :span="5"> | 27 | <!-- <el-col :span="5"> |
28 | <el-form-item label="不动产权证号"> | 28 | <el-form-item label="不动产权证号"> |
29 | <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input> | 29 | <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input> |
30 | </el-form-item> | 30 | </el-form-item> |
31 | </el-col> | 31 | </el-col> --> |
32 | </el-row> | ||
33 | <el-row class="mt-10"> | ||
34 | <el-col :span="5"> | 32 | <el-col :span="5"> |
35 | <el-form-item label="权利人" label-width="80px"> | 33 | <el-form-item label="权利人" label-width="80px"> |
36 | <el-input v-model="form.QLR" placeholder="权利人"></el-input> | 34 | <el-input v-model="form.QLR" placeholder="权利人"></el-input> |
... | @@ -41,16 +39,30 @@ | ... | @@ -41,16 +39,30 @@ |
41 | <el-input v-model="form.BDCDYH" placeholder="不动产单元号"></el-input> | 39 | <el-input v-model="form.BDCDYH" placeholder="不动产单元号"></el-input> |
42 | </el-form-item> | 40 | </el-form-item> |
43 | </el-col> | 41 | </el-col> |
42 | |||
43 | </el-row> | ||
44 | <el-row class="mt-10"> | ||
45 | <el-col :span="5"> | ||
46 | <el-form-item label="查封机关" label-width="80px"> | ||
47 | <el-input v-model="form.CFJG" placeholder="查封机关"></el-input> | ||
48 | </el-form-item> | ||
49 | </el-col> | ||
50 | <el-col :span="5"> | ||
51 | <el-form-item label="查封文号"> | ||
52 | <el-input v-model="form.CFWH" placeholder="查封文号"></el-input> | ||
53 | </el-form-item> | ||
54 | </el-col> | ||
44 | <el-col :span="5"> | 55 | <el-col :span="5"> |
45 | <el-form-item label="查封(解封)机关"> | 56 | <el-form-item label="解封机关" label-width="80px"> |
46 | <el-input v-model="form.xxx" placeholder="查封(解封)机关"></el-input> | 57 | <el-input v-model="form.JFJG" placeholder="解封机关"></el-input> |
47 | </el-form-item> | 58 | </el-form-item> |
48 | </el-col> | 59 | </el-col> |
49 | <el-col :span="5"> | 60 | <el-col :span="5"> |
50 | <el-form-item label="查封(解封)文号"> | 61 | <el-form-item label="解封文号"> |
51 | <el-input v-model="form.xxx1" placeholder="查封(解封)文号"></el-input> | 62 | <el-input v-model="form.JFWH" placeholder="解封文号"></el-input> |
52 | </el-form-item> | 63 | </el-form-item> |
53 | </el-col> | 64 | </el-col> |
65 | |||
54 | <el-col :span="4" class="btnColRight"> | 66 | <el-col :span="4" class="btnColRight"> |
55 | <btn nativeType="cz" @click="resetForm">重置</btn> | 67 | <btn nativeType="cz" @click="resetForm">重置</btn> |
56 | <btn nativeType="cx" @click="handleSubmit">查询</btn> | 68 | <btn nativeType="cx" @click="handleSubmit">查询</btn> |
... | @@ -65,7 +77,7 @@ | ... | @@ -65,7 +77,7 @@ |
65 | </lb-table> | 77 | </lb-table> |
66 | </div> | 78 | </div> |
67 | <!-- 编辑 --> | 79 | <!-- 编辑 --> |
68 | <dataDetails ref="editLog" :title="title" /> | 80 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlCfdj'" /> |
69 | </div> | 81 | </div> |
70 | </template> | 82 | </template> |
71 | <script> | 83 | <script> |
... | @@ -85,8 +97,10 @@ export default { | ... | @@ -85,8 +97,10 @@ export default { |
85 | BDCQZH: '', | 97 | BDCQZH: '', |
86 | QLR: '', | 98 | QLR: '', |
87 | BDCDYH: '', | 99 | BDCDYH: '', |
88 | xxx: '', | 100 | JFJG: '', |
89 | xxx1: '', | 101 | JFWH: '', |
102 | CFJG: '', | ||
103 | CFWH: '', | ||
90 | currentPage: 1 | 104 | currentPage: 1 |
91 | }, | 105 | }, |
92 | tableData: { | 106 | tableData: { | ... | ... |
... | @@ -35,14 +35,14 @@ class data extends filter { | ... | @@ -35,14 +35,14 @@ class data extends filter { |
35 | }, | 35 | }, |
36 | { | 36 | { |
37 | label: "不动产权证号", | 37 | label: "不动产权证号", |
38 | prop: "bdcqzh" | 38 | prop: "bdcdjzmh" |
39 | }, | 39 | }, |
40 | { | 40 | { |
41 | label: "抵押类型", | 41 | label: "抵押类型", |
42 | render: (h, scope) => { | 42 | render: (h, scope) => { |
43 | return ( | 43 | return ( |
44 | <div> | 44 | <div> |
45 | <span>{this.dicStatus(scope.row.dylx, 'xxx')}</span> | 45 | <span>{this.dicStatus(scope.row.dybdclx, 'A27')}</span> |
46 | </div> | 46 | </div> |
47 | ) | 47 | ) |
48 | } | 48 | } |
... | @@ -63,11 +63,11 @@ class data extends filter { | ... | @@ -63,11 +63,11 @@ class data extends filter { |
63 | }, | 63 | }, |
64 | { | 64 | { |
65 | label: "被担保主债权数额", | 65 | label: "被担保主债权数额", |
66 | prop: "xxx" | 66 | prop: "bdbzzqse" |
67 | }, | 67 | }, |
68 | { | 68 | { |
69 | label: "最高债权额", | 69 | label: "最高债权额", |
70 | prop: "xxxx" | 70 | prop: "zgzqse" |
71 | }, | 71 | }, |
72 | { | 72 | { |
73 | label: "登记时间", | 73 | label: "登记时间", | ... | ... |
... | @@ -19,23 +19,23 @@ | ... | @@ -19,23 +19,23 @@ |
19 | </el-select> | 19 | </el-select> |
20 | </el-form-item> | 20 | </el-form-item> |
21 | </el-col> | 21 | </el-col> |
22 | <el-col :span="5"> | 22 | <!-- <el-col :span="5"> |
23 | <el-form-item label="坐落"> | 23 | <el-form-item label="坐落"> |
24 | <el-input v-model="form.ZL" placeholder="坐落"></el-input> | 24 | <el-input v-model="form.ZL" placeholder="坐落"></el-input> |
25 | </el-form-item> | 25 | </el-form-item> |
26 | </el-col> | 26 | </el-col> --> |
27 | <el-col :span="5"> | 27 | <el-col :span="5"> |
28 | <el-form-item label="不动产权证号"> | 28 | <el-form-item label="不动产权证号"> |
29 | <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input> | 29 | <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input> |
30 | </el-form-item> | 30 | </el-form-item> |
31 | </el-col> | 31 | </el-col> |
32 | </el-row> | ||
33 | <el-row class="mt-10"> | ||
34 | <el-col :span="5"> | 32 | <el-col :span="5"> |
35 | <el-form-item label="抵押人" label-width="80px"> | 33 | <el-form-item label="抵押人" label-width="80px"> |
36 | <el-input v-model="form.dyr" placeholder="抵押人"></el-input> | 34 | <el-input v-model="form.dyr" placeholder="抵押人"></el-input> |
37 | </el-form-item> | 35 | </el-form-item> |
38 | </el-col> | 36 | </el-col> |
37 | </el-row> | ||
38 | <el-row class="mt-10"> | ||
39 | <el-col :span="5"> | 39 | <el-col :span="5"> |
40 | <el-form-item label="不动产单元号"> | 40 | <el-form-item label="不动产单元号"> |
41 | <el-input v-model="form.BDCDYH" placeholder="不动产单元号"></el-input> | 41 | <el-input v-model="form.BDCDYH" placeholder="不动产单元号"></el-input> |
... | @@ -57,7 +57,8 @@ | ... | @@ -57,7 +57,8 @@ |
57 | </el-select> | 57 | </el-select> |
58 | </el-form-item> | 58 | </el-form-item> |
59 | </el-col> | 59 | </el-col> |
60 | <el-col :span="4" class="btnColRight"> | 60 | |
61 | <el-col :span="9" class="btnColRight"> | ||
61 | <btn nativeType="cz" @click="resetForm">重置</btn> | 62 | <btn nativeType="cz" @click="resetForm">重置</btn> |
62 | <btn nativeType="cx" @click="handleSubmit">查询</btn> | 63 | <btn nativeType="cx" @click="handleSubmit">查询</btn> |
63 | </el-col> | 64 | </el-col> |
... | @@ -66,12 +67,12 @@ | ... | @@ -66,12 +67,12 @@ |
66 | </div> | 67 | </div> |
67 | <div class="from-clues-content"> | 68 | <div class="from-clues-content"> |
68 | <lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total" | 69 | <lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total" |
69 | @selection-change="handleSelectionChange" @size-change="handleSizeChange" | 70 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" |
70 | @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data"> | 71 | :data="tableData.data"> |
71 | </lb-table> | 72 | </lb-table> |
72 | </div> | 73 | </div> |
73 | <!-- 编辑 --> | 74 | <!-- 编辑 --> |
74 | <dataDetails ref="editLog" :title="title" /> | 75 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlDyaq'" /> |
75 | </div> | 76 | </div> |
76 | </template> | 77 | </template> |
77 | 78 | ... | ... |
... | @@ -73,7 +73,7 @@ | ... | @@ -73,7 +73,7 @@ |
73 | </lb-table> | 73 | </lb-table> |
74 | </div> | 74 | </div> |
75 | <!-- 编辑 --> | 75 | <!-- 编辑 --> |
76 | <dataDetails ref="editLog" :title="title" /> | 76 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlDyiq'" /> |
77 | </div> | 77 | </div> |
78 | </template> | 78 | </template> |
79 | 79 | ... | ... |
... | @@ -63,7 +63,7 @@ | ... | @@ -63,7 +63,7 @@ |
63 | :data="tableData.data"> | 63 | :data="tableData.data"> |
64 | </lb-table> | 64 | </lb-table> |
65 | </div> | 65 | </div> |
66 | <dataDetails ref="editLog" :title="title" /> | 66 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqDz'"/> |
67 | </div> | 67 | </div> |
68 | </template> | 68 | </template> |
69 | 69 | ... | ... |
... | @@ -35,7 +35,7 @@ | ... | @@ -35,7 +35,7 @@ |
35 | :data="tableData.data"> | 35 | :data="tableData.data"> |
36 | </lb-table> | 36 | </lb-table> |
37 | </div> | 37 | </div> |
38 | <dataDetails ref="editLog" :title="title" /> | 38 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfFwFdcqQfsyq'" /> |
39 | </div> | 39 | </div> |
40 | </template> | 40 | </template> |
41 | 41 | ... | ... |
... | @@ -46,7 +46,7 @@ class data extends filter { | ... | @@ -46,7 +46,7 @@ class data extends filter { |
46 | }, | 46 | }, |
47 | { | 47 | { |
48 | label: "用途", | 48 | label: "用途", |
49 | prop: "tdyt" | 49 | prop: "ytmc" |
50 | }, | 50 | }, |
51 | { | 51 | { |
52 | label: "权利类型", | 52 | label: "权利类型", |
... | @@ -59,14 +59,8 @@ class data extends filter { | ... | @@ -59,14 +59,8 @@ class data extends filter { |
59 | }, | 59 | }, |
60 | }, | 60 | }, |
61 | { | 61 | { |
62 | label: "权力性质", | 62 | label: "房屋性质", |
63 | render: (h, scope) => { | 63 | prop: "fwxzmc" |
64 | return ( | ||
65 | <div> | ||
66 | <span>{this.dicStatus(scope.row.qlxz, 'A9')}</span> | ||
67 | </div> | ||
68 | ) | ||
69 | }, | ||
70 | }, | 64 | }, |
71 | { | 65 | { |
72 | label: "登记类型", | 66 | label: "登记类型", | ... | ... |
... | @@ -63,7 +63,7 @@ | ... | @@ -63,7 +63,7 @@ |
63 | :data="tableData.data"> | 63 | :data="tableData.data"> |
64 | </lb-table> | 64 | </lb-table> |
65 | </div> | 65 | </div> |
66 | <dataDetails ref="editLog" :title="title" /> | 66 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qltFwFdcqYz'"/> |
67 | </div> | 67 | </div> |
68 | </template> | 68 | </template> |
69 | 69 | ... | ... |
... | @@ -60,7 +60,7 @@ | ... | @@ -60,7 +60,7 @@ |
60 | :data="tableData.data"> | 60 | :data="tableData.data"> |
61 | </lb-table> | 61 | </lb-table> |
62 | </div> | 62 | </div> |
63 | <dataDetails ref="editLog" :title="title" /> | 63 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qltQlGjzwsyq'" /> |
64 | </div> | 64 | </div> |
65 | </template> | 65 | </template> |
66 | 66 | ... | ... |
... | @@ -61,7 +61,7 @@ | ... | @@ -61,7 +61,7 @@ |
61 | </lb-table> | 61 | </lb-table> |
62 | <message-tips ref="msg" :message="message" /> | 62 | <message-tips ref="msg" :message="message" /> |
63 | </div> | 63 | </div> |
64 | <dataDetails ref="editLog" :title="title" /> | 64 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlHysyq'" /> |
65 | </div> | 65 | </div> |
66 | </template> | 66 | </template> |
67 | 67 | ... | ... |
... | @@ -58,7 +58,7 @@ | ... | @@ -58,7 +58,7 @@ |
58 | :data="tableData.data"> | 58 | :data="tableData.data"> |
59 | </lb-table> | 59 | </lb-table> |
60 | </div> | 60 | </div> |
61 | <dataDetails ref="editLog" :title="title" /> | 61 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlJsydsyq'"/> |
62 | </div> | 62 | </div> |
63 | </template> | 63 | </template> |
64 | 64 | ... | ... |
... | @@ -56,7 +56,7 @@ | ... | @@ -56,7 +56,7 @@ |
56 | :data="tableData.data"> | 56 | :data="tableData.data"> |
57 | </lb-table> | 57 | </lb-table> |
58 | </div> | 58 | </div> |
59 | <dataDetails ref="editLog" :title="title" /> | 59 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qltQlLq'" /> |
60 | </div> | 60 | </div> |
61 | </template> | 61 | </template> |
62 | 62 | ... | ... |
... | @@ -60,7 +60,7 @@ | ... | @@ -60,7 +60,7 @@ |
60 | :data="tableData.data"> | 60 | :data="tableData.data"> |
61 | </lb-table> | 61 | </lb-table> |
62 | </div> | 62 | </div> |
63 | <dataDetails ref="editLog" :title="title" /> | 63 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlNydsyq'" /> |
64 | </div> | 64 | </div> |
65 | </template> | 65 | </template> |
66 | 66 | ... | ... |
... | @@ -58,7 +58,7 @@ | ... | @@ -58,7 +58,7 @@ |
58 | :data="tableData.data"> | 58 | :data="tableData.data"> |
59 | </lb-table> | 59 | </lb-table> |
60 | </div> | 60 | </div> |
61 | <dataDetails ref="editLog" :title="title" /> | 61 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlTdsyq'" /> |
62 | </div> | 62 | </div> |
63 | </template> | 63 | </template> |
64 | 64 | ... | ... |
... | @@ -11,14 +11,14 @@ | ... | @@ -11,14 +11,14 @@ |
11 | </el-select> | 11 | </el-select> |
12 | </el-form-item> | 12 | </el-form-item> |
13 | </el-col> | 13 | </el-col> |
14 | <el-col :span="6"> | 14 | <!-- <el-col :span="6"> |
15 | <el-form-item label="权属状态"> | 15 | <el-form-item label="权属状态"> |
16 | <el-select v-model="form.QSZT" class="width100" clearable placeholder="权属状态"> | 16 | <el-select v-model="form.QSZT" class="width100" clearable placeholder="权属状态"> |
17 | <el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 17 | <el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
18 | </el-option> | 18 | </el-option> |
19 | </el-select> | 19 | </el-select> |
20 | </el-form-item> | 20 | </el-form-item> |
21 | </el-col> | 21 | </el-col> --> |
22 | <el-col :span="6"> | 22 | <el-col :span="6"> |
23 | <el-form-item label="不动产权证号"> | 23 | <el-form-item label="不动产权证号"> |
24 | <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input> | 24 | <el-input v-model="form.BDCQZH" placeholder="不动产权证号"></el-input> |
... | @@ -67,7 +67,7 @@ | ... | @@ -67,7 +67,7 @@ |
67 | </lb-table> | 67 | </lb-table> |
68 | </div> | 68 | </div> |
69 | <!-- 编辑 --> | 69 | <!-- 编辑 --> |
70 | <dataDetails ref="editLog" :title="title" /> | 70 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlYgdj'" /> |
71 | </div> | 71 | </div> |
72 | </template> | 72 | </template> |
73 | 73 | ... | ... |
... | @@ -57,7 +57,7 @@ | ... | @@ -57,7 +57,7 @@ |
57 | </lb-table> | 57 | </lb-table> |
58 | </div> | 58 | </div> |
59 | <!-- 编辑 --> | 59 | <!-- 编辑 --> |
60 | <dataDetails ref="editLog" :title="title" /> | 60 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlYydj'" /> |
61 | </div> | 61 | </div> |
62 | </template> | 62 | </template> |
63 | 63 | ... | ... |
... | @@ -16,16 +16,16 @@ class data extends filter { | ... | @@ -16,16 +16,16 @@ class data extends filter { |
16 | ) | 16 | ) |
17 | }, | 17 | }, |
18 | }, | 18 | }, |
19 | { | 19 | // { |
20 | label: "权属状态", | 20 | // label: "权属状态", |
21 | render: (h, scope) => { | 21 | // render: (h, scope) => { |
22 | return ( | 22 | // return ( |
23 | <div> | 23 | // <div> |
24 | <span>{this.dicStatus(scope.row.QSZT, 'A22')}</span> | 24 | // <span>{this.dicStatus(scope.row.qszt, 'A22')}</span> |
25 | </div> | 25 | // </div> |
26 | ) | 26 | // ) |
27 | }, | 27 | // }, |
28 | }, | 28 | // }, |
29 | { | 29 | { |
30 | label: "业务号", | 30 | label: "业务号", |
31 | prop: "YWH" | 31 | prop: "YWH" |
... | @@ -43,10 +43,10 @@ class data extends filter { | ... | @@ -43,10 +43,10 @@ class data extends filter { |
43 | label: "权利人", | 43 | label: "权利人", |
44 | prop: "qlrmc" | 44 | prop: "qlrmc" |
45 | }, | 45 | }, |
46 | { | 46 | // { |
47 | label: "用途", | 47 | // label: "用途", |
48 | prop: "yt" | 48 | // prop: "yt" |
49 | }, | 49 | // }, |
50 | { | 50 | { |
51 | label: "权利类型", | 51 | label: "权利类型", |
52 | render: (h, scope) => { | 52 | render: (h, scope) => { |
... | @@ -57,16 +57,16 @@ class data extends filter { | ... | @@ -57,16 +57,16 @@ class data extends filter { |
57 | ) | 57 | ) |
58 | }, | 58 | }, |
59 | }, | 59 | }, |
60 | { | 60 | // { |
61 | label: "权利性质", | 61 | // label: "权利性质", |
62 | render: (h, scope) => { | 62 | // render: (h, scope) => { |
63 | return ( | 63 | // return ( |
64 | <div> | 64 | // <div> |
65 | <span>{this.dicStatus(scope.row.BDCQZH, 'A9')}</span> | 65 | // <span>{this.dicStatus(scope.row.BDCQZH, 'A9')}</span> |
66 | </div> | 66 | // </div> |
67 | ) | 67 | // ) |
68 | }, | 68 | // }, |
69 | }, | 69 | // }, |
70 | { | 70 | { |
71 | label: "登记时间", | 71 | label: "登记时间", |
72 | width: 140, | 72 | width: 140, | ... | ... |
... | @@ -11,19 +11,19 @@ | ... | @@ -11,19 +11,19 @@ |
11 | </el-select> | 11 | </el-select> |
12 | </el-form-item> | 12 | </el-form-item> |
13 | </el-col> | 13 | </el-col> |
14 | <el-col :span="6"> | 14 | <!-- <el-col :span="6"> |
15 | <el-form-item label="权属状态" label-width="105px"> | 15 | <el-form-item label="权属状态" label-width="105px"> |
16 | <el-select v-model="form.QSZT" class="width100" clearable placeholder="权属状态"> | 16 | <el-select v-model="form.QSZT" class="width100" clearable placeholder="权属状态"> |
17 | <el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 17 | <el-option v-for="item in dicData['A22']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
18 | </el-option> | 18 | </el-option> |
19 | </el-select> | 19 | </el-select> |
20 | </el-form-item> | 20 | </el-form-item> |
21 | </el-col> | 21 | </el-col> --> |
22 | <el-col :span="6"> | 22 | <!-- <el-col :span="6"> |
23 | <el-form-item label="坐落"> | 23 | <el-form-item label="坐落"> |
24 | <el-input v-model="form.ZL" placeholder="请输入坐落"></el-input> | 24 | <el-input v-model="form.ZL" placeholder="请输入坐落"></el-input> |
25 | </el-form-item> | 25 | </el-form-item> |
26 | </el-col> | 26 | </el-col> --> |
27 | <el-col :span="6"> | 27 | <el-col :span="6"> |
28 | <el-form-item label="不动产权证号" label-width="105px"> | 28 | <el-form-item label="不动产权证号" label-width="105px"> |
29 | <el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input> | 29 | <el-input v-model="form.BDCQZH" placeholder="请输入不动产权证号"></el-input> |
... | @@ -61,7 +61,7 @@ | ... | @@ -61,7 +61,7 @@ |
61 | </lb-table> | 61 | </lb-table> |
62 | </div> | 62 | </div> |
63 | <!-- 编辑 --> | 63 | <!-- 编辑 --> |
64 | <dataDetails ref="editLog" :title="title" /> | 64 | <dataDetails ref="editLog" :title="title" :tabsActiveName="'qlfQlZxdj'" /> |
65 | </div> | 65 | </div> |
66 | </template> | 66 | </template> |
67 | 67 | ... | ... |
... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
6 | </div> | 6 | </div> |
7 | <div class="card2 mt-10"> | 7 | <div class="card2 mt-10"> |
8 | <div class="title">数据趋势</div> | 8 | <div class="title">数据趋势</div> |
9 | <brokenline class="Brokenline" /> | 9 | <brokenline class="brokenline" /> |
10 | </div> | 10 | </div> |
11 | </div> | 11 | </div> |
12 | </template> | 12 | </template> |
... | @@ -78,7 +78,7 @@ export default { | ... | @@ -78,7 +78,7 @@ export default { |
78 | margin-bottom: 10px; | 78 | margin-bottom: 10px; |
79 | } | 79 | } |
80 | 80 | ||
81 | .Brokenline { | 81 | .brokenline { |
82 | margin: auto; | 82 | margin: auto; |
83 | width: 100%; | 83 | width: 100%; |
84 | } | 84 | } | ... | ... |
... | @@ -18,7 +18,7 @@ | ... | @@ -18,7 +18,7 @@ |
18 | </p> | 18 | </p> |
19 | <p> | 19 | <p> |
20 | <span>成功率</span> | 20 | <span>成功率</span> |
21 | <span class="cg">99%</span> | 21 | <span class="cg">{{qxcgl}}</span> |
22 | </p> | 22 | </p> |
23 | </div> | 23 | </div> |
24 | </div> | 24 | </div> |
... | @@ -41,7 +41,7 @@ | ... | @@ -41,7 +41,7 @@ |
41 | </p> | 41 | </p> |
42 | <p> | 42 | <p> |
43 | <span>成功率</span> | 43 | <span>成功率</span> |
44 | <span class="cg">99%</span> | 44 | <span class="cg">{{stcgl}}</span> |
45 | </p> | 45 | </p> |
46 | </div> | 46 | </div> |
47 | </div> | 47 | </div> |
... | @@ -60,12 +60,14 @@ export default { | ... | @@ -60,12 +60,14 @@ export default { |
60 | data () { | 60 | data () { |
61 | return { | 61 | return { |
62 | // 日均接入量 | 62 | // 日均接入量 |
63 | qxerrer: 0, | 63 | qxerrer: "", |
64 | qxsuccess: 0, | 64 | qxsuccess: "", |
65 | sterrer: 0, | 65 | sterrer: "", |
66 | stsuccess: 0, | 66 | stsuccess: "", |
67 | qxjrl: 50300, | 67 | qxjrl: "", |
68 | stjrl: 50300, | 68 | stjrl: "", |
69 | qxcgl:"", | ||
70 | stcgl:"" | ||
69 | }; | 71 | }; |
70 | }, | 72 | }, |
71 | mounted () { | 73 | mounted () { |
... | @@ -79,12 +81,6 @@ export default { | ... | @@ -79,12 +81,6 @@ export default { |
79 | stjrlList: function () { | 81 | stjrlList: function () { |
80 | return this.stjrl.toString().split(""); | 82 | return this.stjrl.toString().split(""); |
81 | }, | 83 | }, |
82 | sbqkgsList: function () { | ||
83 | const numbers = this.sbqkgs.toString().split("").reverse(); | ||
84 | const segs = []; | ||
85 | while (numbers.length) segs.push(numbers.splice(0, 3).join("")); | ||
86 | return segs.join(",").split("").reverse().join(""); | ||
87 | }, | ||
88 | }, | 84 | }, |
89 | methods: { | 85 | methods: { |
90 | getsthjqxjrtotal () { | 86 | getsthjqxjrtotal () { |
... | @@ -96,6 +92,18 @@ export default { | ... | @@ -96,6 +92,18 @@ export default { |
96 | XZQDM: "A20", | 92 | XZQDM: "A20", |
97 | }; | 93 | }; |
98 | let res = await work.getsthjqxjrtotal(p); | 94 | let res = await work.getsthjqxjrtotal(p); |
95 | this.stjrl=Number(res.result.sum) | ||
96 | this.qxjrl=Number(res.result.sum) | ||
97 | this.qxerrer=Number(res.result.qxjrerrer) | ||
98 | this.sterrer=Number(res.result.sthjerrer) | ||
99 | if(res.result.sum=="0"){ | ||
100 | this.qxcgl="100%" | ||
101 | this.stcgl="100%" | ||
102 | }else{ | ||
103 | this.qxcgl=Number(res.result.qxjrsuccess)/this.qxjrl*100+"%" | ||
104 | this.stcgl=Number(res.result.sthjsuccess)/Number(res.result.sum)*100+"%" | ||
105 | } | ||
106 | |||
99 | } catch (error) { | 107 | } catch (error) { |
100 | this.$refs.msg.messageShow(); | 108 | this.$refs.msg.messageShow(); |
101 | } | 109 | } | ... | ... |
... | @@ -4,9 +4,12 @@ | ... | @@ -4,9 +4,12 @@ |
4 | <!-- 头部搜索 --> | 4 | <!-- 头部搜索 --> |
5 | <div class="from-clues-header"> | 5 | <div class="from-clues-header"> |
6 | <el-form ref="ruleForm" :model="form" label-width="80px"> | 6 | <el-form ref="ruleForm" :model="form" label-width="80px"> |
7 | <el-form-item> | ||
8 | <Breadcrumb /> | ||
9 | </el-form-item> | ||
7 | <el-row> | 10 | <el-row> |
8 | <el-col :span="6"> | 11 | <el-col :span="6"> |
9 | <el-form-item label="行政区" label-width="60px"> | 12 | <el-form-item label="行政区"> |
10 | <el-select v-model="form.areacode" class="width100" filterable placeholder="请选择行政区"> | 13 | <el-select v-model="form.areacode" class="width100" filterable placeholder="请选择行政区"> |
11 | <el-option v-for="item in dicData['XZQ']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 14 | <el-option v-for="item in dicData['XZQ']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
12 | </el-option> | 15 | </el-option> | ... | ... |
src/views/home/index1.vue
deleted
100644 → 0
1 | <template> | ||
2 | <div class="home"> | ||
3 | <div class="home-left bgbk"> | ||
4 | <div class="header titlebg"> | ||
5 | 汉中市接入概括 | ||
6 | </div> | ||
7 | <!-- 地图 --> | ||
8 | <CenterLeft2Chart class="map" /> | ||
9 | </div> | ||
10 | <div class="home-right"> | ||
11 | <!-- 陕西省接入概括 --> | ||
12 | <div class="jrgk homebk"> | ||
13 | <div class="header titlebg"> | ||
14 | 陕西省接入概括 | ||
15 | </div> | ||
16 | <!-- 陕西省接入概括列表 --> | ||
17 | <el-row> | ||
18 | <el-col :span="9"> | ||
19 | <ul class="gkList"> | ||
20 | <li>总数量</li> | ||
21 | <div class="zsl"> | ||
22 | <dv-digital-flop :config="config" style="height:70px;" /> | ||
23 | <p></p> | ||
24 | </div> | ||
25 | </ul> | ||
26 | </el-col> | ||
27 | <el-col :span="5"> | ||
28 | <ul class="jrl"> | ||
29 | <div class="jrlList jrllsit1"> | ||
30 | <p v-for="(item, index) in jrlList" :key="index">{{ item }}</p> | ||
31 | </div> | ||
32 | <li>日均接入量</li> | ||
33 | </ul> | ||
34 | </el-col> | ||
35 | <el-col :span="5"> | ||
36 | <ul class="jrl"> | ||
37 | <div class="jrlList jrllsit2"> | ||
38 | <p v-for="(item, index) in dtjrlList" :key="index">{{ item }}</p> | ||
39 | </div> | ||
40 | <li>日均接入量</li> | ||
41 | </ul> | ||
42 | </el-col> | ||
43 | <el-col :span="5"> | ||
44 | <ul class="jrl"> | ||
45 | <div class="jrlList jrllsit3"> | ||
46 | <p v-for="(item, index) in ztzlList" :key="index">{{ item }}</p> | ||
47 | </div> | ||
48 | <li>总体质量</li> | ||
49 | </ul> | ||
50 | </el-col> | ||
51 | </el-row> | ||
52 | </div> | ||
53 | <div class="jrdgk"> | ||
54 | <!-- 接入点概括 --> | ||
55 | <div class="sxsjr homebk"> | ||
56 | <div class="header titlebg"> | ||
57 | 接入点概括 | ||
58 | </div> | ||
59 | <el-row> | ||
60 | <el-col :span="8" class="jrdList" v-for="(item, index) in jrdList" :key="index"> | ||
61 | <ul> | ||
62 | <li>{{ item.value }}</li> | ||
63 | <li>{{ item.title }}</li> | ||
64 | </ul> | ||
65 | </el-col> | ||
66 | </el-row> | ||
67 | </div> | ||
68 | <!-- 上报情况概括 --> | ||
69 | <div class="sbqkgk homebk"> | ||
70 | <div class="header titlebg"> | ||
71 | 上报情况概括 | ||
72 | </div> | ||
73 | <ul class="sbqkgs"> | ||
74 | <div class="sbqkgsList"> | ||
75 | <p v-for="(item, index) in sbqkgsList" :key="index" | ||
76 | :class="{ 'active': (typeof (item - 0) === 'number' && !isNaN(item - 0)) }"> | ||
77 | {{ item }} | ||
78 | </p> | ||
79 | </div> | ||
80 | <li>总数量</li> | ||
81 | </ul> | ||
82 | </div> | ||
83 | </div> | ||
84 | <!-- 底部表格 --> | ||
85 | <div class="jrxxlb tableClass bgbk"> | ||
86 | <div class="title titlebg">陕西省平台接入情况</div> | ||
87 | <!-- 陕西省平台接入情况table --> | ||
88 | <lb-table ref="table" :pagination="false" :heightNum="515" :column="tableData.columns" :data="tableData.data"> | ||
89 | </lb-table> | ||
90 | </div> | ||
91 | </div> | ||
92 | </div> | ||
93 | </template> | ||
94 | |||
95 | <script> | ||
96 | // 上报首页 | ||
97 | import wgsl from "./wgsl.vue"; | ||
98 | import CenterLeft2Chart from "@/components/Echart/Map"; | ||
99 | // 引入表格数据 | ||
100 | import data from "./data" | ||
101 | export default { | ||
102 | name: "home", | ||
103 | components: { wgsl, CenterLeft2Chart }, | ||
104 | data () { | ||
105 | function formatter (number) { | ||
106 | const numbers = number.toString().split('').reverse() | ||
107 | const segs = [] | ||
108 | while (numbers.length) segs.push(numbers.splice(0, 3).join('')) | ||
109 | return segs.join(',').split('').reverse().join('') | ||
110 | } | ||
111 | return { | ||
112 | // 总数量 | ||
113 | config: { | ||
114 | number: [6523], | ||
115 | content: '{nt}', | ||
116 | formatter, | ||
117 | style: { | ||
118 | fontSize: 50, | ||
119 | fontWeight: 700, | ||
120 | fill: '#FFDD00' | ||
121 | } | ||
122 | }, | ||
123 | // 日均接入量 | ||
124 | jjrl: 300, | ||
125 | // 当天接入量 | ||
126 | dtjrl: 100, | ||
127 | // 总体质量 | ||
128 | ztzl: 3620, | ||
129 | // 上报情况概括 | ||
130 | sbqkgs: 6296, | ||
131 | // 接入点概括 | ||
132 | jrdList: [ | ||
133 | { | ||
134 | value: 60, | ||
135 | title: '总数量' | ||
136 | }, | ||
137 | { | ||
138 | value: 60, | ||
139 | title: '正常' | ||
140 | }, | ||
141 | { | ||
142 | value: 60, | ||
143 | title: '异常' | ||
144 | } | ||
145 | ], | ||
146 | // 表格数据 | ||
147 | tableData: { | ||
148 | // 表格头部信息 | ||
149 | columns: data.columns(), | ||
150 | // 表格列表数据 | ||
151 | data: [{ | ||
152 | xzqmc: '咸阳市', | ||
153 | xzqzs: 100, | ||
154 | jrl: 300, | ||
155 | jscgl: 20, | ||
156 | dk: 60, | ||
157 | wjrqx: '长安县', | ||
158 | jrdf: 50 | ||
159 | }, | ||
160 | { | ||
161 | xzqmc: '咸阳市', | ||
162 | xzqzs: 100, | ||
163 | jrl: 300, | ||
164 | jscgl: 20, | ||
165 | dk: 60, | ||
166 | wjrqx: '长安县', | ||
167 | jrdf: 50 | ||
168 | }] | ||
169 | } | ||
170 | } | ||
171 | }, | ||
172 | computed: { | ||
173 | jrlList: function () { | ||
174 | return this.jjrl.toString().split('') | ||
175 | }, | ||
176 | dtjrlList: function () { | ||
177 | return this.dtjrl.toString().split('') | ||
178 | }, | ||
179 | ztzlList: function () { | ||
180 | return this.ztzl.toString().split('') | ||
181 | }, | ||
182 | sbqkgsList: function () { | ||
183 | const numbers = this.sbqkgs.toString().split('').reverse() | ||
184 | const segs = [] | ||
185 | while (numbers.length) segs.push(numbers.splice(0, 3).join('')) | ||
186 | return segs.join(',').split('').reverse().join('') | ||
187 | } | ||
188 | }, | ||
189 | methods: { | ||
190 | } | ||
191 | } | ||
192 | </script> | ||
193 | <style scoped lang="scss"> | ||
194 | @import "~@/styles/mixin.scss"; | ||
195 | @import "~@/styles/public.scss"; | ||
196 | @import "./home.scss"; | ||
197 | </style> |
... | @@ -8,7 +8,7 @@ class data extends filter { | ... | @@ -8,7 +8,7 @@ class data extends filter { |
8 | { | 8 | { |
9 | prop: 'jcjg', | 9 | prop: 'jcjg', |
10 | label: '检查结果', | 10 | label: '检查结果', |
11 | width: 100, | 11 | width: 90, |
12 | render: (h, scope) => { | 12 | render: (h, scope) => { |
13 | return ( | 13 | return ( |
14 | <div> | 14 | <div> |
... | @@ -22,7 +22,7 @@ class data extends filter { | ... | @@ -22,7 +22,7 @@ class data extends filter { |
22 | { | 22 | { |
23 | prop: 'rkjg', | 23 | prop: 'rkjg', |
24 | label: '入库结果', | 24 | label: '入库结果', |
25 | width: 100, | 25 | width: 80, |
26 | render: (h, scope) => { | 26 | render: (h, scope) => { |
27 | return ( | 27 | return ( |
28 | <div> | 28 | <div> |
... | @@ -36,12 +36,12 @@ class data extends filter { | ... | @@ -36,12 +36,12 @@ class data extends filter { |
36 | { | 36 | { |
37 | prop: "areacode", | 37 | prop: "areacode", |
38 | label: "行政区代码", | 38 | label: "行政区代码", |
39 | width: 100, | 39 | width: 70, |
40 | }, | 40 | }, |
41 | { | 41 | { |
42 | prop: "areaName", | 42 | prop: "areaName", |
43 | label: "行政区名称", | 43 | label: "行政区名称", |
44 | width: 100, | 44 | width: 70, |
45 | }, | 45 | }, |
46 | { | 46 | { |
47 | prop: "bizMsgid", | 47 | prop: "bizMsgid", |
... | @@ -50,10 +50,12 @@ class data extends filter { | ... | @@ -50,10 +50,12 @@ class data extends filter { |
50 | { | 50 | { |
51 | prop: "createdate", | 51 | prop: "createdate", |
52 | label: "创建时间", | 52 | label: "创建时间", |
53 | width: 140, | ||
53 | }, | 54 | }, |
54 | { | 55 | { |
55 | prop: "recflowid", | 56 | prop: "recflowid", |
56 | label: "业务流水号", | 57 | label: "业务流水号", |
58 | width: 95, | ||
57 | }, | 59 | }, |
58 | { | 60 | { |
59 | prop: "estatenum", | 61 | prop: "estatenum", |
... | @@ -63,14 +65,23 @@ class data extends filter { | ... | @@ -63,14 +65,23 @@ class data extends filter { |
63 | { | 65 | { |
64 | prop: "rectype", | 66 | prop: "rectype", |
65 | label: "业务编码", | 67 | label: "业务编码", |
68 | width: 70, | ||
66 | }, | 69 | }, |
67 | { | 70 | { |
68 | prop: "rectypeName", | 71 | prop: "rectypeName", |
69 | label: "业务名称", | 72 | label: "业务名称", |
73 | render: (h, scope) => { | ||
74 | return ( | ||
75 | <div> | ||
76 | {scope.row.rectypeName} | ||
77 | </div> | ||
78 | ) | ||
79 | } | ||
70 | }, | 80 | }, |
71 | { | 81 | { |
72 | prop: "receiveDate", | 82 | prop: "receiveDate", |
73 | label: "接收时间", | 83 | label: "接收时间", |
84 | width: 140 | ||
74 | } | 85 | } |
75 | ] | 86 | ] |
76 | } | 87 | } | ... | ... |
... | @@ -4,6 +4,9 @@ | ... | @@ -4,6 +4,9 @@ |
4 | <!-- 头部搜索 --> | 4 | <!-- 头部搜索 --> |
5 | <div class="from-clues-header"> | 5 | <div class="from-clues-header"> |
6 | <el-form ref="ruleForm" :model="form" label-width="100px"> | 6 | <el-form ref="ruleForm" :model="form" label-width="100px"> |
7 | <el-form-item> | ||
8 | <Breadcrumb /> | ||
9 | </el-form-item> | ||
7 | <el-row class="mb-5"> | 10 | <el-row class="mb-5"> |
8 | <el-col :span="6"> | 11 | <el-col :span="6"> |
9 | <el-form-item label="行政区" prop="qxdm"> | 12 | <el-form-item label="行政区" prop="qxdm"> |
... | @@ -77,7 +80,7 @@ | ... | @@ -77,7 +80,7 @@ |
77 | <el-form-item> | 80 | <el-form-item> |
78 | <btn nativeType="cz" @click="resetForm">重置</btn> | 81 | <btn nativeType="cz" @click="resetForm">重置</btn> |
79 | <btn nativeType="cx" @click="featchData">查询</btn> | 82 | <btn nativeType="cx" @click="featchData">查询</btn> |
80 | <btn nativeType="sb">入库</btn> | 83 | <btn nativeType="cx">入库</btn> |
81 | </el-form-item> | 84 | </el-form-item> |
82 | </el-col> | 85 | </el-col> |
83 | </el-row> | 86 | </el-row> |
... | @@ -91,7 +94,7 @@ | ... | @@ -91,7 +94,7 @@ |
91 | </lb-table> | 94 | </lb-table> |
92 | </div> | 95 | </div> |
93 | <!-- 编辑 --> | 96 | <!-- 编辑 --> |
94 | <dataDetails ref="editLog" :title="title" /> | 97 | <dataDetails ref="editLog" :title="title" :visiableXml="true" /> |
95 | </div> | 98 | </div> |
96 | </template> | 99 | </template> |
97 | 100 | ||
... | @@ -173,7 +176,7 @@ export default { | ... | @@ -173,7 +176,7 @@ export default { |
173 | .concat([ | 176 | .concat([ |
174 | { | 177 | { |
175 | label: "操作", | 178 | label: "操作", |
176 | width: "160", | 179 | width: "90", |
177 | render: (h, scope) => { | 180 | render: (h, scope) => { |
178 | return ( | 181 | return ( |
179 | <div> | 182 | <div> | ... | ... |
... | @@ -23,6 +23,7 @@ class data extends filter { | ... | @@ -23,6 +23,7 @@ class data extends filter { |
23 | }, | 23 | }, |
24 | { | 24 | { |
25 | label: '汇交状态', | 25 | label: '汇交状态', |
26 | width: '110', | ||
26 | render: (h, scope) => { | 27 | render: (h, scope) => { |
27 | return ( | 28 | return ( |
28 | <div> | 29 | <div> |
... | @@ -38,12 +39,12 @@ class data extends filter { | ... | @@ -38,12 +39,12 @@ class data extends filter { |
38 | { | 39 | { |
39 | prop: "areacode", | 40 | prop: "areacode", |
40 | label: "行政区代码", | 41 | label: "行政区代码", |
41 | width: 100, | 42 | width: 80, |
42 | }, | 43 | }, |
43 | { | 44 | { |
44 | prop: "areaName", | 45 | prop: "areaName", |
45 | label: "行政区名称", | 46 | label: "行政区名称", |
46 | width: 100, | 47 | width: 90, |
47 | }, | 48 | }, |
48 | { | 49 | { |
49 | prop: "bizMsgid", | 50 | prop: "bizMsgid", | ... | ... |
... | @@ -4,6 +4,9 @@ | ... | @@ -4,6 +4,9 @@ |
4 | <!-- 头部搜索 --> | 4 | <!-- 头部搜索 --> |
5 | <div class="from-clues-header"> | 5 | <div class="from-clues-header"> |
6 | <el-form ref="ruleForm" :model="form" label-width="100px"> | 6 | <el-form ref="ruleForm" :model="form" label-width="100px"> |
7 | <el-form-item> | ||
8 | <Breadcrumb /> | ||
9 | </el-form-item> | ||
7 | <el-row class="mb-5"> | 10 | <el-row class="mb-5"> |
8 | <el-col :span="6"> | 11 | <el-col :span="6"> |
9 | <el-form-item label="行政区" prop="qxdm"> | 12 | <el-form-item label="行政区" prop="qxdm"> |
... | @@ -42,17 +45,17 @@ | ... | @@ -42,17 +45,17 @@ |
42 | <el-input v-model="form.ywh" class="width100" placeholder="业务号"></el-input> | 45 | <el-input v-model="form.ywh" class="width100" placeholder="业务号"></el-input> |
43 | </el-form-item> | 46 | </el-form-item> |
44 | </el-col> | 47 | </el-col> |
45 | <el-col :span="3"> | 48 | <el-col :span="6"> |
46 | <el-form-item label="权利类型" prop="qllx"> | 49 | <el-form-item label="权利类型" prop="qllx"> |
47 | <el-select v-model="form.ywmc" class="width100" clearable placeholder="权利类型"> | 50 | <el-select v-model="form.qllx" class="width100" clearable placeholder="权利类型"> |
48 | <el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 51 | <el-option v-for="item in dicData['A8']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
49 | </el-option> | 52 | </el-option> |
50 | </el-select> | 53 | </el-select> |
51 | </el-form-item> | 54 | </el-form-item> |
52 | </el-col> | 55 | </el-col> |
53 | <el-col :span="3"> | 56 | <el-col :span="6"> |
54 | <el-form-item label="登记类型" prop="djlx"> | 57 | <el-form-item label="登记类型" prop="djlx"> |
55 | <el-select v-model="form.ywmc" class="width100" clearable placeholder="登记类型"> | 58 | <el-select v-model="form.djlx" class="width100" clearable placeholder="登记类型"> |
56 | <el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> | 59 | <el-option v-for="item in dicData['A21']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE"> |
57 | </el-option> | 60 | </el-option> |
58 | </el-select> | 61 | </el-select> |
... | @@ -95,7 +98,7 @@ export default { | ... | @@ -95,7 +98,7 @@ export default { |
95 | components: { | 98 | components: { |
96 | dataDetails, | 99 | dataDetails, |
97 | }, | 100 | }, |
98 | data() { | 101 | data () { |
99 | return { | 102 | return { |
100 | isShow: false, | 103 | isShow: false, |
101 | // 开始结束日期限制 | 104 | // 开始结束日期限制 |
... | @@ -161,16 +164,16 @@ export default { | ... | @@ -161,16 +164,16 @@ export default { |
161 | title: "", | 164 | title: "", |
162 | }; | 165 | }; |
163 | }, | 166 | }, |
164 | mounted() { | 167 | mounted () { |
165 | sendThis(this); | 168 | sendThis(this); |
166 | }, | 169 | }, |
167 | methods: { | 170 | methods: { |
168 | // 重置表单 | 171 | // 重置表单 |
169 | resetForm() { | 172 | resetForm () { |
170 | this.$refs.ruleForm.resetFields(); | 173 | this.$refs.ruleForm.resetFields(); |
171 | }, | 174 | }, |
172 | // 初始化数据 | 175 | // 初始化数据 |
173 | queryClick() { | 176 | queryClick () { |
174 | getDataReportPage({ ...this.form, ...this.pageData }).then((res) => { | 177 | getDataReportPage({ ...this.form, ...this.pageData }).then((res) => { |
175 | if (res.code === 200) { | 178 | if (res.code === 200) { |
176 | let { total, records } = res.result; | 179 | let { total, records } = res.result; |
... | @@ -180,11 +183,11 @@ export default { | ... | @@ -180,11 +183,11 @@ export default { |
180 | }); | 183 | }); |
181 | }, | 184 | }, |
182 | // 多选 | 185 | // 多选 |
183 | handleSelectionChange(val) {}, | 186 | handleSelectionChange (val) { }, |
184 | // 上报 | 187 | // 上报 |
185 | handleEscalation() {}, | 188 | handleEscalation () { }, |
186 | // 详情 | 189 | // 详情 |
187 | handleDetail(row) { | 190 | handleDetail (row) { |
188 | this.title = row.rectypeName; | 191 | this.title = row.rectypeName; |
189 | this.$refs.editLog.isShow(row); | 192 | this.$refs.editLog.isShow(row); |
190 | }, | 193 | }, | ... | ... |
... | @@ -6,37 +6,22 @@ class data extends filter { | ... | @@ -6,37 +6,22 @@ class data extends filter { |
6 | columns () { | 6 | columns () { |
7 | return [ | 7 | return [ |
8 | { | 8 | { |
9 | prop: "job_name", | 9 | prop: "name", |
10 | label: "任务名称", | 10 | label: "菜单名称", |
11 | width: 130 | ||
12 | }, | ||
13 | { | ||
14 | prop: "description", | ||
15 | label: "任务描述", | ||
16 | width: 300 | 11 | width: 300 |
17 | }, | 12 | }, |
18 | { | 13 | { |
19 | prop: "cron_expression", | 14 | prop: "code", |
20 | label: "cron表达式" | 15 | label: "菜单代码" |
21 | }, | 16 | }, |
22 | { | 17 | { |
23 | prop: "bean_class", | 18 | prop: "uri", |
24 | width: 260, | 19 | width: 260, |
25 | label: "任务类" | 20 | label: "链接路径" |
26 | }, | 21 | }, |
27 | { | 22 | { |
28 | prop: "job_group", | 23 | prop: "icon", |
29 | label: "任务分组" | 24 | label: "图标" |
30 | }, | ||
31 | { | ||
32 | label: "状态", | ||
33 | render: (h, scope) => { | ||
34 | return ( | ||
35 | <div> | ||
36 | { this.stateStatus(scope.row.job_status) } | ||
37 | </div> | ||
38 | ) | ||
39 | }, | ||
40 | } | 25 | } |
41 | ] | 26 | ] |
42 | } | 27 | } | ... | ... |
src/views/system/menus/edit-dialog.vue
0 → 100644
1 | <template> | ||
2 | <div> | ||
3 | <Dialog | ||
4 | :title="title" | ||
5 | :show.sync="visible" | ||
6 | :width="'767px'" | ||
7 | @close="close()" | ||
8 | > | ||
9 | <template slot="content"> | ||
10 | <el-form ref="form" :model="form" :rules="rules"> | ||
11 | <el-row :gutter="24"> | ||
12 | <el-col :span="12"> | ||
13 | <el-form-item label="菜单名称:" prop="name" label-width="124px"> | ||
14 | <el-input v-model="form.name" placeholder="请输入菜单名称" /> | ||
15 | </el-form-item> | ||
16 | </el-col> | ||
17 | <el-col :span="12"> | ||
18 | <el-form-item label="图标:" label-width="54px"> | ||
19 | <el-input | ||
20 | v-model="form.icon" | ||
21 | placeholder="请选择图标" | ||
22 | :prefix-icon="form.icon" | ||
23 | clearable | ||
24 | @focus="getIconList" | ||
25 | /> | ||
26 | </el-form-item> | ||
27 | </el-col> | ||
28 | </el-row> | ||
29 | <el-row :gutter="24"> | ||
30 | <el-col :span="12"> | ||
31 | <el-form-item label="上级菜单:" label-width="124px"> | ||
32 | <el-cascader | ||
33 | :key="menuKey" | ||
34 | v-model="form.parentId" | ||
35 | :options="parentMenuList" | ||
36 | :props="setProps" | ||
37 | placeholder="请选择上级菜单" | ||
38 | clearable | ||
39 | @change="handleChange" | ||
40 | /> | ||
41 | </el-form-item> | ||
42 | </el-col> | ||
43 | <el-col :span="12"> | ||
44 | <el-form-item label="代码:" prop="code" label-width="54px"> | ||
45 | <el-input | ||
46 | v-model="codeComputed" | ||
47 | placeholder="请输入菜单代码" | ||
48 | :disabled="type === 1" | ||
49 | /> | ||
50 | </el-form-item> | ||
51 | </el-col> | ||
52 | </el-row> | ||
53 | <el-row :gutter="24"> | ||
54 | <el-col :span="24"> | ||
55 | <el-form-item label="链接路径:" label-width="124px"> | ||
56 | <el-input v-model="form.uri" placeholder="请输入链接路径" /> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | </el-row> | ||
60 | <el-row :gutter="24"> | ||
61 | <el-col :span="24"> | ||
62 | <el-form-item label="浏览器跳转模式:" label-width="124px"> | ||
63 | <el-select | ||
64 | v-model="form.jumpMode" | ||
65 | placeholder="请选择浏览器跳转模式" | ||
66 | > | ||
67 | <el-option | ||
68 | v-for="item in jumpModeList" | ||
69 | :key="item.value" | ||
70 | :label="item.name" | ||
71 | :value="item.value" | ||
72 | /> | ||
73 | </el-select> | ||
74 | </el-form-item> | ||
75 | </el-col> | ||
76 | </el-row> | ||
77 | <el-row :gutter="24"> | ||
78 | <el-col :span="24"> | ||
79 | <el-form-item | ||
80 | label="配置参数:" | ||
81 | label-width="124px" | ||
82 | class="form-item-mb0" | ||
83 | > | ||
84 | <!-- 配置参数 --> | ||
85 | <JsonEditor | ||
86 | :result-infos="form.metadata" | ||
87 | @getJsonString="getJsonString" | ||
88 | /> | ||
89 | </el-form-item> | ||
90 | </el-col> | ||
91 | </el-row> | ||
92 | </el-form> | ||
93 | </template> | ||
94 | <template slot="footer"> | ||
95 | <el-button class="cancel-button" @click="close()">取消</el-button> | ||
96 | <el-button type="primary" @click="submitForm()">保存</el-button> | ||
97 | </template> | ||
98 | </Dialog> | ||
99 | <!-- 图标列表 --> | ||
100 | <IconList ref="iconList" @iconName="getIconName" /> | ||
101 | </div> | ||
102 | </template> | ||
103 | |||
104 | <script> | ||
105 | import Dialog from "@/components/Dialog/"; | ||
106 | // import JsonEditor from '@components/JsonEditors' | ||
107 | import JsonEditor from '../../../components/JsonEditors' | ||
108 | // import IconList from '@components/IconList' | ||
109 | import IconList from '../../../components/IconList' | ||
110 | import { validateCode } from '../../../utils/validate'; | ||
111 | export default { | ||
112 | name: "EditDialog", | ||
113 | components: { | ||
114 | Dialog, | ||
115 | JsonEditor, | ||
116 | IconList, | ||
117 | }, | ||
118 | data() { | ||
119 | return { | ||
120 | form: { | ||
121 | icon: "", | ||
122 | code: "", | ||
123 | }, | ||
124 | rules: { | ||
125 | name: [{ required: true, message: "请输入菜单名称", trigger: "blur" }], | ||
126 | code: [ | ||
127 | { required: true, message: "必填", trigger: "blur" }, | ||
128 | { validator: validateCode, trigger: "blur" }, | ||
129 | ], | ||
130 | }, | ||
131 | title: "", | ||
132 | type: "", | ||
133 | visible: false, | ||
134 | parentMenuList: [], | ||
135 | menuKey: 0, | ||
136 | jumpModeList: [ | ||
137 | { name: "在当前页面显示", value: 1 }, | ||
138 | { name: "跳转到新页面", value: 2 }, | ||
139 | ], | ||
140 | setProps: { | ||
141 | value: "id", | ||
142 | label: "name", | ||
143 | children: "children", | ||
144 | expandTrigger: "hover", | ||
145 | checkStrictly: true, // 可取消关联,选择任意一级选项 | ||
146 | emitPath: false, | ||
147 | }, | ||
148 | // dataUrl: api.menus, | ||
149 | }; | ||
150 | }, | ||
151 | computed: { | ||
152 | codeComputed: { | ||
153 | get: function() { | ||
154 | return this.form.code | ||
155 | }, | ||
156 | set: function(val) { | ||
157 | this.form.code = val.toUpperCase() | ||
158 | } | ||
159 | } | ||
160 | }, | ||
161 | created() {}, | ||
162 | mounted() {}, | ||
163 | methods: { | ||
164 | getParentMenuList() { | ||
165 | // getParentMenuListAction(id).then((res) => { | ||
166 | // if (res.status === 1) { | ||
167 | // const list = this.$dealArrChildren(res.content) | ||
168 | // if (id) { | ||
169 | // this.parentMenuList = this.$dealArrDisabled( | ||
170 | // this.$deepCopy(list), | ||
171 | // id | ||
172 | // ) | ||
173 | // this.menuKey++ | ||
174 | // } else { | ||
175 | // this.parentMenuList = list | ||
176 | // } | ||
177 | // } else { | ||
178 | // this.$message.error({ message: res.message, showClose: true }) | ||
179 | // } | ||
180 | // }) | ||
181 | }, | ||
182 | getIconList() { | ||
183 | this.$refs.iconList.show(true); | ||
184 | }, | ||
185 | // 选择图标 | ||
186 | getIconName(data) { | ||
187 | this.form.icon = data; | ||
188 | }, | ||
189 | getJsonString(data) { | ||
190 | this.form.metadata = data; | ||
191 | }, | ||
192 | add() { | ||
193 | // console.log(this.productId) | ||
194 | // if (!this.productId) { | ||
195 | // this.$message.info({ | ||
196 | // message: '请先选择子系统才能添加菜单,如果没有,请先添加子系统!', | ||
197 | // showClose: true | ||
198 | // }) | ||
199 | // return | ||
200 | // } | ||
201 | // this.getParentMenuList(this.productId) | ||
202 | this.visible = true; | ||
203 | // this.type = 0 | ||
204 | // this.form.jumpMode = 1 | ||
205 | }, | ||
206 | edit(record) { | ||
207 | // this.type = 1 | ||
208 | // // 若有id为编辑 | ||
209 | // if (record.id) { | ||
210 | // this.$nextTick(() => { | ||
211 | // this.form = Object.assign({}, record) | ||
212 | // this.getParentMenuList(this.productId) | ||
213 | // }) | ||
214 | // } | ||
215 | this.visible = true; | ||
216 | }, | ||
217 | addChild(record) { | ||
218 | // this.getParentMenuList(this.productId) | ||
219 | this.visible = true; | ||
220 | // this.type = 2 | ||
221 | // this.form.jumpMode = 1 | ||
222 | // this.form.parentId = record.id | ||
223 | }, | ||
224 | handleChange(value) { | ||
225 | // this.form.parentId = value | ||
226 | }, | ||
227 | submitForm(submitType) { | ||
228 | // this.$refs.form.validate((valid) => { | ||
229 | // if (valid) { | ||
230 | // let method = ""; | ||
231 | // let url = ""; | ||
232 | // const formData = this.form; | ||
233 | // formData.productId = this.productId; | ||
234 | // if (!formData.id) { | ||
235 | // method = "post"; | ||
236 | // url = this.dataUrl; | ||
237 | // } else { | ||
238 | // method = "put"; | ||
239 | // url = `${this.dataUrl}/${formData.id}`; | ||
240 | // } | ||
241 | // httpAction(url, formData, method) | ||
242 | // .then((res) => { | ||
243 | // if (res.status === 1) { | ||
244 | // this.$message.success({ | ||
245 | // message: res.message, | ||
246 | // showClose: true, | ||
247 | // }); | ||
248 | // // this.$emit("ok"); | ||
249 | // // this.type 0新增 1编辑 2添加子 | ||
250 | // if (this.type === 0) { | ||
251 | // if (submitType === 1) { | ||
252 | // this.close(); | ||
253 | // } else { | ||
254 | // this.resetForm(); | ||
255 | // } | ||
256 | // } else if (this.type === 1) { | ||
257 | // this.close(); | ||
258 | // } else if (this.type === 2) { | ||
259 | // if (submitType === 1) { | ||
260 | // this.close(); | ||
261 | // } else { | ||
262 | // this.resetForm(); | ||
263 | // this.form.parentId = formData.parentId; | ||
264 | // } | ||
265 | // } | ||
266 | // this.$emit("ok"); | ||
267 | // } else { | ||
268 | // this.$message.error({ message: res.message, showClose: true }); | ||
269 | // } | ||
270 | // }) | ||
271 | // .catch((err) => { | ||
272 | // console.log(err); | ||
273 | // }); | ||
274 | // } | ||
275 | // }); | ||
276 | }, | ||
277 | resetForm() { | ||
278 | this.$refs.form.resetFields(); | ||
279 | this.form = { | ||
280 | icon: "", | ||
281 | code: "", | ||
282 | }; | ||
283 | }, | ||
284 | close() { | ||
285 | this.resetForm(); | ||
286 | this.visible = false; | ||
287 | }, | ||
288 | }, | ||
289 | }; | ||
290 | </script> | ||
291 | <style scoped lang="scss"> | ||
292 | .el-form { | ||
293 | .el-input { | ||
294 | .el-input__icon { | ||
295 | font-size: 14px; | ||
296 | // color: #3AA3F8 !important; | ||
297 | } | ||
298 | } | ||
299 | } | ||
300 | </style> |
1 | <template> | 1 | <template> |
2 | <div class="timedTask from-clues"> | 2 | <div class="timedTask from-clues"> |
3 | <div class="from-clues-header"> | 3 | <div class="from-clues-header"> |
4 | <el-form ref="form" :model="form" label-width="80px"> | 4 | <el-form ref="ruleForm" :model="form" label-width="100px"> |
5 | <el-row> | 5 | <el-row class="mb-5"> |
6 | <el-col :span="6"> | 6 | <el-col :span="2" class="btnColRight"> |
7 | <el-form-item label="搜索标题"> | 7 | <btn nativeType="cx" @click="handleAdd()">新增菜单</btn> |
8 | <el-input v-model="form.job_name" placeholder="请输入标题"></el-input> | ||
9 | </el-form-item> | ||
10 | </el-col> | ||
11 | <el-col :span="18" class="btnColRight"> | ||
12 | <btn nativeType="cx" @click="handleSubmit">搜索</btn> | ||
13 | <btn nativeType="sb" @click="handleAdd">新增</btn> | ||
14 | </el-col> | 8 | </el-col> |
15 | </el-row> | 9 | </el-row> |
16 | </el-form> | 10 | </el-form> |
17 | </div> | 11 | </div> |
18 | <div class="from-clues-content"> | 12 | <div class="from-clues-content"> |
19 | <lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :total="pageData.total" | 13 | <lb-table |
20 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | 14 | :column="tableData.columns" |
21 | :data="tableData.data"> | 15 | :data="tabledata11" |
16 | row-key="id" | ||
17 | default-expand-all | ||
18 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" | ||
19 | > | ||
22 | </lb-table> | 20 | </lb-table> |
23 | <add-task ref="task" :taskData="taskData" /> | ||
24 | <message-tips ref="msg" :message="message" /> | ||
25 | </div> | 21 | </div> |
22 | <edit-dialog ref="dialogForm" /> | ||
26 | </div> | 23 | </div> |
27 | </template> | 24 | </template> |
28 | <script> | 25 | <script> |
29 | // 定时任务 | 26 | // 定时任务 |
30 | import data from "./data" | 27 | import data from "./data"; |
31 | import sjsbTask from '@/api/sjsbTask.js' | 28 | import EditDialog from "./edit-dialog.vue"; |
32 | import tableMixin from '@/mixins/tableMixin.js' | ||
33 | import addTask from '../components/addTask.vue' | ||
34 | export default { | 29 | export default { |
35 | name: "menus", | 30 | name: "menus", |
36 | mixins: [tableMixin], | ||
37 | components: { | 31 | components: { |
38 | addTask | 32 | EditDialog, |
39 | }, | 33 | }, |
40 | data () { | 34 | data() { |
41 | return { | 35 | return { |
36 | tabledata11: [ | ||
37 | { | ||
38 | id: "c6221838-187b-4a7a-b173-b0543022f560", | ||
39 | createdAt: "2021-08-26T07:00:07.101+0000", | ||
40 | updatedAt: "2021-08-26T07:00:07.101+0000", | ||
41 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
42 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
43 | sort: 135, | ||
44 | name: "概览", | ||
45 | code: "GL", | ||
46 | description: null, | ||
47 | uri: null, | ||
48 | parentId: null, | ||
49 | state: null, | ||
50 | style: null, | ||
51 | icon: "", | ||
52 | jumpMode: 1, | ||
53 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
54 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
55 | metadata: null, | ||
56 | children: [ | ||
57 | { | ||
58 | id: "abf28772-a719-44bd-b461-f63ab9e0a53d", | ||
59 | createdAt: "2022-03-04T08:08:25.703+0000", | ||
60 | updatedAt: "2022-03-04T09:21:19.578+0000", | ||
61 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
62 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
63 | sort: 197, | ||
64 | name: "资源概览", | ||
65 | code: "ZYGL2", | ||
66 | description: null, | ||
67 | uri: "/admin/#/resource-overview", | ||
68 | parentId: "c6221838-187b-4a7a-b173-b0543022f560", | ||
69 | state: null, | ||
70 | style: null, | ||
71 | icon: "", | ||
72 | jumpMode: 1, | ||
73 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
74 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
75 | metadata: | ||
76 | '{"icon":"resource-overview","iconActive":"resource-overview-active"}', | ||
77 | children: null, | ||
78 | }, | ||
79 | { | ||
80 | id: "06a0807e-11f5-4046-b245-3bb7b835b1c5", | ||
81 | createdAt: "2022-03-04T08:09:18.106+0000", | ||
82 | updatedAt: "2022-03-04T09:21:24.292+0000", | ||
83 | createdBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
84 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
85 | sort: 196, | ||
86 | name: "访问概览", | ||
87 | code: "FWGL", | ||
88 | description: null, | ||
89 | uri: "/admin/#/access-overview", | ||
90 | parentId: "c6221838-187b-4a7a-b173-b0543022f560", | ||
91 | state: null, | ||
92 | style: null, | ||
93 | icon: "", | ||
94 | jumpMode: 1, | ||
95 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
96 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
97 | metadata: | ||
98 | '{"icon":"access-overview","iconActive":"access-overview-active"}', | ||
99 | children: null, | ||
100 | }, | ||
101 | ], | ||
102 | }, | ||
103 | { | ||
104 | id: "f94c92cb-a032-4b89-8722-79dbcc331894", | ||
105 | createdAt: null, | ||
106 | updatedAt: null, | ||
107 | createdBy: null, | ||
108 | updatedBy: null, | ||
109 | sort: 59, | ||
110 | name: "资源管理", | ||
111 | code: "ZYGL", | ||
112 | description: null, | ||
113 | uri: null, | ||
114 | parentId: null, | ||
115 | state: null, | ||
116 | style: null, | ||
117 | icon: "", | ||
118 | jumpMode: 1, | ||
119 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
120 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
121 | metadata: null, | ||
122 | children: [ | ||
123 | { | ||
124 | id: "065fe2d7-d59a-442c-92d0-c91aa19d7fae", | ||
125 | createdAt: null, | ||
126 | updatedAt: "2021-11-11T09:40:08.951+0000", | ||
127 | createdBy: null, | ||
128 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
129 | sort: 35, | ||
130 | name: "目录管理", | ||
131 | code: "MLGL", | ||
132 | description: null, | ||
133 | uri: "/admin/#/catalog-manage", | ||
134 | parentId: "f94c92cb-a032-4b89-8722-79dbcc331894", | ||
135 | state: null, | ||
136 | style: null, | ||
137 | icon: "", | ||
138 | jumpMode: 1, | ||
139 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
140 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
141 | metadata: | ||
142 | '{"icon":"tubiao_huaban","iconActive":"tubiao_huaban-active"}', | ||
143 | children: [ | ||
144 | { | ||
145 | id: "0b5952bc-dc7f-4d4e-8fcc-af9d33908c2a", | ||
146 | createdAt: null, | ||
147 | updatedAt: "2022-03-04T01:46:25.515+0000", | ||
148 | createdBy: null, | ||
149 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
150 | sort: 137, | ||
151 | name: "服务目录", | ||
152 | code: "FWML", | ||
153 | description: null, | ||
154 | uri: "/admin/#/catalog-manage/catalog-service", | ||
155 | parentId: "065fe2d7-d59a-442c-92d0-c91aa19d7fae", | ||
156 | state: null, | ||
157 | style: null, | ||
158 | icon: "", | ||
159 | jumpMode: 1, | ||
160 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
161 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
162 | metadata: null, | ||
163 | children: null, | ||
164 | }, | ||
165 | { | ||
166 | id: "2377caf7-22e5-4261-b88a-0fbbbace1452", | ||
167 | createdAt: null, | ||
168 | updatedAt: "2022-03-04T01:47:00.774+0000", | ||
169 | createdBy: null, | ||
170 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
171 | sort: -3, | ||
172 | name: "应用目录", | ||
173 | code: "YYML", | ||
174 | description: null, | ||
175 | uri: "/admin/#/catalog-manage/catalog-application", | ||
176 | parentId: "065fe2d7-d59a-442c-92d0-c91aa19d7fae", | ||
177 | state: null, | ||
178 | style: null, | ||
179 | icon: "", | ||
180 | jumpMode: 1, | ||
181 | productId: "d798323e-8834-4417-bbb8-837b8d13e7d5", | ||
182 | resourceCategoryId: "d798323e-8834-4417-bbb8-837b8d585656", | ||
183 | metadata: null, | ||
184 | children: null, | ||
185 | }, | ||
186 | ], | ||
187 | }, | ||
188 | ], | ||
189 | }, | ||
190 | ], | ||
42 | taskData: null, | 191 | taskData: null, |
43 | form: { | 192 | form: { |
44 | job_name: '', | 193 | job_name: "", |
45 | currentPage: 1 | 194 | currentPage: 1, |
195 | }, | ||
196 | title: "", | ||
197 | queryParam: {}, | ||
198 | selectType: "0", | ||
199 | queryName: "", | ||
200 | organizationId: "", // 组织机构ID | ||
201 | departmentId: "", // 部门ID | ||
202 | departmentList: [], // 部门列表 | ||
203 | levelList: [], // 职务级别 | ||
204 | tableData: [], | ||
205 | sexList: [], | ||
206 | typeOptions: [ | ||
207 | { | ||
208 | value: "0", | ||
209 | label: "姓名", | ||
210 | }, | ||
211 | { | ||
212 | value: "1", | ||
213 | label: "工号", | ||
214 | }, | ||
215 | { | ||
216 | value: "2", | ||
217 | label: "部门", | ||
46 | }, | 218 | }, |
219 | { | ||
220 | value: "3", | ||
221 | label: "机构", | ||
222 | }, | ||
223 | ], | ||
224 | |||
47 | selectionList: [], | 225 | selectionList: [], |
48 | tableData: { | 226 | tableData: { |
49 | columns: [{ | 227 | columns: [].concat(data.columns()).concat([ |
50 | label: '序号', | 228 | { |
51 | type: 'index', | 229 | label: "排序", |
52 | width: '50', | 230 | width: 380, |
53 | index: this.indexMethod, | 231 | render: (h, scope) => { |
54 | }].concat(data.columns()).concat([ | 232 | return <div></div>; |
233 | }, | ||
234 | }, | ||
55 | { | 235 | { |
56 | label: "操作", | 236 | label: "操作", |
57 | width: 380, | 237 | width: 380, |
58 | render: (h, scope) => { | 238 | render: (h, scope) => { |
59 | return ( | 239 | return ( |
60 | <div> | 240 | <div> |
61 | <el-button type="text" size="mini" style="color: #67C23A" | 241 | <el-button |
62 | v-show={scope.row.job_status !== '1' && scope.row.job_status !== '2'} | 242 | type="text" |
63 | icon="el-icon-magic-stick" | 243 | size="mini" |
64 | onClick={() => { this.handleRecovery(scope.row) }}>激活 | 244 | icon="el-icon-edit" |
65 | </el-button> | 245 | onClick={() => { |
66 | 246 | this.handleEdit(scope.row); | |
67 | <el-button type="text" size="mini" | 247 | }} |
68 | style="color: #67C23A;margin-left:0" | 248 | > |
69 | icon="el-icon-refresh-right" | 249 | 修改 |
70 | v-show={scope.row.job_status === '2'} | ||
71 | onClick={() => { this.handleActivation(scope.row) }}>恢复 | ||
72 | </el-button> | ||
73 | |||
74 | <el-button type="text" size="mini" | ||
75 | v-show={scope.row.job_status !== '1'} | ||
76 | icon="el-icon-stopwatch" | ||
77 | onClick={() => { this.handletest(scope.row) }}>手动测试 | ||
78 | </el-button> | 250 | </el-button> |
79 | <el-button type="text" size="mini" | 251 | <el-button |
80 | v-show={scope.row.job_status === '1'} | 252 | type="text" |
253 | size="mini" | ||
81 | icon="el-icon-video-pause" | 254 | icon="el-icon-video-pause" |
82 | onClick={() => { this.handleSuspend(scope.row) }}>暂停 | 255 | onClick={() => { |
83 | </el-button> | 256 | this.authorizationQuery(scope.row); |
84 | <el-button type="text" size="mini" | 257 | }} |
85 | icon="el-icon-edit" | 258 | > |
86 | v-show={scope.row.job_status === '2' || scope.row.job_status === '-1' || scope.row.job_status === '0'} | 259 | 授权 |
87 | onClick={() => { this.handleEdit(scope.row) }}>编辑 | ||
88 | </el-button> | 260 | </el-button> |
89 | <el-button type="text" size="mini" | 261 | <el-button |
90 | icon="el-icon-delete" style="color:#F56C6C" | 262 | type="text" |
91 | v-show={scope.row.job_status !== '1'} | 263 | size="mini" |
92 | onClick={() => { this.handleDel(scope.row) }}>删除 | 264 | icon="el-icon-delete" |
265 | style="color:#F56C6C" | ||
266 | onClick={() => { | ||
267 | this.handleDelete(scope.row.id, scope.row.name); | ||
268 | }} | ||
269 | > | ||
270 | 删除 | ||
93 | </el-button> | 271 | </el-button> |
94 | </div> | 272 | </div> |
95 | ); | 273 | ); |
96 | }, | 274 | }, |
97 | }, | 275 | }, |
98 | ]), | 276 | ]), |
99 | data: [] | 277 | data: [], |
100 | }, | 278 | }, |
101 | pageData: { | 279 | pageData: { |
102 | total: 0, | 280 | total: 5, |
103 | pageSize: 15, | 281 | pageSize: 15, |
104 | current: 1, | 282 | current: 1, |
105 | }, | 283 | }, |
106 | } | 284 | }; |
107 | }, | 285 | }, |
108 | methods: { | 286 | methods: { |
109 | handleAdd () { | 287 | // 新增菜单 |
110 | this.taskData = null | 288 | handleAdd() { |
111 | this.$refs.task.isShow() | 289 | this.taskData = null; |
290 | this.$refs.dialogForm.add(); | ||
291 | this.$refs.dialogForm.title = "添加"; | ||
112 | }, | 292 | }, |
113 | async featchData () { | 293 | |
114 | try { | 294 | // 修改 |
115 | this.form = Object.assign(this.form, this.formData) | 295 | handleEdit(record) { |
116 | let { result: { list, total, pages: pageSize, pageNum: current } | 296 | localStorage.setItem("record", JSON.stringify(record)); |
117 | } = await sjsbTask.getTaskListByName(this.form) | 297 | this.$refs.dialogForm.edit(record); |
118 | this.tableData.data = list | 298 | this.$refs.dialogForm.title = "修改"; |
119 | this.pageData = { | ||
120 | pageSize, | ||
121 | current, | ||
122 | total | ||
123 | } | ||
124 | } catch (error) { | ||
125 | this.message = error | ||
126 | this.$refs.msg.messageShow() | ||
127 | } | ||
128 | }, | ||
129 | // 暂停 | ||
130 | handleSuspend (row) { | ||
131 | this.$confirm('此操将进行暂停操作, 是否继续?', '提示', { | ||
132 | confirmButtonText: '确定', | ||
133 | cancelButtonText: '取消', | ||
134 | type: 'warning', | ||
135 | }) | ||
136 | .then(() => { | ||
137 | sjsbTask.pauseJob(row.id) | ||
138 | .then((res) => { | ||
139 | if ((res.code = 200)) { | ||
140 | this.$message({ | ||
141 | type: 'success', | ||
142 | message: res.message, | ||
143 | }) | ||
144 | this.featchData() | ||
145 | } | ||
146 | }) | ||
147 | .catch((error) => { | ||
148 | this.$alert(error, '提示', { | ||
149 | confirmButtonText: '确定', | ||
150 | type: 'error' | ||
151 | }) | ||
152 | }) | ||
153 | }) | ||
154 | .catch(() => { | ||
155 | this.$message({ | ||
156 | type: 'info', | ||
157 | message: '已取消', | ||
158 | }) | ||
159 | }) | ||
160 | }, | 299 | }, |
161 | // 激活 | 300 | // 授权 |
162 | handleRecovery (row) { | 301 | authorizationQuery(record) { |
163 | this.$confirm('此操将进行激活操作, 是否继续?', '提示', { | 302 | this.$refs.authorizationList.open(record, 'menu') |
164 | confirmButtonText: '确定', | 303 | this.$refs.authorizationList.emptyJudge = true |
165 | cancelButtonText: '取消', | ||
166 | type: 'warning', | ||
167 | }) | ||
168 | .then(() => { | ||
169 | sjsbTask.activateJob(row.id) | ||
170 | .then((res) => { | ||
171 | if ((res.code = 200)) { | ||
172 | this.$message({ | ||
173 | type: 'success', | ||
174 | message: res.message, | ||
175 | }) | ||
176 | this.featchData() | ||
177 | } | ||
178 | }) | ||
179 | .catch((error) => { | ||
180 | this.$alert(error, '提示', { | ||
181 | confirmButtonText: '确定', | ||
182 | type: 'error' | ||
183 | }) | ||
184 | }) | ||
185 | }) | ||
186 | .catch(() => { | ||
187 | this.$message({ | ||
188 | type: 'info', | ||
189 | message: '已取消', | ||
190 | }) | ||
191 | }) | ||
192 | }, | 304 | }, |
193 | // 恢复 | 305 | // 删除 |
194 | handleActivation (row) { | 306 | handleDelete(row, id) { |
195 | this.$confirm('此操将进行恢复操作, 是否继续?', '提示', { | 307 | this.$confirm("此操将进行删除操作, 是否继续?", "提示", { |
196 | confirmButtonText: '确定', | 308 | confirmButtonText: "确定", |
197 | cancelButtonText: '取消', | 309 | cancelButtonText: "取消", |
198 | type: 'warning', | 310 | type: "warning", |
199 | }) | 311 | }) |
200 | .then(() => { | 312 | .then(() => { |
201 | sjsbTask.resumeJob(row.id) | 313 | // sjsbTask.sjsbTaskRemove(row.id) |
202 | .then((res) => { | 314 | // .then((res) => { |
203 | if ((res.code = 200)) { | 315 | // if ((res.code = 200)) { |
204 | this.$message({ | 316 | // this.$message({ |
205 | type: 'success', | 317 | // type: 'success', |
206 | message: res.message, | 318 | // message: res.message, |
207 | }) | 319 | // }) |
208 | this.featchData() | 320 | // this.featchData() |
209 | } | 321 | // } |
210 | }) | 322 | // }) |
211 | .catch((error) => { | 323 | // .catch((error) => { |
212 | this.$alert(error, '提示', { | 324 | // this.$alert(error, '提示', { |
213 | confirmButtonText: '确定', | 325 | // confirmButtonText: '确定', |
214 | type: 'error' | 326 | // type: 'error' |
215 | }) | 327 | // }) |
216 | }) | 328 | // }) |
217 | }) | 329 | }) |
218 | .catch(() => { | 330 | .catch(() => { |
219 | this.$message({ | 331 | this.$message({ |
220 | type: 'info', | 332 | type: "info", |
221 | message: '已取消', | 333 | message: "已取消", |
222 | }) | 334 | }); |
223 | }) | ||
224 | }, | ||
225 | // 手动测试 | ||
226 | handletest (row) { | ||
227 | this.$confirm('此操将进行手动测试, 是否继续?', '提示', { | ||
228 | confirmButtonText: '确定', | ||
229 | cancelButtonText: '取消', | ||
230 | type: 'warning', | ||
231 | }) | ||
232 | .then(() => { | ||
233 | sjsbTask.sjsbTaskRun(row.id) | ||
234 | .then((res) => { | ||
235 | if ((res.code = 200)) { | ||
236 | this.$alert(res.message, '提示', { | ||
237 | confirmButtonText: '确定', | ||
238 | type: 'success' | ||
239 | }); | 335 | }); |
240 | this.featchData() | ||
241 | } | ||
242 | }) | ||
243 | .catch((error) => { | ||
244 | this.$alert(error, '提示', { | ||
245 | confirmButtonText: '确定', | ||
246 | type: 'error' | ||
247 | }) | ||
248 | }) | ||
249 | }) | ||
250 | .catch(() => { | ||
251 | this.$message({ | ||
252 | type: 'info', | ||
253 | message: '已取消', | ||
254 | }) | ||
255 | }) | ||
256 | }, | 336 | }, |
257 | handleEdit (row) { | ||
258 | this.taskData = row | ||
259 | this.$refs.task.isShow() | ||
260 | }, | 337 | }, |
261 | handleDel (row) { | 338 | }; |
262 | this.$confirm('此操将进行删除操作, 是否继续?', '提示', { | ||
263 | confirmButtonText: '确定', | ||
264 | cancelButtonText: '取消', | ||
265 | type: 'warning', | ||
266 | }) | ||
267 | .then(() => { | ||
268 | sjsbTask.sjsbTaskRemove(row.id) | ||
269 | .then((res) => { | ||
270 | if ((res.code = 200)) { | ||
271 | this.$message({ | ||
272 | type: 'success', | ||
273 | message: res.message, | ||
274 | }) | ||
275 | this.featchData() | ||
276 | } | ||
277 | }) | ||
278 | .catch((error) => { | ||
279 | this.$alert(error, '提示', { | ||
280 | confirmButtonText: '确定', | ||
281 | type: 'error' | ||
282 | }) | ||
283 | }) | ||
284 | }) | ||
285 | .catch(() => { | ||
286 | this.$message({ | ||
287 | type: 'info', | ||
288 | message: '已取消', | ||
289 | }) | ||
290 | }) | ||
291 | } | ||
292 | } | ||
293 | } | ||
294 | </script> | 339 | </script> |
295 | <style scoped lang="scss"> | 340 | <style scoped lang="scss"> |
296 | @import "~@/styles/mixin.scss"; | 341 | @import "~@/styles/mixin.scss"; | ... | ... |
... | @@ -7,36 +7,17 @@ class data extends filter { | ... | @@ -7,36 +7,17 @@ class data extends filter { |
7 | return [ | 7 | return [ |
8 | { | 8 | { |
9 | prop: "job_name", | 9 | prop: "job_name", |
10 | label: "任务名称", | 10 | label: "角色名称", |
11 | width: 130 | 11 | width: 330 |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | prop: "description", | 14 | prop: "description", |
15 | label: "任务描述", | 15 | label: "类别", |
16 | width: 300 | 16 | width: 400 |
17 | }, | 17 | }, |
18 | { | 18 | { |
19 | prop: "cron_expression", | 19 | prop: "cron_expression", |
20 | label: "cron表达式" | 20 | label: "备注" |
21 | }, | ||
22 | { | ||
23 | prop: "bean_class", | ||
24 | width: 260, | ||
25 | label: "任务类" | ||
26 | }, | ||
27 | { | ||
28 | prop: "job_group", | ||
29 | label: "任务分组" | ||
30 | }, | ||
31 | { | ||
32 | label: "状态", | ||
33 | render: (h, scope) => { | ||
34 | return ( | ||
35 | <div> | ||
36 | { this.stateStatus(scope.row.job_status) } | ||
37 | </div> | ||
38 | ) | ||
39 | }, | ||
40 | } | 21 | } |
41 | ] | 22 | ] |
42 | } | 23 | } | ... | ... |
src/views/system/roles/edit-dialog.vue
0 → 100644
1 | <!-- 新增 & 修改角色 --> | ||
2 | <template> | ||
3 | <Dialog | ||
4 | :title="dialogTitle" | ||
5 | :show.sync="showAddEditDialog" | ||
6 | :width="'767px'" | ||
7 | @close="handleCloseDialog()" | ||
8 | > | ||
9 | <template slot="content"> | ||
10 | <el-form ref="form" :model="dialogForm" :rules="rules" label-width="82px"> | ||
11 | <el-row :gutter="24"> | ||
12 | <el-col :span="12"> | ||
13 | <el-form-item label="角色名称:" prop="roleName"> | ||
14 | <el-input | ||
15 | v-model="dialogForm.roleName" | ||
16 | clearable | ||
17 | placeholder="请输入角色名称" | ||
18 | /> | ||
19 | </el-form-item> | ||
20 | </el-col> | ||
21 | <el-col :span="12"> | ||
22 | <el-form-item label="角色类型:" prop="roleType"> | ||
23 | <!-- <el-select v-model="dialogForm.roleType.value" placeholder="请输入角色类型"> | ||
24 | <el-option | ||
25 | v-for="item in roleTypeOptions" | ||
26 | :key="item.value" | ||
27 | :label="item.name" | ||
28 | :value="item.value"> | ||
29 | </el-option> | ||
30 | </el-select> --> | ||
31 | <el-input | ||
32 | v-model="dialogForm.roleType" | ||
33 | clearable | ||
34 | placeholder="请输入角色类型" | ||
35 | /> | ||
36 | </el-form-item> | ||
37 | </el-col> | ||
38 | </el-row> | ||
39 | <br> | ||
40 | <el-row> | ||
41 | <el-col :span="24"> | ||
42 | <el-form-item label="备注:" class="form-item-mb0"> | ||
43 | <el-input | ||
44 | v-model="dialogForm.roleTextArea" | ||
45 | type="textarea" | ||
46 | placeholder="请输入内容" | ||
47 | /> | ||
48 | </el-form-item> | ||
49 | </el-col> | ||
50 | </el-row> | ||
51 | </el-form> | ||
52 | </template> | ||
53 | <template slot="footer"> | ||
54 | <el-button | ||
55 | class="cancel-button" | ||
56 | @click="handleCloseDialog" | ||
57 | >取消</el-button> | ||
58 | |||
59 | <el-button | ||
60 | type="primary" | ||
61 | @click="handleSaveRole()" | ||
62 | >保存</el-button> | ||
63 | </template> | ||
64 | </Dialog> | ||
65 | </template> | ||
66 | |||
67 | <script> | ||
68 | import Dialog from "@/components/Dialog/"; | ||
69 | |||
70 | export default { | ||
71 | components: { | ||
72 | Dialog | ||
73 | }, | ||
74 | data() { | ||
75 | return { | ||
76 | dialogTitle: '', | ||
77 | showAddEditDialog: false, | ||
78 | menuType: '', | ||
79 | roleId: '', | ||
80 | sort: 0, | ||
81 | dialogForm: { | ||
82 | roleName: '', | ||
83 | roleType: '', | ||
84 | roleTextArea: '' | ||
85 | }, | ||
86 | rules: { | ||
87 | roleName: [ | ||
88 | { required: true, message: '请输入角色名称', trigger: 'blur' } | ||
89 | ], | ||
90 | roleType: [ | ||
91 | { required: true, message: '请输入角色类型', trigger: 'blur' } | ||
92 | ] | ||
93 | }, | ||
94 | roleTypeOptions: [ | ||
95 | { name: '定制', value: '定制' }, | ||
96 | { name: '其他', value: '其他' } | ||
97 | ] | ||
98 | } | ||
99 | }, | ||
100 | methods: { | ||
101 | // 保存新增或关闭事件 | ||
102 | handleSaveRole(val) { | ||
103 | this.$refs.form.validate((valid) => { | ||
104 | if (valid) { | ||
105 | try { | ||
106 | const params = { | ||
107 | category: this.menuType, | ||
108 | description: this.dialogForm.roleTextArea, | ||
109 | name: this.dialogForm.roleName, | ||
110 | sort: this.sort, | ||
111 | type: this.dialogForm.roleType | ||
112 | } | ||
113 | if (this.roleId) { | ||
114 | // params.id = this.roleId | ||
115 | // httpAction(`${api.roles}/${params.id}`, params, 'post').then( | ||
116 | // (res) => { | ||
117 | // if (res.status === 1) { | ||
118 | // this.$message.success({ | ||
119 | // message: '修改成功', | ||
120 | // showClose: true | ||
121 | // }) | ||
122 | // this.dialogForm = { | ||
123 | // roleName: '', | ||
124 | // roleType: '' | ||
125 | // } | ||
126 | // this.showAddEditDialog = val | ||
127 | // this.$emit('ok', this.menuType) | ||
128 | // } else { | ||
129 | // this.$message.error({ | ||
130 | // message: res.message, | ||
131 | // showClose: true | ||
132 | // }) | ||
133 | // } | ||
134 | // } | ||
135 | // ) | ||
136 | } else { | ||
137 | // httpAction(api.roles, params, 'post').then((res) => { | ||
138 | // if (res.status === 1) { | ||
139 | // this.$message.success({ | ||
140 | // message: '新增成功', | ||
141 | // showClose: true | ||
142 | // }) | ||
143 | // this.dialogForm = { | ||
144 | // roleName: '', | ||
145 | // roleType: '' | ||
146 | // } | ||
147 | // this.showAddEditDialog = val | ||
148 | // this.$emit('ok', this.menuType) | ||
149 | // } else { | ||
150 | // this.$message.error({ | ||
151 | // message: res.message, | ||
152 | // showClose: true | ||
153 | // }) | ||
154 | // } | ||
155 | // }) | ||
156 | } | ||
157 | } catch (e) { | ||
158 | console.error(e) | ||
159 | } | ||
160 | } | ||
161 | }) | ||
162 | }, | ||
163 | // 取消事件 | ||
164 | handleCloseDialog() { | ||
165 | this.dialogForm = { | ||
166 | roleName: '', | ||
167 | roleType: '' | ||
168 | } | ||
169 | this.showAddEditDialog = false | ||
170 | } | ||
171 | } | ||
172 | } | ||
173 | </script> | ||
174 | <style scoped lang="scss"></style> |
1 | <template> | 1 | <template> |
2 | <div class="timedTask from-clues"> | 2 | <div class="timedTask from-clues"> |
3 | <div class="from-clues-header"> | 3 | <div class="from-clues-header"> |
4 | <el-form ref="form" :model="form" label-width="80px"> | 4 | <el-form ref="ruleForm" :model="form" label-width="100px"> |
5 | <el-row> | 5 | <el-row class="mb-5"> |
6 | <el-col :span="6"> | 6 | <el-col :span="2" class="btnColRight"> |
7 | <el-form-item label="搜索标题"> | 7 | <btn nativeType="cx" @click="handleAdd">增加角色</btn> |
8 | <el-input v-model="form.job_name" placeholder="请输入标题"></el-input> | ||
9 | </el-form-item> | ||
10 | </el-col> | ||
11 | <el-col :span="18" class="btnColRight"> | ||
12 | <btn nativeType="cx" @click="handleSubmit">搜索</btn> | ||
13 | <btn nativeType="sb" @click="handleAdd">新增</btn> | ||
14 | </el-col> | 8 | </el-col> |
9 | |||
15 | </el-row> | 10 | </el-row> |
16 | </el-form> | 11 | </el-form> |
17 | </div> | 12 | </div> |
... | @@ -20,22 +15,24 @@ | ... | @@ -20,22 +15,24 @@ |
20 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | 15 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" |
21 | :data="tableData.data"> | 16 | :data="tableData.data"> |
22 | </lb-table> | 17 | </lb-table> |
23 | <add-task ref="task" :taskData="taskData" /> | ||
24 | <message-tips ref="msg" :message="message" /> | ||
25 | </div> | 18 | </div> |
19 | <EditDialog ref="dialogForm" /> | ||
20 | <Roleslistdiglog ref="rolesForm" /> | ||
26 | </div> | 21 | </div> |
22 | |||
27 | </template> | 23 | </template> |
28 | <script> | 24 | <script> |
29 | // 定时任务 | 25 | // 定时任务 |
30 | import data from "./data" | 26 | import data from "./data" |
31 | import sjsbTask from '@/api/sjsbTask.js' | 27 | import sjsbTask from '@/api/sjsbTask.js' |
32 | import tableMixin from '@/mixins/tableMixin.js' | 28 | import tableMixin from '@/mixins/tableMixin.js' |
33 | import addTask from '../components/addTask.vue' | 29 | import EditDialog from "./edit-dialog.vue"; |
30 | import Roleslistdiglog from "./roleslistdiglog.vue"; | ||
34 | export default { | 31 | export default { |
35 | name: "roles", | 32 | name: "menus", |
36 | mixins: [tableMixin], | 33 | mixins: [tableMixin], |
37 | components: { | 34 | components: { |
38 | addTask | 35 | EditDialog,Roleslistdiglog |
39 | }, | 36 | }, |
40 | data () { | 37 | data () { |
41 | return { | 38 | return { |
... | @@ -44,6 +41,35 @@ export default { | ... | @@ -44,6 +41,35 @@ export default { |
44 | job_name: '', | 41 | job_name: '', |
45 | currentPage: 1 | 42 | currentPage: 1 |
46 | }, | 43 | }, |
44 | title: '', | ||
45 | queryParam: {}, | ||
46 | selectType: '0', | ||
47 | queryName: '', | ||
48 | organizationId: '', // 组织机构ID | ||
49 | departmentId: '', // 部门ID | ||
50 | departmentList: [], // 部门列表 | ||
51 | levelList: [], // 职务级别 | ||
52 | tableData: [], | ||
53 | sexList: [], | ||
54 | typeOptions: [ | ||
55 | { | ||
56 | value: '0', | ||
57 | label: '姓名' | ||
58 | }, | ||
59 | { | ||
60 | value: '1', | ||
61 | label: '工号' | ||
62 | }, | ||
63 | { | ||
64 | value: '2', | ||
65 | label: '部门' | ||
66 | }, | ||
67 | { | ||
68 | value: '3', | ||
69 | label: '机构' | ||
70 | } | ||
71 | ], | ||
72 | |||
47 | selectionList: [], | 73 | selectionList: [], |
48 | tableData: { | 74 | tableData: { |
49 | columns: [{ | 75 | columns: [{ |
... | @@ -51,44 +77,23 @@ export default { | ... | @@ -51,44 +77,23 @@ export default { |
51 | type: 'index', | 77 | type: 'index', |
52 | width: '50', | 78 | width: '50', |
53 | index: this.indexMethod, | 79 | index: this.indexMethod, |
54 | }].concat(data.columns()).concat([ | 80 | }].concat(data.columns()).concat([ { |
55 | { | ||
56 | label: "操作", | 81 | label: "操作", |
57 | width: 380, | 82 | width: 380, |
58 | render: (h, scope) => { | 83 | render: (h, scope) => { |
59 | return ( | 84 | return ( |
60 | <div> | 85 | <div> |
61 | <el-button type="text" size="mini" style="color: #67C23A" | ||
62 | v-show={scope.row.job_status !== '1' && scope.row.job_status !== '2'} | ||
63 | icon="el-icon-magic-stick" | ||
64 | onClick={() => { this.handleRecovery(scope.row) }}>激活 | ||
65 | </el-button> | ||
66 | |||
67 | <el-button type="text" size="mini" | ||
68 | style="color: #67C23A;margin-left:0" | ||
69 | icon="el-icon-refresh-right" | ||
70 | v-show={scope.row.job_status === '2'} | ||
71 | onClick={() => { this.handleActivation(scope.row) }}>恢复 | ||
72 | </el-button> | ||
73 | |||
74 | <el-button type="text" size="mini" | ||
75 | v-show={scope.row.job_status !== '1'} | ||
76 | icon="el-icon-stopwatch" | ||
77 | onClick={() => { this.handletest(scope.row) }}>手动测试 | ||
78 | </el-button> | ||
79 | <el-button type="text" size="mini" | 86 | <el-button type="text" size="mini" |
80 | v-show={scope.row.job_status === '1'} | ||
81 | icon="el-icon-video-pause" | 87 | icon="el-icon-video-pause" |
82 | onClick={() => { this.handleSuspend(scope.row) }}>暂停 | 88 | onClick={() => { this.personnel(scope.row) }}>人员 |
83 | </el-button> | 89 | </el-button> |
84 | <el-button type="text" size="mini" | 90 | <el-button type="text" size="mini" |
85 | icon="el-icon-edit" | 91 | icon="el-icon-edit" |
86 | v-show={scope.row.job_status === '2' || scope.row.job_status === '-1' || scope.row.job_status === '0'} | 92 | |
87 | onClick={() => { this.handleEdit(scope.row) }}>编辑 | 93 | onClick={() => { this.handleEdit(scope.row) }}>修改 |
88 | </el-button> | 94 | </el-button> |
89 | <el-button type="text" size="mini" | 95 | <el-button type="text" size="mini" |
90 | icon="el-icon-delete" style="color:#F56C6C" | 96 | icon="el-icon-delete" style="color:#F56C6C" |
91 | v-show={scope.row.job_status !== '1'} | ||
92 | onClick={() => { this.handleDel(scope.row) }}>删除 | 97 | onClick={() => { this.handleDel(scope.row) }}>删除 |
93 | </el-button> | 98 | </el-button> |
94 | </div> | 99 | </div> |
... | @@ -99,164 +104,53 @@ export default { | ... | @@ -99,164 +104,53 @@ export default { |
99 | data: [] | 104 | data: [] |
100 | }, | 105 | }, |
101 | pageData: { | 106 | pageData: { |
102 | total: 0, | 107 | total: 5, |
103 | pageSize: 15, | 108 | pageSize: 15, |
104 | current: 1, | 109 | current: 1, |
105 | }, | 110 | }, |
106 | } | 111 | } |
107 | }, | 112 | }, |
108 | methods: { | 113 | methods: { |
109 | handleAdd () { | 114 | // 新增角色 |
110 | this.taskData = null | 115 | handleAdd() { |
111 | this.$refs.task.isShow() | 116 | // this.$refs.addEditDialog.menuType = this.menuType |
117 | // this.$refs.addEditDialog.roleId = value.id | ||
118 | // this.roleSort = value.sort ? value.sort : 0 | ||
119 | // if (value.id) { | ||
120 | // this.$refs.addEditDialog.dialogForm.roleName = value.name | ||
121 | // this.$refs.addEditDialog.dialogForm.roleType = value.type | ||
122 | // this.$refs.addEditDialog.dialogForm.roleTextArea = value.description | ||
123 | // } | ||
124 | this.$refs.dialogForm.showAddEditDialog = true | ||
125 | // this.$refs.addEditDialog.dialogTitle = value.id ? '修改' : '新增' | ||
112 | }, | 126 | }, |
113 | async featchData () { | 127 | // 修改角色 |
114 | try { | 128 | handleEdit(row) { |
115 | this.form = Object.assign(this.form, this.formData) | 129 | // this.$refs.addEditDialog.menuType = this.menuType |
116 | let { result: { list, total, pages: pageSize, pageNum: current } | 130 | // this.$refs.addEditDialog.roleId = row.id |
117 | } = await sjsbTask.getTaskListByName(this.form) | 131 | // this.roleSort = row.sort ? row.sort : 0 |
118 | this.tableData.data = list | 132 | // if (row.id) { |
119 | this.pageData = { | 133 | // this.$refs.addEditDialog.dialogForm.roleName = row.name |
120 | pageSize, | 134 | // this.$refs.addEditDialog.dialogForm.roleType = row.type |
121 | current, | 135 | // this.$refs.addEditDialog.dialogForm.roleTextArea = row.description |
122 | total | 136 | // } |
123 | } | 137 | this.$refs.dialogForm.showAddEditDialog = true |
124 | } catch (error) { | 138 | // this.$refs.addEditDialog.dialogTitle = row.id ? '修改' : '新增' |
125 | this.message = error | ||
126 | this.$refs.msg.messageShow() | ||
127 | } | ||
128 | }, | 139 | }, |
129 | // 暂停 | 140 | featchData () { |
130 | handleSuspend (row) { | 141 | |
131 | this.$confirm('此操将进行暂停操作, 是否继续?', '提示', { | 142 | this.tableData.data = [ |
132 | confirmButtonText: '确定', | 143 | { |
133 | cancelButtonText: '取消', | 144 | job_name: "人事部材料管理员", |
134 | type: 'warning', | 145 | description: "材料管理员", |
135 | }) | 146 | cron_expression: "管理内部材料", |
136 | .then(() => { | ||
137 | sjsbTask.pauseJob(row.id) | ||
138 | .then((res) => { | ||
139 | if ((res.code = 200)) { | ||
140 | this.$message({ | ||
141 | type: 'success', | ||
142 | message: res.message, | ||
143 | }) | ||
144 | this.featchData() | ||
145 | } | ||
146 | }) | ||
147 | .catch((error) => { | ||
148 | this.$alert(error, '提示', { | ||
149 | confirmButtonText: '确定', | ||
150 | type: 'error' | ||
151 | }) | ||
152 | }) | ||
153 | }) | ||
154 | .catch(() => { | ||
155 | this.$message({ | ||
156 | type: 'info', | ||
157 | message: '已取消', | ||
158 | }) | ||
159 | }) | ||
160 | }, | ||
161 | // 激活 | ||
162 | handleRecovery (row) { | ||
163 | this.$confirm('此操将进行激活操作, 是否继续?', '提示', { | ||
164 | confirmButtonText: '确定', | ||
165 | cancelButtonText: '取消', | ||
166 | type: 'warning', | ||
167 | }) | ||
168 | .then(() => { | ||
169 | sjsbTask.activateJob(row.id) | ||
170 | .then((res) => { | ||
171 | if ((res.code = 200)) { | ||
172 | this.$message({ | ||
173 | type: 'success', | ||
174 | message: res.message, | ||
175 | }) | ||
176 | this.featchData() | ||
177 | } | ||
178 | }) | ||
179 | .catch((error) => { | ||
180 | this.$alert(error, '提示', { | ||
181 | confirmButtonText: '确定', | ||
182 | type: 'error' | ||
183 | }) | ||
184 | }) | ||
185 | }) | ||
186 | .catch(() => { | ||
187 | this.$message({ | ||
188 | type: 'info', | ||
189 | message: '已取消', | ||
190 | }) | ||
191 | }) | ||
192 | }, | ||
193 | // 恢复 | ||
194 | handleActivation (row) { | ||
195 | this.$confirm('此操将进行恢复操作, 是否继续?', '提示', { | ||
196 | confirmButtonText: '确定', | ||
197 | cancelButtonText: '取消', | ||
198 | type: 'warning', | ||
199 | }) | ||
200 | .then(() => { | ||
201 | sjsbTask.resumeJob(row.id) | ||
202 | .then((res) => { | ||
203 | if ((res.code = 200)) { | ||
204 | this.$message({ | ||
205 | type: 'success', | ||
206 | message: res.message, | ||
207 | }) | ||
208 | this.featchData() | ||
209 | } | ||
210 | }) | ||
211 | .catch((error) => { | ||
212 | this.$alert(error, '提示', { | ||
213 | confirmButtonText: '确定', | ||
214 | type: 'error' | ||
215 | }) | ||
216 | }) | ||
217 | }) | ||
218 | .catch(() => { | ||
219 | this.$message({ | ||
220 | type: 'info', | ||
221 | message: '已取消', | ||
222 | }) | ||
223 | }) | ||
224 | }, | 147 | }, |
225 | // 手动测试 | 148 | ] |
226 | handletest (row) { | ||
227 | this.$confirm('此操将进行手动测试, 是否继续?', '提示', { | ||
228 | confirmButtonText: '确定', | ||
229 | cancelButtonText: '取消', | ||
230 | type: 'warning', | ||
231 | }) | ||
232 | .then(() => { | ||
233 | sjsbTask.sjsbTaskRun(row.id) | ||
234 | .then((res) => { | ||
235 | if ((res.code = 200)) { | ||
236 | this.$alert(res.message, '提示', { | ||
237 | confirmButtonText: '确定', | ||
238 | type: 'success' | ||
239 | }); | ||
240 | this.featchData() | ||
241 | } | ||
242 | }) | ||
243 | .catch((error) => { | ||
244 | this.$alert(error, '提示', { | ||
245 | confirmButtonText: '确定', | ||
246 | type: 'error' | ||
247 | }) | ||
248 | }) | ||
249 | }) | ||
250 | .catch(() => { | ||
251 | this.$message({ | ||
252 | type: 'info', | ||
253 | message: '已取消', | ||
254 | }) | ||
255 | }) | ||
256 | }, | 149 | }, |
257 | handleEdit (row) { | 150 | |
258 | this.taskData = row | 151 | personnel(){ |
259 | this.$refs.task.isShow() | 152 | this.$refs.rolesForm.adds(); |
153 | // this.$refs.rolesForm.title = "人员配置"; | ||
260 | }, | 154 | }, |
261 | handleDel (row) { | 155 | handleDel (row) { |
262 | this.$confirm('此操将进行删除操作, 是否继续?', '提示', { | 156 | this.$confirm('此操将进行删除操作, 是否继续?', '提示', { | ... | ... |
src/views/system/roles/roleslistdiglog.vue
0 → 100644
1 | <template> | ||
2 | <Dialog :title="title" :show.sync="visible" :width="'715px'" @close="close()"> | ||
3 | <template slot="content"> | ||
4 | <vxe-table | ||
5 | show-overflow | ||
6 | :data="memberList" | ||
7 | border | ||
8 | class="header-bg-type1" | ||
9 | auto-resize | ||
10 | :checkbox-config="{ highlight: true, range: true }" | ||
11 | highlight-hover-row | ||
12 | max-height="500px" | ||
13 | :empty-render="{ name: 'NotData' }" | ||
14 | > | ||
15 | <template #empty> | ||
16 | <table-empty /> | ||
17 | </template> | ||
18 | <vxe-table-column | ||
19 | type="checkbox" | ||
20 | width="60" | ||
21 | align="left" | ||
22 | fixed="left" | ||
23 | /> | ||
24 | <vxe-table-column | ||
25 | field="code" | ||
26 | title="工号" | ||
27 | fixed="left" | ||
28 | min-width="100" | ||
29 | show-header-overflow="tooltip" | ||
30 | show-overflow="tooltip" | ||
31 | align="left" | ||
32 | /> | ||
33 | <vxe-table-column | ||
34 | title="姓名" | ||
35 | fixed="left" | ||
36 | show-header-overflow="tooltip" | ||
37 | show-overflow="tooltip" | ||
38 | > | ||
39 | <template slot-scope="scope"> | ||
40 | <svg-icon | ||
41 | :icon-class=" | ||
42 | scope.row.sex === '0' | ||
43 | ? 'male' | ||
44 | : scope.row.sex === '1' | ||
45 | ? 'female' | ||
46 | : 'secrecy' | ||
47 | " | ||
48 | /> | ||
49 | {{ scope.row.name }} | ||
50 | </template> | ||
51 | </vxe-table-column> | ||
52 | <vxe-table-column | ||
53 | field="loginName" | ||
54 | title="用户名" | ||
55 | fixed="left" | ||
56 | show-header-overflow="tooltip" | ||
57 | show-overflow="tooltip" | ||
58 | /> | ||
59 | <vxe-table-column | ||
60 | field="departmentName" | ||
61 | title="部门" | ||
62 | show-header-overflow="tooltip" | ||
63 | show-overflow="tooltip" | ||
64 | /> | ||
65 | </vxe-table> | ||
66 | </template> | ||
67 | <template slot="footer"> | ||
68 | <el-button type="primary" class="save" @click="submitForm(1)" | ||
69 | >保存</el-button | ||
70 | > | ||
71 | <el-button class="cancel-button" @click="close()">取消</el-button> | ||
72 | </template> | ||
73 | </Dialog> | ||
74 | </template> | ||
75 | |||
76 | <script> | ||
77 | import Dialog from "@/components/Dialog/"; | ||
78 | export default { | ||
79 | name: "", | ||
80 | components: { Dialog }, | ||
81 | props: {}, | ||
82 | data() { | ||
83 | return { | ||
84 | form: { | ||
85 | sex: "0", | ||
86 | }, | ||
87 | memberList: [ | ||
88 | { | ||
89 | id: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
90 | createdAt: null, | ||
91 | updatedAt: "2022-08-04T03:38:27.626+0000", | ||
92 | createdBy: null, | ||
93 | updatedBy: "3127e455-43ba-45ff-9326-0e02ef89485e", | ||
94 | sort: 1, | ||
95 | name: "超级管理员", | ||
96 | loginName: "admin", | ||
97 | password: "05eb15777e8fd1d61c840472e7267f61d432f63340d86b59", | ||
98 | passwordSalt: "5178114777136485", | ||
99 | email: null, | ||
100 | lastLoginTime: null, | ||
101 | mobilePhone: "18291003568", | ||
102 | status: "ACTIVE", | ||
103 | passwordChangeTime: "2021-12-10T08:01:01.569+0000", | ||
104 | idCard: "612725202111021521", | ||
105 | departmentId: "2eae5304-544f-4f5b-b354-8f5d47433c9b", | ||
106 | organizationId: "0bca67ae-1d9e-4b41-b057-f165586d24aa", | ||
107 | sex: "0", | ||
108 | isDuty: true, | ||
109 | code: "123324", | ||
110 | jobLevel: null, | ||
111 | telephone: "028-87720898", | ||
112 | address: "办公地点修改测试", | ||
113 | isLocked: false, | ||
114 | departmentName: "研发部", | ||
115 | _X_ROW_KEY: "row_276", | ||
116 | }, | ||
117 | ], | ||
118 | title: "", | ||
119 | type: "", | ||
120 | visible: false, | ||
121 | showLoginName: false, | ||
122 | options: [], | ||
123 | setProps: { | ||
124 | value: "id", | ||
125 | label: "name", | ||
126 | children: "children", | ||
127 | expandTrigger: "hover", | ||
128 | checkStrictly: true, // 可取消关联,选择任意一级选项 | ||
129 | emitPath: false, | ||
130 | }, | ||
131 | sexList: [], | ||
132 | levelList: [], | ||
133 | organizationId: "", // 组织机构ID | ||
134 | departmentId: "", // 部门ID | ||
135 | }; | ||
136 | }, | ||
137 | computed: {}, | ||
138 | watch: {}, | ||
139 | created() {}, | ||
140 | mounted() {}, | ||
141 | methods: { | ||
142 | adds() { | ||
143 | this.visible = true; | ||
144 | }, | ||
145 | edit(record) { | ||
146 | this.visible = true; | ||
147 | }, | ||
148 | handleChange(value) { | ||
149 | this.form.departmentId = value; | ||
150 | }, | ||
151 | |||
152 | close() { | ||
153 | // this.resetForm() | ||
154 | this.visible = false; | ||
155 | }, | ||
156 | }, | ||
157 | }; | ||
158 | </script> | ||
159 | <style scoped lang="scss"> | ||
160 | .el-form { | ||
161 | .el-form-item__content { | ||
162 | .el-radio { | ||
163 | margin-right: 6px; | ||
164 | } | ||
165 | } | ||
166 | .el-checkbox { | ||
167 | line-height: 40px; | ||
168 | } | ||
169 | .col-pd0 { | ||
170 | padding: 0 !important; | ||
171 | } | ||
172 | } | ||
173 | </style> |
... | @@ -21,7 +21,6 @@ | ... | @@ -21,7 +21,6 @@ |
21 | :data="tableData.data"> | 21 | :data="tableData.data"> |
22 | </lb-table> | 22 | </lb-table> |
23 | <add-task ref="task" :taskData="taskData" /> | 23 | <add-task ref="task" :taskData="taskData" /> |
24 | <message-tips ref="msg" :message="message" /> | ||
25 | </div> | 24 | </div> |
26 | </div> | 25 | </div> |
27 | </template> | 26 | </template> |
... | @@ -123,7 +122,6 @@ export default { | ... | @@ -123,7 +122,6 @@ export default { |
123 | } | 122 | } |
124 | } catch (error) { | 123 | } catch (error) { |
125 | this.message = error | 124 | this.message = error |
126 | this.$refs.msg.messageShow() | ||
127 | } | 125 | } |
128 | }, | 126 | }, |
129 | // 暂停 | 127 | // 暂停 | ... | ... |
... | @@ -6,37 +6,35 @@ class data extends filter { | ... | @@ -6,37 +6,35 @@ class data extends filter { |
6 | columns () { | 6 | columns () { |
7 | return [ | 7 | return [ |
8 | { | 8 | { |
9 | prop: "job_name", | 9 | prop: "code", |
10 | label: "任务名称", | 10 | label: "工号", |
11 | width: 130 | 11 | width: 130 |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | prop: "description", | 14 | prop: "name", |
15 | label: "任务描述", | 15 | label: "姓名", |
16 | width: 300 | 16 | width: 300 |
17 | }, | 17 | }, |
18 | { | 18 | { |
19 | prop: "cron_expression", | 19 | prop: "loginName", |
20 | label: "cron表达式" | 20 | label: "用户名" |
21 | }, | 21 | }, |
22 | { | 22 | { |
23 | prop: "bean_class", | 23 | prop: "isDuty", |
24 | width: 260, | 24 | width: 260, |
25 | label: "任务类" | 25 | label: "负责人" |
26 | }, | 26 | }, |
27 | { | 27 | { |
28 | prop: "job_group", | 28 | prop: "departmentName", |
29 | label: "任务分组" | 29 | label: "所属部门" |
30 | }, | 30 | }, |
31 | { | 31 | { |
32 | label: "状态", | 32 | prop: "job_group", |
33 | render: (h, scope) => { | 33 | label: "职位" |
34 | return ( | ||
35 | <div> | ||
36 | { this.stateStatus(scope.row.job_status) } | ||
37 | </div> | ||
38 | ) | ||
39 | }, | 34 | }, |
35 | { | ||
36 | prop: "telephone", | ||
37 | label: "电话" | ||
40 | } | 38 | } |
41 | ] | 39 | ] |
42 | } | 40 | } | ... | ... |
src/views/system/users/edit-dialog.vue
0 → 100644
1 | <template> | ||
2 | <Dialog :title="title" :show.sync="visible" :width="'715px'" @close="close()"> | ||
3 | <template slot="content"> | ||
4 | <el-form ref="form" :model="form" :rules="rules"> | ||
5 | <el-row :gutter="24"> | ||
6 | <el-col :span="11"> | ||
7 | <el-form-item label="姓名:" prop="name" label-width="100px"> | ||
8 | <el-input v-model="form.name" placeholder="请输入姓名" /> | ||
9 | </el-form-item> | ||
10 | </el-col> | ||
11 | <el-col :span="13"> | ||
12 | <el-col :span="18" class="col-pd0"> | ||
13 | <el-form-item label="性别:" label-width="72px"> | ||
14 | <el-radio | ||
15 | v-for="(item, index) in sexList" | ||
16 | :key="index" | ||
17 | v-model="form.sex" | ||
18 | :label="item.value" | ||
19 | >{{ item.name }}</el-radio | ||
20 | > | ||
21 | </el-form-item> | ||
22 | </el-col> | ||
23 | <el-col :span="6"> | ||
24 | <el-checkbox v-model="form.isDuty">负责人</el-checkbox> | ||
25 | </el-col> | ||
26 | </el-col> | ||
27 | </el-row> | ||
28 | <el-row :gutter="24"> | ||
29 | <el-col :span="11"> | ||
30 | <el-form-item label="工号:" prop="code" label-width="100px"> | ||
31 | <el-input v-model="form.code" placeholder="请输入工号" /> | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | <el-col :span="13"> | ||
35 | <el-form-item label="用户名:" prop="loginName" label-width="72px"> | ||
36 | <el-input | ||
37 | v-model="form.loginName" | ||
38 | :disabled="showLoginName" | ||
39 | placeholder="请输入用户名" | ||
40 | /> | ||
41 | </el-form-item> | ||
42 | </el-col> | ||
43 | </el-row> | ||
44 | <el-row :gutter="24"> | ||
45 | <el-col :span="11"> | ||
46 | <el-form-item label="身份证号码:" label-width="100px"> | ||
47 | <el-input v-model="form.idCard" placeholder="请输入身份证号码" /> | ||
48 | </el-form-item> | ||
49 | </el-col> | ||
50 | <el-col :span="13"> | ||
51 | <el-form-item | ||
52 | label="手机号码:" | ||
53 | prop="mobilePhone" | ||
54 | label-width="72px" | ||
55 | > | ||
56 | <el-input | ||
57 | v-model="form.mobilePhone" | ||
58 | placeholder="请输入手机号码" | ||
59 | /> | ||
60 | </el-form-item> | ||
61 | </el-col> | ||
62 | </el-row> | ||
63 | <el-row :gutter="24"> | ||
64 | <el-col :span="11"> | ||
65 | <el-form-item label="最高职务级别:" label-width="100px"> | ||
66 | <el-select | ||
67 | v-model="form.jobLevel" | ||
68 | placeholder="请选择最高职务级别" | ||
69 | > | ||
70 | <el-option | ||
71 | v-for="item in levelList" | ||
72 | :key="item.value" | ||
73 | :label="item.name" | ||
74 | :value="item.value" | ||
75 | /> | ||
76 | </el-select> | ||
77 | </el-form-item> | ||
78 | </el-col> | ||
79 | <el-col :span="13"> | ||
80 | <el-form-item label="办公电话:" prop="telephone" label-width="72px"> | ||
81 | <el-input v-model="form.telephone" placeholder="请输入办公电话" /> | ||
82 | </el-form-item> | ||
83 | </el-col> | ||
84 | </el-row> | ||
85 | <el-row :gutter="24"> | ||
86 | <el-col :span="24"> | ||
87 | <el-form-item | ||
88 | label="办公地点:" | ||
89 | label-width="100px" | ||
90 | class="form-item-mb0" | ||
91 | > | ||
92 | <el-input v-model="form.address" placeholder="请输入办公地点" /> | ||
93 | </el-form-item> | ||
94 | </el-col> | ||
95 | </el-row> | ||
96 | </el-form> | ||
97 | </template> | ||
98 | <template slot="footer"> | ||
99 | <el-button type="primary" class="save" @click="submitForm(1)">保存</el-button> | ||
100 | <el-button class="cancel-button" @click="close()">取消</el-button> | ||
101 | </template> | ||
102 | </Dialog> | ||
103 | </template> | ||
104 | |||
105 | <script> | ||
106 | import Dialog from "@/components/Dialog/"; | ||
107 | export default { | ||
108 | name: "", | ||
109 | components: { Dialog }, | ||
110 | props: {}, | ||
111 | data() { | ||
112 | return { | ||
113 | form: { | ||
114 | sex: "0", | ||
115 | }, | ||
116 | rules: { | ||
117 | name: [{ required: true, message: "请输入姓名", trigger: "blur" }], | ||
118 | code: [{ required: true, message: "请输入工号", trigger: "blur" }], | ||
119 | mobilePhone: [{ validator: "sddd", trigger: "blur" }], | ||
120 | loginName: [ | ||
121 | { required: true, message: "请输入用户名", trigger: "blur" }, | ||
122 | ], | ||
123 | }, | ||
124 | title: "", | ||
125 | visible: false, | ||
126 | showLoginName: false, | ||
127 | sexList: [{lable:"0",value:"0",name:"男"},{lable:"1",value:"1",name:"女"}], | ||
128 | levelList: [{lable:"0",value:"0",name:"干事"},{lable:"1",value:"1",name:"经理"}], | ||
129 | organizationId: "", // 组织机构ID | ||
130 | departmentId: "", // 部门ID | ||
131 | }; | ||
132 | }, | ||
133 | computed: {}, | ||
134 | watch: {}, | ||
135 | created() {}, | ||
136 | mounted() {}, | ||
137 | methods: { | ||
138 | // initDictConfig() { | ||
139 | // getDictItems('XB').then((res) => { | ||
140 | // if (res.status === 1) { | ||
141 | // this.sexList = res.content | ||
142 | // } else { | ||
143 | // this.$message.error({ message: res.message, showClose: true }) | ||
144 | // } | ||
145 | // }) | ||
146 | // getDictItems('ZWJB').then((res) => { | ||
147 | // if (res.status === 1) { | ||
148 | // this.levelList = res.content | ||
149 | // } else { | ||
150 | // this.$message.error({ message: res.message, showClose: true }) | ||
151 | // } | ||
152 | // }) | ||
153 | // }, | ||
154 | add() { | ||
155 | this.visible = true; | ||
156 | // this.type = 0 | ||
157 | this.showLoginName = false | ||
158 | }, | ||
159 | edit(record) { | ||
160 | // this.initDictConfig() | ||
161 | this.showLoginName = true | ||
162 | // 若有id为编辑 | ||
163 | if (record) { | ||
164 | this.$nextTick(() => { | ||
165 | this.form = Object.assign({}, record) | ||
166 | }) | ||
167 | } | ||
168 | this.visible = true | ||
169 | }, | ||
170 | handleChange(value) { | ||
171 | this.form.departmentId = value; | ||
172 | }, | ||
173 | submitForm(submitType) { | ||
174 | this.$refs.form.validate((valid) => { | ||
175 | if (valid) { | ||
176 | let method = '' | ||
177 | let url = '' | ||
178 | const formData = this.form | ||
179 | if (!formData.id) { | ||
180 | method = 'post' | ||
181 | url = this.dataUrl | ||
182 | } else { | ||
183 | method = 'put' | ||
184 | url = `${this.dataUrl}/${formData.id}` | ||
185 | } | ||
186 | httpAction(url, formData, method).then((res) => { | ||
187 | if (res.status === 1) { | ||
188 | this.$message.success({ message: res.message, showClose: true }) | ||
189 | // this.type 0新增 1编辑 | ||
190 | if (this.type === 0) { | ||
191 | // submitType 1需要关闭页面 0保存&新增暂不关闭页面 | ||
192 | if (submitType === 1) { | ||
193 | this.close() | ||
194 | } else { | ||
195 | this.resetForm() | ||
196 | } | ||
197 | } else if (this.type === 1) { | ||
198 | this.close() | ||
199 | } | ||
200 | this.$emit('ok') | ||
201 | } else { | ||
202 | this.$message.error({ message: res.message, showClose: true }) | ||
203 | } | ||
204 | }) | ||
205 | } else { | ||
206 | console.log('提交错误!!!') | ||
207 | return false | ||
208 | } | ||
209 | }) | ||
210 | }, | ||
211 | resetForm() { | ||
212 | this.form = { | ||
213 | sex: '0' | ||
214 | } | ||
215 | this.$refs.form.resetFields() | ||
216 | }, | ||
217 | close() { | ||
218 | // this.resetForm() | ||
219 | this.visible = false; | ||
220 | }, | ||
221 | }, | ||
222 | }; | ||
223 | </script> | ||
224 | <style scoped lang="scss"> | ||
225 | .el-form { | ||
226 | .el-form-item__content { | ||
227 | .el-radio { | ||
228 | margin-right: 6px; | ||
229 | } | ||
230 | } | ||
231 | .el-checkbox { | ||
232 | line-height: 40px; | ||
233 | } | ||
234 | .col-pd0 { | ||
235 | padding: 0 !important; | ||
236 | } | ||
237 | } | ||
238 | </style> |
... | @@ -3,317 +3,231 @@ | ... | @@ -3,317 +3,231 @@ |
3 | <div class="from-clues-header"> | 3 | <div class="from-clues-header"> |
4 | <el-form ref="ruleForm" :model="form" label-width="100px"> | 4 | <el-form ref="ruleForm" :model="form" label-width="100px"> |
5 | <el-row class="mb-5"> | 5 | <el-row class="mb-5"> |
6 | <el-col :span="3"> | ||
7 | <el-select v-model="selectType" placeholder="请选择" class="select"> | ||
8 | <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" /> | ||
9 | </el-select> | ||
10 | </el-col> | ||
11 | <el-col :span="3"> | ||
12 | <el-input v-model="queryName" class="selectName" clearable placeholder="请输入"> | ||
13 | <el-button slot="append" icon="el-icon-search" @click="searchQuery()" /> | ||
14 | </el-input> | ||
15 | </el-col> | ||
16 | <!-- 按钮操作 --> | 6 | <!-- 按钮操作 --> |
17 | <el-col :span="6" class="btnColRight"> | 7 | <el-col :span="2" class="btnColRight"> |
18 | <el-form-item> | 8 | <el-form-item> |
19 | <btn nativeType="cz" @click="handleAdd">添加人员</btn> | 9 | <btn nativeType="cx" @click="handleAdd">添加人员</btn> |
20 | <btn nativeType="cx" @click="resetPassword(selectionRows)">重置密码</btn> | 10 | <!-- <btn nativeType="cx" @click="resetPassword(selectionRows)" |
21 | <btn nativeType="sb" @click="resetSearch()">重置</btn> | 11 | >重置密码</btn |
12 | > | ||
13 | <btn nativeType="cx" @click="resetSearch()">重置</btn> --> | ||
22 | </el-form-item> | 14 | </el-form-item> |
23 | </el-col> | 15 | </el-col> |
24 | |||
25 | </el-row> | 16 | </el-row> |
26 | </el-form> | 17 | </el-form> |
27 | </div> | 18 | </div> |
28 | <div class="from-clues-content"> | 19 | <div class="from-clues-content"> |
29 | <vxe-table ref="xTree" v-loading="loading" class="header-bg-type1" :data="tableData" show-overflow border | 20 | <lb-table |
30 | :checkbox-config="{ highlight: true }" :empty-render="{ name: 'NotData' }" highlight-hover-row max-height="90%" | 21 | :page-size="pageData.size" |
31 | @checkbox-all="selectAllEvent" @checkbox-change="selectChangeEvent"> | 22 | :current-page.sync="pageData.current" |
32 | <template #empty> | 23 | :total="pageData.total" |
33 | <table-empty /> | 24 | @size-change="handleSizeChange" |
34 | </template> | 25 | @p-current-change="handleCurrentChange" |
35 | <vxe-table-column type="checkbox" width="36" align="center" fixed="left" /> | 26 | :column="tableData.columns" |
36 | <vxe-table-column field="code" title="工号" width="80" align="left" show-header-overflow="tooltip" | 27 | :data="tableData.data" |
37 | show-overflow="tooltip" fixed="left" /> | 28 | > |
38 | <vxe-table-column title="姓名" width="140" align="left" show-header-overflow="tooltip" show-overflow="tooltip" | 29 | </lb-table> |
39 | fixed="left"> | ||
40 | <template slot-scope="scope"> | ||
41 | <svg-icon :icon-class=" | ||
42 | scope.row.sex === '0' | ||
43 | ? 'male' | ||
44 | : scope.row.sex === '1' | ||
45 | ? 'female' | ||
46 | : 'secrecy' | ||
47 | " /> | ||
48 | {{ scope.row.name }} | ||
49 | </template> | ||
50 | </vxe-table-column> | ||
51 | <vxe-table-column field="loginName" title="用户名" width="110" align="left" show-header-overflow="tooltip" | ||
52 | show-overflow="tooltip" fixed="left" /> | ||
53 | <vxe-table-column title="负责人" align="left" show-header-overflow="tooltip" show-overflow="tooltip"> | ||
54 | <template slot-scope="scope"> | ||
55 | <i v-if="scope.row.isDuty" class="el-icon-check" /> | ||
56 | </template> | ||
57 | </vxe-table-column> | ||
58 | <vxe-table-column field="departmentName" title="所属部门" align="left" width="140" min-width="140" | ||
59 | show-header-overflow="tooltip" show-overflow="tooltip" /> | ||
60 | <vxe-table-column field="jobLevel" :formatter="formatterjobLevel" title="职位" align="left" width="140" | ||
61 | min-width="140" show-header-overflow="tooltip" show-overflow="tooltip" /> | ||
62 | <vxe-table-column field="mobilePhone" title="电话" width="140" show-header-overflow="tooltip" | ||
63 | show-overflow="tooltip" align="left" /> | ||
64 | <vxe-table-column title="状态" width="50"> | ||
65 | <template scope="scope"> | ||
66 | <el-switch v-model="scope.row.switch" class="switch" active-color="#32BAD4" inactive-color="#B1B9C5" | ||
67 | active-text="启" inactive-text="禁" @change="changeStatus(scope.row)" /> | ||
68 | </template> | ||
69 | </vxe-table-column> | ||
70 | <vxe-table-column title="排序" width="148" min-width="148" align="left" fixed="right"> | ||
71 | <template #header> | ||
72 | <p class="ml8">排序</p> | ||
73 | </template> | ||
74 | <template slot-scope="scope"> | ||
75 | <sort-table :scope-data="scope" :sort-url="tableUrl" @sortOk="getTableList" /> | ||
76 | </template> | ||
77 | </vxe-table-column> | ||
78 | <vxe-table-column title="操作" width="148" min-width="148" align="left" fixed="right"> | ||
79 | <template #header> | ||
80 | <p class="ml8">操作</p> | ||
81 | </template> | ||
82 | <template slot-scope="scope"> | ||
83 | <el-button type="text" size="small"> | ||
84 | <el-tooltip class="item" effect="dark" content="解锁" placement="top"> | ||
85 | <i class="icon-platform-unlock iconfont" @click="updateLock(scope.row.id, scope.row.name)" /> | ||
86 | </el-tooltip> | ||
87 | <el-tooltip class="item" effect="dark" content="重置" placement="top"> | ||
88 | <i class="icon-platform-reset iconfont" @click="resetPassword(scope.row.id)" /> | ||
89 | </el-tooltip> | ||
90 | <el-tooltip class="item" effect="dark" content="修改" placement="top"> | ||
91 | <i class="icon-platform-edit iconfont" @click="handleEdit(scope.row)" /> | ||
92 | </el-tooltip> | ||
93 | <el-tooltip class="item" effect="dark" content="删除" placement="top"> | ||
94 | <i class="icon-platform-delete iconfont" @click="handleDelete(scope.row.id, scope.row.name)" /> | ||
95 | </el-tooltip> | ||
96 | </el-button> | ||
97 | </template> | ||
98 | </vxe-table-column> | ||
99 | </vxe-table> | ||
100 | </div> | 30 | </div> |
31 | <edit-dialog ref="dialogForm" /> | ||
101 | </div> | 32 | </div> |
102 | </template> | 33 | </template> |
103 | <script> | 34 | <script> |
104 | // 定时任务 | 35 | // 定时任务 |
36 | import data from "./data"; | ||
37 | import sjsbTask from "@/api/sjsbTask.js"; | ||
38 | import tableMixin from "@/mixins/tableMixin.js"; | ||
39 | import EditDialog from "./edit-dialog.vue"; | ||
105 | export default { | 40 | export default { |
106 | name: "users", | 41 | name: "menus", |
107 | components: {}, | 42 | mixins: [tableMixin], |
108 | data () { | 43 | components: { |
44 | EditDialog, | ||
45 | }, | ||
46 | data() { | ||
109 | return { | 47 | return { |
110 | title: '', | 48 | taskData: null, |
49 | form: { | ||
50 | job_name: "", | ||
51 | currentPage: 1, | ||
52 | }, | ||
111 | queryParam: {}, | 53 | queryParam: {}, |
112 | selectType: '0', | 54 | selectType: "0", |
113 | queryName: '', | 55 | queryName: "", |
114 | organizationId: '', // 组织机构ID | 56 | organizationId: "", // 组织机构ID |
115 | departmentId: '', // 部门ID | 57 | departmentId: "", // 部门ID |
116 | departmentList: [], // 部门列表 | 58 | departmentList: [], // 部门列表 |
117 | levelList: [], // 职务级别 | 59 | levelList: [], // 职务级别 |
118 | tableData: [], | 60 | tableData: [], |
119 | sexList: [], | 61 | sexList: [], |
120 | typeOptions: [ | 62 | typeOptions: [ |
121 | { | 63 | { |
122 | value: '0', | 64 | value: "0", |
123 | label: '姓名' | 65 | label: "姓名", |
124 | }, | 66 | }, |
125 | { | 67 | { |
126 | value: '1', | 68 | value: "1", |
127 | label: '工号' | 69 | label: "工号", |
128 | }, | 70 | }, |
129 | { | 71 | { |
130 | value: '2', | 72 | value: "2", |
131 | label: '部门' | 73 | label: "部门", |
132 | }, | 74 | }, |
133 | { | 75 | { |
134 | value: '3', | 76 | value: "3", |
135 | label: '机构' | 77 | label: "机构", |
136 | } | 78 | }, |
137 | ], | 79 | ], |
138 | // tableUrl: api.users, // 接口地址, | ||
139 | 80 | ||
140 | pageData: { | 81 | selectionList: [], |
141 | total: 0, | 82 | tableData: { |
142 | pageSize: 15, | 83 | columns: [ |
143 | current: 1, | 84 | { |
144 | }, | 85 | label: "序号", |
145 | }; | 86 | type: "index", |
146 | }, | 87 | width: "50", |
147 | created () { | 88 | index: this.indexMethod, |
148 | // 获取区域和组织机构id | ||
149 | eventBus.$on('getSelectedId', (res) => { | ||
150 | if (!res.organizationId) { | ||
151 | this.tableData = [] | ||
152 | this.organizationId = '' | ||
153 | this.departmentId = '' | ||
154 | } else { | ||
155 | this.organizationId = res.organizationId | ||
156 | this.departmentId = res.departmentId | ||
157 | this.getTableList() | ||
158 | this.getDepartData() | ||
159 | } | ||
160 | this.initDictConfig() | ||
161 | }) | ||
162 | }, | 89 | }, |
163 | updated () { | 90 | ] |
164 | this.tableData.forEach((element) => { | 91 | .concat(data.columns()) |
165 | element.switch = element.status === 'ACTIVE' | 92 | .concat([ |
166 | }) | 93 | { |
94 | label: "排序", | ||
95 | width: 380, | ||
96 | render: (h, scope) => { | ||
97 | return <div></div>; | ||
167 | }, | 98 | }, |
168 | methods: { | ||
169 | initDictConfig () { | ||
170 | getDictItems('XB').then((res) => { | ||
171 | if (res.status === 1) { | ||
172 | this.sexList = res.content | ||
173 | } else { | ||
174 | this.$message.error({ message: res.message, showClose: true }) | ||
175 | } | ||
176 | }) | ||
177 | getDictItems('ZWJB').then((res) => { | ||
178 | if (res.status === 1) { | ||
179 | this.levelList = res.content | ||
180 | } else { | ||
181 | this.$message.error({ message: res.message, showClose: true }) | ||
182 | } | ||
183 | }) | ||
184 | }, | 99 | }, |
185 | getDepartData () { | 100 | { |
186 | getDeptsByIdAction(this.organizationId).then((res) => { | 101 | label: "操作", |
187 | if (res.status === 1) { | 102 | width: 380, |
188 | this.departmentList = res.content | 103 | render: (h, scope) => { |
189 | } else { | 104 | return ( |
190 | this.$message.error({ message: res.message, showClose: true }) | 105 | <div> |
191 | } | 106 | <el-button |
192 | }) | 107 | type="text" |
108 | size="mini" | ||
109 | icon="el-icon-edit" | ||
110 | onClick={() => { | ||
111 | this.updateLock(scope.row, scope.row.name); | ||
112 | }} | ||
113 | > | ||
114 | 解锁 | ||
115 | </el-button> | ||
116 | <el-button | ||
117 | type="text" | ||
118 | size="mini" | ||
119 | icon="el-icon-video-pause" | ||
120 | onClick={() => { | ||
121 | this.resetPassword(scope.row.id); | ||
122 | }} | ||
123 | > | ||
124 | 重置 | ||
125 | </el-button> | ||
126 | <el-button | ||
127 | type="text" | ||
128 | size="mini" | ||
129 | icon="el-icon-edit" | ||
130 | onClick={() => { | ||
131 | this.handleEdit(scope.row); | ||
132 | }} | ||
133 | > | ||
134 | 修改 | ||
135 | </el-button> | ||
136 | <el-button | ||
137 | type="text" | ||
138 | size="mini" | ||
139 | icon="el-icon-delete" | ||
140 | style="color:#F56C6C" | ||
141 | onClick={() => { | ||
142 | this.handleDelete(scope.row.id, scope.row.name); | ||
143 | }} | ||
144 | > | ||
145 | 删除 | ||
146 | </el-button> | ||
147 | </div> | ||
148 | ); | ||
193 | }, | 149 | }, |
194 | getTableList () { | ||
195 | this.loading = true | ||
196 | this.queryParam = { | ||
197 | organizationId: this.organizationId, | ||
198 | departmentId: this.departmentId | ||
199 | } | ||
200 | getUserList(this.queryParam).then((res) => { | ||
201 | if (res.status === 1) { | ||
202 | this.loading = false | ||
203 | this.tableData = res.content | ||
204 | } else { | ||
205 | this.$message.error({ message: res.message, showClose: true }) | ||
206 | } | ||
207 | }) | ||
208 | }, | 150 | }, |
209 | // 查询 | 151 | ]), |
210 | searchQuery () { | 152 | data: [], |
211 | switch (this.selectType) { | ||
212 | case '0': | ||
213 | this.queryParam.type = 'NAME' | ||
214 | break | ||
215 | case '1': | ||
216 | this.queryParam.type = 'CODE' | ||
217 | break | ||
218 | case '2': | ||
219 | this.queryParam.type = 'DEPARTMENT' | ||
220 | break | ||
221 | case '3': | ||
222 | this.queryParam.type = 'ORGANIZATION' | ||
223 | break | ||
224 | default: | ||
225 | break | ||
226 | } | ||
227 | this.queryParam.typeValue = this.queryName | ||
228 | getUserList(this.queryParam).then((res) => { | ||
229 | if (res.status === 1) { | ||
230 | this.tableData = res.content | ||
231 | } else { | ||
232 | this.$message.error({ message: res.message, showClose: true }) | ||
233 | } | ||
234 | }) | ||
235 | }, | 153 | }, |
236 | // 重置搜索 | 154 | pageData: { |
237 | resetSearch () { | 155 | total: 5, |
238 | this.selectType = '0' | 156 | pageSize: 15, |
239 | this.queryName = '' | 157 | current: 1, |
240 | this.queryParam = { | ||
241 | organizationId: this.organizationId, | ||
242 | departmentId: this.departmentId | ||
243 | } | ||
244 | this.getTableList() | ||
245 | }, | 158 | }, |
246 | // 性别 | 159 | }; |
247 | formatterSex ({ cellValue }) { | ||
248 | if (this.sexList.length !== 0) { | ||
249 | if (cellValue !== null) { | ||
250 | const sex = this.sexList.find((item) => item.value === cellValue).name | ||
251 | return sex | ||
252 | } else { | ||
253 | return cellValue | ||
254 | } | ||
255 | } | ||
256 | }, | 160 | }, |
257 | // 职务级别 | 161 | methods: { |
258 | formatterjobLevel ({ cellValue }) { | 162 | handleAdd() { |
259 | if (this.levelList.length !== 0) { | 163 | this.taskData = null; |
260 | if (cellValue) { | 164 | this.$refs.dialogForm.add(); |
261 | const jobLevel = this.levelList.find( | 165 | this.$refs.dialogForm.title = "添加"; |
262 | (item) => item.value === cellValue | ||
263 | ).name | ||
264 | return jobLevel | ||
265 | } else { | ||
266 | return cellValue | ||
267 | } | ||
268 | } | ||
269 | }, | 166 | }, |
270 | // 删除 | 167 | featchData() { |
271 | handleDelete (id, content) { | 168 | this.tableData.data = [ |
272 | this.$confirm(deleteDomStr(content), '执行确认', { | 169 | { |
273 | dangerouslyUseHTMLString: true, | 170 | id: "6a269fa4-49ee-40ed-be72-302ebdf7b9d6", |
274 | customClass: 'customer-delete', | 171 | name: "组件开发模板测试用户", |
275 | confirmButtonText: '确定', | 172 | sort: 67, |
276 | cancelButtonText: '取消', | 173 | loginName: "wgs-template-test", |
277 | type: 'warning' | 174 | email: null, |
278 | }) | 175 | lastLoginTime: null, |
279 | .then(() => { | 176 | mobilePhone: null, |
280 | deleteAction(`${api.users}/${id}`).then((res) => { | 177 | isLocked: false, |
281 | if (res.status === 1) { | 178 | status: "ACTIVE", |
282 | this.$message.success({ message: res.message, showClose: true }) | 179 | passwordChangeTime: "2022-06-29T01:59:18.123+0000", |
283 | } else { | 180 | idCard: null, |
284 | this.$message.error({ message: res.message, showClose: true }) | 181 | departmentId: "dcce05ff-7747-4c19-b31f-c018ec8d8f0c", |
285 | } | 182 | departmentName: "科室一", |
286 | this.getTableList() | 183 | organizationId: "e9e830f0-38f4-4fb2-90ad-496c4e1314aa", |
287 | }) | 184 | sex: "0", |
288 | }) | 185 | isDuty: null, |
289 | .catch(() => { }) | 186 | code: "adfasfd", |
187 | jobLevel: null, | ||
188 | telephone: null, | ||
189 | address: null, | ||
190 | _X_ROW_KEY: "row_42", | ||
191 | switch: true, | ||
290 | }, | 192 | }, |
291 | // 修改状态 | 193 | { |
292 | changeStatus (row) { | 194 | id: "acebbaf3-81d0-4b0f-a426-feafa7ea1bed", |
293 | this.$confirm('确定要修改状态吗?', '提示', { | 195 | name: "饿肚肚", |
294 | customClass: 'customer-update', | 196 | sort: 36, |
295 | confirmButtonText: '确定', | 197 | loginName: "吃饭", |
296 | cancelButtonText: '取消', | 198 | email: null, |
297 | type: 'warning' | 199 | lastLoginTime: null, |
298 | }) | 200 | mobilePhone: null, |
299 | .then(() => { | 201 | isLocked: false, |
300 | const status = row.status === 'ACTIVE' ? 'INACTIVE' : 'ACTIVE' | 202 | status: "ACTIVE", |
301 | const id = row.id | 203 | passwordChangeTime: "2021-08-24T02:04:39.132+0000", |
302 | updateStatus(id, status).then((res) => { | 204 | idCard: "43423441242134 ", |
303 | if (res.status === 1) { | 205 | departmentId: "dcce05ff-7747-4c19-b31f-c018ec8d8f0c", |
304 | this.$message.success({ message: res.message, showClose: true }) | 206 | departmentName: "科室一", |
305 | this.getTableList() | 207 | organizationId: "e9e830f0-38f4-4fb2-90ad-496c4e1314aa", |
306 | } else { | 208 | sex: null, |
307 | this.$message.error({ message: res.message, showClose: true }) | 209 | isDuty: null, |
308 | } | 210 | code: "2323", |
309 | }) | 211 | jobLevel: null, |
310 | }) | 212 | telephone: null, |
311 | .catch((err) => { | 213 | address: null, |
312 | console.log({ err }) | 214 | _X_ROW_KEY: "row_43", |
313 | }) | 215 | switch: true, |
216 | } | ||
217 | ]; | ||
314 | }, | 218 | }, |
219 | // 重置搜索 | ||
220 | // resetSearch() { | ||
221 | // this.selectType = "0"; | ||
222 | // this.queryName = ""; | ||
223 | // this.queryParam = { | ||
224 | // organizationId: this.organizationId, | ||
225 | // departmentId: this.departmentId | ||
226 | // } | ||
227 | // }, | ||
228 | |||
315 | // 更新用户解锁状态 | 229 | // 更新用户解锁状态 |
316 | updateLock (id, name) { | 230 | updateLock(id, name) { |
317 | this.$confirm( | 231 | this.$confirm( |
318 | `<div class="customer-message-wrapper"> | 232 | `<div class="customer-message-wrapper"> |
319 | <h5 class="title">确定要更新用户解锁状态吗</h5> | 233 | <h5 class="title">确定要更新用户解锁状态吗</h5> |
... | @@ -321,44 +235,44 @@ export default { | ... | @@ -321,44 +235,44 @@ export default { |
321 | <span >无法恢复</span> | 235 | <span >无法恢复</span> |
322 | </p> | 236 | </p> |
323 | </div>`, | 237 | </div>`, |
324 | '执行确认', | 238 | "执行确认", |
325 | { | 239 | { |
326 | dangerouslyUseHTMLString: true, | 240 | dangerouslyUseHTMLString: true, |
327 | customClass: 'customer-delete', | 241 | customClass: "customer-delete", |
328 | confirmButtonText: '确定', | 242 | confirmButtonText: "确定", |
329 | cancelButtonText: '取消', | 243 | cancelButtonText: "取消", |
330 | type: 'warning' | 244 | type: "warning", |
331 | } | 245 | } |
332 | ) | 246 | ) |
333 | .then(() => { | 247 | .then(() => { |
334 | updateLock(id).then((res) => { | 248 | // updateLock(id).then((res) => { |
335 | if (res.status === 1) { | 249 | // if (res.status === 1) { |
336 | this.$message.success({ message: res.message, showClose: true }) | 250 | // this.$message.success({ message: res.message, showClose: true }) |
337 | this.getTableList() | 251 | // this.getTableList() |
338 | } else { | 252 | // } else { |
339 | this.$message.error({ message: res.message, showClose: true }) | 253 | // this.$message.error({ message: res.message, showClose: true }) |
340 | } | 254 | // } |
341 | }) | 255 | // }) |
342 | }) | 256 | }) |
343 | .catch(() => { }) | 257 | .catch(() => {}); |
344 | }, | 258 | }, |
345 | // 重置用户密码 | 259 | // 重置用户密码 |
346 | resetPassword (data) { | 260 | resetPassword(data) { |
347 | const ids = [] | 261 | const ids = []; |
348 | if (data instanceof Array) { | 262 | if (data instanceof Array) { |
349 | data.forEach((item) => { | 263 | data.forEach((item) => { |
350 | ids.push(item.id) | 264 | ids.push(item.id); |
351 | }) | 265 | }); |
352 | } else { | 266 | } else { |
353 | ids.push(data) | 267 | ids.push(data); |
354 | } | 268 | } |
355 | console.log(ids, 'ids') | 269 | console.log(ids, "ids"); |
356 | if (ids.length === 0) { | 270 | if (ids.length === 0) { |
357 | this.$message({ | 271 | this.$message({ |
358 | message: '请选择需要重置密码的用户!', | 272 | message: "请选择需要重置密码的用户!", |
359 | showClose: true | 273 | showClose: true, |
360 | }) | 274 | }); |
361 | return | 275 | return; |
362 | } | 276 | } |
363 | this.$confirm( | 277 | this.$confirm( |
364 | `<div class="customer-message-wrapper"> | 278 | `<div class="customer-message-wrapper"> |
... | @@ -367,85 +281,55 @@ export default { | ... | @@ -367,85 +281,55 @@ export default { |
367 | <span >无法恢复</span> | 281 | <span >无法恢复</span> |
368 | </p> | 282 | </p> |
369 | </div>`, | 283 | </div>`, |
370 | '执行确认', | 284 | "执行确认", |
371 | { | 285 | { |
372 | dangerouslyUseHTMLString: true, | 286 | dangerouslyUseHTMLString: true, |
373 | customClass: 'customer-delete', | 287 | customClass: "customer-delete", |
374 | confirmButtonText: '确定', | 288 | confirmButtonText: "确定", |
375 | cancelButtonText: '取消', | 289 | cancelButtonText: "取消", |
376 | type: 'warning' | 290 | type: "warning", |
377 | } | 291 | } |
378 | ) | 292 | ) |
379 | .then(() => { | 293 | .then(() => { |
380 | resetPassword(ids).then((res) => { | 294 | // resetPassword(ids).then((res) => { |
381 | if (res.status === 1) { | 295 | // if (res.status === 1) { |
382 | this.$message.success({ message: res.message, showClose: true }) | 296 | // this.$message.success({ message: res.message, showClose: true }) |
383 | this.getTableList() | 297 | // this.getTableList() |
384 | } else { | 298 | // } else { |
385 | this.$message.error({ message: res.message, showClose: true }) | 299 | // this.$message.error({ message: res.message, showClose: true }) |
386 | } | 300 | // } |
301 | // }) | ||
387 | }) | 302 | }) |
303 | .catch(() => {}); | ||
304 | }, | ||
305 | // 修改人员信息 | ||
306 | handleEdit(row) { | ||
307 | this.$refs.dialogForm.edit(row); | ||
308 | this.$refs.dialogForm.title = "修改"; | ||
309 | }, | ||
310 | // 删除 | ||
311 | handleDelete(id, content) { | ||
312 | this.$confirm("此操将进行删除操作, 是否继续?", "提示", { | ||
313 | confirmButtonText: "确定", | ||
314 | cancelButtonText: "取消", | ||
315 | type: "warning", | ||
388 | }) | 316 | }) |
389 | .catch(() => { }) | 317 | .then(() => { |
318 | // deleteAction(`${api.users}/${id}`).then((res) => { | ||
319 | // if (res.status === 1) { | ||
320 | // this.$message.success({ message: res.message, showClose: true }) | ||
321 | // } else { | ||
322 | // this.$message.error({ message: res.message, showClose: true }) | ||
323 | // } | ||
324 | // this.getTableList() | ||
325 | // }) | ||
326 | }) | ||
327 | .catch(() => {}); | ||
390 | }, | 328 | }, |
391 | // 新增回显 | ||
392 | reloadTableData () { | ||
393 | this.getTableList() | ||
394 | }, | 329 | }, |
395 | showimport () { | 330 | }; |
396 | this.$refs.leadingIn.import(this.tableUrl, '人员') | ||
397 | } | ||
398 | } | ||
399 | } | ||
400 | </script> | 331 | </script> |
401 | |||
402 | <style scoped lang="scss"> | 332 | <style scoped lang="scss"> |
403 | .content { | 333 | @import "~@/styles/mixin.scss"; |
404 | .top-wrapper { | 334 | @import "~@/styles/public.scss"; |
405 | .el-button + .el-button { | 335 | </style> |
406 | margin-left: 16px; | ||
407 | } | ||
408 | .top-wrapper-search { | ||
409 | display: inline-block; | ||
410 | margin-left: 16px; | ||
411 | ::v-deep .el-input, | ||
412 | ::v-deep .el-input__inner { | ||
413 | height: 32px; | ||
414 | } | ||
415 | .select { | ||
416 | width: 120px; | ||
417 | vertical-align: middle; | ||
418 | } | ||
419 | .selectName { | ||
420 | width: 178px; | ||
421 | margin: 0 16px; | ||
422 | vertical-align: middle; | ||
423 | ::v-deep .el-input-group__append { | ||
424 | background: #e0eeff; | ||
425 | color: #3aa3f8 !important; | ||
426 | padding-right: 12px; | ||
427 | border-radius: 0; | ||
428 | .el-button { | ||
429 | padding: 8px 8px; | ||
430 | } | ||
431 | } | ||
432 | } | ||
433 | } | ||
434 | } | ||
435 | .vxe-table { | ||
436 | ::v-deep .vxe-body--row { | ||
437 | .vxe-body--column:nth-child(3) { | ||
438 | text-align: left; | ||
439 | } | ||
440 | .svg-icon { | ||
441 | width: 1.5em; | ||
442 | height: 1.5em; | ||
443 | vertical-align: middle; | ||
444 | margin-left: 5px; | ||
445 | } | ||
446 | } | ||
447 | } | ||
448 | |||
449 | } | ||
450 | |||
451 | ... | ... |
-
Please register or sign in to post a comment