c7576fcd by 任超

Merge branch 'master' into dev

2 parents 19ea4848 466e4180
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>
......
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;
......
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>
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()
......

798 KB | W: | H:

764 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

3.32 KB | W: | H:

5.95 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

12.8 KB | W: | H:

37.7 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

1.52 KB | W: | H:

1.38 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
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%;
......
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 }
......
...@@ -24,6 +24,7 @@ class data { ...@@ -24,6 +24,7 @@ class data {
24 { 24 {
25 prop: "UPLOADTIME", 25 prop: "UPLOADTIME",
26 label: "日期", 26 label: "日期",
27 width: '150',
27 }, 28 },
28 { 29 {
29 prop: "type", 30 prop: "type",
......
...@@ -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>
......
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 }
......
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 }
......
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('此操将进行删除操作, 是否继续?', '提示', {
......
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 }
......
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
......