Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qr-consistency-vue3
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘怀志
qr-consistency-vue3
Commits
94894cad
Commit
94894cad
authored
Apr 14, 2025
by
祁正
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
31627312
b32e39bb
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
335 additions
and
51 deletions
+335
-51
controlPlan.js
src/api/system/controlPlan.js
+9
-0
index.scss
src/assets/styles/index.scss
+1
-1
sidebar.scss
src/assets/styles/sidebar.scss
+7
-5
variables.module.scss
src/assets/styles/variables.module.scss
+4
-4
cn.json
src/languageSwitch/cn.json
+0
-3
en.json
src/languageSwitch/en.json
+0
-5
Navbar.vue
src/layout/components/Navbar.vue
+57
-25
Logo.vue
src/layout/components/Sidebar/Logo.vue
+4
-4
cn.json
src/locales/menu/cn.json
+14
-0
en.json
src/locales/menu/en.json
+14
-0
index.js
src/router/index.js
+5
-1
index.vue
src/views/controlPlan/fillTemplate/index.vue
+217
-0
index.vue
src/views/index.vue
+2
-2
login.vue
src/views/login.vue
+1
-1
No files found.
src/api/system/controlPlan.js
0 → 100644
View file @
94894cad
import
request
from
'@/utils/request'
export
function
listTemplate
(
query
)
{
return
request
({
url
:
'/control/template/list'
,
method
:
'get'
,
params
:
query
,
})
}
src/assets/styles/index.scss
View file @
94894cad
...
@@ -130,7 +130,7 @@ aside {
...
@@ -130,7 +130,7 @@ aside {
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
/* 垂直排列 */
flex-direction
:
column
;
/* 垂直排列 */
margin
:
24px
;
margin
:
24px
;
padding
:
2
0
px
;
padding
:
2
4
px
;
background
:
#FAFAFB
;
background
:
#FAFAFB
;
min-height
:
calc
(
100vh
-
150px
);
min-height
:
calc
(
100vh
-
150px
);
}
}
...
...
src/assets/styles/sidebar.scss
View file @
94894cad
...
@@ -84,28 +84,30 @@
...
@@ -84,28 +84,30 @@
// menu hover
// menu hover
.sub-menu-title-noDropdown
,
.sub-menu-title-noDropdown
,
.el-sub-menu__title
{
.el-sub-menu__title
{
color
:
#FFFFFF
;
&
:hover
{
&
:hover
{
background-color
:
rgba
(
0
,
0
,
0
,
0
.1
)
!
important
;
background-color
:
#1E3277
!
important
;
}
}
}
}
&
.theme-dark
.is-active
>
.el-sub-menu__title
{
&
.theme-dark
.is-active
>
.el-sub-menu__title
{
color
:
$base-menu-color-active
!
important
;
//color: $base-menu-color-active !important;
background-color
:
#0D2B63
;
}
}
&
.nest-menu
.el-sub-menu
>
.el-sub-menu__title
,
&
.nest-menu
.el-sub-menu
>
.el-sub-menu__title
,
&
.el-sub-menu
.el-menu-item
{
&
.el-sub-menu
.el-menu-item
{
min-width
:
$base-sidebar-width
!
important
;
min-width
:
$base-sidebar-width
!
important
;
color
:
#0C214D
;
&
:hover
{
&
:hover
{
background-color
:
rgba
(
0
,
0
,
0
,
0
.1
)
!
important
;
background-color
:
#1E3277
!
important
;
color
:
#0154FB
;
}
}
}
}
&
.theme-dark
.nest-menu
.el-sub-menu
>
.el-sub-menu__title
,
&
.theme-dark
.nest-menu
.el-sub-menu
>
.el-sub-menu__title
,
&
.theme-dark
.el-sub-menu
.el-menu-item
{
&
.theme-dark
.el-sub-menu
.el-menu-item
{
background-color
:
$base-sub-menu-background
;
background-color
:
$base-sub-menu-background
;
&
:hover
{
&
:hover
{
background-color
:
$base-sub-menu-hover
!
important
;
background-color
:
$base-sub-menu-hover
!
important
;
}
}
...
...
src/assets/styles/variables.module.scss
View file @
94894cad
...
@@ -10,7 +10,7 @@ $panGreen: #30b08f;
...
@@ -10,7 +10,7 @@ $panGreen: #30b08f;
// 默认主题变量
// 默认主题变量
//$menuText: #FFFFFF; //侧边栏各菜单文字颜色引用颜色
//$menuText: #FFFFFF; //侧边栏各菜单文字颜色引用颜色
$menuText
:
rgb
(
155
,
155
,
155
);
//
侧边栏各菜单文字颜色引用颜色(子和父颜色相同)
$menuText
:
rgb
(
155
,
155
,
155
);
//
$menuActiveText
:
#409eff
;
$menuActiveText
:
#409eff
;
$menuBg
:
#123881
;
$menuBg
:
#123881
;
$menuHover
:
#1B51B4
;
$menuHover
:
#1B51B4
;
...
@@ -27,10 +27,10 @@ $sideBarWidth: 200px;
...
@@ -27,10 +27,10 @@ $sideBarWidth: 200px;
// 菜单暗色变量
// 菜单暗色变量
$base-menu-color
:
#bfcbd9
;
$base-menu-color
:
#bfcbd9
;
$base-menu-color-active
:
#FFFFFF
;
//选中菜单标题
背景
色
$base-menu-color-active
:
#FFFFFF
;
//选中菜单标题
文字颜
色
$base-menu-background
:
#143468
;
$base-menu-background
:
#143468
;
$base-sub-menu-background
:
#ffffff
;
//选中展开的子菜单背景色
$base-sub-menu-background
:
#ffffff
;
//选中展开的子菜单背景色
$base-sub-menu-hover
:
#f4f4f
5
;
//鼠标悬停处子菜单背景色
$base-sub-menu-hover
:
#f4f4f
9
;
//鼠标悬停处子菜单背景色
// 组件变量
// 组件变量
$--color-primary
:
#409eff
;
$--color-primary
:
#409eff
;
...
@@ -92,7 +92,7 @@ html.dark {
...
@@ -92,7 +92,7 @@ html.dark {
/* 侧边栏 */
/* 侧边栏 */
--sidebar-bg
:
#141414
;
--sidebar-bg
:
#141414
;
--sidebar-text
:
#ffffff
;
//////////////
--sidebar-text
:
#ffffff
;
--menu-hover
:
#2d2d2d
;
--menu-hover
:
#2d2d2d
;
--menu-active-text
:
#{
$menuActiveText
}
;
--menu-active-text
:
#{
$menuActiveText
}
;
...
...
src/languageSwitch/cn.json
deleted
100644 → 0
View file @
31627312
{
"title"
:
"奇瑞后台管理框架"
}
src/languageSwitch/en.json
deleted
100644 → 0
View file @
31627312
{
"title"
:
"Chery back office management framework"
,
"logo"
:
"Chery consistency"
}
src/layout/components/Navbar.vue
View file @
94894cad
...
@@ -6,40 +6,46 @@
...
@@ -6,40 +6,46 @@
class=
"hamburger-container"
class=
"hamburger-container"
@
toggle-click=
"toggleSideBar"
@
toggle-click=
"toggleSideBar"
/>
/>
<el-scrollbar
class=
"navbar-scrollbar"
>
<div
class=
"navbar-item-menu"
>
<div
class=
"navbar-item-menu"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
控制计划管理
</div>
<div>
{{
cn
.
controlPlanManagement
}}
<br>
{{
en
.
controlPlanManagement
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
整车确认检验
</div>
<div>
{{
cn
.
completeVehicleValidationInspection
}}
<br>
{{
en
.
completeVehicleValidationInspection
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
生产装配一致性
</div>
<div>
{{
cn
.
productionAssemblyConsistency
}}
<br>
{{
en
.
productionAssemblyConsistency
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
零部件一致性
</div>
<div>
{{
cn
.
componentConsistency
}}
<br>
{{
en
.
componentConsistency
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
业务数据查询
</div>
<div>
{{
cn
.
vehicleProductConsistency
}}
<br>
{{
en
.
vehicleProductConsistency
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
其他事项管理
</div>
<div>
{{
cn
.
serviceDataQuery
}}
<br>
{{
en
.
serviceDataQuery
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
外审管理
</div>
<div>
{{
cn
.
managementOfOtherMatters
}}
<br>
{{
en
.
managementOfOtherMatters
}}
</div>
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
系统管理
</div>
<div>
{{
cn
.
externalAuditManagement
}}
<br>
{{
en
.
externalAuditManagement
}}
</div>
</div>
<div
@
click=
"switchMenu"
class=
"navbar-item-menu-div"
>
<div
class=
"navbar-item-menu-div-img"
><img
src=
"@/assets/icons/svg/whitesquare.png"
></div>
<div>
{{
cn
.
systemManagement
}}
<br>
{{
en
.
systemManagement
}}
</div>
</div>
</div>
</div>
</div>
</el-scrollbar>
<!--
<breadcrumb-->
<!--
<breadcrumb-->
<!-- v-if="!settingsStore.topNav"-->
<!-- v-if="!settingsStore.topNav"-->
<!-- id="breadcrumb-container"-->
<!-- id="breadcrumb-container"-->
...
@@ -125,6 +131,9 @@ import RuoYiDoc from '@/components/RuoYi/Doc'
...
@@ -125,6 +131,9 @@ import RuoYiDoc from '@/components/RuoYi/Doc'
import
useAppStore
from
'@/store/modules/app'
import
useAppStore
from
'@/store/modules/app'
import
useUserStore
from
'@/store/modules/user'
import
useUserStore
from
'@/store/modules/user'
import
useSettingsStore
from
'@/store/modules/settings'
import
useSettingsStore
from
'@/store/modules/settings'
// 中英文页面文字引入
import
cn
from
'@/locales/menu/cn.json'
;
import
en
from
'@/locales/menu/en.json'
;
const
appStore
=
useAppStore
()
const
appStore
=
useAppStore
()
const
userStore
=
useUserStore
()
const
userStore
=
useUserStore
()
...
@@ -179,25 +188,48 @@ function toggleTheme() {
...
@@ -179,25 +188,48 @@ function toggleTheme() {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.navbar
{
.navbar
{
height
:
60px
;
height
:
60px
;
overflow
:
hidden
;
background
:
#123881
;
position
:
relative
;
color
:
#FFFFFF
;
//background: var(--navbar-bg);
display
:
flex
;
background
:
#123881
;
//
color
:
#FFFFFF
;
//
display
:
flex
;
//
box-shadow
:
0
1px
4px
rgba
(
0
,
21
,
41
,
0
.08
);
box-shadow
:
0
1px
4px
rgba
(
0
,
21
,
41
,
0
.08
);
.navbar-item-menu
{
//
.navbar-scrollbar
{
cursor
:
pointer
;
width
:
calc
(
100%
-
40px
);
display
:
flex
;
margin-right
:
40px
;
margin
:
18px
0
15px
23px
;
overflow-x
:
auto
;
.navbar-item-menu-div
{
overflow-y
:
hidden
;
white-space
:
nowrap
;
display
:
flex
;
display
:
flex
;
padding-right
:
32px
;
align-items
:
center
;
justify-content
:
flex-start
;
.navbar-item-menu
{
cursor
:
pointer
;
display
:
inline-flex
;
align-items
:
center
;
.navbar-item-menu-div
{
width
:
250px
;
margin-right
:
32px
;
display
:
inline-flex
;
align-items
:
center
;
justify-content
:
center
;
font-size
:
14px
;
font-size
:
14px
;
.navbar-item-menu-div-img
{
.navbar-item-menu-div-img
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
margin-right
:
8px
;
margin-right
:
8px
;
margin-top
:
1px
;
}
div
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
text-align
:
center
;
white-space
:
pre-line
;
}
}
}
}
}
}
}
...
@@ -235,7 +267,7 @@ function toggleTheme() {
...
@@ -235,7 +267,7 @@ function toggleTheme() {
height
:
100%
;
height
:
100%
;
line-height
:
50px
;
line-height
:
50px
;
display
:
flex
;
display
:
flex
;
margin-left
:
400px
;
//
//
margin-left: 400px; //
&
:focus
{
&
:focus
{
outline
:
none
;
outline
:
none
;
}
}
...
...
src/layout/components/Sidebar/Logo.vue
View file @
94894cad
...
@@ -8,11 +8,11 @@
...
@@ -8,11 +8,11 @@
to=
"/"
to=
"/"
>
>
<img
v-if=
"logo"
:src=
"logo"
class=
"sidebar-logo"
/>
<img
v-if=
"logo"
:src=
"logo"
class=
"sidebar-logo"
/>
<h1
v-else
class=
"sidebar-title"
>
{{
title
}}
</h1>
<h1
v-else
class=
"sidebar-title"
>
{{
cn
.
logo
}}
</h1>
</router-link>
</router-link>
<router-link
v-else
key=
"expand"
class=
"sidebar-logo-link"
to=
"/"
>
<router-link
v-else
key=
"expand"
class=
"sidebar-logo-link"
to=
"/"
>
<!--
<img
v-if=
"logo"
:src=
"logo"
class=
"sidebar-logo"
/>
-->
<!--
<img
v-if=
"logo"
:src=
"logo"
class=
"sidebar-logo"
/>
-->
<h1
class=
"sidebar-title"
>
{{
title
}}
</h1>
<h1
class=
"sidebar-title"
>
{{
cn
.
logo
}}
</h1>
<h1
class=
"sidebar-title"
>
{{
en
.
logo
}}
</h1>
<h1
class=
"sidebar-title"
>
{{
en
.
logo
}}
</h1>
</router-link>
</router-link>
</transition>
</transition>
...
@@ -24,8 +24,8 @@ import logo from '@/assets/logo/logo.png'
...
@@ -24,8 +24,8 @@ import logo from '@/assets/logo/logo.png'
import
useSettingsStore
from
'@/store/modules/settings'
import
useSettingsStore
from
'@/store/modules/settings'
import
variables
from
'@/assets/styles/variables.module.scss'
import
variables
from
'@/assets/styles/variables.module.scss'
// 中英文页面文字引入
// 中英文页面文字引入
import
cn
from
'@/l
anguageSwitch
/cn.json'
;
import
cn
from
'@/l
ocales/menu
/cn.json'
;
import
en
from
'@/l
anguageSwitch
/en.json'
;
import
en
from
'@/l
ocales/menu
/en.json'
;
defineProps
({
defineProps
({
collapse
:
{
collapse
:
{
type
:
Boolean
,
type
:
Boolean
,
...
...
src/locales/menu/cn.json
0 → 100644
View file @
94894cad
{
"title"
:
"奇瑞后台管理框架"
,
"logo"
:
"奇瑞一致性"
,
"index"
:
"首页"
,
"controlPlanManagement"
:
"控制计划管理"
,
"completeVehicleValidationInspection"
:
"整车确认检验"
,
"productionAssemblyConsistency"
:
"生产装配一致性"
,
"componentConsistency"
:
"零部件一致性"
,
"vehicleProductConsistency"
:
"整车产品一致性"
,
"serviceDataQuery"
:
"业务数据查询"
,
"managementOfOtherMatters"
:
"其他事项管理"
,
"externalAuditManagement"
:
"外审管理"
,
"systemManagement"
:
"系统管理"
}
src/locales/menu/en.json
0 → 100644
View file @
94894cad
{
"title"
:
"Chery back office management framework"
,
"logo"
:
"Chery consistency"
,
"index"
:
"Home Page"
,
"controlPlanManagement"
:
"Control Plan Management"
,
"completeVehicleValidationInspection"
:
"Complete vehicle validation inspection"
,
"productionAssemblyConsistency"
:
"Production assembly consistency"
,
"componentConsistency"
:
"Component consistency"
,
"vehicleProductConsistency"
:
"Vehicle product consistency"
,
"serviceDataQuery"
:
"Service data query"
,
"managementOfOtherMatters"
:
"Management of other matters"
,
"externalAuditManagement"
:
"External audit management"
,
"systemManagement"
:
"System Management"
}
src/router/index.js
View file @
94894cad
...
@@ -23,6 +23,10 @@ import Layout from '@/layout'
...
@@ -23,6 +23,10 @@ import Layout from '@/layout'
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
}
}
*/
*/
// 引入 en.json cn.json 文件
import
menuCnJson
from
'@/locales/menu/cn.json'
;
import
menuEnJson
from
'@/locales/menu/en.json'
;
// 公共路由
// 公共路由
export
const
constantRoutes
=
[
export
const
constantRoutes
=
[
...
@@ -66,7 +70,7 @@ export const constantRoutes = [
...
@@ -66,7 +70,7 @@ export const constantRoutes = [
path
:
'/index'
,
path
:
'/index'
,
component
:
()
=>
import
(
'@/views/index'
),
component
:
()
=>
import
(
'@/views/index'
),
name
:
'Index'
,
name
:
'Index'
,
meta
:
{
title
:
'首页'
,
icon
:
'dashboard'
,
affix
:
true
},
meta
:
{
title
:
"首页"
,
icon
:
'dashboard'
,
affix
:
true
},
},
},
],
],
},
},
...
...
src/views/controlPlan/fillTemplate/index.vue
0 → 100644
View file @
94894cad
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"queryRef"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"模板类型"
prop=
"status"
>
<el-select
v-model=
"queryParams.templateType"
placeholder=
"请选择"
clearable
style=
"width: 200px"
>
<el-option
v-for=
"dict in control_plan"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"模板编号"
prop=
"templatecode"
>
<el-input
v-model=
"queryParams.templatecode"
placeholder=
"请输入模板编号"
clearable
style=
"width: 200px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"模板名称"
prop=
"templateName"
>
<el-input
v-model=
"queryParams.templateName"
placeholder=
"请输入模板名称"
clearable
style=
"width: 200px"
@
keyup
.
enter=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"Search"
@
click=
"handleQuery"
>
查询
</el-button
>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"templateList"
>
<el-table-column
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"模板类型"
align=
"center"
prop=
"templateType"
>
<template
#
default=
"scope"
>
<dict-tag
:options=
"control_plan"
:value=
"scope.row.templateType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"模板编号"
align=
"center"
prop=
"templateCode"
>
<
template
#
default=
"scope"
>
<span
style=
"color: #1ab394"
>
{{
scope
.
row
.
templateCode
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"模板名称"
align=
"center"
prop=
"templateName"
>
<
template
#
default=
"scope"
>
<span
style=
"color: #1ab394"
>
{{
scope
.
row
.
templateName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"表单数量"
align=
"center"
prop=
"formCount"
>
<
template
#
default=
"scope"
>
<span
style=
"color: #1ab394"
>
{{
scope
.
row
.
formCount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
>
<
template
#
default=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"修改时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
#
default=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
updateTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"修改人"
align=
"center"
prop=
"updateUser"
/>
<el-table-column
label=
"操作"
width=
"180"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
#
default=
"scope"
>
<el-button
v-hasPermi=
"['system:post:edit']"
link
type=
"primary"
icon=
"Edit"
@
click=
"viewDetails(scope.row)"
>
查看详情
</el-button
>
<el-button
v-hasPermi=
"['system:post:edit']"
link
type=
"primary"
icon=
"Edit"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button
>
<el-button
v-hasPermi=
"['system:post:edit']"
link
type=
"primary"
icon=
"Edit"
@
click=
"restoreDefault(scope.row)"
>
恢复默认
</el-button
>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
v-model:page=
"queryParams.pageNum"
v-model:limit=
"queryParams.pageSize"
:total=
"total"
@
pagination=
"getList"
/>
</div>
</template>
<
script
setup
name=
"Post"
>
import
{
listTemplate
}
from
'@/api/system/controlPlan.js'
const
{
proxy
}
=
getCurrentInstance
()
const
{
control_plan
}
=
proxy
.
useDict
(
'control_plan'
)
const
templateList
=
ref
([])
const
loading
=
ref
(
true
)
const
total
=
ref
(
0
)
const
data
=
reactive
({
form
:
{},
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
postCode
:
undefined
,
postName
:
undefined
,
status
:
undefined
,
},
rules
:
{
postName
:
[
{
required
:
true
,
message
:
'岗位名称不能为空'
,
trigger
:
'blur'
},
],
postCode
:
[
{
required
:
true
,
message
:
'岗位编码不能为空'
,
trigger
:
'blur'
},
],
postSort
:
[
{
required
:
true
,
message
:
'岗位顺序不能为空'
,
trigger
:
'blur'
},
],
},
})
const
{
queryParams
,
form
,
rules
}
=
toRefs
(
data
)
/** 查询岗位列表 */
function
getList
()
{
loading
.
value
=
true
listTemplate
(
queryParams
.
value
).
then
((
response
)
=>
{
templateList
.
value
=
response
.
rows
total
.
value
=
response
.
total
loading
.
value
=
false
})
}
/** 表单重置 */
function
reset
()
{
form
.
value
=
{
postId
:
undefined
,
postCode
:
undefined
,
postName
:
undefined
,
postSort
:
0
,
status
:
'0'
,
remark
:
undefined
,
}
proxy
.
resetForm
(
'postRef'
)
}
/** 搜索按钮操作 */
function
handleQuery
()
{
queryParams
.
value
.
pageNum
=
1
getList
()
}
/** 重置按钮操作 */
function
resetQuery
()
{
proxy
.
resetForm
(
'queryRef'
)
handleQuery
()
}
/** 修改按钮操作 */
function
handleUpdate
(
row
)
{
}
function
viewDetails
(
row
)
{}
function
restoreDefault
(
row
)
{}
getList
()
</
script
>
src/views/index.vue
View file @
94894cad
...
@@ -72,8 +72,8 @@
...
@@ -72,8 +72,8 @@
<
script
setup
name=
"Index"
>
<
script
setup
name=
"Index"
>
// 中英文页面文字引入
// 中英文页面文字引入
import
cn
from
'@/l
anguageSwitch
/cn.json'
;
import
cn
from
'@/l
ocales/menu
/cn.json'
;
import
en
from
'@/l
anguageSwitch
/en.json'
;
import
en
from
'@/l
ocales/menu
/en.json'
;
...
...
src/views/login.vue
View file @
94894cad
...
@@ -104,7 +104,7 @@ const loginForm = ref({
...
@@ -104,7 +104,7 @@ const loginForm = ref({
const
loginRules
=
{
const
loginRules
=
{
username
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入您的账号'
}],
username
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入您的账号'
}],
password
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入您的密码'
}],
password
:
[{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入您的密码'
}],
code
:
[{
required
:
true
,
trigger
:
'change'
,
message
:
'请输入验证码'
}],
//
code: [{ required: true, trigger: 'change', message: '请输入验证码' }],
}
}
const
codeUrl
=
ref
(
''
)
const
codeUrl
=
ref
(
''
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment