Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/js-web-jianguan
Showing
34 changed files
with
398 additions
and
491 deletions
| ... | @@ -20,6 +20,7 @@ | ... | @@ -20,6 +20,7 @@ |
| 20 | "nprogress": "0.2.0", | 20 | "nprogress": "0.2.0", |
| 21 | "vue": "2.6.10", | 21 | "vue": "2.6.10", |
| 22 | "vue-awesome": "^4.5.0", | 22 | "vue-awesome": "^4.5.0", |
| 23 | "vue-json-editor": "^1.4.3", | ||
| 23 | "vue-router": "3.0.2", | 24 | "vue-router": "3.0.2", |
| 24 | "vuex": "3.1.0" | 25 | "vuex": "3.1.0" |
| 25 | }, | 26 | }, | ... | ... |
| ... | @@ -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 | }) | ... | ... |
src/components/JsonEditor/index.vue
0 → 100644
| 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 | 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 | } | ||
| 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> | ||
| 7 | <div class="backdrop"> | ||
| 8 | <Breadcrumb /> | ||
| 9 | </div> | 6 | </div> |
| 7 | <div class="sidebarRight d-center"> | ||
| 8 | <sidebarRight /> | ||
| 10 | <div class="right-menu"> | 9 | <div class="right-menu"> |
| 11 | <div class="dataView d-center pointer" @click="handleDataView">大屏展示</div> | 10 | <div class="dataView pointer" @click="handleDataView">大屏展示</div> |
| 12 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> | 11 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> |
| 13 | <div class="avatar-wrapper"> | 12 | <div class="avatar-wrapper"> |
| 14 | <span style="padding-right:10px">{{ name }}</span> | 13 | <span style="padding-right:10px">{{ name }}</span> |
| ... | @@ -22,14 +21,17 @@ | ... | @@ -22,14 +21,17 @@ |
| 22 | </div> | 21 | </div> |
| 23 | </div> | 22 | </div> |
| 24 | </div> | 23 | </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 | 84 | ||
| 90 | .el-dropdown-menu__item { | 85 | /deep/.el-submenu__title span { |
| 91 | text-align: center; | ||
| 92 | margin-top: 0 !important; | ||
| 93 | font-size: 14px; | 86 | font-size: 14px; |
| 94 | font-family: PingFangSC-Regular, PingFang SC; | 87 | } |
| 95 | font-weight: 400; | ||
| 96 | color: #4A4A4A; | ||
| 97 | width: 140px; | ||
| 98 | height: 36px; | ||
| 99 | line-height: 36px; | ||
| 100 | } | ||
| 101 | 88 | ||
| 102 | .el-dropdown-menu__item:nth-child(6) { | 89 | // 导航选中背景色 |
| 103 | border-top: 1px solid #EBEEF5; | 90 | .xuanzhong { |
| 104 | } | 91 | background: linear-gradient(180deg, #73551D 0%, #C09C43 100%); |
| 92 | font-weight: 700; | ||
| 93 | color: #FFFFFF !important; | ||
| 94 | } | ||
| 105 | 95 | ||
| 106 | .popper__arrow { | 96 | /deep/.el-menu-item:hover { |
| 107 | top: -11px !important; | 97 | @extend .xuanzhong; |
| 108 | left: 110px !important; | 98 | } |
| 109 | transform: rotate(0deg) scale(2); | ||
| 110 | } | ||
| 111 | 99 | ||
| 112 | .el-dropdown-menu__item:not(.is-disabled):hover, | 100 | /deep/.el-submenu__title:hover { |
| 113 | .el-dropdown-menu__item:focus { | 101 | @extend .xuanzhong; |
| 114 | background: #F6F7F9; | 102 | } |
| 115 | color: #4A4A4A; | 103 | |
| 116 | } | 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> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <el-menu router :default-active="activeMenu" mode="horizontal"> |
| 3 | <el-scrollbar wrap-class="scrollbar-wrapper"> | ||
| 4 | <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" | ||
| 5 | :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" | ||
| 6 | mode="vertical"> | ||
| 7 | <!-- 权限菜单 --> | 3 | <!-- 权限菜单 --> |
| 8 | <!-- <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" /> --> | 4 | <sidebar-item v-for="route in permission_routes.slice(2, 5)" :key="route.path" :item="route" |
| 5 | :base-path="route.path" /> | ||
| 9 | <!-- 菜单全部展示 --> | 6 | <!-- 菜单全部展示 --> |
| 10 | <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> | 7 | <!-- <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> --> |
| 11 | </el-menu> | 8 | </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> | 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 /> | 3 | <navbar /> |
| 6 | <app-main /> | 4 | <div class="appMain"> |
| 7 | </div> --> | ||
| 8 | <navbar /> | ||
| 9 | <div class="main-container"> | ||
| 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; | ||
| 23 | box-sizing: border-box; | 22 | box-sizing: border-box; |
| 24 | background-color: #EDF1F7; | 23 | flex: 1; |
| 25 | box-sizing: border-box; | 24 | width: 100%; |
| 26 | 25 | margin-right: 15px; | |
| 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%; | ... | ... |
| 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 | <el-menu router :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText" | ||
| 5 | :unique-opened="true" :active-text-color="variables.menuActiveText" :collapse-transition="false" | ||
| 6 | mode="vertical"> | ||
| 4 | <!-- 权限菜单 --> | 7 | <!-- 权限菜单 --> |
| 5 | <!-- <sidebar-item v-for="route in permission_routes" :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" /> --> |
| 6 | <!-- 菜单全部展示 --> | 9 | <!-- 菜单全部展示 --> |
| 7 | <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> | 10 | <sidebar-item v-for="route in asyncRoutes" :key="route.path" :item="route" :base-path="route.path" /> |
| 8 | </el-menu> | 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> | 48 | </script> |
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 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 | ... | ... |
| 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; |
| 50 | 51 | width: 100%; | |
| 51 | .app-main { | 52 | top: 0; |
| 52 | height: 100%; | 53 | height: 100%; |
| 53 | padding: 10px; | 54 | position: absolute; |
| 54 | box-sizing: border-box; | 55 | z-index: 999; |
| 55 | } | 56 | } |
| 57 | |||
| 58 | .fixed-header { | ||
| 59 | width: 100%; | ||
| 60 | transition: width 0.28s; | ||
| 61 | } | ||
| 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() | ... | ... |
| ... | @@ -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, |
| ... | @@ -13,3 +14,7 @@ export function popupDialog (title, url, params, width = '75%', height, btnShow | ... | @@ -13,3 +14,7 @@ export function popupDialog (title, url, params, width = '75%', height, btnShow |
| 13 | } | 14 | } |
| 14 | }) | 15 | }) |
| 15 | } | 16 | } |
| 17 | |||
| 18 | export function popupCacel () { | ||
| 19 | Popup1().close() | ||
| 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 () { }, | ... | ... |
-
Please register or sign in to post a comment