5330d832 by xiaomiao
2 parents a45161ca 365018b6
...@@ -5,4 +5,4 @@ NODE_ENV=development ...@@ -5,4 +5,4 @@ NODE_ENV=development
5 VUE_APP_BASE_API = '/api' 5 VUE_APP_BASE_API = '/api'
6 6
7 # 开发环境 7 # 开发环境
8 VUE_APP_API_BASE_URL = 'http://192.168.2.38:8027' 8 VUE_APP_API_BASE_URL = 'http://192.168.2.38:8008'
......
...@@ -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 }, 26 },
...@@ -74,4 +75,4 @@ ...@@ -74,4 +75,4 @@
74 "type": "git", 75 "type": "git",
75 "url": "git+https://github.com/PanJiaChen/vue-element-admin.git" 76 "url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
76 } 77 }
77 }
...\ No newline at end of file ...\ No newline at end of file
78 }
......
...@@ -4,7 +4,7 @@ import SERVER from './config' ...@@ -4,7 +4,7 @@ import SERVER from './config'
4 // 数据上报分页 4 // 数据上报分页
5 export function getDataReportPage (data) { 5 export function getDataReportPage (data) {
6 return request({ 6 return request({
7 url: SERVER.SERVERAPI + '/sjsb/DataReport/getDataReportPage', 7 url: SERVER.SERVERAPI + '/rest/sjsb/DataReport/getDataReportPage',
8 method: 'post', 8 method: 'post',
9 data 9 data
10 }) 10 })
......
1 <template>
2 <vue-json-editor v-model="resultInfo" :showBtns="false" :mode="'code'" lang="zh" @json-change="onJsonChange"
3 @json-save="onJsonSave" />
4 </template>
5 <script>
6 // 引入json编译器
7 import vueJsonEditor from 'vue-json-editor'
8 export default {
9 components: {
10 vueJsonEditor
11 },
12 data () {
13 return {
14 myValue: this.value,
15 resultInfo: {
16 "userId": "1111111129ac7325-30da-4e6a-8a00-9699820fc04a",
17 "realName": "小雪18",
18 "gradeCode": "166",
19 "provinceCode": "110000",
20 "cityCode": {
21 "test1": "test1",
22 "test2": "test2"
23 },
24 "schoolId": 21,
25 "schoolLevel": 1,
26 "schoolName": "北京第二实验小学朝阳学校"
27 },
28 }
29 },
30 methods: {
31 onJsonChange (value) {
32 console.log('value:', value);
33 },
34 onJsonSave (value) {
35 console.log('value:', value);
36 }
37 }
38 }
39
40 </script>
41
42 <style>
43 /* jsoneditor右上角默认有一个链接,加css去掉了 */
44 .jsoneditor-poweredBy {
45 display: none;
46 }
47
48 .jsoneditor-vue {
49 height: 300px;
50 }
51 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -119,7 +119,6 @@ export default { ...@@ -119,7 +119,6 @@ export default {
119 // 单选 119 // 单选
120 singleElection (row) { 120 singleElection (row) {
121 this.selected = this.data.indexOf(row); 121 this.selected = this.data.indexOf(row);
122 console.log(this.selected);
123 }, 122 },
124 123
125 tableRowClassName ({ row, rowIndex }) { 124 tableRowClassName ({ row, rowIndex }) {
......
1 import Vue from 'vue' 1 import Vue from 'vue'
2 import Popup from './index.vue' 2 import Popup from './index.vue'
3
4 const PopupBox = Vue.extend(Popup) 3 const PopupBox = Vue.extend(Popup)
5 Popup.install = function (title, editItem, data, formData) { 4 let popuping = undefined
5
6 PopupBox.prototype.close = function () {
7 // 如果Popup 有引用,则去掉引用
8 if (popuping) {
9 popuping = undefined
10 }
11 // 先将组件隐藏
12 this.isShow = false
13 // 延迟300毫秒,等待Popup关闭动画执行完之后销毁组件
14 setTimeout(() => {
15 // 移除挂载的dom元素
16 if (this.$el && this.$el.parentNode) {
17 this.$el.parentNode.removeChild(this.$el)
18 }
19 }, 300)
20 }
21
22 const Popup1 = (title, editItem, data, formData) => {
23 // 如果组件已渲染,则返回即可
24 if (popuping) {
25 return popuping
26 }
6 data.title = title 27 data.title = title
7 data.editItem = editItem 28 data.editItem = editItem
8 if (formData) { 29 if (formData) {
9 data.formData = formData 30 data.formData = formData
10 } 31 }
32 // 通过构造函数初始化组件 相当于 new Vue()
11 let instance = new PopupBox({ 33 let instance = new PopupBox({
12 data 34 data
13 }).$mount() 35 }).$mount()
...@@ -15,6 +37,8 @@ Popup.install = function (title, editItem, data, formData) { ...@@ -15,6 +37,8 @@ Popup.install = function (title, editItem, data, formData) {
15 Vue.nextTick(() => { 37 Vue.nextTick(() => {
16 instance.isShow = true 38 instance.isShow = true
17 }) 39 })
40 // 将组件实例赋值给loading
41 popuping = instance
42 return instance
18 } 43 }
19 44 export default Popup1
20 export default Popup
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
21 </transition> 21 </transition>
22 </template> 22 </template>
23 <script> 23 <script>
24 import Popup1 from './index'
24 export default { 25 export default {
25 name: 'index', 26 name: 'index',
26 data () { 27 data () {
...@@ -74,8 +75,7 @@ export default { ...@@ -74,8 +75,7 @@ export default {
74 }, 75 },
75 methods: { 76 methods: {
76 onCancel () { 77 onCancel () {
77 this.isShow = false 78 Popup1().close()
78 this.cancel()
79 }, 79 },
80 onConfirm () { 80 onConfirm () {
81 this.loading = true 81 this.loading = true
...@@ -93,7 +93,7 @@ export default { ...@@ -93,7 +93,7 @@ export default {
93 loadViewFn (view) { 93 loadViewFn (view) {
94 return (r) => 94 return (r) =>
95 require.ensure([], () => 95 require.ensure([], () =>
96 r(require(`@/views/${view}.vue`)) 96 r(require(`@/${view}.vue`))
97 ) 97 )
98 } 98 }
99 }, 99 },
...@@ -108,7 +108,7 @@ export default { ...@@ -108,7 +108,7 @@ export default {
108 .ls-mask { 108 .ls-mask {
109 width: 100%; 109 width: 100%;
110 height: 100%; 110 height: 100%;
111 z-index: 100; 111 z-index: 2000;
112 position: fixed; 112 position: fixed;
113 left: 0; 113 left: 0;
114 top: 0; 114 top: 0;
...@@ -131,10 +131,15 @@ export default { ...@@ -131,10 +131,15 @@ export default {
131 padding-left: 5px; 131 padding-left: 5px;
132 } 132 }
133 133
134 /deep/.closeStyle {
135 top: 7px !important;
136 }
137
134 .ls-title { 138 .ls-title {
135 padding: 16px; 139 padding: 10px;
136 color: #ffffff; 140 color: #ffffff;
137 background: linear-gradient(3deg, #409EFF, #a7cbee); 141 background: linear-gradient(90deg, #1D66DC 0%, #081B56 100%);
142 font-size: 16px;
138 } 143 }
139 144
140 .ls-title .svg-icon { 145 .ls-title .svg-icon {
...@@ -142,11 +147,11 @@ export default { ...@@ -142,11 +147,11 @@ export default {
142 } 147 }
143 148
144 .mask-content { 149 .mask-content {
145 padding: 20px; 150 padding: 15px;
146 width: 100%; 151 width: 100%;
147 min-height: 30%; 152 min-height: 20%;
148 max-height: 95%; 153 max-height: 95%;
149 overflow-y: scroll; 154 // overflow-y: scroll;
150 } 155 }
151 156
152 .ls-mask-footer { 157 .ls-mask-footer {
...@@ -182,4 +187,3 @@ export default { ...@@ -182,4 +187,3 @@ export default {
182 width: 75px; 187 width: 75px;
183 } 188 }
184 </style> 189 </style>
185
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -16,12 +16,14 @@ export default { ...@@ -16,12 +16,14 @@ export default {
16 } 16 }
17 </script> 17 </script>
18 <style lang="scss" scoped> 18 <style lang="scss" scoped>
19 .app-main { 19 .hasTagsView {
20 height: calc(100vh - 84px); 20 .app-main {
21 overflow-x: hidden; 21 overflow-x: auto;
22 box-sizing: border-box; 22 padding: 5px;
23 flex: 1; 23 box-sizing: border-box;
24 width: 100%; 24 background-color: #EDF1F7;
25 margin-right: 15px; 25 box-sizing: border-box;
26
27 }
26 } 28 }
27 </style> 29 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template> 1 <template>
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="sidebarLeft">
5 <img :src="require('@/image/logo.png')" alt="" /> 5 <sidebarLeft />
6 </div> 6 </div>
7 <div class="backdrop"> 7 <div class="sidebarRight d-center">
8 <Breadcrumb /> 8 <sidebarRight />
9 </div> 9 <div class="right-menu">
10 <div class="right-menu"> 10 <div class="dataView pointer" @click="handleDataView">大屏展示</div>
11 <div class="dataView d-center pointer" @click="handleDataView">大屏展示</div> 11 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand">
12 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> 12 <div class="avatar-wrapper">
13 <div class="avatar-wrapper"> 13 <span style="padding-right:10px">{{ name }}</span>
14 <span style="padding-right:10px">{{ name }}</span> 14 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
15 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> 15 </div>
16 </div> 16 <el-dropdown-menu slot="dropdown">
17 <el-dropdown-menu slot="dropdown"> 17 <el-dropdown-item command="a">个人中心</el-dropdown-item>
18 <el-dropdown-item command="a">个人中心</el-dropdown-item> 18 <el-dropdown-item command="b">退出</el-dropdown-item>
19 <el-dropdown-item command="b">退出</el-dropdown-item> 19 </el-dropdown-menu>
20 </el-dropdown-menu> 20 </el-dropdown>
21 </el-dropdown> 21 </div>
22 </div> 22 </div>
23 </div> 23 </div>
24 </div> 24 </div>
25 </template> 25 </template>
26 <script> 26 <script>
27 import { mapGetters } from 'vuex'
28 import Breadcrumb from './Breadcrumb'
29 import defaultSettings from '@/settings' 27 import defaultSettings from '@/settings'
28 import sidebarLeft from './Sidebar/sidebarLeft'
29 import sidebarRight from './Sidebar/sidebarRight'
30 import { mapGetters } from 'vuex'
30 export default { 31 export default {
31 components: { 32 components: {
32 Breadcrumb 33 sidebarLeft,
34 sidebarRight
33 }, 35 },
34 computed: { 36 computed: {
35 ...mapGetters(['sidebar', 'avatar', 'name']) 37 ...mapGetters(['sidebar', 'avatar', 'name'])
...@@ -49,115 +51,74 @@ export default { ...@@ -49,115 +51,74 @@ export default {
49 }, 51 },
50 handleCommand (command) { 52 handleCommand (command) {
51 if (command == 'a') { 53 if (command == 'a') {
52 } else {
53
54 } 54 }
55 } 55 }
56 } 56 }
57 } 57 }
58 </script> 58 </script>
59 <style lang="scss" scoped> 59 <style lang="scss" scoped>
60 .navbar-con { 60 /deep/.el-menu--horizontal {
61 position: relative; 61 display: flex;
62 align-items: center;
63 }
62 64
63 .logo { 65 .menubg {
64 color: #fff; 66 line-height: 30px;
65 font-size: 26px; 67 color: #FFFFFF;
66 font-weight: 700; 68 margin-right: 5px;
67 } 69 background: linear-gradient(180deg, #0A2580 0%, #2542C9 100%);
68 } 70 }
69 71
70 .dataView { 72 /deep/.el-menu-item {
71 color: #fff; 73 @extend .menubg;
72 width: 120px;
73 height: 32px;
74 background: url('../../image/dp.png');
75 background-size: cover;
76 margin-right: 20px;
77 } 74 }
78 75
79 .NoticeBar { 76 /deep/.el-submenu {
80 position: absolute; 77 @extend .menubg;
81 bottom: 0;
82 } 78 }
83 79
84 .el-dropdown-menu { 80 /deep/.el-submenu__title {
85 padding: 0 !important; 81 line-height: 30px !important;
86 border: 1px solid #EBEEF5; 82 height: 42px !important;
87 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.12); 83 }
88 border-radius: 4px 0 0 4px 4px;
89
90 .el-dropdown-menu__item {
91 text-align: center;
92 margin-top: 0 !important;
93 font-size: 14px;
94 font-family: PingFangSC-Regular, PingFang SC;
95 font-weight: 400;
96 color: #4A4A4A;
97 width: 140px;
98 height: 36px;
99 line-height: 36px;
100 }
101 84
102 .el-dropdown-menu__item:nth-child(6) { 85 /deep/.el-submenu__title span {
103 border-top: 1px solid #EBEEF5; 86 font-size: 14px;
104 } 87 }
105 88
106 .popper__arrow { 89 // 导航选中背景色
107 top: -11px !important; 90 .xuanzhong {
108 left: 110px !important; 91 background: linear-gradient(180deg, #73551D 0%, #C09C43 100%);
109 transform: rotate(0deg) scale(2); 92 font-weight: 700;
110 } 93 color: #FFFFFF !important;
94 }
111 95
112 .el-dropdown-menu__item:not(.is-disabled):hover, 96 /deep/.el-menu-item:hover {
113 .el-dropdown-menu__item:focus { 97 @extend .xuanzhong;
114 background: #F6F7F9; 98 }
115 color: #4A4A4A; 99
116 } 100 /deep/.el-submenu__title:hover {
101 @extend .xuanzhong;
102 }
103
104 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
105 @extend .xuanzhong;
117 } 106 }
118 107
108 /deep/.el-menu-item.is-active {
109 @extend .xuanzhong;
110 }
111
112
119 .navbar { 113 .navbar {
120 height: $headerHeight; 114 height: $headerHeight;
121 overflow: hidden; 115 overflow: hidden;
122 position: relative; 116 position: relative;
123 // background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色 117 background: linear-gradient(180deg, #0D3DC9 0%, #3476E1 100%);
124 // box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
125 background: #0D1230;
126 display: flex; 118 display: flex;
127 align-items: center; 119 align-items: center;
128 padding-right: 20px; 120 padding: 0 20px;
129 justify-content: space-between; 121 justify-content: space-between;
130 margin-bottom: 10px;
131
132 .header-logo {
133 width: 300px;
134 }
135
136 .backdrop {
137 flex: 1;
138 width: 60%;
139 background-size: 100% 100%;
140 height: $headerHeight;
141 display: flex;
142 align-items: center;
143 }
144
145 .hamburger-container {
146 line-height: 43px;
147 height: 100%;
148 float: left;
149 cursor: pointer;
150 transition: background 0.3s;
151 -webkit-tap-highlight-color: transparent;
152
153 &:hover {
154 background: rgba(0, 0, 0, 0.025);
155 }
156 }
157
158 .breadcrumb-container {
159 float: left;
160 }
161 122
162 .right-menu { 123 .right-menu {
163 float: right; 124 float: right;
...@@ -166,11 +127,6 @@ export default { ...@@ -166,11 +127,6 @@ export default {
166 display: flex; 127 display: flex;
167 align-items: center; 128 align-items: center;
168 129
169 .function {
170 margin: 0 15px;
171 cursor: pointer;
172 }
173
174 .shutdown { 130 .shutdown {
175 font-size: 20px; 131 font-size: 20px;
176 margin-left: 15px; 132 margin-left: 15px;
......
...@@ -13,17 +13,8 @@ export default { ...@@ -13,17 +13,8 @@ export default {
13 } 13 }
14 }, 14 },
15 render (h, context) { 15 render (h, context) {
16 const { icon, title } = context.props 16 const { title } = context.props
17 const vnodes = [] 17 const vnodes = []
18
19 if (icon) {
20 if (icon.includes('el-icon')) {
21 vnodes.push(<i class={[icon, 'sub-el-icon']} />)
22 } else {
23 vnodes.push(<svg-icon icon-class={icon} />)
24 }
25 }
26
27 if (title) { 18 if (title) {
28 vnodes.push(<span slot='title'>{(title)}</span>) 19 vnodes.push(<span slot='title'>{(title)}</span>)
29 } 20 }
...@@ -31,11 +22,3 @@ export default { ...@@ -31,11 +22,3 @@ export default {
31 } 22 }
32 } 23 }
33 </script> 24 </script>
34
35 <style scoped>
36 .sub-el-icon {
37 color: currentColor;
38 width: 1em;
39 height: 1em;
40 }
41 </style>
......
...@@ -88,4 +88,4 @@ export default { ...@@ -88,4 +88,4 @@ export default {
88 } 88 }
89 } 89 }
90 } 90 }
91 </script> 91 </script>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template> 1 <template>
2 <div> 2 <el-menu router :default-active="activeMenu" mode="horizontal">
3 <el-scrollbar wrap-class="scrollbar-wrapper"> 3 <!-- 权限菜单 -->
4 <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" 4 <sidebar-item v-for="route in permission_routes.slice(2, 5)" :key="route.path" :item="route"
5 :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" 5 :base-path="route.path" />
6 mode="vertical"> 6 <!-- 菜单全部展示 -->
7 <!-- 权限菜单 --> 7 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
8 <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> --> 8 </el-menu>
9 <!-- 菜单全部展示 -->
10 <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" />
11 </el-menu>
12 </el-scrollbar>
13 </div>
14 </template> 9 </template>
15 10
16 <script> 11 <script>
17 import { mapGetters } from 'vuex' 12 import { mapGetters } from 'vuex'
18 import Logo from './Logo' 13 import Logo from './Logo'
19 import defaultSettings from '@/settings'
20 import SidebarItem from './SidebarItem' 14 import SidebarItem from './SidebarItem'
21 import variables from '@/styles/variables.scss' 15 import variables from '@/styles/variables.scss'
22 import { asyncRoutes } from '@/router' 16 import { asyncRoutes } from '@/router'
23 export default { 17 export default {
24 components: { SidebarItem, Logo }, 18 components: { SidebarItem, Logo },
25 data () {
26 return {
27 title: defaultSettings.title
28 }
29 },
30 computed: { 19 computed: {
31 ...mapGetters(['permission_routes', 'sidebar']), 20 ...mapGetters(['permission_routes', 'sidebar']),
32 activeMenu () { 21 activeMenu () {
...@@ -41,8 +30,14 @@ export default { ...@@ -41,8 +30,14 @@ export default {
41 return variables 30 return variables
42 }, 31 },
43 asyncRoutes () { 32 asyncRoutes () {
44 return asyncRoutes 33 return asyncRoutes.slice(0, 3)
45 } 34 }
46 } 35 }
47 } 36 }
48 </script>
...\ No newline at end of file ...\ No newline at end of file
37 </script>
38 <style scoped lang="scss">
39 .el-menu--horizontal {
40 display: flex;
41 background: none !important;
42 }
43 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template>
2 <el-menu router :default-active="activeMenu" mode="horizontal">
3 <!-- 权限菜单 -->
4 <sidebar-item v-for="route in permission_routes.slice(5, 7)" :key="route.path" :item="route"
5 :base-path="route.path" />
6 <!-- 菜单全部展示 -->
7 <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> -->
8 </el-menu>
9 </template>
10
11 <script>
12 import { mapGetters } from 'vuex'
13 import Logo from './Logo'
14 import SidebarItem from './SidebarItem'
15 import variables from '@/styles/variables.scss'
16 import { asyncRoutes } from '@/router'
17 export default {
18 components: { SidebarItem, Logo },
19 computed: {
20 ...mapGetters(['permission_routes', 'sidebar']),
21 activeMenu () {
22 const route = this.$route
23 const { meta, path } = route
24 if (meta.activeMenu) {
25 return meta.activeMenu
26 }
27 return path
28 },
29 variables () {
30 return variables
31 },
32 asyncRoutes () {
33 return asyncRoutes.slice(3, 6)
34 }
35 }
36 }
37 </script>
38 <style scoped lang="scss">
39 .el-menu--horizontal {
40 display: flex;
41 background: none !important;
42 }
43
44 /deep/.el-menu-item:hover {
45 background: none;
46 font-weight: 700;
47 color: #fff !important;
48 }
49
50 /deep/.el-submenu__title {
51 color: #fff;
52 font-size: 18px;
53 }
54
55 /deep/.el-submenu__title:hover {
56 background: none;
57 font-weight: 700;
58 font-size: 20px;
59 }
60
61 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
62 background: none;
63 color: #fff;
64 font-size: 20px;
65 font-weight: 700 !important;
66 }
67 </style>
...\ No newline at end of file ...\ No newline at end of file
1 export { default as AppMain } from './AppMain' 1 export { default as AppMain } from './AppMain'
2 export { default as Navbar } from './Navbar' 2 export { default as Navbar } from './Navbar'
3 export { default as Sidebar } from './Sidebar/index.vue' 3 export { default as Sidebar } from './Sidebar/sidebarRight.vue'
4 export { default as TagsView } from './TagsView/index.vue' 4 export { default as TagsView } from './TagsView/index.vue'
......
1 <template> 1 <template>
2 <div class="app-wrapper"> 2 <div class="app-wrapper">
3 <!-- <sidebar class="sidebar-container" />
4 <div class="main-container">
5 <navbar />
6 <app-main />
7 </div> -->
8 <navbar /> 3 <navbar />
9 <div class="main-container"> 4 <div class="appMain">
10 <sidebar class="sidebar-container" />
11 <app-main /> 5 <app-main />
12 </div> 6 </div>
13 </div> 7 </div>
...@@ -42,7 +36,7 @@ export default { ...@@ -42,7 +36,7 @@ export default {
42 position: relative; 36 position: relative;
43 height: 100%; 37 height: 100%;
44 width: 100%; 38 width: 100%;
45 background-color: $containerbg; 39
46 40
47 &.mobile.openSidebar { 41 &.mobile.openSidebar {
48 position: fixed; 42 position: fixed;
...@@ -50,23 +44,14 @@ export default { ...@@ -50,23 +44,14 @@ export default {
50 } 44 }
51 } 45 }
52 46
53 .drawer-bg { 47 .appMain {
54 background: #000; 48 height: calc(100vh - 65px);
55 opacity: 0.3; 49 background-color: $containerbg;
56 width: 100%;
57 top: 0;
58 height: 100%;
59 position: absolute;
60 z-index: 999;
61 }
62
63 .fixed-header {
64 width: 100%;
65 transition: width 0.28s;
66 }
67 50
68 .el-dropdown-menu--small { 51 .app-main {
69 padding: 0; 52 height: 100%;
70 width: 5px; 53 padding: 10px;
54 box-sizing: border-box;
55 }
71 } 56 }
72 </style> 57 </style>
......
...@@ -16,14 +16,12 @@ export default { ...@@ -16,14 +16,12 @@ export default {
16 } 16 }
17 </script> 17 </script>
18 <style lang="scss" scoped> 18 <style lang="scss" scoped>
19 .hasTagsView { 19 .app-main {
20 .app-main { 20 height: calc(100vh - 84px);
21 overflow-x: auto; 21 overflow-x: hidden;
22 padding: 5px; 22 box-sizing: border-box;
23 box-sizing: border-box; 23 flex: 1;
24 background-color: #EDF1F7; 24 width: 100%;
25 box-sizing: border-box; 25 margin-right: 15px;
26
27 }
28 } 26 }
29 </style> 27 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template> 1 <template>
2 <div class="navbar-con"> 2 <div class="navbar-con">
3 <div class="navbar"> 3 <div class="navbar">
4 <!-- <div class="backdrop"> 4 <div class="logo">
5 <sidebar /> 5 <img :src="require('@/image/logo.png')" alt="" />
6 </div> --> 6 </div>
7 <div class="backdrop">
8 <Breadcrumb />
9 </div>
7 <div class="right-menu"> 10 <div class="right-menu">
8 <div class="dataView pointer" @click="handleDataView">大屏展示</div> 11 <div class="dataView d-center pointer" @click="handleDataView">大屏展示</div>
9 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> 12 <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand">
10 <div class="avatar-wrapper"> 13 <div class="avatar-wrapper">
11 <span style="padding-right:10px">{{ name }}</span> 14 <span style="padding-right:10px">{{ name }}</span>
...@@ -21,12 +24,12 @@ ...@@ -21,12 +24,12 @@
21 </div> 24 </div>
22 </template> 25 </template>
23 <script> 26 <script>
24 import defaultSettings from '@/settings'
25 import Sidebar from './Sidebar'
26 import { mapGetters } from 'vuex' 27 import { mapGetters } from 'vuex'
28 import Breadcrumb from './Breadcrumb'
29 import defaultSettings from '@/settings'
27 export default { 30 export default {
28 components: { 31 components: {
29 Sidebar, 32 Breadcrumb
30 }, 33 },
31 computed: { 34 computed: {
32 ...mapGetters(['sidebar', 'avatar', 'name']) 35 ...mapGetters(['sidebar', 'avatar', 'name'])
...@@ -54,8 +57,23 @@ export default { ...@@ -54,8 +57,23 @@ export default {
54 } 57 }
55 </script> 58 </script>
56 <style lang="scss" scoped> 59 <style lang="scss" scoped>
60 .navbar-con {
61 position: relative;
62
63 .logo {
64 color: #fff;
65 font-size: 26px;
66 font-weight: 700;
67 }
68 }
69
57 .dataView { 70 .dataView {
58 color: #fff; 71 color: #fff;
72 width: 120px;
73 height: 32px;
74 background: url('../../image/dp.png');
75 background-size: cover;
76 margin-right: 20px;
59 } 77 }
60 78
61 .NoticeBar { 79 .NoticeBar {
...@@ -102,16 +120,28 @@ export default { ...@@ -102,16 +120,28 @@ export default {
102 height: $headerHeight; 120 height: $headerHeight;
103 overflow: hidden; 121 overflow: hidden;
104 position: relative; 122 position: relative;
105 background: linear-gradient(180deg, #0D3DC9 0%, #3476E1 100%); 123 // background: linear-gradient(270deg, #148CEE 0%, #1870E3 100%); //默认颜色
124 // box-shadow: 0 1px 0px rgba(0, 21, 41, 0.08);
125 background: #0D1230;
106 display: flex; 126 display: flex;
107 align-items: center; 127 align-items: center;
108 padding: 0 20px; 128 padding-right: 20px;
109 justify-content: space-between; 129 justify-content: space-between;
130 margin-bottom: 10px;
110 131
111 .header-logo { 132 .header-logo {
112 width: 300px; 133 width: 300px;
113 } 134 }
114 135
136 .backdrop {
137 flex: 1;
138 width: 60%;
139 background-size: 100% 100%;
140 height: $headerHeight;
141 display: flex;
142 align-items: center;
143 }
144
115 .hamburger-container { 145 .hamburger-container {
116 line-height: 43px; 146 line-height: 43px;
117 height: 100%; 147 height: 100%;
......
...@@ -88,4 +88,4 @@ export default { ...@@ -88,4 +88,4 @@ export default {
88 } 88 }
89 } 89 }
90 } 90 }
91 </script>
...\ No newline at end of file ...\ No newline at end of file
91 </script>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <el-menu router :default-active="activeMenu" mode="horizontal"> 3 <el-scrollbar wrap-class="scrollbar-wrapper">
4 <!-- 权限菜单 --> 4 <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText"
5 <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> --> 5 :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false"
6 <!-- 菜单全部展示 --> 6 mode="vertical">
7 <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> 7 <!-- 权限菜单 -->
8 </el-menu> 8 <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> -->
9 <!-- 菜单全部展示 -->
10 <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" />
11 </el-menu>
12 </el-scrollbar>
9 </div> 13 </div>
10 </template> 14 </template>
11 15
12 <script> 16 <script>
13 import { mapGetters } from 'vuex' 17 import { mapGetters } from 'vuex'
14 import Logo from './Logo' 18 import Logo from './Logo'
19 import defaultSettings from '@/settings'
15 import SidebarItem from './SidebarItem' 20 import SidebarItem from './SidebarItem'
16 import variables from '@/styles/variables.scss' 21 import variables from '@/styles/variables.scss'
17 import { asyncRoutes1 } from '@/router' 22 import { asyncRoutes } from '@/router'
18 export default { 23 export default {
19 components: { SidebarItem, Logo }, 24 components: { SidebarItem, Logo },
25 data () {
26 return {
27 title: defaultSettings.title
28 }
29 },
20 computed: { 30 computed: {
21 ...mapGetters(['permission_routes', 'sidebar']), 31 ...mapGetters(['permission_routes', 'sidebar']),
22 activeMenu () { 32 activeMenu () {
...@@ -31,38 +41,8 @@ export default { ...@@ -31,38 +41,8 @@ export default {
31 return variables 41 return variables
32 }, 42 },
33 asyncRoutes () { 43 asyncRoutes () {
34 return asyncRoutes1 44 return asyncRoutes
35 } 45 }
36 } 46 }
37 } 47 }
38 </script>
39 <style scoped lang="scss">
40 .el-menu--horizontal {
41 display: flex;
42 background: none !important;
43 }
44
45 /deep/.el-menu-item:hover {
46 background: none;
47 font-weight: 700;
48 color: #fff !important;
49 }
50
51 /deep/.el-submenu__title {
52 color: #fff;
53 font-size: 18px;
54 }
55
56 /deep/.el-submenu__title:hover {
57 background: none;
58 font-weight: 700;
59 font-size: 20px;
60 }
61
62 /deep/.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
63 background: none;
64 color: #fff;
65 font-size: 20px;
66 font-weight: 700 !important;
67 }
68 </style>
...\ No newline at end of file ...\ No newline at end of file
48 </script>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template> 1 <template>
2 <div class="app-wrapper"> 2 <div class="app-wrapper">
3 <navbar /> 3 <navbar />
4 <div class="appMain"> 4 <div class="main-container">
5 <sidebar class="sidebar-container" />
5 <app-main /> 6 <app-main />
6 </div> 7 </div>
7 </div> 8 </div>
...@@ -36,7 +37,7 @@ export default { ...@@ -36,7 +37,7 @@ export default {
36 position: relative; 37 position: relative;
37 height: 100%; 38 height: 100%;
38 width: 100%; 39 width: 100%;
39 40 background-color: $containerbg;
40 41
41 &.mobile.openSidebar { 42 &.mobile.openSidebar {
42 position: fixed; 43 position: fixed;
...@@ -44,14 +45,23 @@ export default { ...@@ -44,14 +45,23 @@ export default {
44 } 45 }
45 } 46 }
46 47
47 .appMain { 48 .drawer-bg {
48 height: calc(100vh - 65px); 49 background: #000;
49 background-color: $containerbg; 50 opacity: 0.3;
51 width: 100%;
52 top: 0;
53 height: 100%;
54 position: absolute;
55 z-index: 999;
56 }
50 57
51 .app-main { 58 .fixed-header {
52 height: 100%; 59 width: 100%;
53 padding: 10px; 60 transition: width 0.28s;
54 box-sizing: border-box; 61 }
55 } 62
63 .el-dropdown-menu--small {
64 padding: 0;
65 width: 5px;
56 } 66 }
57 </style> 67 </style>
......
...@@ -22,6 +22,12 @@ import 'vue-awesome/icons/align-left.js'; ...@@ -22,6 +22,12 @@ import 'vue-awesome/icons/align-left.js';
22 Vue.prototype.$startLoading = startLoadingAddCount 22 Vue.prototype.$startLoading = startLoadingAddCount
23 Vue.prototype.$endLoading = endLoadingSubCount 23 Vue.prototype.$endLoading = endLoadingSubCount
24 24
25 // 弹框
26 import { popupDialog, popupCacel } from "@/utils/popup.js";
27 // 全局加载
28 Vue.prototype.$popupDialog = popupDialog
29 Vue.prototype.$popupCacel = popupCacel
30
25 import { theme } from "@/directive/theme.js" 31 import { theme } from "@/directive/theme.js"
26 Vue.directive("theme", theme) 32 Vue.directive("theme", theme)
27 Vue.directive('fo', { 33 Vue.directive('fo', {
......
...@@ -17,21 +17,19 @@ router.beforeEach(async (to, from, next) => { ...@@ -17,21 +17,19 @@ router.beforeEach(async (to, from, next) => {
17 } 17 }
18 if (hasAddRoute) { 18 if (hasAddRoute) {
19 next() 19 next()
20 } else {
21 const { result: getMenuData } = await getMenuInfo()
22 const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData)
23 // 获取用户信息
24 await store.dispatch('user/getUserInfo')
25 router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }])
26 const routeTo = Cookies.get('routerTo')
27 if (routeTo && routeTo !== '/') {
28 next({ ...to, replace: true })
29 } else {
30 next('/jgHome')
31 }
20 } 32 }
21 // else {
22 // const { result: getMenuData } = await getMenuInfo()
23 // const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData)
24 // // 获取用户信息
25 // await store.dispatch('user/getUserInfo')
26 // router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }])
27 // const routeTo = Cookies.get('routerTo')
28 // if (routeTo && routeTo !== '/') {
29 // next({ ...to, replace: true })
30 // } else {
31 // next('/home')
32 // }
33 // }
34 next()
35 NProgress.done() 33 NProgress.done()
36 }) 34 })
37 router.afterEach(to => { 35 router.afterEach(to => {
......
...@@ -3,8 +3,6 @@ import Router from 'vue-router' ...@@ -3,8 +3,6 @@ import Router from 'vue-router'
3 Vue.use(Router) 3 Vue.use(Router)
4 /* Layout */ 4 /* Layout */
5 import Layout from '@/layout' 5 import Layout from '@/layout'
6 import Layout1 from '@/layout1'
7
8 /* Router Modules */ 6 /* Router Modules */
9 // import componentsRouter from './modules/components' 7 // import componentsRouter from './modules/components'
10 export const constantRoutes = [ 8 export const constantRoutes = [
...@@ -26,6 +24,21 @@ export const constantRoutes = [ ...@@ -26,6 +24,21 @@ export const constantRoutes = [
26 path: '/dataView', 24 path: '/dataView',
27 name: 'dataView', 25 name: 'dataView',
28 component: () => import('@/views/dataView/index') 26 component: () => import('@/views/dataView/index')
27 },
28 // 监管首页
29 {
30 path: '/',
31 component: Layout,
32 redirect: '/jgHome',
33 meta: { title: '首页' },
34 children: [
35 {
36 path: 'jgHome',
37 component: () => import('@/views/home/index'),
38 name: 'jgHome',
39 meta: { title: '首页', icon: 'workbench', affix: true }
40 }
41 ]
29 } 42 }
30 ] 43 ]
31 /** 44 /**
...@@ -33,17 +46,18 @@ export const constantRoutes = [ ...@@ -33,17 +46,18 @@ export const constantRoutes = [
33 * the routes that need to be dynamically loaded based on user roles 46 * the routes that need to be dynamically loaded based on user roles
34 */ 47 */
35 export const asyncRoutes = [ 48 export const asyncRoutes = [
36 // 系统首页 49 // 监管首页
37 { 50 {
38 path: '/', 51 path: '/',
39 component: Layout, 52 component: Layout,
40 redirect: '/home', 53 redirect: '/jgHome',
54 meta: { title: '首页' },
41 children: [ 55 children: [
42 { 56 {
43 path: 'home', 57 path: 'jgHome',
44 component: () => import('@/views/home/index'), 58 component: () => import('@/views/home/index'),
45 name: 'home', 59 name: 'jgHome',
46 meta: { title: '工作台', icon: 'workbench', affix: true } 60 meta: { title: '首页', icon: 'workbench', affix: true }
47 } 61 }
48 ] 62 ]
49 }, 63 },
...@@ -54,7 +68,7 @@ export const asyncRoutes = [ ...@@ -54,7 +68,7 @@ export const asyncRoutes = [
54 children: [ 68 children: [
55 { 69 {
56 path: 'index', 70 path: 'index',
57 component: () => import('@/views/jsbwcx/index'), 71 component: () => import('@/views/jsbwcx/index.vue'),
58 name: 'jsbwcx', 72 name: 'jsbwcx',
59 meta: { title: '接收报文查询', icon: 'zsgl' } 73 meta: { title: '接收报文查询', icon: 'zsgl' }
60 } 74 }
...@@ -296,110 +310,10 @@ export const asyncRoutes = [ ...@@ -296,110 +310,10 @@ export const asyncRoutes = [
296 } 310 }
297 ] 311 ]
298 312
299 export const asyncRoutes1 = [
300 // 监管首页
301 // {
302 // path: '/',
303 // component: Layout1,
304 // redirect: '/jgHome',
305 // meta: { title: '首页' },
306 // children: [
307 // {
308 // path: 'jgHome',
309 // component: () => import('@/views/jgHome/index'),
310 // name: 'jgHome',
311 // meta: { title: '首页', icon: 'workbench', affix: true }
312 // }
313 // ]
314 // },
315 {
316 path: '/',
317 component: Layout1,
318 redirect: '/jgHome',
319 meta: { title: '首页' },
320 children: [
321 {
322 path: 'jgHome',
323 component: () => import('@/views/home/index'),
324 name: 'jgHome',
325 meta: { title: '首页', icon: 'workbench', affix: true }
326 }
327 ]
328 },
329 // 接收报文查询
330 {
331 path: '/jsbwcx1',
332 component: Layout1,
333 children: [
334 {
335 path: 'index',
336 component: () => import('@/views/jsbwcx/index'),
337 name: 'jsbwcx',
338 meta: { title: '接收报文查询1', icon: 'zsgl' }
339 }
340 ]
341 },
342 // 上报报文查询
343 {
344 path: '/sbbwcx1',
345 component: Layout1,
346 children: [
347 {
348 path: 'index',
349 component: () => import('@/views/sbbwcx/index'),
350 name: 'sbbwcx',
351 meta: { title: '上报报文查询', icon: 'zsgl' }
352 }
353 ]
354 },
355 // 登簿日志
356 {
357 path: '/dbrzcx1',
358 component: Layout1,
359 children: [
360 {
361 path: 'index',
362 component: () => import('@/views/dbrzcx/index'),
363 name: 'dbrzcx',
364 meta: { title: '登簿日志查询', icon: 'zhcx' }
365 }
366 ]
367 },
368 // 系统管理
369 {
370 path: '/system1',
371 component: Layout1,
372 meta: { title: '系统管理', icon: 'sqcx', breadcrumb: false },
373 redirect: '/system/dictionaries',
374 alwaysShow: true,
375 name: 'system',
376 children: [
377 {
378 path: 'dictionaries',
379 component: () => import('@/views/system/dictionaries/dictionaries.vue'),
380 name: 'dictionaries',
381 meta: { title: '字典管理' }
382 },
383 {
384 path: 'validationRule',
385 component: () => import('@/views/system/validationRule'),
386 name: 'validationRule',
387 meta: { title: '上报效验规则配置' }
388 },
389 {
390 path: 'timedTask',
391 component: () => import('@/views/system/timedTask'),
392 name: 'timedTask',
393 meta: { title: '定时任务' }
394 }
395 ]
396 }
397 ]
398
399 const createRouter = () => 313 const createRouter = () =>
400 new Router({ 314 new Router({
401 scrollBehavior: () => ({ y: 0 }), 315 scrollBehavior: () => ({ y: 0 }),
402 routes: [...constantRoutes, ...asyncRoutes, ...asyncRoutes1] 316 routes: [...constantRoutes, ...asyncRoutes]
403 }) 317 })
404 318
405 const router = createRouter() 319 const router = createRouter()
......
1 import { asyncRoutes, constantRoutes, resetRouter } from '@/router' 1 import { constantRoutes } from '@/router'
2 import asyncRouter from '@/utils/asyncRouter.js' 2 import asyncRouter from '@/utils/asyncRouter.js'
3 const state = { 3 const state = {
4 routes: [], 4 routes: [],
......
...@@ -106,14 +106,14 @@ ...@@ -106,14 +106,14 @@
106 106
107 ::-webkit-scrollbar-track { 107 ::-webkit-scrollbar-track {
108 width: 7px; 108 width: 7px;
109 background-color: rgba(255, 255, 255, 0); 109 background-color: #29409D;
110 -webkit-border-radius: 6px; 110 -webkit-border-radius: 6px;
111 -moz-border-radius: 6px; 111 -moz-border-radius: 6px;
112 border-radius: 6px; 112 border-radius: 6px;
113 } 113 }
114 114
115 ::-webkit-scrollbar-thumb { 115 ::-webkit-scrollbar-thumb {
116 background-color: rgb(207, 208, 209); 116 background-color: #355194;
117 background-clip: padding-box; 117 background-clip: padding-box;
118 min-height: 28px; 118 min-height: 28px;
119 -webkit-border-radius: 6px; 119 -webkit-border-radius: 6px;
......
1 .tableClass { 1 .tableClass {
2 /deep/.el-table { 2 /deep/.el-table {
3 border: none !important; 3 border: none !important;
4 border-radius: 0 !important;
5
6 .el-table__header-wrapper {
7 border-right: 1px solid #103E99;
8 }
4 9
5 .cell { 10 .cell {
6 color: #FFFFFF !important; 11 color: #FFFFFF !important;
...@@ -108,6 +113,11 @@ ...@@ -108,6 +113,11 @@
108 color: #FFFFFF; 113 color: #FFFFFF;
109 border: none; 114 border: none;
110 } 115 }
116
117 .el-pager li {
118 background: #1F357A;
119 color: #FFFFFF;
120 }
111 } 121 }
112 122
113 /deep/.btn-next, 123 /deep/.btn-next,
......
1 import Popup from '@/components/Popup/index' 1 import Popup from '@/components/Popup/index'
2 export function popupDialog (title, url, params, width = '75%', height, btnShow = false, callback) { 2 export function popupDialog (title, url, params, width = '75%', height, btnShow = false, callback) {
3 Popup.install(title, url, { 3 // Popup.install
4 Popup(title, url, {
4 height: height, 5 height: height,
5 width: width, 6 width: width,
6 formData: params, 7 formData: params,
...@@ -12,4 +13,8 @@ export function popupDialog (title, url, params, width = '75%', height, btnShow ...@@ -12,4 +13,8 @@ export function popupDialog (title, url, params, width = '75%', height, btnShow
12 callback 13 callback
13 } 14 }
14 }) 15 })
16 }
17
18 export function popupCacel () {
19 Popup1().close()
15 } 20 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -36,7 +36,6 @@ ...@@ -36,7 +36,6 @@
36 </div> 36 </div>
37 </div> 37 </div>
38 </template> 38 </template>
39
40 <script> 39 <script>
41 import drawMixin from "../../utils/drawMixin"; 40 import drawMixin from "../../utils/drawMixin";
42 import leftcard from './leftcard' 41 import leftcard from './leftcard'
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
35 </div> 35 </div>
36 <!-- 列表区域 --> 36 <!-- 列表区域 -->
37 <div class="from-clues-content"> 37 <div class="from-clues-content">
38 <lb-table :page-size="pageData.size" :heightNum="200" :current-page.sync="pageData.current" 38 <lb-table :page-size="pageData.size" :heightNum="210" :current-page.sync="pageData.current"
39 :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" 39 :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
40 :column="tableData.columns" :data="tableData.data"> 40 :column="tableData.columns" :data="tableData.data">
41 </lb-table> 41 </lb-table>
......
...@@ -241,10 +241,9 @@ ...@@ -241,10 +241,9 @@
241 241
242 .jrxxlb { 242 .jrxxlb {
243 margin-top: 5px; 243 margin-top: 5px;
244 background-color: #000637;
245 244
246 /deep/tbody tr:nth-child(odd) { 245 /deep/tbody tr:nth-child(odd) {
247 background: #000637 !important; 246 background: #132E82 !important;
248 } 247 }
249 248
250 .title { 249 .title {
......
1 <template>
2 <!-- 编辑 -->
3 <dialogBox title="详情" @closeDialog="closeDialog" @submitForm="handleSubmit" v-model="myValue">
4 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
5 <el-row>
6 <el-col :span="6">
7 <el-form-item label="行政区代码" prop="xzqdm">
8 <el-input v-model="ruleForm.xzqdm" placeholder="行政区代码"></el-input>
9 </el-form-item>
10 </el-col>
11 <el-col :span="6">
12 <el-form-item label="行政区名称" prop="xzqmc">
13 <el-input v-model="ruleForm.xzqmc" placeholder="行政区名称"></el-input>
14 </el-form-item>
15 </el-col>
16 <el-col :span="6">
17 <el-form-item label="不动产单元号" prop="bdcdyh">
18 <el-input v-model="ruleForm.bdcdyh" placeholder="不动产单元号"></el-input>
19 </el-form-item>
20 </el-col>
21 <el-col :span="6">
22 <el-form-item label="业务名称" prop="ywmc">
23 <el-input v-model="ruleForm.ywmc" placeholder="业务名称"></el-input>
24 </el-form-item>
25 </el-col>
26 </el-row>
27 <el-row>
28 <el-col :span="6">
29 <el-form-item label="操作时间" prop="czsj">
30 <el-date-picker v-model="ruleForm.czsj" class="width100" type="datetime" placeholder="操作时间">
31 </el-date-picker>
32 </el-form-item>
33 </el-col>
34 </el-row>
35 </el-form>
36 </dialogBox>
37 </template>
38
39 <script>
40 export default {
41 props: {
42 value: { type: Boolean, default: false },
43 },
44 data () {
45 return {
46 myValue: this.value,
47 ruleForm: {
48 xzqdm: '',
49 xzqmc: '',
50 bdcdyh: '',
51 ywmc: '',
52 czsj: ''
53 },
54 rules: {
55 xzqdm: [
56 { required: true, message: '行政区代码', trigger: 'blur' }
57 ],
58 xzqmc: [
59 { required: true, message: '行政区名称', trigger: 'blur' }
60 ],
61 bdcdyh: [
62 { required: true, message: '不动产单元号', trigger: 'blur' }
63 ],
64 ywmc: [
65 { required: true, message: '业务名称', trigger: 'blur' }
66 ],
67 czsj: [
68 { required: true, message: '操作时间', trigger: 'blur' }
69 ]
70 }
71 }
72 },
73 watch: {
74 value (val) {
75 this.myValue = val
76 }
77 },
78 methods: {
79 closeDialog () {
80 this.$emit('input', false)
81 },
82 handleSubmit () {
83 this.$emit('input', false)
84 }
85 }
86 }
87 </script>
...\ No newline at end of file ...\ No newline at end of file
...@@ -74,8 +74,6 @@ ...@@ -74,8 +74,6 @@
74 :data="tableData.data"> 74 :data="tableData.data">
75 </lb-table> 75 </lb-table>
76 </div> 76 </div>
77 <!-- 编辑 -->
78 <dataDetails ref="editLog" :bsmSjsb="bsmSjsb" :diaData="diaData" />
79 </div> 77 </div>
80 </template> 78 </template>
81 79
...@@ -85,18 +83,11 @@ ...@@ -85,18 +83,11 @@
85 import data from "./data" 83 import data from "./data"
86 // 引入table混入方法 84 // 引入table混入方法
87 import tableMixin from '@/mixins/tableMixin.js' 85 import tableMixin from '@/mixins/tableMixin.js'
88 // 引入详情组件
89 import dataDetails from '@/components/dataDetails/edit-dialog'
90 export default { 86 export default {
91 name: "jsbwcx", 87 name: "jsbwcx",
92 mixins: [tableMixin], 88 mixins: [tableMixin],
93 components: {
94 dataDetails
95 },
96 data () { 89 data () {
97 return { 90 return {
98 diaData: {},
99 bsmSjsb: '',
100 // 开始结束日期限制 91 // 开始结束日期限制
101 pickerOptionsStart: { 92 pickerOptionsStart: {
102 disabledDate: (time) => { 93 disabledDate: (time) => {
...@@ -220,16 +211,11 @@ export default { ...@@ -220,16 +211,11 @@ export default {
220 resetForm () { 211 resetForm () {
221 this.$refs.ruleForm.resetFields(); 212 this.$refs.ruleForm.resetFields();
222 }, 213 },
223 async featchData () { 214 featchData () {
224 }, 215 },
225 // 详情 216 // 详情
226 handleEdit (row) { 217 handleEdit () {
227 this.diaData.list = [{ 218 this.$popupDialog('业务报文', 'components/JsonEditor/index', {}, '50%', '320px')
228 chineseTable: '测试',
229 dataTable: '222',
230 soleUrl: 'acceptanceInfo'
231 }]
232 this.$refs.editLog.isShow()
233 } 219 }
234 } 220 }
235 } 221 }
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
51 <!-- 操作按钮 --> 51 <!-- 操作按钮 -->
52 <el-col :span="12" class="btnColRight"> 52 <el-col :span="12" class="btnColRight">
53 <btn nativeType="cz" @click="resetForm('ruleForm')">重置</btn> 53 <btn nativeType="cz" @click="resetForm('ruleForm')">重置</btn>
54 <btn nativeType="cx" @click="featchData">查询</btn> 54 <btn nativeType="cx" @click="queryClick">查询</btn>
55 <btn nativeType="sb" @click="handleEscalation">上报</btn> 55 <btn nativeType="sb" @click="handleEscalation">上报</btn>
56 </el-col> 56 </el-col>
57 </el-row> 57 </el-row>
...@@ -59,13 +59,12 @@ ...@@ -59,13 +59,12 @@
59 </div> 59 </div>
60 <!-- 列表 --> 60 <!-- 列表 -->
61 <div class="from-clues-content"> 61 <div class="from-clues-content">
62 <lb-table ref="table" @selection-change="handleSelectionChange" :page-size="pageData.size" 62 <lb-table :page-size="pageData.pageSize" :current-page.sync="pageData.currentPage" :total="tableData.total"
63 :current-page.sync="pageData.current" :total="tableData.total" @size-change="handleSizeChange" 63 @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
64 @p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data"> 64 :data="tableData.data">
65 </lb-table> 65 </lb-table>
66 </div> 66 </div>
67 <!-- 引入详情组件 --> 67 <!-- 引入详情组件 -->
68 <!-- <detailDialog v-model="isShow" /> -->
69 <!-- 编辑 --> 68 <!-- 编辑 -->
70 <dataDetails ref="editLog" /> 69 <dataDetails ref="editLog" />
71 </div> 70 </div>
...@@ -75,14 +74,14 @@ ...@@ -75,14 +74,14 @@
75 // 引入表头数据 74 // 引入表头数据
76 import data from "./data" 75 import data from "./data"
77 // 引入表格混入方法 76 // 引入表格混入方法
78 import tableMixin from '@/mixins/tableMixin.js' 77 import table from "@/utils/mixin/table"
79 // 引入详情弹框 78 // 引入详情弹框
80 import dataDetails from '@/components/dataDetails/edit-dialog' 79 import dataDetails from '@/components/dataDetails/edit-dialog'
81 import { getDataReportPage } from "@/api/sbbwcx.js"; 80 import { getDataReportPage } from "@/api/sbbwcx.js";
82 81
83 export default { 82 export default {
84 name: "sbbwcx", 83 name: "sbbwcx",
85 mixins: [tableMixin], 84 mixins: [table],
86 // 注册组件 85 // 注册组件
87 components: { 86 components: {
88 dataDetails 87 dataDetails
...@@ -130,8 +129,8 @@ export default { ...@@ -130,8 +129,8 @@ export default {
130 return ( 129 return (
131 <div> 130 <div>
132 <el-button 131 <el-button
133 type="text"
134 size="mini" 132 size="mini"
133 type="primary"
135 onClick={() => { this.handleDetail(scope.row) }} 134 onClick={() => { this.handleDetail(scope.row) }}
136 > 135 >
137 详情 136 详情
...@@ -142,13 +141,7 @@ export default { ...@@ -142,13 +141,7 @@ export default {
142 } 141 }
143 ]), 142 ]),
144 total: 0, 143 total: 0,
145 data: [], 144 data: [{}],
146 },
147 // 分页
148 pageData: {
149 total: 0,
150 pageSize: 15,
151 current: 1,
152 }, 145 },
153 // 行政区 146 // 行政区
154 xzqOptions: [ 147 xzqOptions: [
...@@ -177,7 +170,7 @@ export default { ...@@ -177,7 +170,7 @@ export default {
177 this.$refs.ruleForm.resetFields(); 170 this.$refs.ruleForm.resetFields();
178 }, 171 },
179 // 初始化数据 172 // 初始化数据
180 featchData () { 173 queryClick () {
181 getDataReportPage({ ...this.form, ...this.pageData }).then(res => { 174 getDataReportPage({ ...this.form, ...this.pageData }).then(res => {
182 if (res.code === 200) { 175 if (res.code === 200) {
183 let { total, records } = res.result 176 let { total, records } = res.result
...@@ -188,7 +181,6 @@ export default { ...@@ -188,7 +181,6 @@ export default {
188 }, 181 },
189 // 多选 182 // 多选
190 handleSelectionChange (val) { 183 handleSelectionChange (val) {
191
192 }, 184 },
193 // 上报 185 // 上报
194 handleEscalation () { }, 186 handleEscalation () { },
......