lb #1
							
								
								
									
										21
									
								
								.prettierrc
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								.prettierrc
									
									
									
									
									
								
							@@ -1,11 +1,12 @@
 | 
			
		||||
{
 | 
			
		||||
  "singleQuote": true,
 | 
			
		||||
  "tabWidth": 2,
 | 
			
		||||
  "bracketSameLine": true,
 | 
			
		||||
  "embeddedLanguageFormatting": "auto",
 | 
			
		||||
  "printWidth": 180,
 | 
			
		||||
  "quoteProps": "consistent",
 | 
			
		||||
  "trailingComma": "none",
 | 
			
		||||
  "semi": false,
 | 
			
		||||
  "useTabs": true
 | 
			
		||||
}
 | 
			
		||||
	"singleQuote": true,
 | 
			
		||||
	"tabWidth": 2,
 | 
			
		||||
	"bracketSameLine": true,
 | 
			
		||||
	"htmlWhitespaceSensitivity": "ignore",
 | 
			
		||||
	"embeddedLanguageFormatting": "auto",
 | 
			
		||||
	"printWidth": 180,
 | 
			
		||||
	"quoteProps": "consistent",
 | 
			
		||||
	"trailingComma": "none",
 | 
			
		||||
	"semi": false,
 | 
			
		||||
	"useTabs": true
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								src/App.vue
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								src/App.vue
									
									
									
									
									
								
							@@ -1,34 +1,34 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <transition name="el-fade-in-linear">
 | 
			
		||||
    <router-view />
 | 
			
		||||
  </transition>
 | 
			
		||||
	<transition name="el-fade-in-linear">
 | 
			
		||||
		<router-view />
 | 
			
		||||
	</transition>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
  .el-table th.gutter{
 | 
			
		||||
    display: table-cell!important;
 | 
			
		||||
  }
 | 
			
		||||
.el-table th.gutter {
 | 
			
		||||
	display: table-cell !important;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<script>
 | 
			
		||||
import Cookies from 'js-cookie'
 | 
			
		||||
import { messages } from '@/i18n'
 | 
			
		||||
export default {
 | 
			
		||||
  watch: {
 | 
			
		||||
    '$i18n.locale': 'i18nHandle'
 | 
			
		||||
  },
 | 
			
		||||
  created () {
 | 
			
		||||
    this.i18nHandle(this.$i18n.locale)
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    i18nHandle (val, oldVal) {
 | 
			
		||||
      Cookies.set('language', val)
 | 
			
		||||
      document.querySelector('html').setAttribute('lang', val)
 | 
			
		||||
      document.title = messages[val].brand.lg
 | 
			
		||||
      // 非登录页面,切换语言刷新页面
 | 
			
		||||
      if (this.$route.name !== 'login' && oldVal) {
 | 
			
		||||
        window.location.reload()
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
	watch: {
 | 
			
		||||
		'$i18n.locale': 'i18nHandle'
 | 
			
		||||
	},
 | 
			
		||||
	created() {
 | 
			
		||||
		this.i18nHandle(this.$i18n.locale)
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		i18nHandle(val, oldVal) {
 | 
			
		||||
			Cookies.set('language', val)
 | 
			
		||||
			document.querySelector('html').setAttribute('lang', val)
 | 
			
		||||
			document.title = messages[val].brand.lg
 | 
			
		||||
			// 非登录页面,切换语言刷新页面
 | 
			
		||||
			if (this.$route.name !== 'login' && oldVal) {
 | 
			
		||||
				window.location.reload()
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,96 +1,96 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
 | 
			
		||||
    <!-- tab展示内容 -->
 | 
			
		||||
    <template v-if="$route.meta.isTab">
 | 
			
		||||
      <el-dropdown class="aui-content--tabs-tools">
 | 
			
		||||
        <i class="el-icon-arrow-down"></i>
 | 
			
		||||
        <el-dropdown-menu slot="dropdown" :show-timeout="0">
 | 
			
		||||
          <el-dropdown-item @click.native="tabRemoveHandle($store.state.contentTabsActiveName)">{{ $t('contentTabs.closeCurrent') }}</el-dropdown-item>
 | 
			
		||||
          <el-dropdown-item @click.native="tabsCloseOtherHandle()">{{ $t('contentTabs.closeOther') }}</el-dropdown-item>
 | 
			
		||||
          <el-dropdown-item @click.native="tabsCloseAllHandle()">{{ $t('contentTabs.closeAll') }}</el-dropdown-item>
 | 
			
		||||
        </el-dropdown-menu>
 | 
			
		||||
      </el-dropdown>
 | 
			
		||||
      <el-tabs v-model="$store.state.contentTabsActiveName" @tab-click="tabSelectedHandle" @tab-remove="tabRemoveHandle">
 | 
			
		||||
        <el-tab-pane
 | 
			
		||||
          v-for="item in $store.state.contentTabs"
 | 
			
		||||
          :key="item.name"
 | 
			
		||||
          :name="item.name"
 | 
			
		||||
          :label="item.title"
 | 
			
		||||
          :closable="item.name !== 'home'"
 | 
			
		||||
          :class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
 | 
			
		||||
          <template v-if="item.name === 'home'">
 | 
			
		||||
            <svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
 | 
			
		||||
          </template>
 | 
			
		||||
          <iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
 | 
			
		||||
          <keep-alive v-else>
 | 
			
		||||
            <router-view v-if="item.name === $store.state.contentTabsActiveName" />
 | 
			
		||||
          </keep-alive>
 | 
			
		||||
        </el-tab-pane>
 | 
			
		||||
      </el-tabs>
 | 
			
		||||
    </template>
 | 
			
		||||
    <!-- 其他方式, 展示内容 -->
 | 
			
		||||
    <template v-else>
 | 
			
		||||
      <keep-alive>
 | 
			
		||||
        <router-view />
 | 
			
		||||
      </keep-alive>
 | 
			
		||||
    </template>
 | 
			
		||||
  </main>
 | 
			
		||||
	<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
 | 
			
		||||
		<!-- tab展示内容 -->
 | 
			
		||||
		<template v-if="$route.meta.isTab">
 | 
			
		||||
			<el-dropdown class="aui-content--tabs-tools">
 | 
			
		||||
				<i class="el-icon-arrow-down"></i>
 | 
			
		||||
				<el-dropdown-menu slot="dropdown" :show-timeout="0">
 | 
			
		||||
					<el-dropdown-item @click.native="tabRemoveHandle($store.state.contentTabsActiveName)">{{ $t('contentTabs.closeCurrent') }}</el-dropdown-item>
 | 
			
		||||
					<el-dropdown-item @click.native="tabsCloseOtherHandle()">{{ $t('contentTabs.closeOther') }}</el-dropdown-item>
 | 
			
		||||
					<el-dropdown-item @click.native="tabsCloseAllHandle()">{{ $t('contentTabs.closeAll') }}</el-dropdown-item>
 | 
			
		||||
				</el-dropdown-menu>
 | 
			
		||||
			</el-dropdown>
 | 
			
		||||
			<el-tabs v-model="$store.state.contentTabsActiveName" @tab-click="tabSelectedHandle" @tab-remove="tabRemoveHandle">
 | 
			
		||||
				<el-tab-pane
 | 
			
		||||
					v-for="item in $store.state.contentTabs"
 | 
			
		||||
					:key="item.name"
 | 
			
		||||
					:name="item.name"
 | 
			
		||||
					:label="item.title"
 | 
			
		||||
					:closable="item.name !== 'home'"
 | 
			
		||||
					:class="{ 'is-iframe': tabIsIframe(item.iframeURL) }"
 | 
			
		||||
				>
 | 
			
		||||
					<template v-if="item.name === 'home'">
 | 
			
		||||
						<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
 | 
			
		||||
					</template>
 | 
			
		||||
					<iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
 | 
			
		||||
					<keep-alive v-else>
 | 
			
		||||
						<router-view v-if="item.name === $store.state.contentTabsActiveName" />
 | 
			
		||||
					</keep-alive>
 | 
			
		||||
				</el-tab-pane>
 | 
			
		||||
			</el-tabs>
 | 
			
		||||
		</template>
 | 
			
		||||
		<!-- 其他方式, 展示内容 -->
 | 
			
		||||
		<template v-else>
 | 
			
		||||
			<keep-alive>
 | 
			
		||||
				<router-view />
 | 
			
		||||
			</keep-alive>
 | 
			
		||||
		</template>
 | 
			
		||||
	</main>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { isURL } from '@/utils/validate'
 | 
			
		||||
export default {
 | 
			
		||||
  data () {
 | 
			
		||||
    return {
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // tabs, 是否通过iframe展示
 | 
			
		||||
    tabIsIframe (url) {
 | 
			
		||||
      return isURL(url)
 | 
			
		||||
    },
 | 
			
		||||
    // tabs, 选中tab
 | 
			
		||||
    tabSelectedHandle (tab) {
 | 
			
		||||
      tab = this.$store.state.contentTabs.filter(item => item.name === tab.name)[0]
 | 
			
		||||
      if (tab) {
 | 
			
		||||
        this.$router.push({
 | 
			
		||||
          'name': tab.name,
 | 
			
		||||
          'params': { ...tab.params },
 | 
			
		||||
          'query': { ...tab.query }
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // tabs, 删除tab
 | 
			
		||||
    tabRemoveHandle (tabName) {
 | 
			
		||||
      if (tabName === 'home') {
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
      this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
 | 
			
		||||
      if (this.$store.state.contentTabs.length <= 0) {
 | 
			
		||||
        this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
      // 当前选中tab被删除
 | 
			
		||||
      if (tabName === this.$store.state.contentTabsActiveName) {
 | 
			
		||||
        let tab = this.$store.state.contentTabs[this.$store.state.contentTabs.length - 1]
 | 
			
		||||
        this.$router.push({
 | 
			
		||||
          name: tab.name,
 | 
			
		||||
          params: { ...tab.params },
 | 
			
		||||
          query: { ...tab.query }
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // tabs, 关闭其它
 | 
			
		||||
    tabsCloseOtherHandle () {
 | 
			
		||||
      this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => {
 | 
			
		||||
        return item.name === 'home' || item.name === this.$store.state.contentTabsActiveName
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // tabs, 关闭全部
 | 
			
		||||
    tabsCloseAllHandle () {
 | 
			
		||||
      this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name === 'home')
 | 
			
		||||
      this.$router.push({ name: 'home' })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
	data() {
 | 
			
		||||
		return {}
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		// tabs, 是否通过iframe展示
 | 
			
		||||
		tabIsIframe(url) {
 | 
			
		||||
			return isURL(url)
 | 
			
		||||
		},
 | 
			
		||||
		// tabs, 选中tab
 | 
			
		||||
		tabSelectedHandle(tab) {
 | 
			
		||||
			tab = this.$store.state.contentTabs.filter(item => item.name === tab.name)[0]
 | 
			
		||||
			if (tab) {
 | 
			
		||||
				this.$router.push({
 | 
			
		||||
					name: tab.name,
 | 
			
		||||
					params: { ...tab.params },
 | 
			
		||||
					query: { ...tab.query }
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		// tabs, 删除tab
 | 
			
		||||
		tabRemoveHandle(tabName) {
 | 
			
		||||
			if (tabName === 'home') {
 | 
			
		||||
				return false
 | 
			
		||||
			}
 | 
			
		||||
			this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
 | 
			
		||||
			if (this.$store.state.contentTabs.length <= 0) {
 | 
			
		||||
				this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
 | 
			
		||||
				return false
 | 
			
		||||
			}
 | 
			
		||||
			// 当前选中tab被删除
 | 
			
		||||
			if (tabName === this.$store.state.contentTabsActiveName) {
 | 
			
		||||
				let tab = this.$store.state.contentTabs[this.$store.state.contentTabs.length - 1]
 | 
			
		||||
				this.$router.push({
 | 
			
		||||
					name: tab.name,
 | 
			
		||||
					params: { ...tab.params },
 | 
			
		||||
					query: { ...tab.query }
 | 
			
		||||
				})
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		// tabs, 关闭其它
 | 
			
		||||
		tabsCloseOtherHandle() {
 | 
			
		||||
			this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => {
 | 
			
		||||
				return item.name === 'home' || item.name === this.$store.state.contentTabsActiveName
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		// tabs, 关闭全部
 | 
			
		||||
		tabsCloseAllHandle() {
 | 
			
		||||
			this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name === 'home')
 | 
			
		||||
			this.$router.push({ name: 'home' })
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +1,30 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]">
 | 
			
		||||
    <div class="aui-sidebar__inner">
 | 
			
		||||
      <el-menu
 | 
			
		||||
        :default-active="$store.state.sidebarMenuActiveName"
 | 
			
		||||
        :collapse="$store.state.sidebarFold"
 | 
			
		||||
        :unique-opened="true"
 | 
			
		||||
        :collapseTransition="false"
 | 
			
		||||
        class="aui-sidebar__menu">
 | 
			
		||||
        <sub-menu v-for="menu in $store.state.sidebarMenuList" :key="menu.id" :menu="menu" />
 | 
			
		||||
      </el-menu>
 | 
			
		||||
    </div>
 | 
			
		||||
  </aside>
 | 
			
		||||
	<aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]">
 | 
			
		||||
		<div class="aui-sidebar__inner">
 | 
			
		||||
			<el-menu
 | 
			
		||||
				:default-active="$store.state.sidebarMenuActiveName"
 | 
			
		||||
				:collapse="$store.state.sidebarFold"
 | 
			
		||||
				:unique-opened="true"
 | 
			
		||||
				:collapseTransition="false"
 | 
			
		||||
				class="aui-sidebar__menu"
 | 
			
		||||
			>
 | 
			
		||||
				<sub-menu v-for="menu in $store.state.sidebarMenuList" :key="menu.id" :menu="menu" />
 | 
			
		||||
			</el-menu>
 | 
			
		||||
		</div>
 | 
			
		||||
	</aside>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import SubMenu from './main-sidebar-sub-menu'
 | 
			
		||||
export default {
 | 
			
		||||
  data () {
 | 
			
		||||
    return {
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    SubMenu
 | 
			
		||||
  },
 | 
			
		||||
  created () {
 | 
			
		||||
    this.$store.state.sidebarMenuList = window.SITE_CONFIG['menuList']
 | 
			
		||||
  }
 | 
			
		||||
	data() {
 | 
			
		||||
		return {}
 | 
			
		||||
	},
 | 
			
		||||
	components: {
 | 
			
		||||
		SubMenu
 | 
			
		||||
	},
 | 
			
		||||
	created() {
 | 
			
		||||
		this.$store.state.sidebarMenuList = window.SITE_CONFIG['menuList']
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -187,8 +187,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -169,8 +169,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -163,8 +163,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -11,35 +11,39 @@
 | 
			
		||||
			</el-form-item>
 | 
			
		||||
		</el-form>
 | 
			
		||||
		<el-table :data="dataList" border v-loading="dataListLoading" @selection-change="selectionChangeHandle" style="width: 100%;">
 | 
			
		||||
			<el-table-column type="selection" header-align="center" align="center" width="50"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="id" header-align="center" align="center" label="id"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="code" header-align="center" align="center" label="编码"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="name" header-align="center" align="center" label="设备名称"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="enName" header-align="center" align="center" label="英文名称"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="abbr" header-align="center" align="center" label="缩写"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="enterTime" header-align="center" align="center" label="进厂日期"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="productionTime" header-align="center" align="center" label="生产日期"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="equipmentTypeId" header-align="center" align="center" label="设备类型,关联设备类型表"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="groupId" header-align="center" align="center" label="分组id (关联 T_EQUIPMENT_GROUP)"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="dataType" header-align="center" align="center" label="0:无类别,1:上片数据设备,2:下片数据设备"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="tvalue" header-align="center" align="center" label="每小时生产数量"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="processingTime" header-align="center" align="center" label="单件加工时间 s/件"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="manufacturer" header-align="center" align="center" label="制造商"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="spec" header-align="center" align="center" label="规格"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="description" header-align="center" align="center" label="功能描述"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="enabled" header-align="center" align="center" label="启用状态:0 、停用,1、启用"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="remark" header-align="center" align="center" label="备注"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="valid" header-align="center" align="center" label="删除标志,是否有效:1 可用 0不可用"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="creatorId" header-align="center" align="center" label="创建人"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="creatorName" header-align="center" align="center" label="创建人姓名"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="createTime" header-align="center" align="center" label="创建时间"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="updaterId" header-align="center" align="center" label="更新人"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="updaterName" header-align="center" align="center" label="更新人姓名"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="updateTime" header-align="center" align="center" label="更新时间"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="version" header-align="center" align="center" label="版本号"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="externalCode" header-align="center" align="center" label="外部系统代码"> </el-table-column>
 | 
			
		||||
			<el-table-column prop="externalCodeStatis" header-align="center" align="center" label="统一用的外部代码,代表用哪个设备的数据代替该设备,目前用于生产数量统计">
 | 
			
		||||
			</el-table-column>
 | 
			
		||||
			<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
 | 
			
		||||
			<el-table-column prop="id" header-align="center" align="center" label="id"></el-table-column>
 | 
			
		||||
			<el-table-column prop="code" header-align="center" align="center" label="编码"></el-table-column>
 | 
			
		||||
			<el-table-column prop="name" header-align="center" align="center" label="设备名称"></el-table-column>
 | 
			
		||||
			<el-table-column prop="enName" header-align="center" align="center" label="英文名称"></el-table-column>
 | 
			
		||||
			<el-table-column prop="abbr" header-align="center" align="center" label="缩写"></el-table-column>
 | 
			
		||||
			<el-table-column prop="enterTime" header-align="center" align="center" label="进厂日期"></el-table-column>
 | 
			
		||||
			<el-table-column prop="productionTime" header-align="center" align="center" label="生产日期"></el-table-column>
 | 
			
		||||
			<el-table-column prop="equipmentTypeId" header-align="center" align="center" label="设备类型,关联设备类型表"></el-table-column>
 | 
			
		||||
			<el-table-column prop="groupId" header-align="center" align="center" label="分组id (关联 T_EQUIPMENT_GROUP)"></el-table-column>
 | 
			
		||||
			<el-table-column prop="dataType" header-align="center" align="center" label="0:无类别,1:上片数据设备,2:下片数据设备"></el-table-column>
 | 
			
		||||
			<el-table-column prop="tvalue" header-align="center" align="center" label="每小时生产数量"></el-table-column>
 | 
			
		||||
			<el-table-column prop="processingTime" header-align="center" align="center" label="单件加工时间 s/件"></el-table-column>
 | 
			
		||||
			<el-table-column prop="manufacturer" header-align="center" align="center" label="制造商"></el-table-column>
 | 
			
		||||
			<el-table-column prop="spec" header-align="center" align="center" label="规格"></el-table-column>
 | 
			
		||||
			<el-table-column prop="description" header-align="center" align="center" label="功能描述"></el-table-column>
 | 
			
		||||
			<el-table-column prop="enabled" header-align="center" align="center" label="启用状态:0 、停用,1、启用"></el-table-column>
 | 
			
		||||
			<el-table-column prop="remark" header-align="center" align="center" label="备注"></el-table-column>
 | 
			
		||||
			<el-table-column prop="valid" header-align="center" align="center" label="删除标志,是否有效:1 可用 0不可用"></el-table-column>
 | 
			
		||||
			<el-table-column prop="creatorId" header-align="center" align="center" label="创建人"></el-table-column>
 | 
			
		||||
			<el-table-column prop="creatorName" header-align="center" align="center" label="创建人姓名"></el-table-column>
 | 
			
		||||
			<el-table-column prop="createTime" header-align="center" align="center" label="创建时间"></el-table-column>
 | 
			
		||||
			<el-table-column prop="updaterId" header-align="center" align="center" label="更新人"></el-table-column>
 | 
			
		||||
			<el-table-column prop="updaterName" header-align="center" align="center" label="更新人姓名"></el-table-column>
 | 
			
		||||
			<el-table-column prop="updateTime" header-align="center" align="center" label="更新时间"></el-table-column>
 | 
			
		||||
			<el-table-column prop="version" header-align="center" align="center" label="版本号"></el-table-column>
 | 
			
		||||
			<el-table-column prop="externalCode" header-align="center" align="center" label="外部系统代码"></el-table-column>
 | 
			
		||||
			<el-table-column
 | 
			
		||||
				prop="externalCodeStatis"
 | 
			
		||||
				header-align="center"
 | 
			
		||||
				align="center"
 | 
			
		||||
				label="统一用的外部代码,代表用哪个设备的数据代替该设备,目前用于生产数量统计"
 | 
			
		||||
			></el-table-column>
 | 
			
		||||
			<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
 | 
			
		||||
				<template slot-scope="scope">
 | 
			
		||||
					<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
 | 
			
		||||
@@ -55,8 +59,7 @@
 | 
			
		||||
			:page-size="pageSize"
 | 
			
		||||
			:total="totalPage"
 | 
			
		||||
			layout="total, sizes, prev, pager, next, jumper"
 | 
			
		||||
		>
 | 
			
		||||
		</el-pagination>
 | 
			
		||||
		></el-pagination>
 | 
			
		||||
		<!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
		<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
 | 
			
		||||
	</div>
 | 
			
		||||
@@ -99,9 +102,10 @@ export default {
 | 
			
		||||
					key: this.dataForm.key
 | 
			
		||||
				})
 | 
			
		||||
			}).then(({ data }) => {
 | 
			
		||||
				console.log('===', data)
 | 
			
		||||
				if (data && data.code === 0) {
 | 
			
		||||
					this.dataList = data.list
 | 
			
		||||
					this.totalPage = data.total
 | 
			
		||||
					this.dataList = data.data.list
 | 
			
		||||
					this.totalPage = data.data.total
 | 
			
		||||
				} else {
 | 
			
		||||
					this.dataList = []
 | 
			
		||||
					this.totalPage = 0
 | 
			
		||||
@@ -169,8 +169,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -199,8 +199,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -217,8 +217,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -163,8 +163,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -247,8 +247,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -193,8 +193,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -187,8 +187,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -181,8 +181,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -187,8 +187,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -181,8 +181,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.totalCount
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.totalCount
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -187,8 +187,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -205,8 +205,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -193,8 +193,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -133,8 +133,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -163,8 +163,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -193,8 +193,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -157,8 +157,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -193,8 +193,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -175,8 +175,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -169,8 +169,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -157,8 +157,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -187,8 +187,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -163,8 +163,8 @@
 | 
			
		||||
          })
 | 
			
		||||
        }).then(({data}) => {
 | 
			
		||||
          if (data && data.code === 0) {
 | 
			
		||||
            this.dataList = data.list
 | 
			
		||||
            this.totalPage = data.total
 | 
			
		||||
            this.dataList = data.data.list
 | 
			
		||||
            this.totalPage = data.data.total
 | 
			
		||||
          } else {
 | 
			
		||||
            this.dataList = []
 | 
			
		||||
            this.totalPage = 0
 | 
			
		||||
@@ -1,28 +1,28 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="aui-wrapper aui-page__login">
 | 
			
		||||
    <div class="aui-content__wrapper">
 | 
			
		||||
      <main class="aui-content">
 | 
			
		||||
        <div class="login-header">
 | 
			
		||||
          <h2 class="login-brand">{{ $t('brand.lg') }}</h2>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="login-body">
 | 
			
		||||
          <h3 class="login-title">{{ $t('login.title') }}</h3>
 | 
			
		||||
          <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" status-icon>
 | 
			
		||||
            <el-form-item prop="username">
 | 
			
		||||
              <el-input v-model="dataForm.username" :placeholder="$t('login.username')">
 | 
			
		||||
                <span slot="prefix" class="el-input__icon">
 | 
			
		||||
                  <svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-user"></use></svg>
 | 
			
		||||
                </span>
 | 
			
		||||
              </el-input>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
            <el-form-item prop="password">
 | 
			
		||||
              <el-input v-model="dataForm.password" type="password" :placeholder="$t('login.password')">
 | 
			
		||||
                <span slot="prefix" class="el-input__icon">
 | 
			
		||||
                  <svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-lock"></use></svg>
 | 
			
		||||
                </span>
 | 
			
		||||
              </el-input>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
            <!-- <el-form-item prop="captcha">
 | 
			
		||||
	<div class="aui-wrapper aui-page__login">
 | 
			
		||||
		<div class="aui-content__wrapper">
 | 
			
		||||
			<main class="aui-content">
 | 
			
		||||
				<div class="login-header">
 | 
			
		||||
					<h2 class="login-brand">{{ $t('brand.lg') }}</h2>
 | 
			
		||||
				</div>
 | 
			
		||||
				<div class="login-body">
 | 
			
		||||
					<h3 class="login-title">{{ $t('login.title') }}</h3>
 | 
			
		||||
					<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" status-icon>
 | 
			
		||||
						<el-form-item prop="username">
 | 
			
		||||
							<el-input v-model="dataForm.username" :placeholder="$t('login.username')">
 | 
			
		||||
								<span slot="prefix" class="el-input__icon">
 | 
			
		||||
									<svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-user"></use></svg>
 | 
			
		||||
								</span>
 | 
			
		||||
							</el-input>
 | 
			
		||||
						</el-form-item>
 | 
			
		||||
						<el-form-item prop="password">
 | 
			
		||||
							<el-input v-model="dataForm.password" type="password" :placeholder="$t('login.password')">
 | 
			
		||||
								<span slot="prefix" class="el-input__icon">
 | 
			
		||||
									<svg class="icon-svg" aria-hidden="true"><use xlink:href="#icon-lock"></use></svg>
 | 
			
		||||
								</span>
 | 
			
		||||
							</el-input>
 | 
			
		||||
						</el-form-item>
 | 
			
		||||
						<!-- <el-form-item prop="captcha">
 | 
			
		||||
              <el-row :gutter="20">
 | 
			
		||||
                <el-col :span="14">
 | 
			
		||||
                  <el-input v-model="dataForm.captcha" :placeholder="$t('login.captcha')">
 | 
			
		||||
@@ -36,20 +36,23 @@
 | 
			
		||||
                </el-col>
 | 
			
		||||
              </el-row>
 | 
			
		||||
            </el-form-item> -->
 | 
			
		||||
            <el-form-item>
 | 
			
		||||
              <el-button type="primary" @click="dataFormSubmitHandle()" class="w-percent-100">{{ $t('login.title') }}</el-button>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-form>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="login-footer">
 | 
			
		||||
          <p>
 | 
			
		||||
            <a href="http://demo.open.renren.io/renren-security" target="_blank">{{ $t('login.demo') }}</a>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p><a href="https://www.renren.io/" target="_blank">{{ $t('login.copyright') }}</a>2022 © renren.io</p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </main>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
						<el-form-item>
 | 
			
		||||
							<el-button type="primary" @click="dataFormSubmitHandle()" class="w-percent-100">{{ $t('login.title') }}</el-button>
 | 
			
		||||
						</el-form-item>
 | 
			
		||||
					</el-form>
 | 
			
		||||
				</div>
 | 
			
		||||
				<div class="login-footer">
 | 
			
		||||
					<p>
 | 
			
		||||
						<a href="http://demo.open.renren.io/renren-security" target="_blank">{{ $t('login.demo') }}</a>
 | 
			
		||||
					</p>
 | 
			
		||||
					<p>
 | 
			
		||||
						<a href="https://www.renren.io/" target="_blank">{{ $t('login.copyright') }}</a>
 | 
			
		||||
						2022 © renren.io
 | 
			
		||||
					</p>
 | 
			
		||||
				</div>
 | 
			
		||||
			</main>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
@@ -57,57 +60,60 @@ import Cookies from 'js-cookie'
 | 
			
		||||
import debounce from 'lodash/debounce'
 | 
			
		||||
// import { getUUID } from '@/utils'
 | 
			
		||||
export default {
 | 
			
		||||
  data () {
 | 
			
		||||
    return {
 | 
			
		||||
      captchaPath: '',
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        username: 'admin',
 | 
			
		||||
        password: 'admin',
 | 
			
		||||
        uuid: '',
 | 
			
		||||
        // captcha: ''
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule () {
 | 
			
		||||
      return {
 | 
			
		||||
        username: [
 | 
			
		||||
          { required: true, message: this.$t('validate.required'), trigger: 'blur' }
 | 
			
		||||
        ],
 | 
			
		||||
        password: [
 | 
			
		||||
          { required: true, message: this.$t('validate.required'), trigger: 'blur' }
 | 
			
		||||
        ],
 | 
			
		||||
        // captcha: [
 | 
			
		||||
        //   { required: true, message: this.$t('validate.required'), trigger: 'blur' }
 | 
			
		||||
        // ]
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created () {
 | 
			
		||||
    // this.getCaptcha()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // 获取验证码
 | 
			
		||||
    getCaptcha () {
 | 
			
		||||
      this.dataForm.uuid = getUUID()
 | 
			
		||||
      this.captchaPath = `${window.SITE_CONFIG['apiURL']}/captcha?uuid=${this.dataForm.uuid}`
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmitHandle: debounce(function () {
 | 
			
		||||
      this.$refs['dataForm'].validate((valid) => {
 | 
			
		||||
        if (!valid) {
 | 
			
		||||
          return false
 | 
			
		||||
        }
 | 
			
		||||
        this.$http.post(this.$http.adornUrl('/login'), this.dataForm).then(({ data: res }) => {
 | 
			
		||||
          if (res.code !== 200) {
 | 
			
		||||
            // this.getCaptcha()
 | 
			
		||||
            return this.$message.error(res.msg)
 | 
			
		||||
          }
 | 
			
		||||
          Cookies.set('token', res.data.token)
 | 
			
		||||
          this.$router.replace({ name: 'home' })
 | 
			
		||||
        }).catch(() => {})
 | 
			
		||||
      })
 | 
			
		||||
    }, 1000, { 'leading': true, 'trailing': false })
 | 
			
		||||
  }
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			captchaPath: '',
 | 
			
		||||
			dataForm: {
 | 
			
		||||
				username: 'admin',
 | 
			
		||||
				password: 'admin',
 | 
			
		||||
				uuid: ''
 | 
			
		||||
				// captcha: ''
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	computed: {
 | 
			
		||||
		dataRule() {
 | 
			
		||||
			return {
 | 
			
		||||
				username: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }],
 | 
			
		||||
				password: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }]
 | 
			
		||||
				// captcha: [
 | 
			
		||||
				//   { required: true, message: this.$t('validate.required'), trigger: 'blur' }
 | 
			
		||||
				// ]
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	created() {
 | 
			
		||||
		// this.getCaptcha()
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		// 获取验证码
 | 
			
		||||
		getCaptcha() {
 | 
			
		||||
			this.dataForm.uuid = getUUID()
 | 
			
		||||
			this.captchaPath = `${window.SITE_CONFIG['apiURL']}/captcha?uuid=${this.dataForm.uuid}`
 | 
			
		||||
		},
 | 
			
		||||
		// 表单提交
 | 
			
		||||
		dataFormSubmitHandle: debounce(
 | 
			
		||||
			function() {
 | 
			
		||||
				this.$refs['dataForm'].validate(valid => {
 | 
			
		||||
					if (!valid) {
 | 
			
		||||
						return false
 | 
			
		||||
					}
 | 
			
		||||
					this.$http
 | 
			
		||||
						.post(this.$http.adornUrl('/login'), this.dataForm)
 | 
			
		||||
						.then(({ data: res }) => {
 | 
			
		||||
							if (res.code !== 200) {
 | 
			
		||||
								// this.getCaptcha()
 | 
			
		||||
								return this.$message.error(res.msg)
 | 
			
		||||
							}
 | 
			
		||||
							Cookies.set('token', res.data.token)
 | 
			
		||||
							this.$router.replace({ name: 'home' })
 | 
			
		||||
						})
 | 
			
		||||
						.catch(() => {})
 | 
			
		||||
				})
 | 
			
		||||
			},
 | 
			
		||||
			1000,
 | 
			
		||||
			{ leading: true, trailing: false }
 | 
			
		||||
		)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user