Compare commits

...

2 Commits

Author SHA1 Message Date
wlikett 75852d6255 qiyerzhengbufengdaim 2023-11-30 18:38:05 +08:00
songyang e56507e965 第一次更新 2023-11-30 16:00:31 +08:00
21 changed files with 765 additions and 547 deletions

View File

@ -6,20 +6,20 @@
</template>
<script>
import ThemePicker from "@/components/ThemePicker";
import ThemePicker from '@/components/ThemePicker'
export default {
name: "App",
name: 'App',
components: { ThemePicker },
metaInfo() {
return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
titleTemplate: title => {
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
}
}
metaInfo() {
return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
titleTemplate: (title) => {
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
}
}
};
}
}
</script>
<style scoped>
#app .theme-picker {

View File

@ -0,0 +1 @@
<svg t="1701325111710" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3340" width="200" height="200"><path d="M704 192a106.666667 106.666667 0 0 1 106.666667 106.666667v469.333333a106.666667 106.666667 0 0 1-106.666667 106.666667H320a106.666667 106.666667 0 0 1-106.666667-106.666667V298.666667a106.666667 106.666667 0 0 1 106.666667-106.666667 21.333333 21.333333 0 1 0 0-42.666667 149.333333 149.333333 0 0 0-149.333333 149.333334v469.333333a149.333333 149.333333 0 0 0 149.333333 149.333333h384a149.333333 149.333333 0 0 0 149.333333-149.333333V298.666667a149.333333 149.333333 0 0 0-149.333333-149.333334 21.333333 21.333333 0 0 0 0 42.666667z" fill="#da1723" p-id="3341"></path><path d="M320 554.666667a21.333333 21.333333 0 0 1 0-42.666667h384a21.333333 21.333333 0 0 1 0 42.666667H320z m0-128a21.333333 21.333333 0 0 1 0-42.666667h384a21.333333 21.333333 0 0 1 0 42.666667H320z m0 256a21.333333 21.333333 0 0 1 0-42.666667h384a21.333333 21.333333 0 0 1 0 42.666667H320zM405.333333 192h213.333334a21.333333 21.333333 0 0 0 0-42.666667H405.333333a21.333333 21.333333 0 0 0 0 42.666667z" fill="#da1723" p-id="3342"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg t="1701325018373" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2968" width="200" height="200"><path d="M28.047471 522.223382l98.975347-119.429337v-2.680477h2.203627l59.736343-72.083878v-7.55013h214.004657v-31.862274c0-29.326296 25.208043-53.103789 56.311691-53.103789h160.546843c39.961504-51.478163 104.502477-84.944387 177.337755-84.944387 121.286164 0 219.611261 92.704043 219.611261 207.068652 0 44.000282-14.601736 84.763762-39.419629 118.309462v258.647964c0 29.340746-25.200818 53.118239-56.304466 53.118239h-46.283384c-8.193156 54.02859-57.453242 95.565145-117.030636 95.565145-59.570169 0-108.83748-41.551005-117.045086-95.565145H356.691286c-8.207606 54.02859-57.460467 95.565145-117.045085 95.565145-59.570169 0-108.83748-41.551005-117.045086-95.565145h-40.640655c-31.103648 0-56.311691-23.777492-56.311691-53.118239V522.223382h2.398702zM971.748762 357.637762c0-90.897792-78.167332-164.592846-174.577803-164.592846-96.424921 0-174.563353 73.695054-174.563353 164.592846 0 90.905017 78.152882 164.585621 174.563353 164.58562s174.577803-73.680604 174.577803-164.58562z m-214.004657 483.150554c40.438355 0 73.218204-30.894123 73.218204-69.020476 0-38.111903-32.779849-69.013251-73.218204-69.01325-40.41668 0-73.196529 30.894123-73.196529 69.01325 0 38.133578 32.779849 69.020476 73.196529 69.020476z m-309.728752-95.55792h194.880068c12.650984-48.761561 59.252268-84.951612 114.855909-84.951612 55.596416 0 102.2266 36.190052 114.855909 84.951612h31.558823c15.562661 0 28.155846-11.892359 28.155846-26.54467V520.785606c-37.281027 27.49837-84.156862 43.920807-135.150949 43.920808-121.315064 0-219.640161-92.704043-219.640161-207.061427 0-28.228096 6.011204-55.119565 16.863162-79.641233H476.171199c-15.562661 0-28.155846 11.877909-28.155846 26.537444v440.689198z m-208.354702 95.55792c40.43113 0 73.203754-30.894123 73.203753-69.020476 0-38.111903-32.772624-69.013251-73.203753-69.01325s-73.210979 30.894123-73.210979 69.01325c0.007225 38.133578 32.779849 69.020476 73.210979 69.020476z m-168.949524-122.10259c0 14.652311 12.607634 26.544669 28.14862 26.54467h25.930544c12.636534-48.761561 59.252268-84.951612 114.85591-84.951612s102.219375 36.190052 114.855909 84.951612h48.450885V362.948141h-185.754886l-30.800197 37.165427h87.032413v0.3757c22.209666 2.622677 39.434079 20.43954 39.434079 42.107331V543.464898c0 23.466817-20.17944 42.490256-45.055133 42.490256H70.703902l0.007225 132.730572z m0-175.228053H245.28893c12.427009 0 22.520341-9.500882 22.520341-21.234291v-58.399717c0-11.718959-10.086107-21.227066-22.520341-21.227066H151.204911L70.711127 539.751245v3.706428z m790.198829-124.956466l-78.030058-42.468582a21.313766 21.313766 0 0 1-10.158357-12.065758 20.28059 20.28059 0 0 1-3.720878-11.646709V235.513497c0-11.733409 10.086107-21.234291 22.527567-21.23429s22.527566 9.508107 22.527566 21.23429v108.43288l69.381726 37.765103c10.779708 5.859479 14.464461 18.857264 8.250956 29.008396-6.20628 10.172807-19.998815 13.648035-30.778522 7.781331z" fill="#da1723" p-id="2969"></path></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1 @@
<svg t="1701325065898" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3167" width="200" height="200"><path d="M484.560577 968.48126H127.979023A72.468122 72.468122 0 0 1 55.510901 895.853164V127.979023A72.468122 72.468122 0 0 1 127.979023 55.510901h674.609428A72.628096 72.628096 0 0 1 875.216547 127.979023v311.149001a27.675464 27.675464 0 0 0 55.350927 0V127.979023a127.979023 127.979023 0 0 0-127.979023-127.979023H127.979023a127.979023 127.979023 0 0 0-127.979023 127.979023v767.874141a127.979023 127.979023 0 0 0 127.979023 127.979024h356.581554a27.675464 27.675464 0 0 0 0-55.350928z" fill="#da1723" p-id="3168"></path><path d="M742.598284 285.873144a27.835438 27.835438 0 0 0-27.675464-27.835438h-499.118192a27.835438 27.835438 0 1 0 0 55.510901h499.118192a27.835438 27.835438 0 0 0 27.675464-27.675463zM521.834468 511.916094a27.675464 27.675464 0 0 0-27.835438-27.675464H215.804628a27.675464 27.675464 0 1 0 0 55.350928h278.194402A27.675464 27.675464 0 0 0 521.834468 511.916094zM215.804628 710.28358a27.835438 27.835438 0 1 0 0 55.510901h149.895431a27.835438 27.835438 0 1 0 0-55.510901zM757.155897 490.639581A266.67629 266.67629 0 1 0 1023.832188 757.155897a266.516316 266.516316 0 0 0-266.676291-266.516316z m0 477.681705a211.165389 211.165389 0 1 1 211.165389-211.165389 211.325362 211.325362 0 0 1-211.165389 211.165389z" fill="#da1723" p-id="3169"></path><path d="M838.582551 666.770712L711.883318 793.469945l-36.154074-36.314048A25.595805 25.595805 0 0 0 639.895117 793.469945l53.911164 54.391085a25.595805 25.595805 0 0 0 36.314048 0l143.976401-144.77627a25.595805 25.595805 0 0 0-36.314048-36.154074z" fill="#da1723" p-id="3170"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<svg t="1701324831019" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2763" width="200" height="200"><path d="M257.141498 320.148507l324.879252 0c15.954367 0 29.006637-13.053294 29.006637-29.006637l0-5.801123c0-15.954367-13.053294-29.007661-29.006637-29.007661l-324.879252 0c-15.954367 0-29.006637 13.053294-29.006637 29.007661l0 5.801123C228.134861 307.095213 241.188154 320.148507 257.141498 320.148507z" fill="#da1723" p-id="2764"></path><path d="M228.134861 419.062308c0 15.954367 13.053294 29.006637 29.006637 29.006637l324.879252 0c15.954367 0 29.006637-13.053294 29.006637-29.006637l0-5.801123c0-15.954367-13.053294-29.006637-29.006637-29.006637l-324.879252 0c-15.954367 0-29.006637 13.053294-29.006637 29.006637L228.134861 419.062308z" fill="#da1723" p-id="2765"></path><path d="M737.03015 62.758346 160.972205 62.758346c-52.782134 0-95.723132 42.940998-95.723132 95.723132l0 702.994985c0 52.782134 42.940998 95.723132 95.723132 95.723132l387.471822 0c-20.400632-11.391445-39.353286-25.668613-56.329936-42.645263-6.752798-6.751774-13.063527-13.826913-18.952654-21.170159l-312.190255 0c-17.593703 0-31.907711-14.314007-31.907711-31.908734L129.063471 158.482501c0-17.593703 14.314007-31.907711 31.907711-31.907711L737.03015 126.57479c17.593703 0 31.907711 14.314007 31.907711 31.907711l0 339.049996c22.852474 9.304923 44.325531 21.965268 63.815421 37.72623L832.753281 158.482501C832.753281 105.700367 789.812283 62.758346 737.03015 62.758346z" fill="#da1723" p-id="2766"></path><path d="M826.982858 732.187865l-69.352531-147.827837c-11.542894-14.471596-33.521464-14.522762-45.13292-0.105401l-67.954695 147.827837c-11.493775 24.270776-1.769296 47.057759 22.522969 47.058782l36.645618 0.002047 0 147.171897c0 17.622356 14.285355 31.907711 31.907711 31.907711l0 0c17.556864 0 31.79003-14.233166 31.79003-31.79003L767.409041 779.144316l36.965913-0.002047C828.604798 779.140223 838.392722 756.524133 826.982858 732.187865z" fill="#da1723" p-id="2767"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,80 @@
<template>
<div class="uploadImg" :style="`width:${width}px;height:${width}px`">
<el-upload
:disabled="disable"
class="avatar-uploader"
action="#"
:show-file-list="false"
:on-change="handleAvatarSuccess">
<img v-if="imageUrl" :src="imageUrl" @click="clickImg" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" :style="`line-height: ${width}px`"></i>
</el-upload>
</div>
</template>
<script>
export default {
name: "uploadImg",
data() {
return {
imageUrl:'',
file:null
}
},
props:{
disable:{
type:Boolean,
default:() => false
},
width:{
type:String | Number,
default:() => '50'
}
},
methods: {
handleAvatarSuccess(file,fileList){
this.imageUrl = URL.createObjectURL(file.raw)
this.file = file
},
clickImg(){
if(!this.disable){
this.$emit('onClick',{
...this.file,
baseUrl:this.imageUrl
})
}
}
},
};
</script>
<style lang="scss" scoped>
.uploadImg{
::v-deep .avatar-uploader{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #dfdfdf;
overflow: hidden;
.el-upload--text{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
.avatar-uploader-icon{
width: 100%;
height: 100%;
}
}
.avatar{
width: 100%;
height: 100%;
object-fit: cover;
}
}
}
</style>

View File

@ -1,17 +1,16 @@
<template>
<section class="app-main">
<transition name="fade-transform" mode="out-in">
<keep-alive :include="cachedViews">
<router-view v-if="!$route.meta.link" :key="key" />
</keep-alive>
</transition>
<!-- <transition name="fade-transform"> -->
<keep-alive :include="cachedViews">
<router-view v-if="!$route.meta.link" :key="key" />
</keep-alive>
<!-- </transition> -->
<iframe-toggle />
</section>
</template>
<script>
import iframeToggle from './IframeToggle/index'
export default {
name: 'AppMain',
components: { iframeToggle },
@ -22,6 +21,9 @@ export default {
key() {
return this.$route.path
}
},
mounted() {
console.log('this.$route', this.$route)
}
}
</script>

View File

@ -27,7 +27,7 @@
mode="vertical"
>
<sidebar-item
v-for="(route, index) in ceshiRouteList"
v-for="(route, index) in sidebarRouters"
:key="route.path + index"
:item="route"
:base-path="route.path"
@ -69,405 +69,7 @@ export default {
},
data() {
return {
ceshiRouteList: [
{
path: '/',
meta: {
title: '基础管理'
},
children: [
{
path: '/system',
meta: {
title: '系统管理'
},
children: [
{
path: 'yg',
meta: {
title: '员工管理'
}
},
{
path: 'js',
meta: {
title: '角色管理'
}
},
{
path: 'jg',
meta: {
title: '机构管理'
}
},
{
path: 'gw',
meta: {
title: '岗位管理'
}
},
{
path: 'zy',
meta: {
title: '资源管理'
}
},
{
path: 'qx',
meta: {
title: '权限配置'
}
},
{
path: 'rz',
meta: {
title: '系统日志管理'
}
}
]
},
{
path: 'base',
meta: {
title: '基础管理'
},
children: [
{
path: 'dic',
meta: {
title: '数据字典管理'
}
},
{
path: 'fgs',
meta: {
title: '分公司管理(不启用)'
}
},
{
path: 'unittype',
meta: {
title: '单位类型管理'
}
},
{
path: 'backunit',
meta: {
title: '往来单位管理'
}
},
{
path: 'project',
meta: {
title: '工程项目管理'
}
},
{
path: 'lotmang',
meta: {
title: '标段工程管理'
}
},
{
path: 'asstemang',
meta: {
title: '资产属性管理'
}
},
{
path: 'assteconfig',
meta: {
title: '资产属性配置'
}
}
]
}
]
},
{
path: '',
meta: {
title: '仓储管理'
},
children: [
{
path: 'tag',
meta: {
title: '标签绑定管理'
},
children: [
{
path: 'type',
meta: {
title: '标签类型管理'
}
},
{
path: 'tagbd',
meta: {
title: '标签绑定管理'
}
},
{
path: 'taghistory',
meta: {
title: '标签绑定历史'
}
},
{
path: 'emilbd',
meta: {
title: '标砖邮箱绑定管理'
}
}
]
},
{
path: 'ck',
meta: {
title: '仓库管理'
},
children: [
{
path: 'hj',
meta: {
title: '仓库货架管理'
}
},
{
path: 'hjpz',
meta: {
title: '货架配置管理'
}
}
]
},
{
path: 'tools',
meta: {
title: '工机具管理'
},
children: [
{
path: 'type',
meta: {
title: '类型管理'
}
},
{
path: 'gys',
meta: {
title: '供应商管理'
}
},
{
path: 'stools',
meta: {
title: '机具设备管理'
}
},
{
path: 'safetools',
meta: {
title: '安全工器具管理'
}
},
{
path: 'partsmang',
meta: {
title: '配件管理'
}
},
{
path: 'keeperconfig',
meta: {
title: '库管员配置'
}
},
{
path: 'upkeep',
meta: {
title: '维修班配置'
}
}
]
},
{
path: 'accept',
meta: {
title: '新购验收管理'
},
children: [
{
path: 'newaccept',
meta: {
title: '新购验收'
}
}
]
}
]
},
{
path: 'lt',
meta: {
title: '领退管理'
}
},
{
path: 'xs',
meta: {
title: '修试管理'
}
},
{
path: 'car',
meta: {
title: '车辆管理'
}
}
// {
// path: "",
// meta: {
// title: "",
// },
// children: [
// {
// path: "datadic",
// meta: {
// title: "",
// },
// },
// {
// path: "unit",
// meta: {
// title: "",
// },
// },
// {
// path: "backunit",
// meta: {
// title: "",
// },
// },
// {
// path: "project",
// meta: {
// title: "",
// },
// },
// {
// path: "lotmang",
// meta: {
// title: "",
// },
// },
// {
// path: "assetmang",
// meta: {
// title: "",
// },
// },
// {
// path: "assetconfig",
// meta: {
// title: "",
// },
// },
// ],
// },
// {
// path: "/storage",
// meta: {
// title: "",
// },
// children: [
// {
// meta: {
// path: "",
// title: "",
// },
// children: [
// {
// path: "type",
// meta: {
// title: "",
// },
// },
// ],
// },
// {
// path: "tag",
// meta: {
// title: "",
// },
// },
// {
// path: "tag",
// meta: {
// title: "",
// },
// },
// ],
// // children: [
// // {
// // meta: {
// // title: "",
// // },
// // },
// // {
// // path: "storman",
// // meta: {
// // title: "",
// // },
// // },
// // {
// // path: "Implement",
// // meta: {
// // title: "",
// // },
// // },
// // {
// // path: "checkman",
// // meta: {
// // title: "",
// // },
// // },
// // ],
// },
// {
// // path: "/storage",
// meta: {
// title: "退",
// },
// children: [],
// },
// {
// // path: "/storage",
// meta: {
// title: "",
// },
// children: [],
// },
// {
// // path: "/storage",
// meta: {
// title: "",
// },
// children: [],
// },
// {
// // path: "/storage",
// meta: {
// title: "",
// },
// children: [],
// },
]
ceshiRouteList: []
}
}
}

View File

@ -61,142 +61,103 @@ export const constantRoutes = [
component: () => import('@/views/error/401'),
hidden: true
},
{
path: '',
path: '/',
component: Layout,
redirect: 'index',
// redirect: 'index',
meta: { title: '个人中心', icon: 'dashboard', affix: true },
children: [
{
path: 'index',
component: () => import('@/views/index'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
component: () => import('@/views/user'),
name: 'index',
meta: { title: '个人信息', icon: 'dashboard', affix: true },
redirect: 'index/seat',
children: [
{
path: 'seat',
name: "seat",
hidden: true,
component: () => import('@/views/user/seat'),
meta: { title: '基础信息', icon: 'dashboard', affix: false },
},
{
path: 'goodsm',
name: "goodsm",
hidden: true,
component: () => import('@/views/user/goodsm'),
meta: { title: '订单管理(买方)', icon: 'dashboard', affix: false },
},
{
path: 'son',
name: "son",
hidden: true,
component: () => import('@/views/user/son'),
meta: { title: '子账号管理', icon: 'dashboard', affix: false },
},
{
path: 'goodsMf',
name: "goodsMf",
hidden: true,
component: () => import('@/views/user/goodsMf'),
meta: { title: '订单管理(卖方)', icon: 'dashboard', affix: false },
},
{
path: 'goodscz',
name: "goodscz",
hidden: true,
component: () => import('@/views/user/goodscz'),
meta: { title: '商品管理', icon: 'dashboard', affix: false },
},
{
path: 'goodssx',
name: "goodssx",
hidden: true,
component: () => import('@/views/user/goodssx'),
meta: { title: '商品上下架', icon: 'dashboard', affix: false },
},
{
path: 'jsmang',
name: "jsmang",
hidden: true,
component: () => import('@/views/user/jsmang'),
meta: { title: '机手管理', icon: 'dashboard', affix: false },
},
]
},
// 数据字典管理
{
path: 'datadic',
component: () => import('@/views/basicmange/datadic'),
},
// 单位类型管理
{
path: 'unit',
component: () => import('@/views/basicmange/unittype'),
},
// 往来单位管理
{
path: 'backunit',
component: () => import('@/views/basicmange/backunit'),
},
// 工程项目管理
{
path: 'project',
component: () => import('@/views/basicmange/project'),
},
// 标段工程管理
{
path: 'lotmang',
component: () => import('@/views/basicmange/lotmang'),
},
// 资产属性管理
{
path: 'assetmang',
component: () => import('@/views/basicmange/assetmang'),
},
// 资产属性配置
{
path: 'assetconfig',
component: () => import('@/views/basicmange/assetconfig'),
path: 'enterprisecertification',
component: () => import('@/views/enterprisecertification'),
name: 'enterprisecertification',
meta: { title: '企业信息', icon: 'dashboard', affix: false },
},
]
},
{
path: '/base',
component: Layout,
redirect: 'dic',
children: [
{ path: 'dic', component: () => import('@/views/basicmange/datadic'), },
{ path: 'fgs', component: () => import('@/views/basicmange/datadic'), },
{ path: 'unittype', component: () => import('@/views/basicmange/unittype'), },
{ path: 'backunit', component: () => import('@/views/basicmange/backunit'), },
{ path: 'project', component: () => import('@/views/basicmange/project'), },
{ path: 'lotmang', component: () => import('@/views/basicmange/lotmang'), },
{ path: 'asstemang', component: () => import('@/views/basicmange/assetmang'), },
{ path: 'assteconfig', component: () => import('@/views/basicmange/assetconfig'), },
]
},
{
path: '/tag',
component: Layout,
redirect: 'type',
children: [
{ path: 'type', component: () => import('@/views/storagemanage/tag/type'), },
{ path: 'tagbd', component: () => import('@/views/storagemanage/tag/tagbd'), },
{ path: 'taghistory', component: () => import('@/views/storagemanage/tag/taghistory'), },
{ path: 'emilbd', component: () => import('@/views/storagemanage/tag/emilbd'), },
]
},
{
path: '/ck',
component: Layout,
redirect: 'hj',
children: [
{ path: 'hj', component: () => import('@/views/storagemanage/ckmang/ckhjmang'), },
{ path: 'hjpz', component: () => import('@/views/storagemanage/ckmang/hjconfig'), },
]
},
{
path: '/tools',
component: Layout,
redirect: 'type',
children: [
{ path: 'type', component: () => import('@/views/storagemanage/toolsmang/type'), },
{ path: 'gys', component: () => import('@/views/storagemanage/toolsmang/supplier'), },
{ path: 'stools', component: () => import('@/views/storagemanage/toolsmang/stools'), },
{ path: 'safetools', component: () => import('@/views/storagemanage/toolsmang/safetools'), },
{ path: 'partsmang', component: () => import('@/views/storagemanage/toolsmang/supplier'), },
{ path: 'keeperconfig', component: () => import('@/views/storagemanage/toolsmang/keeperconfig'), },
{ path: 'upkeep', component: () => import('@/views/storagemanage/toolsmang/upkeep'), },
]
},
{
path: '/accept',
component: Layout,
redirect: 'newaccept',
children: [
{ path: 'newaccept', component: () => import('@/views/storagemanage/accept/newaccept'), },
]
},
// {
// path: '/storage',
// path: '/user',
// component: Layout,
// redirect: 'tag',
// hidden: true,
// redirect: 'noredirect',
// children: [
// { path: 'tag', component: () => import('@/views/storagemanage/tag/tagtype.vue') }
// {
// path: 'profile',
// component: () => import('@/views/system/user/profile/index'),
// name: 'Profile',
// meta: { title: '个人中心', icon: 'user' }
// }
// ]
// },
{
path: '/user',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: 'profile',
component: () => import('@/views/system/user/profile/index'),
name: 'Profile',
meta: { title: '个人中心', icon: 'user' }
}
]
}
// }
]
// 动态路由,基于用户权限动态去加载

View File

@ -11,7 +11,7 @@ const permission = {
addRoutes: [],
defaultRoutes: [],
topbarRouters: [],
sidebarRouters: []
sidebarRouters: constantRoutes
},
mutations: {
SET_ROUTES: (state, routes) => {

View File

@ -0,0 +1,220 @@
<template>
<div class="enterpriseCertification">
<div class="baseInfo card">
<div class="top">
<div class="title">
企业基本信息
</div>
<div class="options">
<el-button size="mini" type="primary">我的邀请码</el-button>
<el-button size="mini" type="primary">编辑</el-button>
</div>
</div>
<el-form class="baseForm">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="企业名称">
<el-input placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="统一社会信用代码">
<el-input placeholder=""></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="注册地址">
<el-row :gutter="10">
<el-col :span="3">
<el-select v-model="value" placeholder="请选择省份">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<el-select v-model="value" placeholder="请选择市">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<el-select v-model="value" placeholder="请选择区">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="15">
<el-input placeholder="请输入实际办公地址"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="经营地址">
<el-row :gutter="10">
<el-col :span="3">
<el-select v-model="value" placeholder="请选择省份">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<el-select v-model="value" placeholder="请选择市">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<el-select v-model="value" placeholder="请选择区">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="15">
<el-input placeholder="请输入实际办公地址"></el-input>
</el-col>
</el-row>
</el-form-item>
<el-row :gutter="20">
<el-col :span="5">
<el-form-item label="法人证件类型">
<el-select v-model="value" placeholder="请选择省份">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="法人证件号码">
<el-input></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="" label="营业执照">
<upload-img width="80" @onClick="test" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import uploadImg from "@/components/uploadImg/index.vue";
export default {
data() {
return {
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: '',
imageUrl: ''
}
},
components:{uploadImg},
methods: {
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(res.raw);
},
test(arg){
console.log(arg)
}
},
};
</script>
<style scoped lang="scss">
.d-flex{
display: flex;
align-items: center;
}
::v-deep.el-form-item {
display: flex;
.el-form-item__content {
flex: 1;
}
}
.enterpriseCertification {
height: 100%;
background: #f2f2f2;
padding: 15px 10px;
.card {
border-radius: 5px;
background: white;
padding: 10px;
}
.top {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
.title {
font-size: 16px;
font-weight: 600;
}
.options {
}
}
.baseForm {
padding: 0 10px;
}
}
</style>

View File

@ -1,16 +1,65 @@
<template>
<!-- 个人中心页面 -->
<div class="app-container clearfix">
<div class="lfet-box"></div>
<div class="right-box"></div>
<div class="lfet-box">
<!-- 头像 -->
<div class="pic-box">
<img src="" alt="" />
<span>1234566XXX</span>
</div>
<!-- 按钮 -->
<div class="btn-box">
<span>求租</span>
<span>承租</span>
</div>
<!-- 菜单 -->
<el-menu
default-active="seat"
class="el-menu-vertical-demo"
:router="false"
@select="handleSelect"
>
<el-menu-item v-for="(item, index) in menuList" :key="index" :index="item.name">
{{ item.title }}
</el-menu-item>
</el-menu>
</div>
<div class="right-box">
<router-view />
</div>
</div>
</template>
<script>
export default {}
export default {
name: 'userIndex',
data() {
return {
menuList: [
{ title: '基础信息', name: 'seat' },
{ title: '订单管理(买方)', name: 'goodsm' },
{ title: '子账号管理', name: 'son' },
{ title: '订单管理(卖方)', name: 'goodsM' },
{ title: '商品管理(承租方)', name: 'goodscz' },
{ title: '商品上下架(承租方)', name: 'goodssx' },
{ title: '机手管理(承租方)', name: 'jsmang' }
]
}
},
methods: {
handleSelect(iname, name) {
console.log('i====', iname, name)
this.$router.push({
name: iname
})
}
}
}
</script>
<style scoped>
<style scoped lang="scss">
.app-container {
height: 100%;
}
@ -21,7 +70,35 @@ export default {}
}
.lfet-box {
width: 260px;
background-color: skyblue;
background-color: #fff;
.pic-box {
width: 260px;
height: 160px;
background-color: purple;
text-align: center;
img {
margin: 30px 0 10px 0;
width: 70px;
height: 70px;
border-radius: 50%;
}
span {
display: block;
}
}
.btn-box {
height: 60px;
display: flex;
span {
height: 100%;
line-height: 60px;
flex: 1;
cursor: pointer;
text-align: center;
}
}
}
.right-box {
width: calc(100% - 260px);

View File

@ -179,7 +179,7 @@ export default {
}
},
handleLogin() {
this.$router.push({ name: 'Index' || '/' }).catch(() => {})
this.$router.push({ path: '/userIndex' }).catch(() => {})
return
this.$refs.loginForm.validate((valid) => {
if (valid) {

View File

@ -0,0 +1,9 @@
<template>
<div>123</div>
</template>
<script>
export default {}
</script>
<style></style>

View File

@ -0,0 +1,9 @@
<template>
<div>123</div>
</template>
<script>
export default {}
</script>
<style></style>

View File

@ -0,0 +1,9 @@
<template>
<div>123</div>
</template>
<script>
export default {}
</script>
<style></style>

View File

@ -0,0 +1,9 @@
<template>
<div>123</div>
</template>
<script>
export default {}
</script>
<style></style>

View File

@ -1,16 +1,70 @@
<template>
<!-- 个人中心页面 -->
<div class="app-container clearfix">
<div class="lfet-box"></div>
<div class="right-box"></div>
<div class="lfet-box">
<!-- 头像 -->
<div class="pic-box">
<img src="" alt="" />
<span>1234566XXX</span>
</div>
<!-- 按钮 -->
<div class="btn-box">
<span>求租</span>
<span>承租</span>
</div>
<!-- 菜单 -->
<el-menu
:default-active="activeMenu"
class="el-menu-vertical-demo"
:router="false"
@select="handleSelect"
>
<el-menu-item v-for="(item, index) in menuList" :key="index" :index="item.name">
{{ item.title }}
</el-menu-item>
</el-menu>
</div>
<div class="right-box">
<router-view />
</div>
</div>
</template>
<script>
export default {}
export default {
name: 'userIndex',
data() {
return {
menuList: [
{ title: '基础信息', name: 'seat' },
{ title: '订单管理(买方)', name: 'goodsm' },
{ title: '子账号管理', name: 'son' },
{ title: '订单管理(卖方)', name: 'goodsMf' },
{ title: '商品管理(承租方)', name: 'goodscz' },
{ title: '商品上下架(承租方)', name: 'goodssx' },
{ title: '机手管理(承租方)', name: 'jsmang' }
],
activeMenu: 'seat'
}
},
methods: {
handleSelect(iname, name) {
console.log('i====', iname, name)
this.activeMenu = iname
this.$router.push({
name: iname,
params: {
twolevel: true
}
})
}
}
}
</script>
<style scoped>
<style scoped lang="scss">
.app-container {
height: 100%;
}
@ -20,7 +74,39 @@ export default {}
float: left;
}
.lfet-box {
width: 300px;
background-color: skyblue;
width: 260px;
background-color: #fff;
.pic-box {
width: 260px;
height: 160px;
background-color: purple;
text-align: center;
img {
margin: 30px 0 10px 0;
width: 70px;
height: 70px;
border-radius: 50%;
}
span {
display: block;
}
}
.btn-box {
height: 60px;
display: flex;
span {
height: 100%;
line-height: 60px;
flex: 1;
cursor: pointer;
text-align: center;
}
}
}
.right-box {
width: calc(100% - 260px);
background-color: pink;
}
</style>

View File

@ -0,0 +1,9 @@
<template>
<div>123</div>
</template>
<script>
export default {}
</script>
<style></style>

View File

@ -0,0 +1,132 @@
<template>
<div class="seat-container">
<div class="title-info">
<span>132255xxxxxxxx</span>
<a class="edit-a">修改</a>
<span>免费用户/标准用户 xxxx-xxx</span>
<a class="logoff-a">账号注销</a>
</div>
<div class="myqiye">
<span>我的企业:</span>
<a>申请企业认证</a>
/
<a>xxxxxx公司</a>
</div>
<!-- 订单交易信息 -->
<div class="goods-box">
<span class="goods-pay">订单交易</span>
<ul class="goods-count">
<li>
<svg-icon icon-class="goods-submit" class="svgicon" />
<span>已提交</span>
<span>0</span>
</li>
<li>
<svg-icon icon-class="goods-ing" class="svgicon" />
<span>进行中</span>
<span>0</span>
</li>
<li>
<svg-icon icon-class="goods-pass" class="svgicon" />
<span>已完成</span>
<span>0</span>
</li>
<li>
<svg-icon icon-class="goods-icon" class="svgicon" />
<span>全部</span>
<span>0</span>
</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: 'seatPage',
data() {
return {}
}
}
</script>
<style lang="scss">
.title-info,
.myqiye {
padding: 0 20px;
display: flex;
height: 56px;
align-items: center;
}
.edit-a {
margin: 0 50px 0 10px;
color: #0262db;
}
.logoff-a {
flex: 1;
text-align: right;
}
.myqiye {
width: calc(100% - 15px);
padding: 0;
margin: 20px 0 0 20px;
border-bottom: 1px solid #000;
span {
margin-right: 5px;
}
a {
color: #0262db;
}
}
.goods-box {
padding: 20px;
.goods-pay {
display: inline-block;
padding: 5px;
height: 37px;
line-height: 37px;
color: #000;
border-bottom: 1px solid #d90d1a;
}
.goods-count {
width: 100%;
height: 140px;
background-color: #f5f5f5;
padding: 0;
margin: 0;
margin-top: 15px;
list-style: none;
display: flex;
justify-content: space-around;
.svgicon {
width: 35px;
height: 35px;
}
li {
width: 140px;
height: 140px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
span {
margin: 5px;
}
}
}
}
</style>

View File

@ -0,0 +1,9 @@
<template>
<div>基础信息</div>
</template>
<script>
export default {}
</script>
<style></style>