界面,修改

master
xy 1 year ago
parent fcdc5e2747
commit fd3699a3ae

@ -10,7 +10,7 @@
<template v-else> <template v-else>
<i :class="icon" style="padding: 0 6px;"></i> <i :class="icon" style="padding: 0 6px;"></i>
</template> </template>
<span>{{text}}</span> <span style="margin-left: 5px;line-height: 2;font-size: 16px;">{{text}}</span>
</div> </div>
<div class="content"> <div class="content">
<slot name="content"></slot> <slot name="content"></slot>
@ -37,20 +37,29 @@ export default {
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="scss" scoped>
.v-header { .v-header {
display: flex; display: flex;
border-bottom: 1px solid #dcdee2;
flex-direction: column; flex-direction: column;
margin-top: 10px;
margin-bottom: 10px;
.v-left-text { .v-left-text {
margin-top: 3px;
padding-bottom: 6px;
// padding-top: 10px;
font-weight: bold; font-weight: bold;
font-size: 15px; font-size: 15px;
color: #0077CC; color: #0077CC;
white-space: nowrap; white-space: nowrap;
border-bottom: 2px solid #0077CC; padding: 0 20px 6px;
position: relative;
&::after {
content: "";
width: 100%;
height: 2px;
background: linear-gradient(to right, $primaryColor 30%, #ffffff33);
position: absolute;
bottom: -1px;
left: 0;
}
> span { > span {
position: relative; position: relative;

@ -218,14 +218,10 @@ export default {
// //
initLoad() { initLoad() {
if (this.height) return; if (this.height) return;
let clientHeight = document.documentElement.clientHeight; let appMainHeight = document.querySelector('.app-main-scroll')?.getBoundingClientRect()?.height;
let lxheader = document.querySelector(".v-header")?.getBoundingClientRect(); let lxheader = document.querySelector(".v-header")?.getBoundingClientRect();
let lxHeader_height = lxheader.height + 25; //
let paginationHeight = 37; // let paginationHeight = 37; //
let topHeight = 50; // this.tableHeight = appMainHeight - paginationHeight - lxheader?.height - 20;
this.tableHeight =
clientHeight - lxHeader_height - topHeight - paginationHeight - 20 - 25;
//console.log(this.tableHeight)
}, },
async getTableData(isRefresh = false) { async getTableData(isRefresh = false) {
if (isRefresh) { if (isRefresh) {
@ -485,7 +481,7 @@ export default {
createPage() { createPage() {
if (this.isPage) if (this.isPage)
return ( return (
<div> <div class="xy-table__page">
<transition <transition
enter-active-class="slide-in-bottom" enter-active-class="slide-in-bottom"
leave-to-class="slide-out-down" leave-to-class="slide-out-down"
@ -503,7 +499,7 @@ export default {
size="small" size="small"
show-elevator={true} show-elevator={true}
show-sizer={this.showSizer} show-sizer={this.showSizer}
class="xy-table__page" class="xy-table__pagecpn"
on={{ on={{
["on-page-size-change"]: (e) => { ["on-page-size-change"]: (e) => {
if (this.action) { if (this.action) {
@ -526,23 +522,31 @@ export default {
<el-popover <el-popover
placement="top-start" placement="top-start"
width="200" width="608"
trigger="hover" trigger="hover"
scopedSlots={{ scopedSlots={{
default: () => { default: () => {
return ( return (
<el-checkbox-group v-model={this.checkTable}> <el-transfer vModel={this.checkTable}
{this.$props?.tableItem?.map((item, index) => { titles={['未显示字段','显示字段']}
return item.type !== "expand" ? ( data={this.$props?.tableItem}
<el-checkbox label={item.prop} key={item.prop}> props={{
{item.label} props: { key: 'prop', label: 'label' }
</el-checkbox> }}></el-transfer>
) : ( )
"" // return (
); // <el-checkbox-group v-model={this.checkTable}>
})} // {this.$props?.tableItem?.map((item, index) => {
</el-checkbox-group> // return item.type !== "expand" ? (
); // <el-checkbox label={item.prop} key={item.prop}>
// {item.label}
// </el-checkbox>
// ) : (
// ""
// );
// })}
// </el-checkbox-group>
// );
}, },
}} }}
> >
@ -1061,16 +1065,13 @@ export default {
display: flex; display: flex;
justify-content: right; justify-content: right;
align-items: center; align-items: center;
border-bottom-right-radius: 4px; border-bottom-right-radius: 6px;
border-bottom-left-radius: 4px; border-bottom-left-radius: 6px;
background: rgba(140, 140, 140, 0.6); background: rgba(140, 140, 140, 0.6);
z-index: 10; z-index: 10;
padding: 6px 10px !important; padding: 6px 10px !important;
position: relative; position: relative;
top: 0;
left: 0;
right: 0;
::v-deep .ivu-page-item, ::v-deep .ivu-page-item,
.ivu-page-options { .ivu-page-options {

@ -1,11 +1,13 @@
<template> <template>
<section class="app-main"> <el-scrollbar wrap-class="app-main-scroll" class="main-scroll">
<transition name="fade-transform" mode="out-in"> <section class="app-main">
<keep-alive :include="['tableList','mapList']"> <transition name="fade-transform" mode="out-in">
<router-view :key="key" /> <keep-alive :include="['tableList','mapList']">
</keep-alive> <router-view :key="key" />
</transition> </keep-alive>
</section> </transition>
</section>
</el-scrollbar>
</template> </template>
<script> <script>
@ -20,24 +22,41 @@ export default {
</script> </script>
<style> <style>
.app-main-scroll { .app-main-scroll::-webkit-scrollbar {
width: calc(100% - 30px * 2); height: 0;
height: calc(100vh - var(--navbar-height) - 20px - 20px);
margin-top: calc(var(--navbar-height) + 20px);
margin-left: 30px;
} }
</style> </style>
<style scoped> <style scoped>
.main-scroll {
height: calc(100vh - var(--navbar-height) - 20px - 46px);
border-radius: 6px;
width: calc(100% - 30px * 2);
margin: calc(var(--navbar-height) + 20px) auto 0;
position: relative;
z-index: 10;
padding-bottom: 0;
background: #fff;
}
@media screen and (min-width: 1680px) {
.main-scroll {
height: calc(100vh - var(--navbar-height) - 20px - 56px);
}
}
.app-main { .app-main {
/*50 = navbar */ /*50 = navbar */
border-radius: 6px; border-radius: 6px;
max-height: calc(100vh - var(--navbar-height) - 20px - 20px); max-height: calc(100vh - var(--navbar-height) - 20px - 46px);
width: calc(100% - 30px * 2); width: 100%;
z-index: 10; z-index: 10;
margin: calc(var(--navbar-height) + 20px) auto 0; //margin: calc(var(--navbar-height) + 20px) auto 0;
position: relative; position: relative;
overflow: scroll; //overflow: scroll;
padding: 20px; //padding: 20px;
}
@media screen and (min-width: 1680px) {
.app-main {
height: calc(100vh - var(--navbar-height) - 20px - 56px);
}
} }
.fixed-header+.app-main { .fixed-header+.app-main {

@ -14,7 +14,7 @@
<div class="right-menu"> <div class="right-menu">
<el-dropdown class="avatar-container" trigger="click"> <el-dropdown class="avatar-container" trigger="click">
<div class="avatar-wrapper"> <div class="avatar-wrapper">
<el-badge is-dot class="notice"> <el-badge is-dot class="notice" @click="$router.push('/info/password')">
<i class="el-icon-bell"></i> <i class="el-icon-bell"></i>
</el-badge> </el-badge>
<img src="../../assets/face.jpg" class="user-avatar"> <img src="../../assets/face.jpg" class="user-avatar">
@ -109,7 +109,7 @@
margin-left: 23px; margin-left: 23px;
& > img { & > img {
height: 32%; height: 33%;
} }
} }
.hamburger-container { .hamburger-container {

@ -7,6 +7,10 @@
<navbar /> <navbar />
</div> </div>
<app-main /> <app-main />
<footer>
版权所有无锡市交通产业集团有限公司
</footer>
</div> </div>
</div> </div>
</template> </template>
@ -90,4 +94,20 @@ export default {
.mobile .fixed-header { .mobile .fixed-header {
width: 100%; width: 100%;
} }
footer {
line-height: 14px;
font-size: 14px;
text-align: center;
margin-top: 16px;
color: #595959;
}
@media screen and (min-width: 1680px) {
footer {
line-height: 16px;
font-size: 16px;
text-align: center;
margin-top: 20px;
color: #595959;
}
}
</style> </style>

@ -191,7 +191,7 @@ top: 41px !important;
} }
.app-main{ .app-main{
background: #fff; //background: #fff;
} }
#nprogress .bar{ #nprogress .bar{

@ -324,7 +324,8 @@ export class CreateDialog {
: "编辑", : "编辑",
visible: that.dialogVisible, visible: that.dialogVisible,
width: this.options?.width ? this.options.width : "800px", width: this.options?.width ? this.options.width : "800px",
"close-on-click-modal": false "close-on-click-modal": false,
"append-to-body": true
}, },
on: { on: {
"update:visible": (val) => { "update:visible": (val) => {

@ -1,5 +1,5 @@
<template> <template>
<div> <div style="padding: 0 20px;">
<el-page-header <el-page-header
:content="$route.meta.title" :content="$route.meta.title"
style=" style="

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>
@ -138,7 +137,7 @@ export default {
{ {
prop: "operate", prop: "operate",
label: "操作", label: "操作",
minWidth: 140, minWidth: 160,
align: "left", align: "left",
fixed: "right", fixed: "right",
customFn: row => { customFn: row => {

@ -1,14 +1,15 @@
<template> <template>
<div> <div>
<Drawer <el-drawer
ref="dialog" ref="dialog"
width="600px" size="600px"
placement="right" placement="right"
v-model="isShow" :append-to-body="true"
:visible.sync="isShow"
title="附件" title="附件"
:footer-hide="true" :footer-hide="true"
> >
<div style="display: flex;align-items: center;"> <div style="display: flex;align-items: center;padding-left: 20px;">
<el-select size="small" collapse-tags style="width: 200px;" filterable allow-create clearable v-model="filterTag" placeholder="标签" multiple> <el-select size="small" collapse-tags style="width: 200px;" filterable allow-create clearable v-model="filterTag" placeholder="标签" multiple>
<el-option v-for="item in ['工程类','资产类']" :value="item" :label="item"> <el-option v-for="item in ['工程类','资产类']" :value="item" :label="item">
</el-option> </el-option>
@ -18,9 +19,9 @@
<Table stripe style="margin-top: 20px;" size="small" :data="fileData" :columns="table"> <Table stripe style="margin-top: 20px;" size="small" :data="fileData" :columns="table">
</Table> </Table>
</Drawer> </el-drawer>
<Modal title="新增附件" width="580px" v-model="isShowModal" @on-ok="submit"> <el-dialog title="新增附件" width="580px" :modal-append-to-body="true" :append-to-body="true" :visible.sync="isShowModal">
<el-form size="small" label-width="100px"> <el-form size="small" label-width="100px">
<el-form-item label="年份选择"> <el-form-item label="年份选择">
<el-date-picker v-model="form.year" value-format="yyyy" style="width: 300px;" placeholder="年份选择" type="year"></el-date-picker> <el-date-picker v-model="form.year" value-format="yyyy" style="width: 300px;" placeholder="年份选择" type="year"></el-date-picker>
@ -61,7 +62,12 @@
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
</Modal>
<div slot="footer">
<Button type="primary" ghost @click="hidden"></Button>
<Button type="primary" @click="submit"></Button>
</div>
</el-dialog>
</div> </div>
</template> </template>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -1080,10 +1080,9 @@ $staticsHeight: 60px;
//} //}
#map { #map {
border-radius: 4px; border-radius: 6px;
filter: drop-shadow(2px 2px 5px #00000033); filter: drop-shadow(2px 2px 5px #00000033);
margin-top: 20px;
} }
.fade-enter-active { .fade-enter-active {

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

File diff suppressed because it is too large Load Diff

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
:icon="$route.meta.icon" :icon="$route.meta.icon"
:text="$route.meta.title" :text="$route.meta.title"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -2,6 +2,8 @@
<div> <div>
<el-dialog <el-dialog
title="提示" title="提示"
:modal-append-to-body="true"
:append-to-body="true"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:fullscreen="true" :fullscreen="true"
:before-close="handleClose" :before-close="handleClose"

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<el-dialog title="关联" :visible.sync="dialogVisible" width="66%"> <el-dialog title="关联" :modal-append-to-body="true" :append-to-body="true" :visible.sync="dialogVisible" width="66%">
<template> <template>
<el-button size="small" type="primary" icon="el-icon-plus" @click="list.push({ link_table_name: '',local_key: '',foreign_key: '',link_relation: '' })"></el-button> <el-button size="small" type="primary" icon="el-icon-plus" @click="list.push({ link_table_name: '',local_key: '',foreign_key: '',link_relation: '' })"></el-button>

@ -6,7 +6,6 @@
<LxHeader <LxHeader
icon="md-apps" icon="md-apps"
text="自定义表单" text="自定义表单"
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
> >
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>

@ -1,66 +1,66 @@
<template> <template>
<div class="" style="margin-top: 20px;"> <div class="" style="padding: 20px;">
<div v-if="user"> <div v-if="user">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6" :xs="24"> <el-col :span="6" :xs="24">
<user-card :user="user" /> <user-card :user="user" />
</el-col> </el-col>
<el-col :span="18" :xs="24"> <el-col :span="18" :xs="24">
<el-card> <el-card>
<el-tabs v-model="activeTab"> <el-tabs v-model="activeTab">
<el-tab-pane label="操作日志" name="timeline"> <el-tab-pane label="操作日志" name="timeline">
<timeline /> <timeline />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="信息修改" name="account"> <el-tab-pane label="信息修改" name="account">
<account /> <account />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import {
mapGetters mapGetters
} from 'vuex' } from 'vuex'
import UserCard from './components/UserCard' import UserCard from './components/UserCard'
import Timeline from './components/Timeline' import Timeline from './components/Timeline'
import Account from './components/Account' import Account from './components/Account'
import { import {
getInfo getInfo
} from '../../api/user.js' } from '../../api/user.js'
export default { export default {
name: 'Profile', name: 'Profile',
components: { components: {
UserCard, UserCard,
Timeline, Timeline,
Account Account
}, },
data() { data() {
return { return {
user: {}, user: {},
activeTab: 'timeline' activeTab: 'timeline'
} }
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
'name', 'name',
'avatar', 'avatar',
'roles' 'roles'
]) ])
}, },
created() { created() {
this.getUser() this.getUser()
}, },
methods: { methods: {
getUser() { getUser() {
getInfo().then(res => { getInfo().then(res => {
@ -70,9 +70,9 @@
role: this.roles.join(' | '), role: this.roles.join(' | '),
avatar: this.avatar avatar: this.avatar
} }
}) })
} }
} }
} }
</script> </script>

Loading…
Cancel
Save