7d70249c by 任超

Merge branch 'master' into dev

2 parents 1b95b632 7db3545c
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
38 "babel-plugin-dynamic-import-node": "2.3.3", 38 "babel-plugin-dynamic-import-node": "2.3.3",
39 "chalk": "2.4.2", 39 "chalk": "2.4.2",
40 "connect": "3.6.6", 40 "connect": "3.6.6",
41 "element-ui": "^2.15.8", 41 "element-ui": "^2.15.13",
42 "html-webpack-plugin": "3.2.0", 42 "html-webpack-plugin": "3.2.0",
43 "runjs": "4.3.2", 43 "runjs": "4.3.2",
44 "sass-loader": "8.0.2", 44 "sass-loader": "8.0.2",
......
1 /*
2 * @Author: yangwei
3 * @Date: 2023-02-24 15:12:45
4 * @LastEditors: yangwei
5 * @LastEditTime: 2023-03-14 10:45:11
6 * @FilePath: \bdcjg-web\src\api\authorityManage.js
7 * @Description:
8 *
9 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
10 */
1 11
2 import { getParams } from './util' 12 import { getParams } from './util'
3 import { 13 import {
...@@ -8,16 +18,16 @@ import { ...@@ -8,16 +18,16 @@ import {
8 } from './manageApi' 18 } from './manageApi'
9 /** 角色管理开始 */ 19 /** 角色管理开始 */
10 // 获取角色列表 by categoryId 20 // 获取角色列表 by categoryId
11 export const getRolesById = categoryId => { 21 export const getRolesById = categoryIdList => {
12 const conditionGroup = { 22 const conditionGroup = {
13 conditions: [ 23 conditions: [
14 { 24 {
15 property: 'category', 25 property: 'category',
16 value: categoryId, 26 value: categoryIdList,
17 operator: 'EQ' 27 operator: 'IN'
18 } 28 }
19 ], 29 ],
20 queryRelation: 'AND' 30 queryRelation: 'AND',
21 } 31 }
22 const params = getParams(conditionGroup) 32 const params = getParams(conditionGroup)
23 return getAction(api.roles, params) 33 return getAction(api.roles, params)
......
1 import request from '@/utils/request'
2 import SERVER from './config'
3
4 /*
5 更新排序
6 record-排序整条数据
7 operate-BOTTOM(置底), DOWN(向下), TOP(置顶), UP(向上)
8 */
9 export function updateOrder(url, record, operate, swapId) {
10 return request({
11 url: SERVER.MANAGEMENTAPI + url + "/" + record.id + "/orders",
12 method: "put",
13 params: {
14 operate: operate,
15 swapId: swapId,
16 },
17 });
18 }
...@@ -26,7 +26,8 @@ export default { ...@@ -26,7 +26,8 @@ export default {
26 color: #ffffff; 26 color: #ffffff;
27 margin: 0 5px; 27 margin: 0 5px;
28 cursor: pointer; 28 cursor: pointer;
29 border: 0 29 border: 0;
30 font-size: 14px;
30 } 31 }
31 32
32 .cx { 33 .cx {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 data () { 17 data () {
18 return { 18 return {
19 options: {}, 19 options: {},
20 max: "100", //最大value值 20 max: "5000", //最大value值
21 min: "1", // 最小value值 21 min: "1", // 最小value值
22 key: 0, 22 key: 0,
23 mapjson: "", 23 mapjson: "",
...@@ -87,10 +87,10 @@ ...@@ -87,10 +87,10 @@
87 itemGap: 2, // 每两个图元之间的间隔距离,单位为px 87 itemGap: 2, // 每两个图元之间的间隔距离,单位为px
88 pieces: [ 88 pieces: [
89 // 自定义每一段的范围,以及每一段的文字 89 // 自定义每一段的范围,以及每一段的文字
90 { gte: 100, label: "100以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。 90 { gte: 100, label: "5000以上", color: "#035cf5" }, // 不指定 max,表示 max 为无限大(Infinity)。
91 { gte: 50, lte: 6000, label: "20-100", color: "#3375e4" }, 91 { gte: 50, lte: 6000, label: "1000-5000", color: "#3375e4" },
92 { gte: 20, lte: 2000, label: "1-200", color: "#6797ef" }, 92 { gte: 20, lte: 2000, label: "500-1000", color: "#6797ef" },
93 { gte: 1, lte: 1000, label: "1-20", color: "#96b5ef" }, 93 { gte: 1, lte: 1000, label: "0-500", color: "#96b5ef" },
94 ], 94 ],
95 textStyle: { 95 textStyle: {
96 color: "#737373", 96 color: "#737373",
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
26 watch: { 26 watch: {
27 cdata: { 27 cdata: {
28 handler (newData) { 28 handler (newData) {
29 29 console.log("newData", newData);
30 this.options = { 30 this.options = {
31 color: [ 31 color: [
32 "#37a2da", 32 "#37a2da",
...@@ -34,31 +34,29 @@ ...@@ -34,31 +34,29 @@
34 "#9fe6b8", 34 "#9fe6b8",
35 "#ffdb5c", 35 "#ffdb5c",
36 "#ff9f7f", 36 "#ff9f7f",
37 "#8378ea",
38 "#fb7293", 37 "#fb7293",
39 "#e7bcf3", 38 "#e7bcf3",
39 "#8378ea"
40 40
41 ], 41 ],
42 tooltip: {
43 trigger: "item",
44 formatter: "<br/>{b} : {c} ({d}%)",
45 },
42 series: [ 46 series: [
43 { 47 {
44 name: "Access From", 48 name: "Access From",
45 type: "pie", 49 type: "pie",
46 radius: ["54%", "70%"],
47 avoidLabelOverlap: true, 50 avoidLabelOverlap: true,
48 label: { 51 label: {
49 formatter: (params) => { 52 formatter: (params) => {
50 // console.log(params) 53 return `${params.name}`;
51 return `${params.name}\n(${params.value})`;
52 }, 54 },
53 position: "outer", 55 position: "outer",
54 alignTo: "edge", 56 alignTo: "edge",
55 margin: 5 57 margin: 5
56 }, 58 },
57 labelLine: { 59
58 lineStyle: {
59 width: 3,
60 },
61 },
62 data: newData.seriesData, 60 data: newData.seriesData,
63 } 61 }
64 ], 62 ],
......
...@@ -5,57 +5,71 @@ ...@@ -5,57 +5,71 @@
5 </template> 5 </template>
6 6
7 <script> 7 <script>
8 import Chart from "./Chart"; 8 import Chart from "./Chart";
9 import work from "@/api/work"; 9 import work from "@/api/work";
10 export default { 10 export default {
11 data() { 11 data () {
12 return { 12 return {
13 cdata: { 13 cdata: {
14 seriesData: [], 14 seriesData: [],
15 }, 15 },
16 getdata: [],
16 }; 17 };
17 }, 18 },
18 components: { 19 components: {
19 Chart, 20 Chart,
20 }, 21 },
21 mounted() { 22 mounted () {
22 this.getdjywltotal(); 23 this.addhousetotal();
23 window.addEventListener("resize", () => { 24 window.addEventListener("resize", () => {
24 this.cdata.seriesData = []; 25 this.getdata = [];
25 this.getdjywltotal(); 26 this.addhousetotal();
26 }); 27 });
28
27 }, 29 },
28 methods: { 30 methods: {
29 // 获取登记业务量玫瑰图数据 31 async addhousetotal () {
30 async getdjywltotal() { 32 if (this.getdata.length == 0) {
31 if (this.cdata.seriesData.length == 0) { 33 this.getdata = [];
32 try { 34 try {
33 let p = { 35 let { result: res } = await work.addhousetotal();
34 DJLX: "", 36 res.map((item) => {
35 QLLX: "",
36 XZQDM: "",
37 };
38 this.cdata.seriesData = [];
39 let res = await work.getdjywltotal(p);
40 if(this.cdata.seriesData.length == 0){
41 res.result.map((item) => {
42 return this.cdata.seriesData.push({ 37 return this.cdata.seriesData.push({
43 name: item.AREACODE, 38 name: `${item.fwyt + '(' + item.fwxz})`,
44 value: item.ywtotal, 39 value: item.mj,
45 }); 40 });
46 41
47 }); 42 });
48 }
49 // 遍历修改数组键,作为echars图表的参数
50 43
51 44
52 } catch (error) { 45 } catch (error) {
53 console.log(error); 46 console.log("error", error);
54 } 47 }
55 } 48 }
49 let delarr = this.cdata.seriesData.sort(this.up)
50 this.setadat(delarr)
51
56 }, 52 },
53 // 处理数据方法
54 setadat (delarr) {
55
56 this.cdata.seriesData = delarr.splice(0, 6);
57 let sum = 0
58 for (var i = 0; i < delarr.length; i++) {
59 sum = sum + delarr[i].value
60 }
61 sum = sum.toFixed(2)
62 this.cdata.seriesData.push({
63 name: "其他(其他种类)",
64 values: "其他种类",
65 value: sum,
66 })
57 }, 67 },
58 }; 68 // 排序方法
69 up (x, y) { return y.value - x.value }
70
71 }
72 };
59 </script> 73 </script>
60 74
61 <style lang="scss" scoped></style> 75 <style lang="scss" scoped></style>
......
...@@ -278,7 +278,7 @@ export default { ...@@ -278,7 +278,7 @@ export default {
278 let _this = this 278 let _this = this
279 // 上报请求头修改 279 // 上报请求头修改
280 try { 280 try {
281 var headRes = await axios.post(urlHeader + 'edit', this.dataReport, 281 var headRes = await axios.post('/api' + urlHeader + 'edit', this.dataReport,
282 { 282 {
283 headers: { 283 headers: {
284 'Authorization': sessionStorage.getItem("token") || "" 284 'Authorization': sessionStorage.getItem("token") || ""
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
2 <div class="navbar-con"> 2 <div class="navbar-con">
3 <div class="navbar"> 3 <div class="navbar">
4 <div class="logo"> 4 <div class="logo">
5 <img :src="require('@/image/logo.png')" alt="" /> 5 <img :src="require('@/image/bdclogo.png')" alt="" />
6 <h4>不动产登记上报系统</h4>
6 </div> 7 </div>
7 <div class="right-menu"> 8 <div class="right-menu">
8 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> 9 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand">
...@@ -20,10 +21,10 @@ ...@@ -20,10 +21,10 @@
20 </div> 21 </div>
21 </template> 22 </template>
22 <script> 23 <script>
23 import { mapGetters } from 'vuex' 24 import { mapGetters } from 'vuex'
24 import Breadcrumb from './Breadcrumb' 25 import Breadcrumb from './Breadcrumb'
25 import defaultSettings from '@/settings' 26 import defaultSettings from '@/settings'
26 export default { 27 export default {
27 components: { 28 components: {
28 Breadcrumb 29 Breadcrumb
29 }, 30 },
...@@ -50,25 +51,35 @@ export default { ...@@ -50,25 +51,35 @@ export default {
50 } 51 }
51 } 52 }
52 } 53 }
53 } 54 }
54 </script> 55 </script>
55 <style lang="scss" scoped> 56 <style lang="scss" scoped>
56 .navbar-con { 57 .navbar-con {
57 position: relative; 58 position: relative;
58 59
59 .logo { 60 .logo {
60 color: #fff; 61 color: #fff;
61 font-size: 26px; 62 font-size: 26px;
62 font-weight: 700; 63 font-weight: 700;
64 display: flex;
65 img {
66 width: 47px;
67 height: 47px;
68 }
69 h4 {
70 margin-left: 20px;
71 height: 50px;
72 line-height: 50px;
73 }
74 }
63 } 75 }
64 }
65 76
66 .NoticeBar { 77 .NoticeBar {
67 position: absolute; 78 position: absolute;
68 bottom: 0; 79 bottom: 0;
69 } 80 }
70 81
71 .el-dropdown-menu { 82 .el-dropdown-menu {
72 padding: 0 !important; 83 padding: 0 !important;
73 border: 1px solid #ebeef5; 84 border: 1px solid #ebeef5;
74 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); 85 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12);
...@@ -101,13 +112,13 @@ export default { ...@@ -101,13 +112,13 @@ export default {
101 background: #f6f7f9; 112 background: #f6f7f9;
102 color: #4a4a4a; 113 color: #4a4a4a;
103 } 114 }
104 } 115 }
105 116
106 .navbar { 117 .navbar {
107 height: $headerHeight; 118 height: $headerHeight;
108 overflow: hidden; 119 overflow: hidden;
109 position: relative; 120 position: relative;
110 background: #3D59C4; 121 background: linear-gradient(270deg, #ebf1ff 0%, #3d59c4 100%);
111 display: flex; 122 display: flex;
112 align-items: center; 123 align-items: center;
113 padding-right: 20px; 124 padding-right: 20px;
...@@ -229,5 +240,5 @@ export default { ...@@ -229,5 +240,5 @@ export default {
229 } 240 }
230 } 241 }
231 } 242 }
232 } 243 }
233 </style> 244 </style>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" 9 <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText"
10 :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical"> 10 :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" mode="vertical">
11 <!-- 权限菜单 --> 11 <!-- 权限菜单 -->
12 <sidebar-item v-for="route in permission_routes.slice(3)" :key="route.path" :item="route" 12 <sidebar-item v-for="route in permission_routes.slice(4)" :key="route.path" :item="route"
13 :base-path="route.path" /> 13 :base-path="route.path" />
14 <!-- 菜单全部展示 --> 14 <!-- 菜单全部展示 -->
15 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> 15 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
...@@ -19,13 +19,13 @@ ...@@ -19,13 +19,13 @@
19 </template> 19 </template>
20 20
21 <script> 21 <script>
22 import { mapGetters } from 'vuex' 22 import { mapGetters } from 'vuex'
23 import Logo from './Logo' 23 import Logo from './Logo'
24 import defaultSettings from '@/settings' 24 import defaultSettings from '@/settings'
25 import SidebarItem from './SidebarItem' 25 import SidebarItem from './SidebarItem'
26 import variables from '@/styles/variables.scss' 26 import variables from '@/styles/variables.scss'
27 import { asyncRoutes } from '@/router' 27 import { asyncRoutes } from '@/router'
28 export default { 28 export default {
29 components: { SidebarItem, Logo }, 29 components: { SidebarItem, Logo },
30 data () { 30 data () {
31 return { 31 return {
...@@ -51,6 +51,10 @@ export default { ...@@ -51,6 +51,10 @@ export default {
51 asyncRoutes () { 51 asyncRoutes () {
52 return asyncRoutes 52 return asyncRoutes
53 } 53 }
54 },
55 mounted () {
56 console.log("this. permission_routes", this.permission_routes);
57
58 }
54 } 59 }
55 }
56 </script> 60 </script>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 overflow: hidden; 2 overflow: hidden;
3 background: url("~@/image/dialogBg.png") no-repeat !important; 3 background: url("~@/image/dialogBg.png") no-repeat !important;
4 background-size: 100% 100% !important; 4 background-size: 100% 100% !important;
5 min-height: 90vh; 5 // min-height: 90vh;
6 6
7 .dialog_title { 7 .dialog_title {
8 display: flex; 8 display: flex;
...@@ -98,6 +98,7 @@ ...@@ -98,6 +98,7 @@
98 color: #B5D6DC; 98 color: #B5D6DC;
99 border-radius: 2px; 99 border-radius: 2px;
100 border: 1px solid #224C7C; 100 border: 1px solid #224C7C;
101
101 span { 102 span {
102 display: inline-block; 103 display: inline-block;
103 padding: 3px; 104 padding: 3px;
...@@ -155,7 +156,7 @@ ...@@ -155,7 +156,7 @@
155 .el-dialog__body { 156 .el-dialog__body {
156 padding-top: 0; 157 padding-top: 0;
157 padding-bottom: 0; 158 padding-bottom: 0;
158 height: 95vh; 159 // height: 95vh;
159 } 160 }
160 161
161 .el-dialog__headerbtn { 162 .el-dialog__headerbtn {
......
...@@ -149,7 +149,7 @@ export function getCurrentDate (date = 'firstDay') { ...@@ -149,7 +149,7 @@ export function getCurrentDate (date = 'firstDay') {
149 149
150 export function setExport2Excel (exportName) { 150 export function setExport2Excel (exportName) {
151 /* generate workbook object from table */ 151 /* generate workbook object from table */
152 var wb = XLSX2.utils.table_to_sheet(document.querySelector("#mytable"));//mytable为表格的id名 152 var wb = XLSX2.utils.table_to_sheet(document.querySelector("#mytable"), { raw: true });//mytable为表格的id名
153 if (!wb['!merges']) { 153 if (!wb['!merges']) {
154 this.$message.warning('无法导出:报表无数据'); 154 this.$message.warning('无法导出:报表无数据');
155 return 155 return
......
...@@ -43,19 +43,23 @@ class data extends filter { ...@@ -43,19 +43,23 @@ class data extends filter {
43 // }, 43 // },
44 { 44 {
45 label: "查封机关", 45 label: "查封机关",
46 prop: "cfjg" 46 prop: "cfjg",
47 minWidth: 150,
47 }, 48 },
48 { 49 {
49 label: "查封文号", 50 label: "查封文号",
50 prop: "cfwh" 51 prop: "cfwh",
52 minWidth: 130,
51 }, 53 },
52 { 54 {
53 label: "解封机关", 55 label: "解封机关",
54 prop: "jfjg" 56 prop: "jfjg",
57 width: 150,
55 }, 58 },
56 { 59 {
57 label: "解封文号", 60 label: "解封文号",
58 prop: "jfwh" 61 prop: "jfwh",
62 minWidth: 130,
59 }, 63 },
60 64
61 { 65 {
......
1 <template> 1 <template>
2 <div class="rightcard"> 2 <div class="rightcard">
3 <div class="card2 cardCon mt-10">
4 <div class="cardhead">登记业务量</div>
5 <Rose />
6 </div>
7 <div class="card1 cardCon d-center"> 3 <div class="card1 cardCon d-center">
8 <div class="cardhead">新建国有房屋信息</div> 4 <div class="cardhead">登记业务量</div>
9 <div class="cardcontent" style="margin-top: .3646rem"> 5 <div class="cardcontent" style="margin-top: .3646rem">
10 <dv-scroll-board v-if="config.data.length > 0" :config="config" class="board" /> 6 <dv-scroll-board v-if="config.data.length > 0" :config="config" class="board" />
11 <div v-else class="nodata">暂无数据</div> 7 <div v-else class="nodata">暂无数据</div>
12 </div> 8 </div>
13 </div> 9 </div>
14 10 <div class="card2 cardCon mt-10">
11 <div class="cardhead">新建国有房屋信息</div>
12 <Rose />
13 </div>
15 <div class="card3 cardCon mt-10"> 14 <div class="card3 cardCon mt-10">
16 <div class="cardhead">登记类型总量</div> 15 <div class="cardhead">登记类型总量</div>
17 <columnarsmat /> 16 <columnarsmat />
...@@ -30,7 +29,8 @@ ...@@ -30,7 +29,8 @@
30 headerBGC: '#016AC5', 29 headerBGC: '#016AC5',
31 oddRowBGC: '#154295', 30 oddRowBGC: '#154295',
32 evenRowBGC: '#154295', 31 evenRowBGC: '#154295',
33 header: ['序号', '用途', '性质', '面积'], 32 header: ['序号', '业务名称', '登记业务量'],
33 columnWidth: [120, 270, 140],
34 data: [], 34 data: [],
35 key: 0 35 key: 0
36 } 36 }
...@@ -38,23 +38,38 @@ ...@@ -38,23 +38,38 @@
38 }, 38 },
39 components: { columnarsmat, Rose }, 39 components: { columnarsmat, Rose },
40 mounted () { 40 mounted () {
41 this.addhousetotal(); 41 this.getdjywltotal();
42 window.addEventListener("resize", () => {
43 this.cdata.seriesData = [];
44 this.getdjywltotal();
45 });
42 // scroll(tableref.value.$refs.bodyWrapper);//设置滚动 46 // scroll(tableref.value.$refs.bodyWrapper);//设置滚动
43 }, 47 },
44 methods: { 48 methods: {
45 async addhousetotal () { 49 // 获取登记业务量玫瑰图数据
50 async getdjywltotal () {
46 try { 51 try {
47 let { result: res } = await work.addhousetotal(); 52 let p = {
48 res.map((item, index) => { 53 DJLX: "",
49 return ( 54 QLLX: "",
50 this.config.data.push([index, item.fwyt, item.fwxz, item.mj]) 55 XZQDM: "",
51 ) 56 };
57
58 let res = await work.getdjywltotal(p);
59 res.result.map((item, index) => {
60 this.config.data.push([index, item.AREACODE, item.ywtotal])
61
52 }); 62 });
63
64 // 遍历修改数组键,作为echars图表的参数
65
66
53 } catch (error) { 67 } catch (error) {
54 console.log("error", error); 68 console.log(error);
55 }
56 }
57 } 69 }
70
71 },
72 },
58 } 73 }
59 </script> 74 </script>
60 <style lang="scss" scoped> 75 <style lang="scss" scoped>
...@@ -134,6 +149,7 @@ ...@@ -134,6 +149,7 @@
134 background: url("~@/image/djywl.png") no-repeat; 149 background: url("~@/image/djywl.png") no-repeat;
135 background-size: 100% 100%; 150 background-size: 100% 100%;
136 padding: 0.3825rem 0 0 0; 151 padding: 0.3825rem 0 0 0;
152 overflow: hidden;
137 } 153 }
138 154
139 .card3 { 155 .card3 {
......
...@@ -78,6 +78,7 @@ export default { ...@@ -78,6 +78,7 @@ export default {
78 endTime: timeFormat(new Date(), true), 78 endTime: timeFormat(new Date(), true),
79 qxdm: "", 79 qxdm: "",
80 }, 80 },
81 interval: 50
81 }; 82 };
82 }, 83 },
83 mounted () { 84 mounted () {
...@@ -100,6 +101,10 @@ export default { ...@@ -100,6 +101,10 @@ export default {
100 this.form.qxdm 101 this.form.qxdm
101 ); 102 );
102 this.chartData = res; 103 this.chartData = res;
104 console.log(this.chartData);
105
106 let maxData = Math.max.apply(Math, this.chartData.map(item => { return item.failure }))
107 this.interval = Math.ceil(maxData / 10)
103 //行政区代码过滤 108 //行政区代码过滤
104 res.length > 0 && 109 res.length > 0 &&
105 res.forEach((item) => { 110 res.forEach((item) => {
...@@ -191,7 +196,7 @@ export default { ...@@ -191,7 +196,7 @@ export default {
191 color: "#fff", 196 color: "#fff",
192 fontSize: "16", 197 fontSize: "16",
193 }, 198 },
194 interval: 50, 199 // interval: this.interval,
195 axisLabel: { 200 axisLabel: {
196 formatter: "{value}", 201 formatter: "{value}",
197 textStyle: { 202 textStyle: {
......
...@@ -105,6 +105,7 @@ export default { ...@@ -105,6 +105,7 @@ export default {
105 // 初始化图表 105 // 初始化图表
106 this.chartData.length && this.echartInit(this.chartData) 106 this.chartData.length && this.echartInit(this.chartData)
107 }); 107 });
108
108 }, 109 },
109 // 重置 110 // 重置
110 resetForm () { 111 resetForm () {
...@@ -131,6 +132,7 @@ export default { ...@@ -131,6 +132,7 @@ export default {
131 }, 132 },
132 grid: { 133 grid: {
133 top: 120, 134 top: 120,
135 bottom: 100,
134 }, 136 },
135 xAxis: [ 137 xAxis: [
136 { 138 {
...@@ -138,6 +140,7 @@ export default { ...@@ -138,6 +140,7 @@ export default {
138 data: chartArr.map(item => item.recTypeName), 140 data: chartArr.map(item => item.recTypeName),
139 axisLabel: { 141 axisLabel: {
140 interval: 0, 142 interval: 0,
143 rotate: 40,
141 formatter: function (val) { 144 formatter: function (val) {
142 let c = document.createElement("canvas"); 145 let c = document.createElement("canvas");
143 const ctx = c.getContext("2d"); 146 const ctx = c.getContext("2d");
...@@ -185,6 +188,7 @@ export default { ...@@ -185,6 +188,7 @@ export default {
185 }, 188 },
186 }, 189 },
187 ], 190 ],
191
188 series: [ 192 series: [
189 { 193 {
190 type: "bar", 194 type: "bar",
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
60 getAction(api.subsystem, params).then((res) => { 60 getAction(api.subsystem, params).then((res) => {
61 if (res.status === 1) { 61 if (res.status === 1) {
62 console.log(" res.contentJJJGGG", res.content); 62 console.log(" res.contentJJJGGG", res.content);
63 // this.productName = res.content[0].name; 63 this.productName = res.content[0].name;
64 this.$store.dispatch("products/setData", res.content[0].code); 64 this.$store.dispatch("products/setData", res.content[0].code);
65 sessionStorage.setItem("products", res.content[0].code) 65 sessionStorage.setItem("products", res.content[0].code)
66 console.log("jjjggg的product"); 66 console.log("jjjggg的product");
......
...@@ -67,7 +67,6 @@ ...@@ -67,7 +67,6 @@
67 getAction(api.subsystem, params).then((res) => { 67 getAction(api.subsystem, params).then((res) => {
68 if (res.status === 1) { 68 if (res.status === 1) {
69 this.productName = res.content[0].name; 69 this.productName = res.content[0].name;
70 // console.log(" res.contentSSSSSBBBBB", res.content);
71 this.$store.dispatch("products/setData", res.content[0].code); 70 this.$store.dispatch("products/setData", res.content[0].code);
72 71
73 sessionStorage.setItem("products", res.content[0].code) 72 sessionStorage.setItem("products", res.content[0].code)
......
...@@ -18,3 +18,8 @@ ...@@ -18,3 +18,8 @@
18 .export-excel-wrapper { 18 .export-excel-wrapper {
19 display: inline-block; 19 display: inline-block;
20 } 20 }
21
22 /deep/.el-table--group,
23 .el-table--border {
24 border: 1px solid #458ACF !important;
25 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -87,7 +87,10 @@ class data extends filter { ...@@ -87,7 +87,10 @@ class data extends filter {
87 prop: 'failReportRatio24To48h', 87 prop: 'failReportRatio24To48h',
88 render: (h, scope) => { 88 render: (h, scope) => {
89 return ( 89 return (
90 <span>{(scope.row.failReportRatio24To48h * 100).toFixed(2)}%</span> 90 <div>
91 <span>{(scope.row.failReportRatio24To48h * 100).toFixed(2)}</span>
92 %
93 </div>
91 ); 94 );
92 }, 95 },
93 } 96 }
......
...@@ -173,5 +173,9 @@ export default { ...@@ -173,5 +173,9 @@ export default {
173 // 引入表单整体样式 173 // 引入表单整体样式
174 // @import "~@/styles/public.scss"; 174 // @import "~@/styles/public.scss";
175 @import "../css/index.scss"; 175 @import "../css/index.scss";
176
177 /deep/th.el-table__cell {
178 height: 0 !important;
179 }
176 </style> 180 </style>
177 181
......
...@@ -14,13 +14,11 @@ class data extends filter { ...@@ -14,13 +14,11 @@ class data extends filter {
14 label: '分项', 14 label: '分项',
15 children: [ 15 children: [
16 { 16 {
17 width:1
18 },
19 {
20 label: '国有建设用地使用权登记得分及空项率', 17 label: '国有建设用地使用权登记得分及空项率',
21 children: [ 18 children: [
22 { 19 {
23 prop: 'gyjsydsyqRate', 20 prop: 'gyjsydsyqRate',
21 width: 150,
24 render: (h, scope) => { 22 render: (h, scope) => {
25 return ( 23 return (
26 <span>{scope.row.gyjsydsyqRate.toFixed(2)}</span> 24 <span>{scope.row.gyjsydsyqRate.toFixed(2)}</span>
...@@ -29,6 +27,7 @@ class data extends filter { ...@@ -29,6 +27,7 @@ class data extends filter {
29 }, 27 },
30 { 28 {
31 prop: 'gyjsydsyqRadio', 29 prop: 'gyjsydsyqRadio',
30 width: 150,
32 render: (h, scope) => { 31 render: (h, scope) => {
33 return ( 32 return (
34 <span>{(scope.row.gyjsydsyqRadio * 100).toFixed(2)}%</span> 33 <span>{(scope.row.gyjsydsyqRadio * 100).toFixed(2)}%</span>
......
1 <!-- 1 <!--
2 * @Author: yangwei 2 * @Author: yangwei
3 * @Date: 2023-02-17 16:32:50 3 * @Date: 2023-02-17 16:32:50
4 * @LastEditors: yangwei 4 * @LastEditors: Please set LastEditors
5 * @LastEditTime: 2023-03-09 11:19:43 5 * @LastEditTime: 2023-03-14 13:19:18
6 * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue 6 * @FilePath: \bdcjg-web\src\views\statistics\registerBookQuality\index.vue
7 * @Description: 7 * @Description:
8 * 8 *
...@@ -43,10 +43,11 @@ ...@@ -43,10 +43,11 @@
43 </div> 43 </div>
44 <!-- 列表区域 --> 44 <!-- 列表区域 -->
45 <div class="from-clues-content"> 45 <div class="from-clues-content">
46 <lb-table ref="table" :pagination="false" :header-cell-style="headerStyle" :column="tableData.columns" :data="tableData.data"> 46 <lb-table ref="table" :pagination="false" :border="true" :header-cell-style="headerStyle"
47 :column="tableData.columns" :data="tableData.data">
47 </lb-table> 48 </lb-table>
48 <down-lb-table ref="table" v-show="false" :id="'mytable'" :downExcel="true" :pagination="false" 49 <down-lb-table ref="table" v-show="false" :id="'mytable'" :header-cell-style="headerStyle1" :downExcel="true"
49 :column="tableData.columns" :data="tableData.data" :downTitle="downTitle"> 50 :pagination="false" :column="tableData.columns" :data="tableData.data" :downTitle="downTitle">
50 </down-lb-table> 51 </down-lb-table>
51 </div> 52 </div>
52 </div> 53 </div>
...@@ -138,6 +139,17 @@ export default { ...@@ -138,6 +139,17 @@ export default {
138 this.handleResetForm() 139 this.handleResetForm()
139 this.generateFileName() 140 this.generateFileName()
140 }, 141 },
142 mounted () {
143 this.$nextTick(function () {
144 let c = document.getElementsByClassName("el-table__header")
145 let k = c[0].getElementsByClassName("is-group has-gutter");
146 let f = k[0].children
147 let d = f[1].getElementsByClassName("el-table__cell")
148 let p = d[0]
149 p.setAttribute("rowspan", 2)
150 })
151
152 },
141 methods: { 153 methods: {
142 handleSearch () { }, 154 handleSearch () { },
143 // 生成文件名 155 // 生成文件名
...@@ -150,15 +162,16 @@ export default { ...@@ -150,15 +162,16 @@ export default {
150 }, 162 },
151 headerStyle ({ row, rowIndex }) { 163 headerStyle ({ row, rowIndex }) {
152 if (rowIndex == 1) { 164 if (rowIndex == 1) {
153 row[0].colSpan = 2 165 row.forEach(item => {
154 row.forEach(item=>{ 166 item.rowSpan = 2
167 })
168 }
169 },
170 headerStyle1 ({ row, rowIndex }) {
171 if (rowIndex == 2) {
172 row.forEach(item => {
155 item.rowSpan = 2 173 item.rowSpan = 2
156 }) 174 })
157 // row[0].rowSpan = 2;
158 // row[1].rowSpan = 2;
159 // row[2].rowSpan = 2;
160 // row[3].rowSpan = 2;
161 // row[4].rowSpan = 2;
162 } 175 }
163 }, 176 },
164 // 初始化数据 177 // 初始化数据
...@@ -181,5 +194,9 @@ export default { ...@@ -181,5 +194,9 @@ export default {
181 // 引入表单整体样式 194 // 引入表单整体样式
182 // @import "~@/styles/public.scss"; 195 // @import "~@/styles/public.scss";
183 @import "../css/index.scss"; 196 @import "../css/index.scss";
197
198 /deep/.el-table thead.is-group th.el-table__cell {
199 height: 14px !important;
200 }
184 </style> 201 </style>
185 202
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
84 }, 84 },
85 mounted () { 85 mounted () {
86 if (this.userInfo) { 86 if (this.userInfo) {
87 this.getUserdata(this.userInfo) 87 this.getUserdata(this.userInfo.id)
88 } 88 }
89 this.sexList = [ 89 this.sexList = [
90 { 90 {
...@@ -105,8 +105,8 @@ ...@@ -105,8 +105,8 @@
105 ] 105 ]
106 }, 106 },
107 methods: { 107 methods: {
108 getUserdata (p) { 108 getUserdata (id) {
109 getAction(`${api.users}/${p.id}`).then((res) => { 109 getAction(`${api.users}/${id}`).then((res) => {
110 if (res.status === 1) { 110 if (res.status === 1) {
111 this.form = res.content 111 this.form = res.content
112 } else { 112 } else {
...@@ -135,7 +135,6 @@ ...@@ -135,7 +135,6 @@
135 <style scoped lang="scss"> 135 <style scoped lang="scss">
136 .user-info { 136 .user-info {
137 margin: 0.1875rem 1.0417rem; 137 margin: 0.1875rem 1.0417rem;
138 background: #ffffff;
139 overflow-y: auto; 138 overflow-y: auto;
140 .form-wrapper { 139 .form-wrapper {
141 padding: 0px 120px 0px; 140 padding: 0px 120px 0px;
...@@ -156,7 +155,7 @@ ...@@ -156,7 +155,7 @@
156 } 155 }
157 .bottom-wrapper { 156 .bottom-wrapper {
158 padding: 0px 120px 0px; 157 padding: 0px 120px 0px;
159 text-align: right; 158 text-align: center;
160 } 159 }
161 } 160 }
162 </style> 161 </style>
......
1 <!-- 1 <!--
2 * @Author: xiaomiao 1158771342@qq.com 2 * @Author: xiaomiao 1158771342@qq.com
3 * @Date: 2023-03-08 15:30:43 3 * @Date: 2023-03-08 15:30:43
4 * @LastEditors: xiaomiao 1158771342@qq.com 4 * @LastEditors: yangwei
5 * @LastEditTime: 2023-03-08 16:33:50 5 * @LastEditTime: 2023-03-13 17:19:46
6 * @FilePath: \监管系统\js-web-jianguan\src\views\system\information copy\index.vue 6 * @FilePath: \bdcjg-web\src\views\system\information\index.vue
7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE 7 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8 --> 8 -->
9 <template> 9 <template>
...@@ -15,8 +15,18 @@ ...@@ -15,8 +15,18 @@
15 </el-form-item> 15 </el-form-item>
16 <el-row class="mb-5"> 16 <el-row class="mb-5">
17 <el-col :span="3" class="btnColRight"> 17 <el-col :span="3" class="btnColRight">
18 <btn nativeType="cx" @click="information">基本信息</btn> 18 <!-- <btn nativeType="cx" @click="information"
19 <btn nativeType="cx" @click="password">修改密码</btn> 19 >基本信息</btn
20 >
21 <btn nativeType="cx" :class="isshow ? '' : ''" @click="password"
22 >修改密码</btn
23 > -->
24 <button @click="information" :class="isshow ? 'button choosed' : 'button'">
25 基本信息
26 </button>
27 <button @click="password" :class="isshow ? 'button' : 'button choosed'">
28 修改密码
29 </button>
20 </el-col> 30 </el-col>
21 </el-row> 31 </el-row>
22 </el-form> 32 </el-form>
...@@ -30,45 +40,59 @@ ...@@ -30,45 +40,59 @@
30 </div> 40 </div>
31 </template> 41 </template>
32 <script> 42 <script>
33 import "@/utils/flexible.js"; 43 import "@/utils/flexible.js";
34 import BaseSet from "./base-set.vue"; 44 import BaseSet from "./base-set.vue";
35 import PasswordEdit from "./password-edit.vue"; 45 import PasswordEdit from "./password-edit.vue";
36 export default { 46 export default {
37 components: { 47 components: {
38 BaseSet, 48 BaseSet,
39 PasswordEdit, 49 PasswordEdit,
40 }, 50 },
41 data () { 51 data() {
42 return { 52 return {
43 isshow: true, 53 isshow: true,
44 }; 54 };
45 }, 55 },
46 computed: { 56 computed: {
47 userData () { 57 userData() {
48 return this.$store.state.user.userInfo; 58 return this.$store.state.user.userInfo;
49 }, 59 },
50 }, 60 },
51 watch: {}, 61 watch: {},
52 created () { }, 62 created() {},
53 mounted () { 63 mounted() {},
54
55
56 },
57 methods: { 64 methods: {
58 information () { 65 information() {
59 this.isshow = true; 66 this.isshow = true;
60 }, 67 },
61 password () { 68 password() {
62 this.isshow = false; 69 this.isshow = false;
63 }, 70 },
64 }, 71 },
65 }; 72 };
66 </script> 73 </script>
67 74
68 <style scoped lang="scss"> 75 <style scoped lang="scss">
69 @import "~@/styles/mixin.scss"; 76 @import "~@/styles/mixin.scss";
70 @import "~@/styles/public.scss"; 77 @import "~@/styles/public.scss";
71 .information { 78 .information {
79 display: flex;
80 flex-direction: column;
81 .btnColRight {
82 .button {
83 width: 76px;
84 height: 32px;
85 color: #ffffff;
86 margin: 0 5px;
87 cursor: pointer;
88 border: 0;
89 background: url('../../../image/btn.png') no-repeat 0 0;
90 background-size: cover;
91 }
92 .choosed{
93 background: url('../../../image/btn.png') no-repeat 0 -34px;
94 }
95 }
72 /deep/.content { 96 /deep/.content {
73 .el-input__inner { 97 .el-input__inner {
74 background: none; 98 background: none;
...@@ -76,10 +100,9 @@ ...@@ -76,10 +100,9 @@
76 .user-info { 100 .user-info {
77 background: none; 101 background: none;
78 } 102 }
79
80 .boxin {
81 height: 79%;
82 }
83 } 103 }
104 .boxin {
105 flex: 1;
84 } 106 }
107 }
85 </style> 108 </style>
......
...@@ -6,27 +6,31 @@ ...@@ -6,27 +6,31 @@
6 label-width="100px" 6 label-width="100px"
7 :model="form" 7 :model="form"
8 class="form-wrapper" 8 class="form-wrapper"
9 :rules="rules"> 9 :rules="rules"
10 >
10 <el-form-item label="旧密码:" prop="oldPassword"> 11 <el-form-item label="旧密码:" prop="oldPassword">
11 <el-input 12 <el-input
12 v-model="form.oldPassword" 13 v-model="form.oldPassword"
13 clearable 14 clearable
14 type="password" 15 type="password"
15 show-password /> 16 show-password
17 />
16 </el-form-item> 18 </el-form-item>
17 <el-form-item label="新密码:" prop="newPassword"> 19 <el-form-item label="新密码:" prop="newPassword">
18 <el-input 20 <el-input
19 v-model="form.newPassword" 21 v-model="form.newPassword"
20 clearable 22 clearable
21 type="password" 23 type="password"
22 show-password /> 24 show-password
25 />
23 </el-form-item> 26 </el-form-item>
24 <el-form-item label="确认密码:" prop="confirmPassword"> 27 <el-form-item label="确认密码:" prop="confirmPassword">
25 <el-input 28 <el-input
26 v-model="form.confirmPassword" 29 v-model="form.confirmPassword"
27 clearable 30 clearable
28 type="password" 31 type="password"
29 show-password /> 32 show-password
33 />
30 </el-form-item> 34 </el-form-item>
31 </el-form> 35 </el-form>
32 <div class="bottom-wrapper"> 36 <div class="bottom-wrapper">
...@@ -37,83 +41,81 @@ ...@@ -37,83 +41,81 @@
37 </template> 41 </template>
38 42
39 <script> 43 <script>
40 import { updateUserPassword } from "@/api/personnelManage"; 44 import { updateUserPassword } from "@/api/personnelManage";
41 export default { 45 export default {
42 props: { 46 props: {
43 userInfo: { 47 userInfo: {
44 type: Object, 48 type: Object,
45 default: null 49 default: null,
46 } 50 },
47 }, 51 },
48 data () { 52 data() {
49 return { 53 return {
50 form: {}, 54 form: {},
51 sexList: [], 55 sexList: [],
52 userId: '', 56 userId: "",
53 rules: { 57 rules: {
54 oldPassword: [ 58 oldPassword: [
55 { required: true, message: '旧密码不能为空', trigger: 'blur' } 59 { required: true, message: "旧密码不能为空", trigger: "blur" },
56 ], 60 ],
57 newPassword: [ 61 newPassword: [
58 { required: true, message: '新密码不能为空', trigger: 'blur' } 62 { required: true, message: "新密码不能为空", trigger: "blur" },
59 ], 63 ],
60 confirmPassword: [ 64 confirmPassword: [
61 { required: true, message: '确认密码不能为空', trigger: 'blur' }, 65 { required: true, message: "确认密码不能为空", trigger: "blur" },
62 { validator: this.validatorConfirmPassword, trigger: 'blur' } 66 { validator: this.validatorConfirmPassword, trigger: "blur" },
63 ] 67 ],
64 } 68 },
65 } 69 };
66 }, 70 },
67 computed: {}, 71 computed: {},
68 watch: { 72 watch: {
69 userInfo: { 73 userInfo: {
70 handler: function (val) { 74 handler: function (val) {
71 if (val) { 75 if (val) {
72 this.getid(val) 76 this.getid(val);
73 }
74 } 77 }
75 }
76
77 }, 78 },
78 mounted () { 79 },
80 },
81 mounted() {
79 if (this.userInfo) { 82 if (this.userInfo) {
80 this.getid(this.userInfo) 83 this.getid(this.userInfo);
81 } 84 }
82 }, 85 },
83 methods: { 86 methods: {
84 getid (val) { 87 getid(val) {
85 this.userId = val.id 88 this.userId = val.id;
86 }, 89 },
87 validatorConfirmPassword (rule, value, callback) { 90 validatorConfirmPassword(rule, value, callback) {
88 const { newPassword } = this.form 91 const { newPassword } = this.form;
89 if (value !== newPassword) { 92 if (value !== newPassword) {
90 callback('两次输入密码不一致') 93 callback("两次输入密码不一致");
91 } else { 94 } else {
92 callback() 95 callback();
93 } 96 }
94 }, 97 },
95 updatePassword () { 98 updatePassword() {
96 this.$refs.form.validate((valid) => { 99 this.$refs.form.validate((valid) => {
97 if (valid) { 100 if (valid) {
98 const params = Object.assign({}, this.form, { id: this.userId }) 101 const params = Object.assign({}, this.form, { id: this.userId });
99 updateUserPassword(params).then((res) => { 102 updateUserPassword(params).then((res) => {
100 if (res.status === 1) { 103 if (res.status === 1) {
101 this.$message.success({ message: res.message, showClose: true }) 104 this.$message.success({ message: res.message, showClose: true });
102 } else { 105 } else {
103 this.$message.error({ message: res.message, showClose: true }) 106 this.$message.error({ message: res.message, showClose: true });
104 }
105 })
106 }
107 })
108 }
109 } 107 }
108 });
110 } 109 }
110 });
111 },
112 },
113 };
111 </script> 114 </script>
112 115
113 <style scoped lang="scss"> 116 <style scoped lang="scss">
114 .user-info { 117 .user-info {
115 margin: 36px 200px; 118 margin: 36px 200px;
116 background: #ffffff;
117 overflow-y: auto; 119 overflow-y: auto;
118 .form-wrapper { 120 .form-wrapper {
119 padding: 24px 120px 0px; 121 padding: 24px 120px 0px;
...@@ -132,7 +134,7 @@ ...@@ -132,7 +134,7 @@
132 } 134 }
133 .bottom-wrapper { 135 .bottom-wrapper {
134 padding: 32px 120px 24px; 136 padding: 32px 120px 24px;
135 text-align: right; 137 text-align: center;
136 }
137 } 138 }
139 }
138 </style> 140 </style>
......
1 <template> 1 <template>
2 <div> 2 <dialogBox class="modifydialog" :isMain="true" :title="2222" @closeDialog="close" @submitForm="submitForm" v-model="myValue">
3 <Dialog class="modifydialog" :title="title" :show.sync="visible" :width="'767px'" @close="close()"> 3 <div class="modifydialog-con">
4 <template slot="content">
5 <el-form ref="form" :model="form" :rules="rules"> 4 <el-form ref="form" :model="form" :rules="rules">
6 <el-row :gutter="24"> 5 <el-row :gutter="24">
7 <el-col :span="12"> 6 <el-col :span="12">
...@@ -51,33 +50,22 @@ ...@@ -51,33 +50,22 @@
51 </el-col> 50 </el-col>
52 </el-row> 51 </el-row>
53 </el-form> 52 </el-form>
54 </template>
55 <template slot="footer">
56 <el-button class="cancel-button" @click="close()">取消</el-button>
57
58 <el-button type="primary" @click="submitForm()">保存</el-button>
59 </template>
60 </Dialog>
61 <!-- 图标列表 -->
62 <IconList ref="iconList" @iconName="getIconName" />
63 </div> 53 </div>
54 </dialogBox>
64 </template> 55 </template>
65 56
66 <script> 57 <script>
67 import Dialog from "@/components/Dialog/"; 58 import { getParentMenuListAction } from '@/api/authorityManage'
68 import { getParentMenuListAction } from '@/api/authorityManage' 59 import JsonEditor from '@/components/JsonEditors'
69 import JsonEditor from '@/components/JsonEditors' 60 import { validateCode } from '@/utils/validate';
70 import IconList from '@/components/IconList' 61 import { api, httpAction } from '@/api/manageApi'
71 import { validateCode } from '@/utils/validate'; 62 export default {
72 import { api, httpAction } from '@/api/manageApi'
73 export default {
74 name: 'MenuModal', 63 name: 'MenuModal',
75 components: { 64 components: {
76 IconList,
77 JsonEditor, 65 JsonEditor,
78 Dialog
79 }, 66 },
80 props: { 67 props: {
68 value: { type: Boolean, default: false },
81 productId: { 69 productId: {
82 type: String, 70 type: String,
83 default: '' 71 default: ''
...@@ -85,6 +73,7 @@ ...@@ -85,6 +73,7 @@
85 }, 73 },
86 data () { 74 data () {
87 return { 75 return {
76 myValue: this.value,
88 form: { 77 form: {
89 icon: '', 78 icon: '',
90 code: '' 79 code: ''
...@@ -126,8 +115,11 @@ ...@@ -126,8 +115,11 @@
126 } 115 }
127 } 116 }
128 }, 117 },
129 created () { }, 118 watch: {
130 mounted () { }, 119 value (val) {
120 this.myValue = val
121 }
122 },
131 methods: { 123 methods: {
132 // 获取父级菜单 124 // 获取父级菜单
133 getParentMenuList (id) { 125 getParentMenuList (id) {
...@@ -162,7 +154,6 @@ ...@@ -162,7 +154,6 @@
162 // 新增菜单 154 // 新增菜单
163 add () { 155 add () {
164 this.getParentMenuList(this.productId) 156 this.getParentMenuList(this.productId)
165 this.visible = true
166 this.type = 0 157 this.type = 0
167 this.form.jumpMode = 1 158 this.form.jumpMode = 1
168 }, 159 },
...@@ -176,7 +167,6 @@ ...@@ -176,7 +167,6 @@
176 this.getParentMenuList(this.productId) 167 this.getParentMenuList(this.productId)
177 }) 168 })
178 } 169 }
179 this.visible = true
180 }, 170 },
181 // 选择上级菜单 171 // 选择上级菜单
182 handleChange (value) { 172 handleChange (value) {
...@@ -230,8 +220,12 @@ ...@@ -230,8 +220,12 @@
230 this.visible = false 220 this.visible = false
231 } 221 }
232 } 222 }
233 } 223 }
234 </script> 224 </script>
235 <style scoped lang="scss"> 225 <style scoped lang="scss">
236 // @import "~@/styles/public.scss"; 226 .modifydialog {
227 &-con {
228 background: #031A46;
229 }
230 }
237 </style> 231 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -17,27 +17,27 @@ ...@@ -17,27 +17,27 @@
17 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> 17 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
18 </lb-table> 18 </lb-table>
19 </div> 19 </div>
20 <edit-dialog ref="dialogForm" :product-id="productId" :resource-category-id="resourceCategoryId" 20 <edit-dialog ref="dialogForm" v-model="isDialog" :product-id="productId" :resource-category-id="resourceCategoryId"
21 @ok="reloadTableData" /> 21 @ok="reloadTableData" />
22 <!-- <authorizationdiglog ref="rolesForm" /> --> 22 <!-- <authorizationdiglog ref="rolesForm" /> -->
23 </div> 23 </div>
24 </template> 24 </template>
25 <script> 25 <script>
26 // 定时任务 26 // 定时任务
27 import data from "./data"; 27 import data from "./data";
28 import { deleteAction, getAction, api } from "@/api/manageApi"; 28 import { deleteAction, getAction, api } from "@/api/manageApi";
29 import EditDialog from "./edit-dialog.vue"; 29 import EditDialog from "./edit-dialog.vue";
30 import { mapGetters } from "vuex"; 30 import { mapGetters } from "vuex";
31 import { getMenuInfo } from "@/api/user"; 31 import { getMenuInfo } from "@/api/user";
32 import { 32 import {
33 getUuid, 33 getUuid,
34 judgeSort, 34 judgeSort,
35 realMove, 35 realMove,
36 findParents, 36 findParents,
37 removeTreeListItem, 37 removeTreeListItem,
38 } from "@/utils/operation"; 38 } from "@/utils/operation";
39 // import authorizationdiglog from "./authorizationdiglog.vue"; 39 // import authorizationdiglog from "./authorizationdiglog.vue";
40 export default { 40 export default {
41 name: "menus", 41 name: "menus",
42 components: { 42 components: {
43 EditDialog, 43 EditDialog,
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
45 }, 45 },
46 data () { 46 data () {
47 return { 47 return {
48 isDialog: false,
48 tablelistData: [], 49 tablelistData: [],
49 resourceCategoryId: "", 50 resourceCategoryId: "",
50 taskData: null, 51 taskData: null,
...@@ -147,113 +148,22 @@ ...@@ -147,113 +148,22 @@
147 this.productId = res.content[0].id; 148 this.productId = res.content[0].id;
148 this.getAuthorityList(res.content[0].id, res.content[0].code) 149 this.getAuthorityList(res.content[0].id, res.content[0].code)
149 this.selectedSubsystemCode = res.content[0].code 150 this.selectedSubsystemCode = res.content[0].code
150 // let queryOptions = { 151
151 // conditionGroup: {
152 // conditions: [
153 // {
154 // property: "productId",
155 // value: this.productId,
156 // operator: "EQ",
157 // },
158 // ],
159 // queryRelation: "AND",
160 // },
161 // orderBys: [{ property: "sort", direction: "desc" }],
162 // };
163 // if (!this.tableUrl) {
164 // console.log("请设置tableUrl属性为接口地址!");
165 // return;
166 // }
167 // if (this.queryOptions !== "") {
168 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
169 // }
170 // 查询系统菜单
171 // getAction(this.tableUrl, this.queryParam)
172 // .then((res) => {
173 // if (res.status === 1) {
174 // this.loading = false;
175 // // this.menutablelistData = res.content;
176 // console.log("res.content菜单", res.content);
177 // } else {
178 // this.$message.error({ message: res.message, showClose: true });
179 // this.loading = false;
180 // }
181 // })
182 // .catch((error) => {
183 // console.log("er", error);
184 // this.loading = false;
185 // });
186 }) 152 })
187 .catch((error) => { 153 .catch((error) => {
188 console.log("er", error); 154 console.log("er", error);
189 }); 155 })
190 // const queryOptionsid = {
191 // conditionGroup: {
192 // queryRelation: "AND",
193 // conditions: [
194 // {
195 // property: "code",
196 // value: sessionStorage.getItem("products"),
197 // operator: "EQ",
198 // },
199 // ],
200 // },
201 // };
202 // const params = {
203 // queryOptions: queryOptionsid,
204 // };
205 // // 获取系统id
206 // getAction(this.meumurlid, params)
207 // .then((res) => {
208 // this.productId = res.content[0].id;
209 // let queryOptions = {
210 // conditionGroup: {
211 // conditions: [
212 // {
213 // property: "productId",
214 // value: this.productId,
215 // operator: "EQ",
216 // },
217 // ],
218 // queryRelation: "AND",
219 // },
220 // orderBys: [{ property: "sort", direction: "desc" }],
221 // };
222 // if (!this.tableUrl) {
223 // console.log("请设置tableUrl属性为接口地址!");
224 // return;
225 // }
226 // if (this.queryOptions !== "") {
227 // this.queryParam.queryOptions = JSON.stringify(queryOptions);
228 // }
229 // // 查询系统菜单
230 // getAction(this.tableUrl, this.queryParam)
231 // .then((res) => {
232 // if (res.status === 1) {
233 // this.loading = false;
234 // this.tablelistData = res.content;
235 // } else {
236 // this.$message.error({ message: res.message, showClose: true });
237 // this.loading = false;
238 // }
239 // })
240 // .catch((error) => {
241 // console.log("er", error);
242 // this.loading = false;
243 // });
244 // })
245 // .catch((error) => {
246 // console.log("er", error);
247 // });
248 }, 156 },
249 // 新增菜单 157 // 新增菜单
250 handleAdd () { 158 handleAdd () {
159 this.isDialog = true
251 this.$refs.dialogForm.add(); 160 this.$refs.dialogForm.add();
252 this.$refs.dialogForm.title = "添加"; 161 this.$refs.dialogForm.title = "添加";
253 }, 162 },
254 163
255 // 修改 164 // 修改
256 handleEdit (record) { 165 handleEdit (record) {
166 this.isDialog = true
257 this.$refs.dialogForm.edit(record); 167 this.$refs.dialogForm.edit(record);
258 this.$refs.dialogForm.title = "修改"; 168 this.$refs.dialogForm.title = "修改";
259 }, 169 },
...@@ -302,17 +212,17 @@ ...@@ -302,17 +212,17 @@
302 this.getTableList() 212 this.getTableList()
303 }, 213 },
304 }, 214 },
305 }; 215 };
306 </script> 216 </script>
307 <style scoped lang="scss"> 217 <style scoped lang="scss">
308 @import "~@/styles/mixin.scss"; 218 @import "~@/styles/mixin.scss";
309 219
310 // @import "~@/styles/public.scss"; 220 // @import "~@/styles/public.scss";
311 .btnColRight { 221 .btnColRight {
312 margin-top: 20px; 222 margin-top: 20px;
313 } 223 }
314 224
315 /deep/.el-table__expand-icon { 225 /deep/.el-table__expand-icon {
316 color: #fff; 226 color: #fff;
317 } 227 }
318 </style> 228 </style>
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
38 import EditDialog from "./edit-dialog.vue"; 38 import EditDialog from "./edit-dialog.vue";
39 import Roleslistdiglog from "./roleslistdiglog.vue"; 39 import Roleslistdiglog from "./roleslistdiglog.vue";
40 import { mapGetters } from "vuex"; 40 import { mapGetters } from "vuex";
41 import {updateOrder} from "@/api/orders"
41 export default { 42 export default {
42 name: "menus", 43 name: "menus",
43 mixins: [tableMixin], 44 mixins: [tableMixin],
...@@ -107,7 +108,7 @@ ...@@ -107,7 +108,7 @@
107 .concat([ 108 .concat([
108 { 109 {
109 label: "排序", 110 label: "排序",
110 width: 100, 111 width: 200,
111 render: (h, scope) => { 112 render: (h, scope) => {
112 return ( 113 return (
113 <div> 114 <div>
...@@ -115,7 +116,16 @@ ...@@ -115,7 +116,16 @@
115 type="text" 116 type="text"
116 disabled={scope.row.isTop} 117 disabled={scope.row.isTop}
117 onClick={() => { 118 onClick={() => {
118 this.moveUpward(scope.$index, scope.row); 119 this.updateOrder(scope.row,'TOP');
120 }}
121 >
122 置顶
123 </el-button>
124 <el-button
125 type="text"
126 disabled={scope.row.isTop}
127 onClick={() => {
128 this.updateOrder(scope.row,'UP');
119 }} 129 }}
120 > 130 >
121 上移 131 上移
...@@ -124,11 +134,20 @@ ...@@ -124,11 +134,20 @@
124 type="text" 134 type="text"
125 disabled={scope.row.isBottom} 135 disabled={scope.row.isBottom}
126 onClick={() => { 136 onClick={() => {
127 this.moveDown(scope.$index, scope.row); 137 this.updateOrder(scope.row,'DOWN');
128 }} 138 }}
129 > 139 >
130 下移 140 下移
131 </el-button> 141 </el-button>
142 <el-button
143 type="text"
144 disabled={scope.row.isBottom}
145 onClick={() => {
146 this.updateOrder(scope.row,'BOTTOM');
147 }}
148 >
149 置底
150 </el-button>
132 </div> 151 </div>
133 ); 152 );
134 }, 153 },
...@@ -225,22 +244,12 @@ ...@@ -225,22 +244,12 @@
225 methods: { 244 methods: {
226 // 获取角色列表 245 // 获取角色列表
227 getTableData () { 246 getTableData () {
228 let Builtinrole = []; 247 getRolesById([1,2])
229 let Publicrole = [];
230
231 getRolesById(1)
232 .then((res) => {
233 Builtinrole = res.content;
234 getRolesById(2)
235 .then((res) => { 248 .then((res) => {
236 Publicrole = res.content; 249 this.listdata = res.content;
237
238 this.listdata = Builtinrole.concat(Publicrole);
239 this.listdata = judgeSort(this.listdata); 250 this.listdata = judgeSort(this.listdata);
240 }) 251 })
241 .catch((e) => console.error(e)); 252 .catch((e) => console.error(e));
242 })
243 .catch((e) => console.error(e));
244 }, 253 },
245 254
246 // 获取菜单列表 255 // 获取菜单列表
...@@ -397,20 +406,24 @@ ...@@ -397,20 +406,24 @@
397 this.$refs.addEditDialog.showAddEditDialog = true; 406 this.$refs.addEditDialog.showAddEditDialog = true;
398 this.$refs.addEditDialog.dialogTitle = value.id ? "修改" : "新增"; 407 this.$refs.addEditDialog.dialogTitle = value.id ? "修改" : "新增";
399 }, 408 },
400 // 上移下移 409 //排序
401 moveUpward (index, row) { 410 updateOrder(record, operate){
402 realMove(row.dictid, "UP", this.listdata); 411 const findIndex = this.listdata.findIndex(item => item.id === record.id)
403 this.key++; 412 let swapId = ''
404 let id = findParents(this.listdata, row.dictid); 413 if (operate === 'UP') {
405 this.keyList = id; 414 swapId = this.listdata[findIndex - 1].id
406 }, 415 } else if (operate === 'DOWN') {
407 moveDown (index, row) { 416 swapId = this.listdata[findIndex + 1].id
408 realMove(row.dictid, "DOWN", this.listdata); 417 }
409 this.key++; 418 updateOrder('/rest/roles', record, operate, swapId).then(res => {
410 let id = findParents(this.listdata, row.dictid); 419 if (res.status === 1) {
411 this.keyList = id; 420 this.$message.success({ message: res.message, showClose: true })
421 this.getTableData();
422 } else {
423 this.$message.error({ message: res.message, showClose: true })
424 }
425 })
412 }, 426 },
413
414 // 删除 427 // 删除
415 handleDelete: function (id, content = "") { 428 handleDelete: function (id, content = "") {
416 this.$confirm( 429 this.$confirm(
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
46 import { deleteDomStr } from '@/utils/proDomStr' 46 import { deleteDomStr } from '@/utils/proDomStr'
47 import tableMixin from "@/mixins/tableMixin.js"; 47 import tableMixin from "@/mixins/tableMixin.js";
48 import EditDialog from "./edit-dialog.vue"; 48 import EditDialog from "./edit-dialog.vue";
49 import {updateOrder} from "@/api/orders"
49 export default { 50 export default {
50 name: "menus", 51 name: "menus",
51 mixins: [tableMixin], 52 mixins: [tableMixin],
...@@ -109,7 +110,7 @@ ...@@ -109,7 +110,7 @@
109 }, 110 },
110 { 111 {
111 label: "排序", 112 label: "排序",
112 width: 100, 113 width: 200,
113 render: (h, scope) => { 114 render: (h, scope) => {
114 return ( 115 return (
115 <div> 116 <div>
...@@ -117,7 +118,16 @@ ...@@ -117,7 +118,16 @@
117 type="text" 118 type="text"
118 disabled={scope.row.isTop} 119 disabled={scope.row.isTop}
119 onClick={() => { 120 onClick={() => {
120 this.moveUpward(scope.$index, scope.row); 121 this.updateOrder(scope.row,'TOP');
122 }}
123 >
124 置顶
125 </el-button>
126 <el-button
127 type="text"
128 disabled={scope.row.isTop}
129 onClick={() => {
130 this.updateOrder(scope.row,'UP');
121 }} 131 }}
122 > 132 >
123 上移 133 上移
...@@ -126,11 +136,20 @@ ...@@ -126,11 +136,20 @@
126 type="text" 136 type="text"
127 disabled={scope.row.isBottom} 137 disabled={scope.row.isBottom}
128 onClick={() => { 138 onClick={() => {
129 this.moveDown(scope.$index, scope.row); 139 this.updateOrder(scope.row,'DOWN');
130 }} 140 }}
131 > 141 >
132 下移 142 下移
133 </el-button> 143 </el-button>
144 <el-button
145 type="text"
146 disabled={scope.row.isBottom}
147 onClick={() => {
148 this.updateOrder(scope.row,'BOTTOM');
149 }}
150 >
151 置底
152 </el-button>
134 </div> 153 </div>
135 ); 154 );
136 }, 155 },
...@@ -257,18 +276,23 @@ ...@@ -257,18 +276,23 @@
257 }) 276 })
258 .catch(() => { }) 277 .catch(() => { })
259 }, 278 },
260 // 上移下移 279 //排序
261 moveUpward (index, row) { 280 updateOrder(record, operate){
262 realMove(row.dictid, "UP", this.tableData.data); 281 const findIndex = this.tableData.data.findIndex(item => item.id === record.id)
263 this.key++; 282 let swapId = ''
264 let id = findParents(this.tableData.data, row.dictid); 283 if (operate === 'UP') {
265 this.keyList = id; 284 swapId = this.tableData.data[findIndex - 1].id
266 }, 285 } else if (operate === 'DOWN') {
267 moveDown (index, row) { 286 swapId = this.tableData.data[findIndex + 1].id
268 realMove(row.dictid, "DOWN", this.tableData.data); 287 }
269 this.key++; 288 updateOrder('/rest/users', record, operate, swapId).then(res => {
270 let id = findParents(this.tableData.data, row.dictid); 289 if (res.status === 1) {
271 this.keyList = id; 290 this.$message.success({ message: res.message, showClose: true })
291 this.getTableList();
292 } else {
293 this.$message.error({ message: res.message, showClose: true })
294 }
295 })
272 }, 296 },
273 // 修改人员信息 297 // 修改人员信息
274 handleEdit (row) { 298 handleEdit (row) {
......