update axios response的解析

This commit is contained in:
lb 2022-08-04 16:13:20 +08:00
parent 8b060b8bf1
commit affea8af59
59 changed files with 329 additions and 318 deletions

View File

@ -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
}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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>