Compare commits
	
		
			4 Commits
		
	
	
		
			a5a4f93328
			...
			a08af6774e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					a08af6774e | ||
| 
						 | 
					3c38763cf4 | ||
| 
						 | 
					23b7b85b39 | ||
| 2f2eaf4e20 | 
							
								
								
									
										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="
 | 
				
			||||||
						return val + 1 + (page - 1) * size
 | 
											head.type === 'index'
 | 
				
			||||||
					} : null"
 | 
												? (val) => {
 | 
				
			||||||
					v-bind="head.more"
 | 
														return val + 1 + (page - 1) * size
 | 
				
			||||||
				></el-table-column>
 | 
												  }
 | 
				
			||||||
 | 
												: null
 | 
				
			||||||
 | 
										"
 | 
				
			||||||
 | 
										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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -113,4 +113,9 @@ 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"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,9 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
	<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>
 | 
					    </div> -->
 | 
				
			||||||
				<li>
 | 
					    <div class="choicepart-box">
 | 
				
			||||||
					renren-ui基于vue、element-ui构建开发,实现<a href="https://gitee.com/renrenio/renren-ui" target="_blank">renren-security</a>后台管理前端功能,提供一套更优的前端解决方案
 | 
					      <div
 | 
				
			||||||
				</li>
 | 
					        v-for="(item, index) in routeList"
 | 
				
			||||||
				<li>前后端分离,通过token进行数据交互,可独立部署</li>
 | 
					        :key="item.path"
 | 
				
			||||||
				<li>动态菜单,通过菜单管理统一管理访问路由</li>
 | 
					        class="choicepart-item"
 | 
				
			||||||
				<li>演示地址:<a href="http://demo.open.renren.io/renren-security" target="_blank">http://demo.open.renren.io/renren-security</a> (账号密码:admin/admin)</li>
 | 
					        @click="handelClick(item, index)"
 | 
				
			||||||
			</ul>
 | 
					      >
 | 
				
			||||||
			<h3>获取帮助</h3>
 | 
					        <!-- :style="{ background: colorArr.colorList[index % 9] }" -->
 | 
				
			||||||
			<ul>
 | 
					        <div class="choicepart-item-border">
 | 
				
			||||||
				<li>官方社区:<a href="https://www.renren.io/community" target="_blank">https://www.renren.io/community</a></li>
 | 
					          <img :src="require(`../../assets/img/choicepart/${item.name}.png`)" alt="">
 | 
				
			||||||
				<li>前端Git地址:<a href="https://gitee.com/renrenio/renren-ui" target="_blank">https://gitee.com/renrenio/renren-ui</a></li>
 | 
					        </div>
 | 
				
			||||||
				<li>后台Git地址:<a href="https://gitee.com/renrenio/renren-security" target="_blank">https://gitee.com/renrenio/renren-security</a></li>
 | 
					        <div class="choicepart-item-title" :title="item.name">{{ item.name }}</div>
 | 
				
			||||||
				<li>如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持</li>
 | 
					      </div>
 | 
				
			||||||
			</ul>
 | 
					    </div>
 | 
				
			||||||
			<h3>官方微信群</h3>
 | 
					  </div>
 | 
				
			||||||
			<ul>
 | 
					 | 
				
			||||||
				<li>扫码下面的二维码,关注【人人开源】公众号,回复【加群】,即可根据提示加入微信群!</li>
 | 
					 | 
				
			||||||
			</ul>
 | 
					 | 
				
			||||||
		</div> -->
 | 
					 | 
				
			||||||
	</el-card>
 | 
					 | 
				
			||||||
</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>
 | 
				
			||||||
@@ -90,8 +101,8 @@ export default {
 | 
				
			|||||||
		// destroy dialog
 | 
							// destroy dialog
 | 
				
			||||||
		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({
 | 
				
			||||||
 
 | 
				
			|||||||