Browse Source

样式

master
han\hanst 2 weeks ago
parent
commit
ef27cfd18d
  1. 342
      src/views/common/login.vue
  2. 8
      src/views/modules/longtron/production-plan-cable-cop-task.vue
  3. 8
      src/views/modules/longtron/production-plan-home-order.vue
  4. 8
      src/views/modules/longtron/production-plan-renovation-order.vue
  5. 4
      src/views/modules/sys/role.vue

342
src/views/common/login.vue

@ -1,29 +1,55 @@
<template>
<div class="site-wrapper site-page--login">
<div style="display: flex;height: 100vh">
<div class="login-bg"></div>
<div style="width: 35%">
<div style="height: 27vh;">
<div style="text-align: right;padding: 0px 20px;margin-right: -280px">
<img width="80%" height="72" style="object-fit: contain" src="~@/assets/img/avatar.png">
<div class="login-layout">
<section class="brand-panel">
<div class="brand-panel__content">
<img class="brand-panel__logo" src="~@/assets/img/lc.png" alt="龙闯电梯">
<p class="brand-panel__label">LONGTRON ELEVATOR | LIFE AESTHETICS</p>
<h1 class="brand-panel__title">高端家用电梯<br>一站式服务平台</h1>
<p class="brand-panel__desc">
龙闯电梯坚持臻选引进自主创新并重为中国高端家庭提供集代理研发生产销售
安装售后于一体的一站式家用电梯服务
</p>
<div class="brand-panel__stats">
<div class="brand-panel__stat">
<p class="brand-panel__stat-value">设计研发</p>
<p class="brand-panel__stat-label">家用电梯设计家用电梯智能系统研发</p>
</div>
<div class="brand-panel__stat">
<p class="brand-panel__stat-value">制造装配</p>
<p class="brand-panel__stat-label">电梯配件制造模块化组装</p>
</div>
<div style="padding: 30px 130px">
<h3 class="login-title">用户登陆</h3>
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" status-icon>
<div class="brand-panel__stat">
<p class="brand-panel__stat-value">现代服务</p>
<p class="brand-panel__stat-label">电梯维保物流仓储市场营销</p>
</div>
</div>
</div>
</section>
<section class="login-panel">
<div class="login-card">
<div class="login-card__header">
<h3 class="login-title">欢迎登录</h3>
<p class="login-subtitle">龙闯电梯管理平台</p>
</div>
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" status-icon class="login-form">
<el-form-item prop="userName">
<el-input v-model="dataForm.userName" placeholder="帐号" size="large"></el-input>
<el-input v-model="dataForm.userName" placeholder="请输入账号" size="large"></el-input>
</el-form-item>
<el-form-item prop="password" style="margin-top: 20px">
<el-input v-model="dataForm.password" type="password" placeholder="密码" size="large"></el-input>
<el-form-item prop="password">
<el-input v-model="dataForm.password" type="password" placeholder="请输入密码" size="large"></el-input>
</el-form-item>
<el-form-item style="margin-top: 20px">
<el-button style="width: 100%" type="primary" @click="dataFormSubmit()">登录</el-button>
<el-form-item>
<el-button class="login-btn" type="primary" @click="dataFormSubmit()">登录系统</el-button>
</el-form-item>
</el-form>
<p class="login-footer">龙闯电梯 · 生活美学倡导者</p>
</div>
</div>
</section>
</div>
</div>
@ -166,27 +192,281 @@ import { getUUID } from '@/utils'
<style lang="scss" scoped>
.site-wrapper.site-page--login {
.login-title {
font-size: 30px;
min-height: 100vh;
background: radial-gradient(circle at 12% 16%, rgba(227, 184, 110, 0.3), rgba(227, 184, 110, 0) 24%),
linear-gradient(130deg, #07141d 0%, #0d2736 48%, #163444 100%);
}
.login-layout {
display: flex;
min-height: 100vh;
position: relative;
}
.brand-panel {
width: 57%;
position: relative;
color: #ffffff;
padding: 68px 76px;
display: flex;
align-items: center;
overflow: hidden;
background:
radial-gradient(circle at 18% 22%, rgba(223, 182, 109, 0.32), rgba(223, 182, 109, 0) 40%),
linear-gradient(150deg, rgba(2, 15, 24, 0.95), rgba(7, 43, 60, 0.86));
}
.brand-panel::before {
content: '';
position: absolute;
inset: 0;
background:
linear-gradient(120deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 38%),
repeating-linear-gradient(
-35deg,
rgba(255, 255, 255, 0.045) 0px,
rgba(255, 255, 255, 0.045) 1px,
rgba(255, 255, 255, 0) 1px,
rgba(255, 255, 255, 0) 30px
);
pointer-events: none;
}
.brand-panel::after {
content: '';
position: absolute;
right: -130px;
top: 15%;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(circle at center, rgba(224, 179, 96, 0.26), rgba(224, 179, 96, 0) 72%);
filter: blur(1px);
}
.brand-panel__content {
position: relative;
z-index: 1;
max-width: 760px;
}
.brand-panel__logo {
width: 250px;
height: 70px;
object-fit: contain;
margin-bottom: 24px;
}
.brand-panel__label {
margin: 0;
font-size: 12px;
letter-spacing: 2px;
color: rgba(255, 255, 255, 0.74);
}
.brand-panel__title {
margin: 18px 0 20px;
font-size: 58px;
line-height: 1.18;
font-weight: 600;
}
.brand-panel__desc {
margin: 0;
max-width: 660px;
font-size: 17px;
line-height: 1.85;
color: rgba(255, 255, 255, 0.87);
}
.brand-panel__stats {
margin-top: 40px;
display: flex;
align-items: center;
gap: 16px;
}
.brand-panel__stat {
min-width: 140px;
padding: 14px 16px 13px;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.2);
background: rgba(11, 41, 56, 0.42);
backdrop-filter: blur(2px);
}
.brand-panel__stat-value {
margin: 0;
font-size: 34px;
line-height: 1.2;
color: #eac07a;
font-weight: 600;
}
.brand-panel__stat-label {
margin: 6px 0 0;
font-size: 13px;
color: rgba(255, 255, 255, 0.72);
}
.brand-panel__service {
margin: 28px 0 0;
font-size: 16px;
letter-spacing: 1px;
color: rgba(255, 255, 255, 0.9);
}
.login-panel {
width: 43%;
min-width: 520px;
padding: 40px 60px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.login-panel::before {
content: '';
position: absolute;
left: 0;
top: 12%;
width: 1px;
height: 76%;
background: linear-gradient(rgba(255, 255, 255, 0), rgba(226, 186, 114, 0.45), rgba(255, 255, 255, 0));
}
.login-card {
width: 460px;
max-width: 100%;
padding: 36px 40px 28px;
border-radius: 18px;
background: rgba(255, 255, 255, 0.97);
box-shadow: 0 24px 55px rgba(5, 16, 24, 0.3);
border: 1px solid rgba(222, 188, 119, 0.38);
}
.login-card__logo {
width: 170px;
height: 48px;
object-fit: contain;
margin-bottom: 18px;
}
.login-card__header {
margin-bottom: 26px;
}
.login-title {
margin: 0;
font-size: 36px;
font-weight: 600;
color: #0f2734;
}
.login-subtitle {
margin: 10px 0 0;
color: #617680;
font-size: 15px;
letter-spacing: 0.3px;
}
.login-form {
/deep/ .el-form-item {
margin-bottom: 20px;
}
/deep/ .el-form-item__content {
height: 34px;
line-height: 30px;
}
.login-main .el-input__inner{
margin-top: 10px;
height: 45px;
/deep/ .el-input__inner {
height: 30px !important;
border-radius: 12px;
border: 1px solid #d0d8dd;
color: #24323b;
transition: all 0.22s ease;
font-size: 15px;
padding-left: 14px;
}
.el-button--medium {
margin-top: 0px;
padding: 5px 11px;
/deep/ .el-input__inner:focus {
border-color: #cfa35d;
box-shadow: 0 0 0 3px rgba(210, 167, 92, 0.15);
}
}
.login-btn {
width: 100%;
height: 50px;
border: none;
border-radius: 12px;
font-size: 16px;
border-radius: 4px;
letter-spacing: 1px;
background: linear-gradient(120deg, #c89f5f 0%, #aa773a 100%);
box-shadow: 0 10px 20px rgba(179, 129, 63, 0.28);
}
.login-btn:hover,
.login-btn:focus {
background: linear-gradient(120deg, #d3ad6f 0%, #b6884e 100%);
}
.login-footer {
margin: 36px 0 0;
font-size: 13px;
color: #778891;
text-align: center;
}
@media (max-width: 1200px) {
.brand-panel {
width: 52%;
padding: 48px;
}
.brand-panel__title {
font-size: 45px;
}
.brand-panel__desc {
font-size: 15px;
}
.login-panel {
width: 48%;
min-width: 430px;
padding: 26px 32px;
}
.login-card {
width: 420px;
padding: 30px 30px 24px;
}
.el-form-item {
margin-bottom: 5px;
.login-title {
font-size: 30px;
}
}
.login-bg{
background-image: url(~@/assets/img/login_bg.jpg);
background-size: cover;
width: 65%;
@media (max-width: 992px) {
.brand-panel {
display: none;
}
.login-panel {
width: 100%;
min-width: auto;
padding: 24px;
}
.login-card {
width: 100%;
max-width: 540px;
}
.login-panel::before {
display: none;
}
}
</style>
@ -196,7 +476,7 @@ import { getUUID } from '@/utils'
.el-loading-spinner {
.el-icon-loading {
font-size: 50px;
color: #17B3A3;
color: #d2a75c;
}
.el-loading-text {
color: #ffffff;

8
src/views/modules/longtron/production-plan-cable-cop-task.vue

@ -215,12 +215,12 @@
<el-button plain class="search-btn" :loading="setUp.reportButton" @click="submitNodeReport">提交报工</el-button>
</el-footer>
</el-dialog>
<el-dialog title="节点负责人分配" :visible.sync="setUp.assignFlag" width="500px" :close-on-click-modal="false" v-drag>
<el-dialog title="节点负责人分配" :visible.sync="setUp.assignFlag" width="550px" :close-on-click-modal="false" v-drag>
<el-table :data="assignNodeList" border class="data-table">
<el-table-column prop="nodeName" label="节点" width="180"></el-table-column>
<el-table-column label="负责人">
<el-table-column prop="nodeName" label="节点" width="150"></el-table-column>
<el-table-column label="负责人" width="370">
<template slot-scope="scope">
<el-select v-model="scope.row.assigneeUserIdList" filterable clearable multiple collapse-tags placeholder="请选择负责人" style="width: 100%">
<el-select v-model="scope.row.assigneeUserIdList" filterable clearable multiple placeholder="请选择负责人" style="width: 100%">
<el-option v-for="user in scope.row.userOptions" :key="user.userId" :label="user.displayName || user.username" :value="user.userId"></el-option>
</el-select>
</template>

8
src/views/modules/longtron/production-plan-home-order.vue

@ -211,12 +211,12 @@
</el-footer>
</el-dialog>
<el-dialog title="节点负责人分配" :visible.sync="setUp.assignFlag" width="500px" :close-on-click-modal="false" v-drag>
<el-dialog title="节点负责人分配" :visible.sync="setUp.assignFlag" width="550px" :close-on-click-modal="false" v-drag>
<el-table :data="assignNodeList" border class="data-table">
<el-table-column prop="nodeName" label="节点" width="180"></el-table-column>
<el-table-column label="负责人">
<el-table-column prop="nodeName" label="节点" width="150"></el-table-column>
<el-table-column label="负责人" width="370">
<template slot-scope="scope">
<el-select v-model="scope.row.assigneeUserIdList" filterable clearable multiple collapse-tags placeholder="请选择负责人" style="width: 100%">
<el-select v-model="scope.row.assigneeUserIdList" filterable clearable multiple placeholder="请选择负责人" style="width: 100%">
<el-option v-for="user in scope.row.userOptions" :key="user.userId" :label="user.displayName || user.username" :value="user.userId"></el-option>
</el-select>
</template>

8
src/views/modules/longtron/production-plan-renovation-order.vue

@ -207,12 +207,12 @@
<el-button plain class="search-btn" :loading="setUp.reportButton" @click="submitNodeReport">提交报工</el-button>
</el-footer>
</el-dialog>
<el-dialog title="节点负责人分配" :visible.sync="setUp.assignFlag" width="500px" :close-on-click-modal="false" v-drag>
<el-dialog title="节点负责人分配" :visible.sync="setUp.assignFlag" width="550px" :close-on-click-modal="false" v-drag>
<el-table :data="assignNodeList" border class="data-table">
<el-table-column prop="nodeName" label="节点" width="180"></el-table-column>
<el-table-column label="负责人">
<el-table-column prop="nodeName" label="节点" width="150"></el-table-column>
<el-table-column label="负责人" width="370">
<template slot-scope="scope">
<el-select v-model="scope.row.assigneeUserIdList" filterable clearable multiple collapse-tags placeholder="请选择负责人" style="width: 100%">
<el-select v-model="scope.row.assigneeUserIdList" filterable clearable multiple placeholder="请选择负责人" style="width: 100%">
<el-option v-for="user in scope.row.userOptions" :key="user.userId" :label="user.displayName || user.username" :value="user.userId"></el-option>
</el-select>
</template>

4
src/views/modules/sys/role.vue

@ -23,13 +23,13 @@
<el-table-column
prop="roleName"
header-align="center"
align="center"
align="left"
:label="buttons.roleName||'角色名称'">
</el-table-column>
<el-table-column
prop="remark"
header-align="center"
align="center"
align="left"
:label="buttons.remark||'备注'">
</el-table-column>
<el-table-column

Loading…
Cancel
Save