Commit 94894cad authored by 祁正's avatar 祁正

Merge remote-tracking branch 'origin/dev' into dev

parents 31627312 b32e39bb
import request from '@/utils/request'
export function listTemplate(query) {
return request({
url: '/control/template/list',
method: 'get',
params: query,
})
}
......@@ -130,7 +130,7 @@ aside {
display: flex;
flex-direction: column; /* 垂直排列 */
margin: 24px;
padding: 20px;
padding: 24px;
background: #FAFAFB;
min-height: calc(100vh - 150px);
}
......
......@@ -84,28 +84,30 @@
// menu hover
.sub-menu-title-noDropdown,
.el-sub-menu__title {
color: #FFFFFF;
&:hover {
background-color: rgba(0, 0, 0, 0.1) !important;
background-color: #1E3277 !important;
}
}
& .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,
& .el-sub-menu .el-menu-item {
min-width: $base-sidebar-width !important;
color: #0C214D;
&: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 .el-sub-menu .el-menu-item {
background-color: $base-sub-menu-background;
&:hover {
background-color: $base-sub-menu-hover !important;
}
......
......@@ -10,7 +10,7 @@ $panGreen: #30b08f;
// 默认主题变量
//$menuText: #FFFFFF; //侧边栏各菜单文字颜色引用颜色
$menuText: rgb(155, 155, 155); //侧边栏各菜单文字颜色引用颜色(子和父颜色相同)
$menuText: rgb(155, 155, 155); //
$menuActiveText: #409eff;
$menuBg: #123881;
$menuHover: #1B51B4;
......@@ -27,10 +27,10 @@ $sideBarWidth: 200px;
// 菜单暗色变量
$base-menu-color: #bfcbd9;
$base-menu-color-active: #FFFFFF; //选中菜单标题背景
$base-menu-color-active: #FFFFFF; //选中菜单标题文字颜
$base-menu-background: #143468;
$base-sub-menu-background: #ffffff; //选中展开的子菜单背景色
$base-sub-menu-hover: #f4f4f5; //鼠标悬停处子菜单背景色
$base-sub-menu-hover: #f4f4f9; //鼠标悬停处子菜单背景色
// 组件变量
$--color-primary: #409eff;
......@@ -92,7 +92,7 @@ html.dark {
/* 侧边栏 */
--sidebar-bg: #141414;
--sidebar-text: #ffffff;//////////////
--sidebar-text: #ffffff;
--menu-hover: #2d2d2d;
--menu-active-text: #{$menuActiveText};
......
{
"title": "奇瑞后台管理框架"
}
{
"title": "Chery back office management framework",
"logo": "Chery consistency"
}
......@@ -6,40 +6,46 @@
class="hamburger-container"
@toggle-click="toggleSideBar"
/>
<el-scrollbar class="navbar-scrollbar">
<div class="navbar-item-menu">
<div @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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 @click="switchMenu" class="navbar-item-menu-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>
</el-scrollbar>
<!-- <breadcrumb-->
<!-- v-if="!settingsStore.topNav"-->
<!-- id="breadcrumb-container"-->
......@@ -125,6 +131,9 @@ import RuoYiDoc from '@/components/RuoYi/Doc'
import useAppStore from '@/store/modules/app'
import useUserStore from '@/store/modules/user'
import useSettingsStore from '@/store/modules/settings'
// 中英文页面文字引入
import cn from '@/locales/menu/cn.json';
import en from '@/locales/menu/en.json';
const appStore = useAppStore()
const userStore = useUserStore()
......@@ -179,25 +188,48 @@ function toggleTheme() {
<style lang="scss" scoped>
.navbar {
height: 60px;
overflow: hidden;
position: relative;
//background: var(--navbar-bg);
background: #123881; //
color: #FFFFFF; //
display: flex; //
background: #123881;
color: #FFFFFF;
display: flex;
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
.navbar-item-menu{ //
cursor: pointer;
display: flex;
margin: 18px 0 15px 23px;
.navbar-item-menu-div{
.navbar-scrollbar {
width: calc(100% - 40px);
margin-right: 40px;
overflow-x: auto;
overflow-y: hidden;
white-space: nowrap;
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;
.navbar-item-menu-div-img{
.navbar-item-menu-div-img {
display: flex;
align-items: center;
justify-content: center;
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() {
height: 100%;
line-height: 50px;
display: flex;
margin-left: 400px; //
//margin-left: 400px; //
&:focus {
outline: none;
}
......
......@@ -8,11 +8,11 @@
to="/"
>
<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 v-else key="expand" class="sidebar-logo-link" to="/">
<!-- <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>
</router-link>
</transition>
......@@ -24,8 +24,8 @@ import logo from '@/assets/logo/logo.png'
import useSettingsStore from '@/store/modules/settings'
import variables from '@/assets/styles/variables.module.scss'
// 中英文页面文字引入
import cn from '@/languageSwitch/cn.json';
import en from '@/languageSwitch/en.json';
import cn from '@/locales/menu/cn.json';
import en from '@/locales/menu/en.json';
defineProps({
collapse: {
type: Boolean,
......
{
"title": "奇瑞后台管理框架",
"logo": "奇瑞一致性",
"index": "首页",
"controlPlanManagement": "控制计划管理",
"completeVehicleValidationInspection": "整车确认检验",
"productionAssemblyConsistency": "生产装配一致性",
"componentConsistency": "零部件一致性",
"vehicleProductConsistency": "整车产品一致性",
"serviceDataQuery": "业务数据查询",
"managementOfOtherMatters": "其他事项管理",
"externalAuditManagement": "外审管理",
"systemManagement": "系统管理"
}
{
"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"
}
......@@ -23,6 +23,10 @@ import Layout from '@/layout'
activeMenu: '/system/user' // 当路由设置了该属性,则会高亮相对应的侧边栏。
}
*/
// 引入 en.json cn.json 文件
import menuCnJson from '@/locales/menu/cn.json';
import menuEnJson from '@/locales/menu/en.json';
// 公共路由
export const constantRoutes = [
......@@ -66,7 +70,7 @@ export const constantRoutes = [
path: '/index',
component: () => import('@/views/index'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true },
meta: { title: "首页", icon: 'dashboard', affix: true },
},
],
},
......
<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>
......@@ -72,8 +72,8 @@
<script setup name="Index">
// 中英文页面文字引入
import cn from '@/languageSwitch/cn.json';
import en from '@/languageSwitch/en.json';
import cn from '@/locales/menu/cn.json';
import en from '@/locales/menu/en.json';
......
......@@ -104,7 +104,7 @@ const loginForm = ref({
const loginRules = {
username: [{ 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('')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment