fzq #15
13
src/App.vue
@ -1,3 +1,11 @@
|
|||||||
|
<!--
|
||||||
|
* @Descripttion:
|
||||||
|
* @version:
|
||||||
|
* @Author: fzq
|
||||||
|
* @Date: 2022-11-25 09:51:46
|
||||||
|
* @LastEditors: fzq
|
||||||
|
* @LastEditTime: 2022-12-13 19:44:21
|
||||||
|
-->
|
||||||
<template>
|
<template>
|
||||||
<transition name="el-fade-in-linear">
|
<transition name="el-fade-in-linear">
|
||||||
<router-view />
|
<router-view />
|
||||||
@ -11,7 +19,7 @@
|
|||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
import { messages } from '@/i18n'
|
// import { messages } from '@/i18n'
|
||||||
export default {
|
export default {
|
||||||
watch: {
|
watch: {
|
||||||
'$i18n.locale': 'i18nHandle'
|
'$i18n.locale': 'i18nHandle'
|
||||||
@ -23,7 +31,8 @@ export default {
|
|||||||
i18nHandle(val, oldVal) {
|
i18nHandle(val, oldVal) {
|
||||||
Cookies.set('language', val)
|
Cookies.set('language', val)
|
||||||
document.querySelector('html').setAttribute('lang', val)
|
document.querySelector('html').setAttribute('lang', val)
|
||||||
document.title = messages[val].brand.lg
|
// 不注释掉会报错
|
||||||
|
// document.title = messages[val].brand.lg
|
||||||
// 非登录页面,切换语言刷新页面
|
// 非登录页面,切换语言刷新页面
|
||||||
if (this.$route.name !== 'login' && oldVal) {
|
if (this.$route.name !== 'login' && oldVal) {
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
BIN
src/assets/img/choicepart/厂务管理.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
src/assets/img/choicepart/基本资料.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/img/choicepart/报表管理.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
src/assets/img/choicepart/数据分析.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
src/assets/img/choicepart/日志管理.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/img/choicepart/日志管理2.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
src/assets/img/choicepart/权限管理.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/assets/img/choicepart/系统设置.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
src/assets/img/choicepart/设备数采.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
src/assets/img/choicepart/质量管理.png
Normal file
After Width: | Height: | Size: 44 KiB |
@ -254,6 +254,9 @@ img {
|
|||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
&__close {
|
||||||
|
width: 0px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.aui-content {
|
.aui-content {
|
||||||
&__wrapper {
|
&__wrapper {
|
||||||
@ -278,7 +281,19 @@ img {
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
height: $navbar--height;
|
height: $navbar--height;
|
||||||
background-color: $--color-primary;
|
background-color: $--color-primary;
|
||||||
box-shadow: 0 1px 0 0 rgba(0, 0, 0, .05);
|
box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
|
||||||
|
.home {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 1030;
|
||||||
|
display: flex;
|
||||||
|
align-items: stretch;
|
||||||
|
height: $navbar--height;
|
||||||
|
background-color: #409EFF;
|
||||||
|
box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
|
||||||
|
}
|
||||||
&--colorful {
|
&--colorful {
|
||||||
.aui-navbar__body {
|
.aui-navbar__body {
|
||||||
// navbar body颜色
|
// navbar body颜色
|
||||||
@ -396,9 +411,13 @@ img {
|
|||||||
.el-menu-item.is-active,
|
.el-menu-item.is-active,
|
||||||
.el-submenu.is-active > .el-submenu__title {
|
.el-submenu.is-active > .el-submenu__title {
|
||||||
color: $--color-text-secondary;
|
color: $--color-text-secondary;
|
||||||
|
// background-color: rgb(13,43,104);
|
||||||
&:focus,
|
&:focus,
|
||||||
&:hover {
|
&:hover {
|
||||||
|
// 点击之后图标颜色亮度
|
||||||
color: $--color-text-primary;
|
color: $--color-text-primary;
|
||||||
|
// color: #fff;
|
||||||
|
// background-color: rgb(13,43,104);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.el-menu-item {
|
.el-menu-item {
|
||||||
@ -533,6 +552,10 @@ img {
|
|||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
transition: width .3s;
|
transition: width .3s;
|
||||||
}
|
}
|
||||||
|
.close {
|
||||||
|
width: 0px;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
}
|
||||||
&__menu {
|
&__menu {
|
||||||
width: $sidebar--width;
|
width: $sidebar--width;
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
@ -564,6 +587,7 @@ img {
|
|||||||
min-height: calc(100vh - #{$navbar--height});
|
min-height: calc(100vh - #{$navbar--height});
|
||||||
&__wrapper {
|
&__wrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
// 注释掉可隐藏侧边栏,但需要在main.vue中加入main-content的限制条件
|
||||||
margin-left: $sidebar--width;
|
margin-left: $sidebar--width;
|
||||||
min-height: calc(100vh - #{$navbar--height});
|
min-height: calc(100vh - #{$navbar--height});
|
||||||
background-color: $content--background-color;
|
background-color: $content--background-color;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
.mod-home {
|
.mod-home {
|
||||||
table {
|
table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: 10px;
|
||||||
border: 1px solid $--border-color-lighter;
|
border: 1px solid $--border-color-lighter;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
th,
|
th,
|
||||||
|
@ -9,13 +9,15 @@ $navbar--height: 50px;
|
|||||||
$sidebar--width: 248px;
|
$sidebar--width: 248px;
|
||||||
$sidebar--width-fold: 64px;
|
$sidebar--width-fold: 64px;
|
||||||
// $sidebar--background-color-dark: #263238;
|
// $sidebar--background-color-dark: #263238;
|
||||||
$sidebar--background-color-dark: #001529;
|
// $sidebar--background-color-dark: #001529;
|
||||||
|
$sidebar--background-color-dark: #304156;
|
||||||
$sidebar--text-color-dark: #8a979e;
|
$sidebar--text-color-dark: #8a979e;
|
||||||
$sidebar--menu-item-height: 48px;
|
$sidebar--menu-item-height: 48px;
|
||||||
|
|
||||||
// Content
|
// Content
|
||||||
$content--padding: 15px;
|
$content--padding: 15px;
|
||||||
$content--background-color: #f1f4f5;
|
// $content--background-color: #f1f4f5;
|
||||||
|
$content--background-color: #fff;
|
||||||
$content--card-header-height: 60px;
|
$content--card-header-height: 60px;
|
||||||
$content--tabs-header-height: 38px;
|
$content--tabs-header-height: 38px;
|
||||||
// Content, 填充整屏高度(非tabs状态) = 整屏高度 - 导航条高度 - aui-content上下内边距高度
|
// Content, 填充整屏高度(非tabs状态) = 整屏高度 - 导航条高度 - aui-content上下内边距高度
|
||||||
|
@ -1,16 +1,41 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="base-table">
|
<div class="base-table">
|
||||||
|
<!-- 花式新增按钮 -->
|
||||||
|
<div class="setting">
|
||||||
|
<template v-if="topBtnConfig.length > 0">
|
||||||
|
<!-- table顶部操作按钮区 -->
|
||||||
|
<div class="action_btn">
|
||||||
|
<template v-for="(btn, index) in topBtnConfig">
|
||||||
|
<span v-if="btn.type === 'add'" :key="index" style="display: inline-block" @click="clickTopButton(btn.type)">
|
||||||
|
<svg-icon style="width: 14px; height: 14px" class="iconPlus" icon-class="addPage" />
|
||||||
|
<span class="add">{{ $t('add') }}</span>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<!-- 设置小齿轮table列的图标 -->
|
||||||
|
<el-popover placement="bottom-start" width="200" trigger="click">
|
||||||
|
<div class="setting-box">
|
||||||
|
<el-checkbox v-for="(item, index) in tableHeadConfigs" :key="'cb' + index" v-model="selectedBox[index]" :label="item.name" />
|
||||||
|
</div>
|
||||||
|
<i slot="reference" class="el-icon-s-tools" style="color: #0b58ff" />
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
|
<!-- border 属性增加边框:header-cell-style="{background:'#FAFAFA',color:'#606266',height: '40px'}" -->
|
||||||
|
<!-- <el-table :data="data" -->
|
||||||
<el-table
|
<el-table
|
||||||
:data="data"
|
:data="renderData"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
fit
|
fit
|
||||||
border
|
highlight-current-row
|
||||||
:header-cell-style="{ background: '#FAFAFA', color: '#606266', height: '40px' }"
|
:header-cell-style="{ background: '#FAFAFA', color: '#000', height: '40px' }"
|
||||||
:max-height="maxHeight"
|
:max-height="maxHeight"
|
||||||
:span-method="spanMethod || null"
|
:span-method="spanMethod || null"
|
||||||
>
|
:row-style="{ height: '20px' }"
|
||||||
|
:cell-style="{ padding: '0px' }">
|
||||||
<!-- 表格头定义 -->
|
<!-- 表格头定义 -->
|
||||||
<template v-for="(head, idx) in tableHeadConfigs">
|
<!-- in tableHeadConfigs -->
|
||||||
|
<template v-for="(head, idx) in renderTableHeadList">
|
||||||
<!-- 带type的表头 -->
|
<!-- 带type的表头 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:key="idx"
|
:key="idx"
|
||||||
@ -20,11 +45,14 @@
|
|||||||
:header-align="head.align || 'center'"
|
:header-align="head.align || 'center'"
|
||||||
:align="head.align || 'center'"
|
:align="head.align || 'center'"
|
||||||
:width="head.width || 50"
|
:width="head.width || 50"
|
||||||
:index="head.type === 'index' ? val => {
|
:index="
|
||||||
|
head.type === 'index'
|
||||||
|
? (val) => {
|
||||||
return val + 1 + (page - 1) * size
|
return val + 1 + (page - 1) * size
|
||||||
} : null"
|
}
|
||||||
v-bind="head.more"
|
: null
|
||||||
></el-table-column>
|
"
|
||||||
|
v-bind="head.more"></el-table-column>
|
||||||
<!-- 普通的表头 -->
|
<!-- 普通的表头 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-else
|
v-else
|
||||||
@ -38,9 +66,8 @@
|
|||||||
:tooltip-effect="head.tooltipEffect || 'light'"
|
:tooltip-effect="head.tooltipEffect || 'light'"
|
||||||
filter-placement="top"
|
filter-placement="top"
|
||||||
:align="head.align || null"
|
:align="head.align || null"
|
||||||
v-bind="head.more"
|
v-bind="head.more">
|
||||||
>
|
<!-- 子组件 编辑/删除 -->
|
||||||
<!-- 子组件 -->
|
|
||||||
<template v-if="head.prop" slot-scope="scope">
|
<template v-if="head.prop" slot-scope="scope">
|
||||||
<component v-if="head.subcomponent" :is="head.subcomponent" :key="idx + 'sub'" :inject-data="{ ...scope.row, head }" @emit-data="handleSubEmitData" />
|
<component v-if="head.subcomponent" :is="head.subcomponent" :key="idx + 'sub'" :inject-data="{ ...scope.row, head }" @emit-data="handleSubEmitData" />
|
||||||
<!-- 直接展示数据或应用过滤器 -->
|
<!-- 直接展示数据或应用过滤器 -->
|
||||||
@ -58,13 +85,21 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { isObject, isString } from 'lodash'
|
||||||
import TableHead from './components/table-head.vue'
|
import TableHead from './components/table-head.vue'
|
||||||
export default {
|
export default {
|
||||||
name: 'BaseTable',
|
name: 'BaseTable',
|
||||||
|
filters: {
|
||||||
|
commonFilter: (source, filterType = (a) => a) => {
|
||||||
|
return filterType(source)
|
||||||
|
}
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
tableHeadConfigs: {
|
tableHeadConfigs: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: () => []
|
default: () => []
|
||||||
|
// required: true,
|
||||||
|
// validator: val => val.filter(item => !isString(item.prop) || !isString(item.name)).length === 0
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
type: Array,
|
type: Array,
|
||||||
@ -72,6 +107,7 @@ export default {
|
|||||||
},
|
},
|
||||||
maxHeight: {
|
maxHeight: {
|
||||||
type: Number,
|
type: Number,
|
||||||
|
// default: window.innerHeight - 325
|
||||||
default: 500
|
default: 500
|
||||||
},
|
},
|
||||||
spanMethod: {
|
spanMethod: {
|
||||||
@ -88,21 +124,92 @@ export default {
|
|||||||
size: {
|
size: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 10
|
default: 10
|
||||||
|
},
|
||||||
|
// 新增的props
|
||||||
|
// tableConfig: {
|
||||||
|
// type: Array,
|
||||||
|
// required: true,
|
||||||
|
// validator: (val) => val.filter((item) => !isString(item.prop) || !isString(item.label)).length === 0
|
||||||
|
// },
|
||||||
|
topBtnConfig: {
|
||||||
|
type: Array,
|
||||||
|
default: () => {
|
||||||
|
return []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
commonFilter: (source, filterType = a => a) => {
|
commonFilter: (source, filterType = (a) => a) => {
|
||||||
return filterType(source)
|
return filterType(source)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {}
|
return {
|
||||||
|
selectedBox: new Array(100).fill(true)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
renderData() {
|
||||||
|
return this.data.map((item, index) => {
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
_pageIndex: (this.page - 1) * this.limit + index + 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
renderTableHeadList() {
|
||||||
|
return this.tableHeadConfigs.filter((item, index) => {
|
||||||
|
return this.selectedBox[index]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeMount() {
|
||||||
|
this.selectedBox = new Array(100).fill(true)
|
||||||
|
if (this.highIndex) {
|
||||||
|
this.tableRowIndex = 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// console.log(this.selectedBox)
|
||||||
|
console.log(this.tableHeadConfigs)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSubEmitData(payload) {
|
handleSubEmitData(payload) {
|
||||||
this.$emit('operate-event', payload)
|
this.$emit('operate-event', payload)
|
||||||
|
},
|
||||||
|
clickTopButton(val) {
|
||||||
|
this.$emit('clickTopBtn', val)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: { TableHead }
|
components: { TableHead }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.setting {
|
||||||
|
text-align: right;
|
||||||
|
padding: 0px 15px 7px;
|
||||||
|
.action_btn {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 15px;
|
||||||
|
font-size: 14px;
|
||||||
|
.add {
|
||||||
|
color: #0b58ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.setting-box {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
i {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-table .success-row {
|
||||||
|
background: #eaf1fc;
|
||||||
|
}
|
||||||
|
.iconPlus {
|
||||||
|
color: #0b58ff;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@ $--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default;
|
|||||||
-------------------------- */
|
-------------------------- */
|
||||||
/// color|1|Brand Color|0
|
/// color|1|Brand Color|0
|
||||||
// $--color-primary: #409EFF !default;
|
// $--color-primary: #409EFF !default;
|
||||||
|
// 左上标题背景颜色
|
||||||
$--color-primary: #001529 !default;
|
$--color-primary: #001529 !default;
|
||||||
/// color|1|Background Color|4
|
/// color|1|Background Color|4
|
||||||
$--color-white: #FFFFFF !default;
|
$--color-white: #FFFFFF !default;
|
||||||
@ -51,6 +52,7 @@ $--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default;
|
|||||||
$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default;
|
$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default;
|
||||||
/// color|1|Font Color|2
|
/// color|1|Font Color|2
|
||||||
$--color-text-primary: #303133 !default;
|
$--color-text-primary: #303133 !default;
|
||||||
|
$--color-text-home: #fff !default;
|
||||||
/// color|1|Font Color|2
|
/// color|1|Font Color|2
|
||||||
$--color-text-regular: #606266 !default;
|
$--color-text-regular: #606266 !default;
|
||||||
/// color|1|Font Color|2
|
/// color|1|Font Color|2
|
||||||
|
@ -4,7 +4,7 @@ t.loading = 'Loading...'
|
|||||||
t.createTime = 'Create Time'
|
t.createTime = 'Create Time'
|
||||||
|
|
||||||
t.brand = {}
|
t.brand = {}
|
||||||
t.brand.lg = 'Deep Processing SCADA Platform'
|
t.brand.lg = 'SCADA Platform'
|
||||||
t.brand.mini = 'SCADA'
|
t.brand.mini = 'SCADA'
|
||||||
|
|
||||||
t.routes = {}
|
t.routes = {}
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
/*
|
||||||
|
* @Descripttion:
|
||||||
|
* @version:
|
||||||
|
* @Author: fzq
|
||||||
|
* @Date: 2022-11-25 09:51:46
|
||||||
|
* @LastEditors: fzq
|
||||||
|
* @LastEditTime: 2022-12-13 19:27:24
|
||||||
|
*/
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import VueI18n from 'vue-i18n'
|
import VueI18n from 'vue-i18n'
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
@ -43,5 +51,7 @@ export function getLanguage() {
|
|||||||
export default new VueI18n({
|
export default new VueI18n({
|
||||||
// locale: Cookies.get('language') || 'zh-CN',
|
// locale: Cookies.get('language') || 'zh-CN',
|
||||||
locale: getLanguage(), // 先默认中文
|
locale: getLanguage(), // 先默认中文
|
||||||
messages
|
messages,
|
||||||
|
//抑制警告
|
||||||
|
silentFallbackWarn: true,
|
||||||
})
|
})
|
||||||
|
19
src/icons/svg/table_add.svg
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="10px" height="10px" viewBox="0 0 10 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 60 (88103) - https://sketch.com -->
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<g id="11_系统管理" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="11-1用户管理" transform="translate(-1764.000000, -160.000000)">
|
||||||
|
<g id="编组-15" transform="translate(1763.000000, 158.000000)">
|
||||||
|
<g id="编组-18">
|
||||||
|
<g id="icon/界面内/新增" transform="translate(0.000000, 1.000000)">
|
||||||
|
<g id="编组">
|
||||||
|
<rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="11" height="11"></rect>
|
||||||
|
<path d="M10.0813953,6.42885117 L6.37790698,6.42885117 L6.37790698,10.0770235 C6.37790698,10.3108355 6.19069767,10.5 5.95930233,10.5 L5.95930233,10.5 C5.72790698,10.5 5.54069767,10.3108355 5.54069767,10.0770235 L5.54069767,6.42885117 L1.91860465,6.42885117 C1.6872093,6.42885117 1.5,6.23968668 1.5,6.00587467 L1.5,6.00587467 C1.5,5.77206266 1.6872093,5.58289817 1.91860465,5.58289817 L5.54069767,5.58289817 L5.54069767,1.9229765 C5.54069767,1.68916449 5.72790698,1.5 5.95930233,1.5 L5.95930233,1.5 C6.19069767,1.5 6.37790698,1.68916449 6.37790698,1.9229765 L6.37790698,5.58289817 L10.0813953,5.58289817 C10.3127907,5.58289817 10.5,5.77206266 10.5,6.00587467 L10.5,6.00587467 C10.5,6.23968668 10.3127907,6.42885117 10.0813953,6.42885117 L10.0813953,6.42885117 Z" id="Shape" fill="#0B58FF" transform="translate(6.000000, 6.000000) scale(1, -1) translate(-6.000000, -6.000000) "></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
@ -44,12 +44,12 @@ export const moduleRoutes = {
|
|||||||
path: '/',
|
path: '/',
|
||||||
component: () => import('@/views/main'),
|
component: () => import('@/views/main'),
|
||||||
name: 'main',
|
name: 'main',
|
||||||
// redirect: { name: 'home' },
|
redirect: { name: 'home' },
|
||||||
redirect: { name: 'sys-log-login' },
|
// redirect: { name: 'sys-log-login' },
|
||||||
meta: { title: '主入口布局' },
|
meta: { title: '主入口布局' },
|
||||||
children: [
|
children: [
|
||||||
{ path: '/sys-log-login', component: () => import('@/views/modules/sys/log-login'), name: 'sys-log-login', meta: { title: '首页', isTab: true } }
|
// { path: '/sys-log-login', component: () => import('@/views/modules/sys/log-login'), name: 'sys-log-login', meta: { title: '首页', isTab: true } }
|
||||||
// { path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: true } }
|
{ path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: false, hiddenSiderbar: true } }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,13 +31,13 @@ export default new Vuex.Store({
|
|||||||
contentTabs: [
|
contentTabs: [
|
||||||
{
|
{
|
||||||
...window.SITE_CONFIG['contentTabDefault'],
|
...window.SITE_CONFIG['contentTabDefault'],
|
||||||
'name': 'sys-log-login',
|
// 'name': 'sys-log-login',
|
||||||
// 'name': 'home',
|
'name': 'home',
|
||||||
'title': 'home'
|
'title': 'home'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
// contentTabsActiveName: 'home'
|
contentTabsActiveName: 'home'
|
||||||
contentTabsActiveName: 'sys-log-login'
|
// contentTabsActiveName: 'sys-log-login'
|
||||||
},
|
},
|
||||||
modules: {
|
modules: {
|
||||||
user
|
user
|
||||||
|
@ -114,3 +114,8 @@ export function calcMaxHeight(num) {
|
|||||||
const finalHeight = clientHeight - num - FIXED_HEIGHT
|
const finalHeight = clientHeight - num - FIXED_HEIGHT
|
||||||
return finalHeight > 0 ? finalHeight : -finalHeight
|
return finalHeight > 0 ? finalHeight : -finalHeight
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tableHeight
|
||||||
|
export function tableHeight(n) {
|
||||||
|
return window.innerHeight - n
|
||||||
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
|
<!-- <main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]"> -->
|
||||||
|
<main :class="[this.$route.meta.hiddenSiderbar !== true? ['aui-content', { 'aui-content--tabs': $route.meta.isTab }] : 'aui-sidebar.close']">
|
||||||
<!-- tab展示内容 -->
|
<!-- tab展示内容 -->
|
||||||
<template v-if="$route.meta.isTab">
|
<template v-if="$route.meta.isTab">
|
||||||
<el-dropdown class="aui-content--tabs-tools">
|
<el-dropdown class="aui-content--tabs-tools">
|
||||||
@ -89,6 +90,7 @@ export default {
|
|||||||
// tabs, 关闭全部
|
// tabs, 关闭全部
|
||||||
tabsCloseAllHandle() {
|
tabsCloseAllHandle() {
|
||||||
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name === 'home')
|
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name === 'home')
|
||||||
|
// this.$router.push({ name: 'sys-log-login' })
|
||||||
this.$router.push({ name: 'home' })
|
this.$router.push({ name: 'home' })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,38 @@
|
|||||||
<template>
|
<template>
|
||||||
<nav class="aui-navbar" :class="`aui-navbar--${$store.state.navbarLayoutType}`">
|
<nav
|
||||||
|
class="aui-navbar"
|
||||||
|
:class="[this.$route.meta.hiddenSiderbar !== true ? `aui-navbar--${$store.state.navbarLayoutType}` : 'aui-navbar.home']"
|
||||||
|
:style="{
|
||||||
|
backgroundColor: this.$route.meta.hiddenSiderbar !== true ? '#001529' : 'rgb(13,43,104)'
|
||||||
|
}">
|
||||||
<!-- <hamburger v-if="showhome" id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> -->
|
<!-- <hamburger v-if="showhome" id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> -->
|
||||||
<div class="aui-navbar__header">
|
<div class="aui-navbar__header">
|
||||||
<h1 class="aui-navbar__brand" @click="$router.push({ name: 'sys-log-login' })">
|
<h1 class="aui-navbar__brand" @click="$router.push({ name: 'home' })">
|
||||||
<a class="aui-navbar__brand-lg" href="javascript:;">
|
<a class="aui-navbar__brand-lg" href="javascript:;">
|
||||||
<img src="../assets/img/cnbm.png" style="width: 36px; height: 36px; position: relative; top: 0em; margin-right: 12px" alt="" />
|
<img src="../assets/img/cnbm.png" style="width: 36px; height: 36px; position: relative; top: 0em; margin-right: 12px" alt="" />
|
||||||
{{ $t('brand.lg') }}
|
{{ $t('brand.lg') }}
|
||||||
</a>
|
</a>
|
||||||
<!-- <a class="aui-navbar__brand-mini" href="javascript:;">{{ $t('brand.mini') }}</a> -->
|
<!-- <a class="aui-navbar__brand-mini" href="javascript:;">{{ $t('brand.mini') }}</a> -->
|
||||||
<!-- 缩放时LOGO -->
|
<!-- 缩放时LOGO -->
|
||||||
|
<!-- <a class="aui-navbar__brand-mini" href="javascript:;"> -->
|
||||||
<a class="aui-navbar__brand-mini" href="javascript:;">
|
<a class="aui-navbar__brand-mini" href="javascript:;">
|
||||||
<img src="../assets/img/cnbm.png" style="width: 36px; height: 36px; position: relative; top: 0em" alt="" />
|
<img src="../assets/img/cnbm.png" style="width: 36px; height: 36px; position: relative; top: 0em" alt="" />
|
||||||
</a>
|
</a>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" /> -->
|
<!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" /> -->
|
||||||
<div class="aui-navbar__body">
|
<div
|
||||||
|
class="aui-navbar__body"
|
||||||
|
:style="{
|
||||||
|
backgroundColor: this.$route.meta.hiddenSiderbar !== true ? '#fff' : 'rgb(13,43,104)'
|
||||||
|
}">
|
||||||
<el-menu class="aui-navbar__menu mr-auto" mode="horizontal">
|
<el-menu class="aui-navbar__menu mr-auto" mode="horizontal">
|
||||||
<el-menu-item index="1" @click="$store.state.sidebarFold = !$store.state.sidebarFold">
|
<el-menu-item v-if="this.$route.meta.hiddenSiderbar !== true" index="1" @click="$store.state.sidebarFold = !$store.state.sidebarFold">
|
||||||
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--switch" aria-hidden="true">
|
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--switch" aria-hidden="true">
|
||||||
<use xlink:href="#icon-outdent"></use>
|
<use xlink:href="#icon-outdent"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item index="2" @click="refresh()">
|
<el-menu-item v-if="this.$route.meta.hiddenSiderbar !== true" index="2" @click="refresh()">
|
||||||
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--refresh" aria-hidden="true">
|
<svg class="icon-svg aui-navbar__icon-menu aui-navbar__icon-menu--refresh" aria-hidden="true">
|
||||||
<use xlink:href="#icon-sync"></use>
|
<use xlink:href="#icon-sync"></use>
|
||||||
</svg>
|
</svg>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]">
|
<!-- <aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]"> -->
|
||||||
<div class="aui-sidebar__inner">
|
<aside v-if="this.$route.meta.hiddenSiderbar !== true" :class="[this.$route.meta.hiddenSiderbar !== true? ['aui-sidebar',`aui-sidebar--${$store.state.sidebarLayoutSkin}`]:'aui-sidebar.close']">
|
||||||
|
<div v-if="this.$route.meta.hiddenSiderbar !== true" :class="[this.$route.meta.hiddenSiderbar !== true? 'aui-sidebar__inner':'aui-sidebar.close']">
|
||||||
<el-menu
|
<el-menu
|
||||||
:default-active="$store.state.sidebarMenuActiveName"
|
:default-active="$store.state.sidebarMenuActiveName"
|
||||||
:collapse="$store.state.sidebarFold"
|
:collapse="$store.state.sidebarFold"
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
<div v-loading.fullscreen.lock="loading" :element-loading-text="$t('loading')" :class="['aui-wrapper', { 'aui-sidebar--fold': $store.state.sidebarFold }]">
|
<div v-loading.fullscreen.lock="loading" :element-loading-text="$t('loading')" :class="['aui-wrapper', { 'aui-sidebar--fold': $store.state.sidebarFold }]">
|
||||||
<template v-if="!loading">
|
<template v-if="!loading">
|
||||||
<main-navbar/>
|
<main-navbar/>
|
||||||
<main-sidebar />
|
<main-sidebar v-if="this.$route.meta.hiddenSiderbar !== true"/>
|
||||||
<div class="aui-content__wrapper">
|
<div :class="[this.$route.meta.hiddenSiderbar !== true? 'aui-content__wrapper':'aui-sidebar.close']">
|
||||||
<main-content v-if="!$store.state.contentIsNeedRefresh" />
|
<main-content v-if="!$store.state.contentIsNeedRefresh" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -50,12 +50,13 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 窗口改变大小
|
// 窗口改变大小
|
||||||
windowResizeHandle() {
|
windowResizeHandle() {
|
||||||
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false
|
this.$store.state.sidebarFold = ((document.documentElement['clientWidth'] <= 992) && (this.$route.name !== "home")) || false
|
||||||
window.addEventListener(
|
window.addEventListener(
|
||||||
'resize',
|
'resize',
|
||||||
// 防抖
|
// 防抖
|
||||||
debounce(() => {
|
debounce(() => {
|
||||||
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false
|
// this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false
|
||||||
|
this.$store.state.sidebarFold = ((document.documentElement['clientWidth'] <= 992) && (this.$route.name !== "home")) || false
|
||||||
}, 150)
|
}, 150)
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
@ -1,47 +1,244 @@
|
|||||||
<!--
|
|
||||||
* @Descripttion:
|
|
||||||
* @version:
|
|
||||||
* @Author: fzq
|
|
||||||
* @Date: 2022-12-09 15:44:37
|
|
||||||
* @LastEditors: fzq
|
|
||||||
* @LastEditTime: 2022-12-11 20:47:56
|
|
||||||
-->
|
|
||||||
<template>
|
<template>
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
<div class="choicepart-container">
|
||||||
<!-- <div class="mod-home">
|
<!-- <div class="choicepat-navbar">
|
||||||
<h3>项目介绍</h3>
|
<navbar :showhome="false" :show-title="true" />
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
renren-ui基于vue、element-ui构建开发,实现<a href="https://gitee.com/renrenio/renren-ui" target="_blank">renren-security</a>后台管理前端功能,提供一套更优的前端解决方案
|
|
||||||
</li>
|
|
||||||
<li>前后端分离,通过token进行数据交互,可独立部署</li>
|
|
||||||
<li>动态菜单,通过菜单管理统一管理访问路由</li>
|
|
||||||
<li>演示地址:<a href="http://demo.open.renren.io/renren-security" target="_blank">http://demo.open.renren.io/renren-security</a> (账号密码:admin/admin)</li>
|
|
||||||
</ul>
|
|
||||||
<h3>获取帮助</h3>
|
|
||||||
<ul>
|
|
||||||
<li>官方社区:<a href="https://www.renren.io/community" target="_blank">https://www.renren.io/community</a></li>
|
|
||||||
<li>前端Git地址:<a href="https://gitee.com/renrenio/renren-ui" target="_blank">https://gitee.com/renrenio/renren-ui</a></li>
|
|
||||||
<li>后台Git地址:<a href="https://gitee.com/renrenio/renren-security" target="_blank">https://gitee.com/renrenio/renren-security</a></li>
|
|
||||||
<li>如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持</li>
|
|
||||||
</ul>
|
|
||||||
<h3>官方微信群</h3>
|
|
||||||
<ul>
|
|
||||||
<li>扫码下面的二维码,关注【人人开源】公众号,回复【加群】,即可根据提示加入微信群!</li>
|
|
||||||
</ul>
|
|
||||||
</div> -->
|
</div> -->
|
||||||
</el-card>
|
<div class="choicepart-box">
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in routeList"
|
||||||
|
:key="item.path"
|
||||||
|
class="choicepart-item"
|
||||||
|
@click="handelClick(item, index)"
|
||||||
|
>
|
||||||
|
<!-- :style="{ background: colorArr.colorList[index % 9] }" -->
|
||||||
|
<div class="choicepart-item-border">
|
||||||
|
<img :src="require(`../../assets/img/choicepart/${item.name}.png`)" alt="">
|
||||||
|
</div>
|
||||||
|
<div class="choicepart-item-title" :title="item.name">{{ item.name }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
// import db from '@/utils/indexDB'
|
||||||
|
// import { mapGetters } from 'vuex'
|
||||||
|
// import { constantRoutes } from '@/router'
|
||||||
|
// import { Navbar } from '@/layout/components'
|
||||||
|
// import { downLoadBGP } from '@/api/user'
|
||||||
|
import store from '@/store'
|
||||||
|
// import { blobToBase64 } from '@/utils/blobToBase64'
|
||||||
|
const colorList = ['#8080ff', '#ff8080', '#b004fb', '#ff409f', '#00caca', '#8080c0', '#cccc00', '#ff8040', '#0c4d9e']
|
||||||
|
const colorList1 = ['#b4b4ff', '#ffb4b4', '#c648fb', '#ff86c2', '#66f6f6', '#a2a2f3', '#ffff9a', '#ffc3a5', '#367cd4']
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
created() {
|
name: 'ChoicePart',
|
||||||
this.$router.replace({ name: 'sys-log-login' })
|
// components: { Navbar },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
baseImg: require('../../assets/img/login-back.jpg'),
|
||||||
|
coverImgUrl: localStorage.getItem('backImg') || '',
|
||||||
|
rowNum: 1,
|
||||||
|
colorArr: {
|
||||||
|
colorList,
|
||||||
|
colorList1
|
||||||
},
|
},
|
||||||
|
windowWidth: 0,
|
||||||
|
dbConnect: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
routeList() {
|
||||||
|
// const cangoList = []
|
||||||
|
// const permission_routes = store.getters.permission_routes
|
||||||
|
// console.log(permission_routes)
|
||||||
|
// permission_routes.map(item => {
|
||||||
|
// if (!item.hidden && item.meta) {
|
||||||
|
// cangoList.push(item)
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// const formatList = cangoList.map((item, index) => {
|
||||||
|
// return this.setIndex(item, index)
|
||||||
|
// })
|
||||||
|
// console.log(formatList)
|
||||||
|
return window.SITE_CONFIG['menuList']
|
||||||
|
},
|
||||||
|
// ...mapGetters(['language', 'dictList', 'dictObj'])
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// 确保小图标点回来依然带字符
|
||||||
|
this.$store.state.sidebarFold = false
|
||||||
|
this.windowWidth = window.innerWidth
|
||||||
|
console.log(this.$route)
|
||||||
|
// this.dbConnect = db({
|
||||||
|
// DBName: 'back_img',
|
||||||
|
// version: '1.0',
|
||||||
|
// params: [
|
||||||
|
// { name: 'id', unique: true },
|
||||||
|
// { name: 'imgUrl', unique: true }
|
||||||
|
// ]
|
||||||
|
// })
|
||||||
|
// const request = this.dbConnect.openDB()
|
||||||
|
// request.onsuccess = () => {
|
||||||
|
// // const result = this.dbConnect.search('back_img', 'id', 1)
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// console.log(this.dictList, this.dictObj)
|
||||||
|
// this.getPic()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// getPic() {
|
||||||
|
// // edit here
|
||||||
|
// downLoadBGP().then(response => {
|
||||||
|
// if (response.data.size) {
|
||||||
|
// blobToBase64(response.data).then(res => {
|
||||||
|
// this.coverImgUrl = res
|
||||||
|
// localStorage.setItem('backImg', res)
|
||||||
|
// console.log(res)
|
||||||
|
// // const result = this.dbConnect.search('back_img', 'id', 1)
|
||||||
|
// // if (result.result) {
|
||||||
|
// // this.dbConnect.update({
|
||||||
|
// // id: 1,
|
||||||
|
// // imgUrl: res
|
||||||
|
// // })
|
||||||
|
// // } else {
|
||||||
|
// // this.dbConnect.add({
|
||||||
|
// // id: 1,
|
||||||
|
// // imgUrl: res
|
||||||
|
// // })
|
||||||
|
// // }
|
||||||
|
// })
|
||||||
|
// // this.coverImgUrl = response.data
|
||||||
|
// // const temp = response.data.split('/')
|
||||||
|
// // temp.splice(0, 2)
|
||||||
|
// // this.coverImgUrl = 'http://zzdhg.mes.picaiba.com/' + temp.join('/')
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
resize() {},
|
||||||
|
handelClick(item, index) {
|
||||||
|
// this.$store.dispatch('app/setChoicepart', index)
|
||||||
|
// if (item.meta.unuse) {
|
||||||
|
// this.$message.warning(this.$t('choisePart.module'))
|
||||||
|
// } else {
|
||||||
|
// this.toRouter(item)
|
||||||
|
// }
|
||||||
|
this.toRouter(item)
|
||||||
|
},
|
||||||
|
toRouter(item) {
|
||||||
|
console.log(item.children[0].url)
|
||||||
|
if (item.children) {
|
||||||
|
this.$router.push({name: item.children[0].url.replace(new RegExp('/','g'),'-')})
|
||||||
|
} else {
|
||||||
|
this.$router.push({name: item.children[0].url.replace(new RegExp('/','g'),'-')})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setIndex(list, index) {
|
||||||
|
list.meta.routeIndex = index
|
||||||
|
if (list.children) {
|
||||||
|
list.children.map(item => {
|
||||||
|
this.setIndex(item, index)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
|
||||||
.mod-home {
|
<style lang="scss" scoped>
|
||||||
line-height: 1.5;
|
.choicepart-container {
|
||||||
|
min-width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
// background: linear-gradient(-45deg, rgb(25, 25, 200), rgb(0, 100, 200));
|
||||||
|
background: url('../../assets/img/choicepart/choicepart-back.png') repeat;
|
||||||
|
background-size: cover;
|
||||||
|
overflow-x: scroll;
|
||||||
|
.choicepart-box {
|
||||||
|
width: 1440px;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin: 0 auto;
|
||||||
|
// 距离上面边距
|
||||||
|
padding-top: 8vh;
|
||||||
|
min-height: 100vh;
|
||||||
|
.choicepart-item {
|
||||||
|
display: inline-block;
|
||||||
|
width: 208px;
|
||||||
|
height: 258px;
|
||||||
|
margin: 40px;
|
||||||
|
background: url('../../assets/img/choicepart/choice-item-back.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
// border: 1px dashed #fff;
|
||||||
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
|
||||||
|
top: 0;
|
||||||
|
border-radius: 5px;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
img {
|
||||||
|
width: 208px;
|
||||||
|
height: 258px;
|
||||||
|
}
|
||||||
|
.choicepart-item-border {
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 0 5px;
|
||||||
|
line-height: 32px;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: lighter;
|
||||||
|
color: #2c6bd8;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.choicepart-item-title {
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 10px;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 2px;
|
||||||
|
right: 2px;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 48px;
|
||||||
|
height: 48px;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
background-color: rgba($color: #0b58ff, $alpha: 0.45);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.choicepart-item:hover {
|
||||||
|
.choicepart-item-title {
|
||||||
|
background-color: rgba($color: #0b58ff, $alpha: 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.choicepat-navbar {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-track-piece {
|
||||||
|
//滚动条凹槽的颜色,还可以设置边框属性
|
||||||
|
background: rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
//滚动条的宽度
|
||||||
|
width: 9px;
|
||||||
|
height: 9px;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
//滚动条的设置
|
||||||
|
background-color: #dddddd;
|
||||||
|
background-clip: padding-box;
|
||||||
|
min-height: 28px;
|
||||||
|
border-radius: 9px;
|
||||||
|
}
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: #bbb;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('eq.name') + ' / ' + $t('eq.code')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('eq.name') + ' / ' + $t('eq.code')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('search') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('search') }}</el-button>
|
||||||
<el-button v-if="$hasPermission('monitoring:equipment:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<!-- <el-button v-if="$hasPermission('monitoring:equipment:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
<el-button v-if="$hasPermission('monitoring:equipment:export')" @click="exportHandle()">{{ $t('export') }}</el-button>
|
<el-button v-if="$hasPermission('monitoring:equipment:export')" @click="exportHandle()">{{ $t('export') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -19,6 +20,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
|
@clickTopBtn="clickTopBtn"
|
||||||
/>
|
/>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@ -52,7 +54,12 @@ import CKEditor from 'ckeditor4-vue'
|
|||||||
import { calcMaxHeight } from '@/utils'
|
import { calcMaxHeight } from '@/utils'
|
||||||
import { timeFilter } from '@/utils/filters'
|
import { timeFilter } from '@/utils/filters'
|
||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{
|
{
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@ -278,6 +285,7 @@ const addOrUpdateConfigs = {
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
topBtnConfig,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
addOrUpdateConfigs,
|
addOrUpdateConfigs,
|
||||||
@ -495,6 +503,12 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
|
clickTopBtn() {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle(id) {
|
deleteHandle(id) {
|
||||||
var ids = id
|
var ids = id
|
||||||
@ -530,3 +544,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('eq.groupname') + ' / ' + $t('eq.groupcode')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('eq.groupname') + ' / ' + $t('eq.groupcode')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
||||||
<el-button v-if="$hasPermission('monitoring:equipmentgroup:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<!-- <el-button v-if="$hasPermission('monitoring:equipmentgroup:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -18,6 +19,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
|
@clickTopBtn="clickTopBtn" />
|
||||||
/>
|
/>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@ -43,7 +45,12 @@ import i18n from '@/i18n'
|
|||||||
import BaseTable from '@/components/base-table'
|
import BaseTable from '@/components/base-table'
|
||||||
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
||||||
import TableTextComponent from '@/components/base-table/components/detailComponent'
|
import TableTextComponent from '@/components/base-table/components/detailComponent'
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{
|
{
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@ -71,6 +78,7 @@ const addOrUpdateConfigs = {
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
topBtnConfig,
|
||||||
addOrUpdateConfigs,
|
addOrUpdateConfigs,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
@ -164,6 +172,12 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.init(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
clickTopBtn() {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle(id) {
|
deleteHandle(id) {
|
||||||
var ids = id
|
var ids = id
|
||||||
@ -199,3 +213,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('eq.type')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('eq.type')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
||||||
<el-button v-if="$hasPermission('monitoring:equipmenttype:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<!-- <el-button v-if="$hasPermission('monitoring:equipmenttype:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -18,6 +19,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
|
@clickTopBtn="clickTopBtn"
|
||||||
/>
|
/>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@ -43,7 +45,12 @@ import i18n from '@/i18n'
|
|||||||
import BaseTable from '@/components/base-table'
|
import BaseTable from '@/components/base-table'
|
||||||
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
||||||
// import TableTextComponent from '@/components/base-table/components/detailComponent'
|
// import TableTextComponent from '@/components/base-table/components/detailComponent'
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{
|
{
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@ -90,6 +97,7 @@ const addOrUpdateConfigs = {
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
topBtnConfig,
|
||||||
addOrUpdateConfigs,
|
addOrUpdateConfigs,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
@ -188,6 +196,14 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.init(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
clickTopBtn() {
|
||||||
|
// 更新树形结构
|
||||||
|
this.getTreeEquipmentType()
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle(id) {
|
deleteHandle(id) {
|
||||||
var ids = id
|
var ids = id
|
||||||
@ -223,3 +239,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('factory.name') + ' / ' + $t('factory.code')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('factory.name') + ' / ' + $t('factory.code')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
||||||
<el-button v-if="$hasPermission('monitoring:factory:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<!-- <el-button v-if="$hasPermission('monitoring:factory:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -18,6 +19,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
|
@clickTopBtn="clickTopBtn"
|
||||||
/>
|
/>
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@ -26,8 +28,7 @@
|
|||||||
:page-sizes="[10, 20, 50, 100]"
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="totalPage"
|
:total="totalPage"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper">
|
||||||
>
|
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :configs="addOrUpdateConfigs" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :configs="addOrUpdateConfigs" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
||||||
@ -43,7 +44,12 @@ import i18n from '@/i18n'
|
|||||||
import BaseTable from '@/components/base-table'
|
import BaseTable from '@/components/base-table'
|
||||||
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
||||||
// import TableTextComponent from '@/components/base-table/components/detailComponent'
|
// import TableTextComponent from '@/components/base-table/components/detailComponent'
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{
|
{
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@ -85,6 +91,7 @@ const addOrUpdateConfigs = {
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
topBtnConfig,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
addOrUpdateConfigs,
|
addOrUpdateConfigs,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
@ -168,11 +175,17 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.init(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
clickTopBtn() {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle(id) {
|
deleteHandle(id) {
|
||||||
var ids = id
|
var ids = id
|
||||||
? [id]
|
? [id]
|
||||||
: this.dataListSelections.map(item => {
|
: this.dataListSelections.map((item) => {
|
||||||
return item.id
|
return item.id
|
||||||
})
|
})
|
||||||
this.$confirm(`${i18n.t('prompt.info', { handle: id ? i18n.t('delete').toLowerCase() : i18n.t('deleteBatch').toLowerCase() })}`, i18n.t('prompt.title'), {
|
this.$confirm(`${i18n.t('prompt.info', { handle: id ? i18n.t('delete').toLowerCase() : i18n.t('deleteBatch').toLowerCase() })}`, i18n.t('prompt.title'), {
|
||||||
@ -203,3 +216,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('prod.name') + ' / ' + $t('prod.code')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('prod.name') + ' / ' + $t('prod.code')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
||||||
<!-- <el-button @click="addOrEdit()">测试</el-button> -->
|
<!-- <el-button @click="addOrEdit()">测试</el-button> -->
|
||||||
<!-- <el-button v-if="$hasPermission('monitoring:product:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
<!-- <el-button v-if="$hasPermission('monitoring:product:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
<el-button v-if="$hasPermission('monitoring:product:save')" type="primary" @click="addOrEdit()">{{ $t('add') }}</el-button>
|
<!-- <el-button v-if="$hasPermission('monitoring:product:save')" type="primary" @click="addOrEdit()">{{ $t('add') }}</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -20,7 +21,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
/>
|
@clickTopBtn="clickTopBtn" />
|
||||||
|
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@ -29,8 +30,8 @@
|
|||||||
:page-sizes="[10, 20, 50, 100]"
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="totalPage"
|
:total="totalPage"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper">
|
||||||
></el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<!-- <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> -->
|
<!-- <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> -->
|
||||||
<base-dialog v-if="showbasedialog" ref="basedialog" :configs="addOrUpdateConfigs" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
<base-dialog v-if="showbasedialog" ref="basedialog" :configs="addOrUpdateConfigs" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
||||||
@ -52,6 +53,12 @@ import { dictFilter } from '@/utils/filters'
|
|||||||
|
|
||||||
const UnitDictTypeId = '1557173812109242370'
|
const UnitDictTypeId = '1557173812109242370'
|
||||||
const ProductTypeDictTypeId = '1557179530308616193'
|
const ProductTypeDictTypeId = '1557179530308616193'
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{ type: 'index', width: 100, name: i18n.t('index') },
|
{ type: 'index', width: 100, name: i18n.t('index') },
|
||||||
{ prop: 'createTime', name: i18n.t('createTime'), filter: timeFilter },
|
{ prop: 'createTime', name: i18n.t('createTime'), filter: timeFilter },
|
||||||
@ -144,6 +151,7 @@ export default {
|
|||||||
mixins: [dictListMixin],
|
mixins: [dictListMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
topBtnConfig,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
dataForm: {
|
dataForm: {
|
||||||
@ -176,6 +184,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
console.log(this.$route)
|
||||||
},
|
},
|
||||||
activated() {
|
activated() {
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
@ -193,6 +202,12 @@ export default {
|
|||||||
this.$refs.basedialog.init(id)
|
this.$refs.basedialog.init(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
clickTopBtn() {
|
||||||
|
this.showbasedialog = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.basedialog.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 获取数据列表
|
// 获取数据列表
|
||||||
getDataList() {
|
getDataList() {
|
||||||
// console.log("after dialog close: ", this.showbasedialog)
|
// console.log("after dialog close: ", this.showbasedialog)
|
||||||
@ -290,3 +305,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('pl.name')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('pl.name')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
||||||
<el-button v-if="$hasPermission('monitoring:productionline:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<!-- <el-button v-if="$hasPermission('monitoring:productionline:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -18,7 +19,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
/>
|
@clickTopBtn="clickTopBtn" />
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@current-change="currentChangeHandle"
|
@current-change="currentChangeHandle"
|
||||||
@ -26,8 +27,7 @@
|
|||||||
:page-sizes="[10, 20, 50, 100]"
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="totalPage"
|
:total="totalPage"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper">
|
||||||
>
|
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :configs="addOrUpdateConfigs" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :configs="addOrUpdateConfigs" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
||||||
@ -42,7 +42,12 @@ import i18n from '@/i18n'
|
|||||||
import BaseTable from '@/components/base-table'
|
import BaseTable from '@/components/base-table'
|
||||||
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
||||||
// import TableTextComponent from '@/components/base-table/components/detailComponent'
|
// import TableTextComponent from '@/components/base-table/components/detailComponent'
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{
|
{
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@ -52,7 +57,7 @@ const tableConfigs = [
|
|||||||
{ prop: 'factoryName', name: i18n.t('factory.title') },
|
{ prop: 'factoryName', name: i18n.t('factory.title') },
|
||||||
{ prop: 'name', name: i18n.t('pl.name') },
|
{ prop: 'name', name: i18n.t('pl.name') },
|
||||||
{ prop: 'code', name: i18n.t('pl.code') },
|
{ prop: 'code', name: i18n.t('pl.code') },
|
||||||
{ prop: 'status', name: i18n.t('pl.status'), filter: val => (val === 0 || val === 1 || val === 2) && ['停止', '运行', '未知'][val] },
|
{ prop: 'status', name: i18n.t('pl.status'), filter: (val) => (val === 0 || val === 1 || val === 2) && ['停止', '运行', '未知'][val] },
|
||||||
{ prop: 'description', name: i18n.t('desc') },
|
{ prop: 'description', name: i18n.t('desc') },
|
||||||
{ prop: 'remark', name: i18n.t('remark') },
|
{ prop: 'remark', name: i18n.t('remark') },
|
||||||
{ prop: 'operations', name: i18n.t('handle'), fixed: 'right', width: 180, subcomponent: TableOperateComponent, options: ['edit', 'delete'] }
|
{ prop: 'operations', name: i18n.t('handle'), fixed: 'right', width: 180, subcomponent: TableOperateComponent, options: ['edit', 'delete'] }
|
||||||
@ -79,7 +84,7 @@ const addOrUpdateConfigs = {
|
|||||||
placeholder: i18n.t('hints.number'),
|
placeholder: i18n.t('hints.number'),
|
||||||
type: 'number', // TODO: 可改进为自动应用 number 验证,此时还必须添加下述规则:
|
type: 'number', // TODO: 可改进为自动应用 number 验证,此时还必须添加下述规则:
|
||||||
required: true,
|
required: true,
|
||||||
rules: [{ type: 'number', transform: val => Number(val), trigger: 'blur', message: i18n.t('hints.number') }]
|
rules: [{ type: 'number', transform: (val) => Number(val), trigger: 'blur', message: i18n.t('hints.number') }]
|
||||||
},
|
},
|
||||||
'description',
|
'description',
|
||||||
'remark'
|
'remark'
|
||||||
@ -94,6 +99,7 @@ const addOrUpdateConfigs = {
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
topBtnConfig,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
addOrUpdateConfigs,
|
addOrUpdateConfigs,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
@ -133,10 +139,10 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.factoryList.splice(0)
|
this.factoryList.splice(0)
|
||||||
}
|
}
|
||||||
this.addOrUpdateConfigs.fields.forEach(item => {
|
this.addOrUpdateConfigs.fields.forEach((item) => {
|
||||||
if (item.name === 'factoryId') {
|
if (item.name === 'factoryId') {
|
||||||
console.log('res', item)
|
console.log('res', item)
|
||||||
item.options = this.factoryList.map(f => ({ value: f.id, label: f.name }))
|
item.options = this.factoryList.map((f) => ({ value: f.id, label: f.name }))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -194,11 +200,17 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.init(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
clickTopBtn() {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle(id) {
|
deleteHandle(id) {
|
||||||
var ids = id
|
var ids = id
|
||||||
? [id]
|
? [id]
|
||||||
: this.dataListSelections.map(item => {
|
: this.dataListSelections.map((item) => {
|
||||||
return item.id
|
return item.id
|
||||||
})
|
})
|
||||||
this.$confirm(`${i18n.t('prompt.info', { handle: id ? i18n.t('delete').toLowerCase() : i18n.t('deleteBatch').toLowerCase() })}`, i18n.t('prompt.title'), {
|
this.$confirm(`${i18n.t('prompt.info', { handle: id ? i18n.t('delete').toLowerCase() : i18n.t('deleteBatch').toLowerCase() })}`, i18n.t('prompt.title'), {
|
||||||
@ -229,3 +241,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,16 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="mod-config">
|
<div class="mod-config">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)">
|
<!-- 1. class="blueTip" size="small" -->
|
||||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="currentChangeHandle(1)" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.key" :placeholder="$t('ws.name')" clearable></el-input>
|
<el-input v-model="dataForm.key" :placeholder="$t('ws.name')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
<!-- 2. class="buttonColor" -->
|
||||||
<el-button v-if="$hasPermission('monitoring:workshopsection:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button class="buttonColor" @click="currentChangeHandle(1)">{{ $t('query') }}</el-button>
|
||||||
|
<!-- <el-button v-if="$hasPermission('monitoring:workshopsection:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button> -->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<!-- 3. :top-btn-config="topBtnConfig" @clickTopBtn="clickTopBtn" -->
|
||||||
<base-table
|
<base-table
|
||||||
|
:top-btn-config="topBtnConfig"
|
||||||
:page="pageIndex"
|
:page="pageIndex"
|
||||||
:size="pageSize"
|
:size="pageSize"
|
||||||
:data="dataList"
|
:data="dataList"
|
||||||
@ -18,7 +21,7 @@
|
|||||||
:max-height="calcMaxHeight(8)"
|
:max-height="calcMaxHeight(8)"
|
||||||
@operate-event="handleOperations"
|
@operate-event="handleOperations"
|
||||||
@refreshDataList="getDataList"
|
@refreshDataList="getDataList"
|
||||||
/>
|
@clickTopBtn="clickTopBtn" />
|
||||||
<el-pagination
|
<el-pagination
|
||||||
@size-change="sizeChangeHandle"
|
@size-change="sizeChangeHandle"
|
||||||
@current-change="currentChangeHandle"
|
@current-change="currentChangeHandle"
|
||||||
@ -26,8 +29,7 @@
|
|||||||
:page-sizes="[10, 20, 50, 100]"
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
:page-size="pageSize"
|
:page-size="pageSize"
|
||||||
:total="totalPage"
|
:total="totalPage"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper">
|
||||||
>
|
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" @destory-dialog="handleDestroyDialog" />
|
||||||
@ -43,7 +45,13 @@ import i18n from '@/i18n'
|
|||||||
import BaseTable from '@/components/base-table'
|
import BaseTable from '@/components/base-table'
|
||||||
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
import TableOperateComponent from '@/components/base-table/components/operationComponent'
|
||||||
import TableTextComponent from '@/components/base-table/components/detailComponent'
|
import TableTextComponent from '@/components/base-table/components/detailComponent'
|
||||||
|
// 4.就是这个topBtnConfig
|
||||||
|
const topBtnConfig = [
|
||||||
|
{
|
||||||
|
type: 'add',
|
||||||
|
btnName: i18n.t('add')
|
||||||
|
}
|
||||||
|
]
|
||||||
const tableConfigs = [
|
const tableConfigs = [
|
||||||
{
|
{
|
||||||
type: 'index',
|
type: 'index',
|
||||||
@ -79,6 +87,8 @@ const addOrUpdateConfigs = {
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// 5. 下面的 topBtnConfig,
|
||||||
|
topBtnConfig,
|
||||||
calcMaxHeight,
|
calcMaxHeight,
|
||||||
addOrUpdateConfigs,
|
addOrUpdateConfigs,
|
||||||
tableConfigs,
|
tableConfigs,
|
||||||
@ -114,11 +124,11 @@ export default {
|
|||||||
getProductLine() {
|
getProductLine() {
|
||||||
this.$http.get(this.$http.adornUrl('/monitoring/productionLine/list')).then(({ data: res }) => {
|
this.$http.get(this.$http.adornUrl('/monitoring/productionLine/list')).then(({ data: res }) => {
|
||||||
if (res && res.code === 0) {
|
if (res && res.code === 0) {
|
||||||
this.addOrUpdateConfigs.fields.forEach(item => {
|
this.addOrUpdateConfigs.fields.forEach((item) => {
|
||||||
if (item.name === 'productionLineId') item.options = res.data.map(item => ({ label: item.name, value: item.id }))
|
if (item.name === 'productionLineId') item.options = res.data.map((item) => ({ label: item.name, value: item.id }))
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.addOrUpdateConfigs.fields.forEach(item => {
|
this.addOrUpdateConfigs.fields.forEach((item) => {
|
||||||
if (item.name === 'productionLineId') item.options.splice(0)
|
if (item.name === 'productionLineId') item.options.splice(0)
|
||||||
})
|
})
|
||||||
// this.plList.splice(0)
|
// this.plList.splice(0)
|
||||||
@ -179,11 +189,18 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.init(id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 6. 新增按钮
|
||||||
|
clickTopBtn() {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteHandle(id) {
|
deleteHandle(id) {
|
||||||
var ids = id
|
var ids = id
|
||||||
? [id]
|
? [id]
|
||||||
: this.dataListSelections.map(item => {
|
: this.dataListSelections.map((item) => {
|
||||||
return item.id
|
return item.id
|
||||||
})
|
})
|
||||||
this.$confirm(`${i18n.t('prompt.info', { handle: id ? i18n.t('delete').toLowerCase() : i18n.t('deleteBatch').toLowerCase() })}`, i18n.t('prompt.title'), {
|
this.$confirm(`${i18n.t('prompt.info', { handle: id ? i18n.t('delete').toLowerCase() : i18n.t('deleteBatch').toLowerCase() })}`, i18n.t('prompt.title'), {
|
||||||
@ -214,3 +231,20 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.blueTip::before {
|
||||||
|
display: inline-block;
|
||||||
|
content: '';
|
||||||
|
width: 4px;
|
||||||
|
height: 24px;
|
||||||
|
background: #0b58ff;
|
||||||
|
border-radius: 1px;
|
||||||
|
margin-right: 8px;
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
.buttonColor {
|
||||||
|
color: #fff;
|
||||||
|
background: #0b58ff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div class="mod-sys__dict">
|
<div class="mod-sys__dict">
|
||||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()" class="blueTip" size="small">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="dataForm.dictName" :placeholder="$t('dict.dictName')" clearable></el-input>
|
<el-input v-model="dataForm.dictName" :placeholder="$t('dict.dictName')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -9,11 +9,11 @@
|
|||||||
<el-input v-model="dataForm.dictType" :placeholder="$t('dict.dictType')" clearable></el-input>
|
<el-input v-model="dataForm.dictType" :placeholder="$t('dict.dictType')" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
|
<el-button class="buttonColor" @click="getDataList()">{{ $t('query') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<!-- <el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:dict:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
<el-button v-if="$hasPermission('sys:dict:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button v-if="$hasPermission('sys:dict:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
<el-button v-if="$hasPermission('sys:dict:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -21,7 +21,19 @@
|
|||||||
<el-button @click="showIcons()">所有图标</el-button>
|
<el-button @click="showIcons()">所有图标</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" @sort-change="dataListSortChangeHandle" style="width: 100%;">
|
<!-- border
|
||||||
|
:row-style="{ height: '50px' }"
|
||||||
|
:cell-style="{ padding: '0px' }"
|
||||||
|
-->
|
||||||
|
<el-table
|
||||||
|
v-loading="dataListLoading"
|
||||||
|
:data="dataList"
|
||||||
|
@selection-change="dataListSelectionChangeHandle"
|
||||||
|
@sort-change="dataListSortChangeHandle"
|
||||||
|
style="width: 100%"
|
||||||
|
:row-style="{ height: '50px' }"
|
||||||
|
:cell-style="{ padding: '0px' }"
|
||||||
|
>
|
||||||
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
||||||
<el-table-column prop="dictName" :label="$t('dict.dictName')" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="dictName" :label="$t('dict.dictName')" header-align="center" align="center"></el-table-column>
|
||||||
<el-table-column prop="dictType" :label="$t('dict.dictType')" header-align="center" align="center"></el-table-column>
|
<el-table-column prop="dictType" :label="$t('dict.dictType')" header-align="center" align="center"></el-table-column>
|
||||||
@ -48,8 +60,7 @@
|
|||||||
:total="total"
|
:total="total"
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
@size-change="pageSizeChangeHandle"
|
@size-change="pageSizeChangeHandle"
|
||||||
@current-change="pageCurrentChangeHandle"
|
@current-change="pageCurrentChangeHandle">
|
||||||
>
|
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||||
@ -91,7 +102,7 @@ export default {
|
|||||||
handleDestroyDialog() {
|
handleDestroyDialog() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.addOrUpdateVisible = false
|
this.addOrUpdateVisible = false
|
||||||
}, /** after dialog animated */ 200);
|
}, /** after dialog animated */ 200)
|
||||||
},
|
},
|
||||||
//
|
//
|
||||||
showIcons() {
|
showIcons() {
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
<div class="btn-bar">
|
<div class="btn-bar">
|
||||||
<el-button @click="$router.go(-1)">{{ $t('notFound.back') }}</el-button>
|
<el-button @click="$router.go(-1)">{{ $t('notFound.back') }}</el-button>
|
||||||
<el-button type="primary" @click="$router.push({ name: 'home' })">{{ $t('notFound.home') }}</el-button>
|
<el-button type="primary" @click="$router.push({ name: 'home' })">{{ $t('notFound.home') }}</el-button>
|
||||||
|
<!-- <el-button type="primary" @click="$router.push({ name: 'sys-log-login' })">{{ $t('notFound.home') }}</el-button> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -199,8 +199,8 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// this.$router.replace({ name: 'home' })
|
this.$router.replace({ name: 'home' })
|
||||||
this.$router.replace({ name: 'sys-log-login' })
|
// this.$router.replace({ name: 'sys-log-login' })
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
this.$message({
|
this.$message({
|
||||||
|