mirror of https://github.com/veops/cmdb.git
feat(ui):i18n (#352)
This commit is contained in:
parent
b3ef1aa5c1
commit
19c6009c64
|
@ -89,20 +89,23 @@ export default {
|
|||
},
|
||||
},
|
||||
data() {
|
||||
const keyMapList = [
|
||||
{ value: 'default', label: '默认' },
|
||||
{ value: 'vim', label: 'vim' },
|
||||
{ value: 'emacs', label: 'emacs' },
|
||||
{ value: 'sublime', label: 'sublime' },
|
||||
]
|
||||
return {
|
||||
keyMapList,
|
||||
coder: null,
|
||||
fontSize: 14,
|
||||
keyMap: 'default',
|
||||
fullscreenExitVisible: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
keyMapList() {
|
||||
return [
|
||||
{ value: 'default', label: this.$t('default') },
|
||||
{ value: 'vim', label: 'vim' },
|
||||
{ value: 'emacs', label: 'emacs' },
|
||||
{ value: 'sublime', label: 'sublime' },
|
||||
]
|
||||
},
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
initCodeMirror(codeContent) {
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
:show-upload-list="false"
|
||||
accept=".svg,.png,.jpg,.jpeg"
|
||||
>
|
||||
<a> 暂无自定义图标,点击此处上传 </a>
|
||||
<a> {{ $t('customIconSelect.nodata') }} </a>
|
||||
</a-upload>
|
||||
</a-empty>
|
||||
</div>
|
||||
|
|
|
@ -81,25 +81,23 @@ export default {
|
|||
},
|
||||
inject: ['reload'],
|
||||
methods: {
|
||||
// 取消订阅
|
||||
cancelAttributes(e, menu) {
|
||||
const that = this
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
this.$confirm({
|
||||
title: '警告',
|
||||
content: `确认取消订阅 ${menu.meta.title}?`,
|
||||
title: this.$t('alert'),
|
||||
content: this.$t('cmdb.preference.confirmcancelSub2', { name: menu.meta.title }),
|
||||
onOk() {
|
||||
const citypeId = menu.meta.typeId
|
||||
const unsubCIType = subscribeCIType(citypeId, '')
|
||||
const unsubTree = subscribeTreeView(citypeId, '')
|
||||
Promise.all([unsubCIType, unsubTree]).then(() => {
|
||||
that.$message.success('取消订阅成功')
|
||||
that.$message.success(that.$t('cmdb.preference.cancelSubSuccess'))
|
||||
const lastTypeId = window.localStorage.getItem('ops_ci_typeid') || undefined
|
||||
if (Number(citypeId) === Number(lastTypeId)) {
|
||||
localStorage.setItem('ops_ci_typeid', '')
|
||||
}
|
||||
// 删除路由
|
||||
const href = window.location.href
|
||||
const hrefSplit = href.split('/')
|
||||
if (Number(hrefSplit[hrefSplit.length - 1]) === Number(citypeId)) {
|
||||
|
@ -119,12 +117,10 @@ export default {
|
|||
},
|
||||
// select menu item
|
||||
onOpenChange(openKeys) {
|
||||
// 在水平模式下时执行,并且不再执行后续
|
||||
if (this.mode === 'horizontal') {
|
||||
this.openKeys = openKeys
|
||||
return
|
||||
}
|
||||
// 非水平模式时
|
||||
const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key))
|
||||
if (!this.rootSubmenuKeys.includes(latestOpenKey)) {
|
||||
this.openKeys = openKeys
|
||||
|
@ -162,6 +158,9 @@ export default {
|
|||
return null
|
||||
},
|
||||
renderI18n(title) {
|
||||
if (Object.prototype.toString.call(this.$t(`${title}`)) === '[object Object]') {
|
||||
return title
|
||||
}
|
||||
return this.$t(`${title}`)
|
||||
},
|
||||
renderMenuItem(menu) {
|
||||
|
@ -173,9 +172,6 @@ export default {
|
|||
const attrs = { href: menu.meta.targetHref || menu.path, target: menu.meta.target }
|
||||
|
||||
if (menu.children && menu.hideChildrenInMenu) {
|
||||
// 把有子菜单的 并且 父菜单是要隐藏子菜单的
|
||||
// 都给子菜单增加一个 hidden 属性
|
||||
// 用来给刷新页面时, selectedKeys 做控制用
|
||||
menu.children.forEach(item => {
|
||||
item.meta = Object.assign(item.meta, { hidden: true })
|
||||
})
|
||||
|
@ -196,8 +192,8 @@ export default {
|
|||
getPopupContainer={(trigger) => trigger}
|
||||
content={() =>
|
||||
<div>
|
||||
<div onClick={e => this.handlePerm(e, menu, 'CIType')} class="custom-menu-extra-submenu-item"><a-icon type="user-add" />授权</div>
|
||||
<div onClick={e => this.cancelAttributes(e, menu)} class="custom-menu-extra-submenu-item"><a-icon type="star" />取消订阅</div>
|
||||
<div onClick={e => this.handlePerm(e, menu, 'CIType')} class="custom-menu-extra-submenu-item"><a-icon type="user-add" />{ this.renderI18n('grant') }</div>
|
||||
<div onClick={e => this.cancelAttributes(e, menu)} class="custom-menu-extra-submenu-item"><a-icon type="star" />{ this.renderI18n('cmdb.preference.cancelSub') }</div>
|
||||
</div>}
|
||||
>
|
||||
<a-icon type="menu" ref="extraEllipsis" class="custom-menu-extra-ellipsis"></a-icon>
|
||||
|
@ -287,7 +283,7 @@ export default {
|
|||
this.$refs.cmdbGrantRelationView.open({ name: menu.meta.name, cmdbGrantType: 'relation_view' })
|
||||
}
|
||||
} else {
|
||||
this.$message.error('权限不足!')
|
||||
this.$message.error(this.$t('noPermission'))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -68,8 +68,8 @@ export default {
|
|||
const that = this
|
||||
|
||||
this.$confirm({
|
||||
title: '提示',
|
||||
content: '真的要注销登录吗 ?',
|
||||
title: this.$t('tip'),
|
||||
content: this.$t('topMenu.confirmLogout'),
|
||||
onOk() {
|
||||
// localStorage.removeItem('ops_cityps_currentId')
|
||||
localStorage.clear()
|
||||
|
|
|
@ -104,12 +104,15 @@ export default {
|
|||
max: 'Max',
|
||||
min: 'Min',
|
||||
visual: 'Visual',
|
||||
default: 'default',
|
||||
tip: 'Tip',
|
||||
pagination: {
|
||||
total: '{range0}-{range1} of {total} items'
|
||||
},
|
||||
topMenu: {
|
||||
personalCenter: 'Personal Center',
|
||||
logout: 'logout',
|
||||
confirmLogout: 'Are you sure to log out?'
|
||||
},
|
||||
cmdbFilterComp: {
|
||||
conditionFilter: 'Conditional filtering',
|
||||
|
@ -139,7 +142,8 @@ export default {
|
|||
multicolor: 'Multicolor',
|
||||
custom: 'Custom',
|
||||
preview: 'Preview',
|
||||
sizeLimit: 'The image size cannot exceed 2MB!'
|
||||
sizeLimit: 'The image size cannot exceed 2MB!',
|
||||
nodata: 'There are currently no custom icons available. Click here to upload'
|
||||
},
|
||||
cmdb: cmdb_en,
|
||||
cs: cs_en,
|
||||
|
|
|
@ -104,12 +104,15 @@ export default {
|
|||
max: '最大值',
|
||||
min: '最小值',
|
||||
visual: '虚拟',
|
||||
default: '默认',
|
||||
tip: '提示',
|
||||
pagination: {
|
||||
total: '当前展示 {range0}-{range1} 条数据, 共 {total} 条'
|
||||
},
|
||||
topMenu: {
|
||||
personalCenter: '个人中心',
|
||||
logout: '退出登录',
|
||||
confirmLogout: '确认退出登录吗?'
|
||||
},
|
||||
cmdbFilterComp: {
|
||||
conditionFilter: '条件过滤',
|
||||
|
@ -139,7 +142,8 @@ export default {
|
|||
multicolor: '多色',
|
||||
custom: '自定义',
|
||||
preview: '预览',
|
||||
sizeLimit: '图片大小不可超过2MB!'
|
||||
sizeLimit: '图片大小不可超过2MB!',
|
||||
nodata: '暂无自定义图标,点击此处上传'
|
||||
},
|
||||
cmdb: cmdb_zh,
|
||||
cs: cs_zh,
|
||||
|
|
|
@ -103,9 +103,9 @@ export default {
|
|||
},
|
||||
httpMap() {
|
||||
return {
|
||||
[this.$t('cmdb.components.aliyun')]: { name: 'aliyun' },
|
||||
[this.$t('cmdb.components.tencentcloud')]: { name: 'tencentcloud' },
|
||||
[this.$t('cmdb.components.huaweicloud')]: { name: 'huaweicloud' },
|
||||
阿里云: { name: 'aliyun' },
|
||||
腾讯云: { name: 'tencentcloud' },
|
||||
华为云: { name: 'huaweicloud' },
|
||||
AWS: { name: 'aws' },
|
||||
}
|
||||
},
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
type="primary"
|
||||
icon="plus"
|
||||
>
|
||||
定制仪表盘
|
||||
{{ $t('cmdb.menu.customDashboard') }}
|
||||
</a-button>
|
||||
<span v-else>{{ $t('cmdb.custom_dashboard.noCustomDashboard') }}</span>
|
||||
</div>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
height: '23px',
|
||||
fontSize: '14px',
|
||||
}"
|
||||
/>个</span
|
||||
/></span
|
||||
>
|
||||
<span
|
||||
class="cmdb-preference-left-card-content"
|
||||
|
@ -31,7 +31,7 @@
|
|||
height: '23px',
|
||||
fontSize: '14px',
|
||||
}"
|
||||
/>个</span
|
||||
/></span
|
||||
>
|
||||
</div>
|
||||
<div class="cmdb-preference-group" v-for="(group, index) in myPreferences" :key="group.name">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-dsiable */
|
||||
/* eslint-dsiable */
|
||||
import Vue from 'vue'
|
||||
import axios from 'axios'
|
||||
import { VueAxios } from './axios'
|
||||
|
@ -6,20 +6,22 @@ import message from 'ant-design-vue/es/message'
|
|||
import notification from 'ant-design-vue/es/notification'
|
||||
import { ACCESS_TOKEN } from '@/store/global/mutation-types'
|
||||
import router from '@/router'
|
||||
import store from '@/store'
|
||||
|
||||
// 创建 axios 实例
|
||||
const service = axios.create({
|
||||
baseURL: process.env.VUE_APP_API_BASE_URL, // api base_url
|
||||
timeout: 6000, // 请求超时时间
|
||||
withCredentials: true,
|
||||
crossDomain: true
|
||||
crossDomain: true,
|
||||
})
|
||||
|
||||
const err = (error) => {
|
||||
console.log(error)
|
||||
const reg = /5\d{2}/g
|
||||
if (error.response && reg.test(error.response.status)) {
|
||||
message.error('服务端未知错误, 请联系管理员!')
|
||||
const errorMsg = ((error.response || {}).data || {}).message || '服务端未知错误, 请联系管理员!'
|
||||
message.error(errorMsg)
|
||||
} else if (error.response.status === 412) {
|
||||
let seconds = 5
|
||||
notification.warning({
|
||||
|
@ -64,6 +66,7 @@ service.interceptors.request.use(config => {
|
|||
if (token) {
|
||||
config.headers['Access-Token'] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
|
||||
}
|
||||
config.headers['Accept-Language'] = store?.state?.locale ?? 'zh'
|
||||
return config
|
||||
}, err)
|
||||
|
||||
|
|
|
@ -25,18 +25,6 @@
|
|||
<a-input v-model="batchForm.value" />
|
||||
</a-form-model-item>
|
||||
</a-form-model>
|
||||
<a-form-model v-else-if="batchProps.type === 'annual_leave'">
|
||||
<a-form-model-item :label="$t('cs.companyStructure.editAnnualLeave')">
|
||||
<a-input-number
|
||||
:min="0"
|
||||
:step="1"
|
||||
:style="{ width: '100%' }"
|
||||
v-model="batchForm.value"
|
||||
:placeholder="$t('cs.companyStructure.annualLeavePlaceholder')"
|
||||
:formatter="(value) => `${value} $t('cs.companyStructure.day')`"
|
||||
/>
|
||||
</a-form-model-item>
|
||||
</a-form-model>
|
||||
<a-form-model v-else-if="batchProps.type === 'password'" ref="batchForm" :model="batchForm" :rules="rules">
|
||||
<a-form-model-item :label="$t('cs.companyStructure.resetPassword')" prop="password">
|
||||
<a-input-password v-model="batchForm.value" />
|
||||
|
@ -75,7 +63,7 @@ export default {
|
|||
const validatePass = (rule, value, callback) => {
|
||||
console.log(this.batchForm)
|
||||
if (this.batchForm.value === '') {
|
||||
callback(new Error(this.$t('cs.companyStructure.password_placeholder')))
|
||||
callback(new Error(this.$t('cs.companyStructure.passwordPlaceholder')))
|
||||
} else {
|
||||
this.$refs.batchForm.validateField('repeatPassword')
|
||||
callback()
|
||||
|
|
|
@ -20,19 +20,24 @@
|
|||
</div>
|
||||
<template v-if="currentStep === 1">
|
||||
<a-upload :multiple="false" :customRequest="customRequest" accept=".xlsx" :showUploadList="false">
|
||||
<a-button :style="{ marginBottom: '20px' }" type="primary"> <a-icon type="upload" />选择文件</a-button>
|
||||
<a-button :style="{ marginBottom: '20px' }" type="primary"> <a-icon type="upload" />{{ $t('cs.companyStructure.selectFile') }}</a-button>
|
||||
</a-upload>
|
||||
<p><a @click="download">{{ $t('cs.companyStructure.clickDownloadImportTemplate') }}</a></p>
|
||||
</template>
|
||||
<div
|
||||
:style="{ height: '60px', display: 'flex', justifyContent: 'center', alignItems: 'center' }"
|
||||
:style="{
|
||||
height: '60px',
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
whiteSpace: 'pre-wrap',
|
||||
}"
|
||||
v-if="currentStep === 3"
|
||||
>
|
||||
导入总数据{{ allCount }}条, 导入成功 <span :style="{ color: '#2362FB' }">{{ allCount - errorCount }}</span> 条,
|
||||
{{ $t('cs.companyStructure.importSuccess', {allCount: allCount}) }}<span :style="{ color: '#2362FB' }">{{ allCount - errorCount }}</span>
|
||||
{{ $t('cs.companyStructure.count')}},
|
||||
{{ $t('cs.companyStructure.importError') }}<span :style="{ color: '#D81E06' }">{{ errorCount }}</span
|
||||
>{{ $t('cs.companyStructure.count')}}
|
||||
{{ $t('cs.companyStructure.importSuccess', { allCount: allCount })
|
||||
}}<span :style="{ color: '#2362FB' }"> {{ allCount - errorCount }} </span>{{ $t('cs.companyStructure.count') }},
|
||||
{{ $t('cs.companyStructure.importFailed') }}<span :style="{ color: '#D81E06' }"> {{ errorCount }} </span
|
||||
>{{ $t('cs.companyStructure.count') }}
|
||||
</div>
|
||||
<vxe-table
|
||||
v-if="currentStep === 2 || has_error"
|
||||
|
@ -121,39 +126,6 @@ export default {
|
|||
icon: 'icon-shidi-queren',
|
||||
},
|
||||
]
|
||||
const dfc_importParamsList = [
|
||||
'email',
|
||||
'username',
|
||||
'nickname',
|
||||
'password',
|
||||
'sex',
|
||||
'mobile',
|
||||
'position_name',
|
||||
'department_name',
|
||||
'current_company',
|
||||
'dfc_entry_date',
|
||||
'entry_date',
|
||||
'is_internship',
|
||||
'leave_date',
|
||||
'id_card',
|
||||
'nation',
|
||||
'id_place',
|
||||
'party',
|
||||
'household_registration_type',
|
||||
'hometown',
|
||||
'marry',
|
||||
'max_degree',
|
||||
'emergency_person',
|
||||
'emergency_phone',
|
||||
'bank_card_number',
|
||||
'bank_card_name',
|
||||
'opening_bank',
|
||||
'account_opening_location',
|
||||
'school',
|
||||
'major',
|
||||
'education',
|
||||
'graduation_year',
|
||||
]
|
||||
const common_importParamsList = [
|
||||
'email',
|
||||
'username',
|
||||
|
@ -187,7 +159,6 @@ export default {
|
|||
]
|
||||
return {
|
||||
stepList,
|
||||
dfc_importParamsList,
|
||||
common_importParamsList,
|
||||
visible: false,
|
||||
currentStep: 1,
|
||||
|
|
|
@ -181,8 +181,6 @@
|
|||
<a-divider type="vertical"/>
|
||||
<span @click="openBatchModal('position_name')">{{ $t('cs.companyStructure.editPosition') }}</span>
|
||||
<a-divider type="vertical"/>
|
||||
<span @click="openBatchModal('annual_leave')">{{ $t('cs.companyStructure.editAnnualLeave') }}</span>
|
||||
<a-divider type="vertical"/>
|
||||
<span @click="openBatchModal('password')">{{ $t('cs.companyStructure.resetPassword') }}</span>
|
||||
<a-divider type="vertical"/>
|
||||
<span @click="openBatchModal('block', null, 1)">{{ $t('cs.companyStructure.block') }}</span>
|
||||
|
|
|
@ -92,6 +92,10 @@
|
|||
<span>{{ $t('cs.companyStructure.sex') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
<template #default="{row}">
|
||||
<span v-if="row.sex === '男'">{{ $t('cs.companyStructure.male') }}</span>
|
||||
<span v-if="row.sex === '女'">{{ $t('cs.companyStructure.female') }}</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="mobile"
|
||||
|
@ -171,644 +175,6 @@
|
|||
}}</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="annual_leave"
|
||||
:title="$t('cs.companyStructure.annualLeave')"
|
||||
sortable
|
||||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'annual_leave') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'annual_leave') !== -1
|
||||
"
|
||||
key="annual_leave"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.annualLeave') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="virtual_annual_leave"
|
||||
:title="$t('cs.companyStructure.virtualAnnualLeave')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'virtual_annual_leave') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'virtual_annual_leave') !== -1
|
||||
"
|
||||
key="virtual_annual_leave"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.virtualAnnualLeave') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="parenting_leave"
|
||||
:title="$t('cs.companyStructure.parentingLeave')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'parenting_leave') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'parenting_leave') !== -1
|
||||
"
|
||||
key="parenting_leave"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.parentingLeave') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="entry_date"
|
||||
:title="$t('cs.companyStructure.entryDate')"
|
||||
sortable
|
||||
min-width="150"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'entry_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'entry_date') !== -1
|
||||
"
|
||||
key="entry_date"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.entryDate') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="is_internship"
|
||||
:title="$t('cs.companyStructure.isInternship')"
|
||||
sortable
|
||||
min-width="140"
|
||||
v-bind="tableType === 'structure' ? { filters: internOptions, 'filter-multiple': false } : {}"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'is_internship') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'is_internship') !== -1
|
||||
"
|
||||
key="is_internship"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.isInternship') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
<template #default="{ row }">
|
||||
{{ getIsInterInship(row.is_internship) }}
|
||||
</template> </vxe-column
|
||||
>I
|
||||
<vxe-column
|
||||
field="leave_date"
|
||||
:title="$t('cs.companyStructure.leaveDate')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'leave_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'leave_date') !== -1
|
||||
"
|
||||
key="leave_date"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.leaveDate') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="id_card"
|
||||
:title="$t('cs.companyStructure.idCard')"
|
||||
sortable
|
||||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'id_card') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'id_card') !== -1
|
||||
"
|
||||
key="id_card"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.idCard') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="nation"
|
||||
:title="$t('cs.companyStructure.nation')"
|
||||
sortable
|
||||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'nation') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'nation') !== -1
|
||||
"
|
||||
key="nation"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.idPlace') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="id_place"
|
||||
:title="$t('cs.companyStructure.nation')"
|
||||
sortable
|
||||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'id_place') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'id_place') !== -1
|
||||
"
|
||||
key="id_place"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.idPlace') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="party"
|
||||
:title="$t('cs.companyStructure.party')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'party') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'party') !== -1
|
||||
"
|
||||
key="party"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.party') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="household_registration_type"
|
||||
:title="$t('cs.companyStructure.householdRegistrationType')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'household_registration_type') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'household_registration_type') !== -1
|
||||
"
|
||||
key="household_registration_type"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.hometown') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="hometown"
|
||||
:title="$t('cs.companyStructure.householdRegistrationType') "
|
||||
sortable
|
||||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'hometown') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'hometown') !== -1
|
||||
"
|
||||
key="hometown"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.hometown') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="marry"
|
||||
:title="$t('cs.companyStructure.marry')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'marry') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'marry') !== -1
|
||||
"
|
||||
key="marry"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.marry') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="max_degree"
|
||||
:title="$t('cs.companyStructure.maxDegree')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'max_degree') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'max_degree') !== -1
|
||||
"
|
||||
key="max_degree"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.maxDegree') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="emergency_person"
|
||||
:title="$t('cs.companyStructure.emergencyPerson')"
|
||||
sortable
|
||||
min-width="110"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'emergency_person') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'emergency_person') !== -1
|
||||
"
|
||||
key="emergency_person"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.emergencyPerson') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="emergency_phone"
|
||||
:title="$t('cs.companyStructure.emergencyPhone')"
|
||||
sortable
|
||||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'emergency_phone') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'emergency_phone') !== -1
|
||||
"
|
||||
key="emergency_phone"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.emergencyPhone') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="bank_card_number"
|
||||
:title="$t('cs.companyStructure.bankCardNumber')"
|
||||
sortable
|
||||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'bank_card_number') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'bank_card_number') !== -1
|
||||
"
|
||||
key="bank_card_number"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.bankCardNumber') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="bank_card_name"
|
||||
:title="$t('cs.companyStructure.bankCardName')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'bank_card_name') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'bank_card_name') !== -1
|
||||
"
|
||||
key="bank_card_name"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.bankCardName') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="opening_bank"
|
||||
:title="$t('cs.companyStructure.openingBank')"
|
||||
sortable
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'opening_bank') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'opening_bank') !== -1
|
||||
"
|
||||
key="opening_bank"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.openingBank') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="account_opening_location"
|
||||
:title="$t('cs.companyStructure.accountOpeningLocation')"
|
||||
sortable
|
||||
min-width="120"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'account_opening_location') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'account_opening_location') !== -1
|
||||
"
|
||||
key="account_opening_location"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.accountOpeningLocation') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="school"
|
||||
:title="$t('cs.companyStructure.school')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'school') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'school') !== -1
|
||||
"
|
||||
key="school"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.school') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="major"
|
||||
:title="$t('cs.companyStructure.major')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'major') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'major') !== -1
|
||||
"
|
||||
key="major"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.major') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="education"
|
||||
:title="$t('cs.companyStructure.education')"
|
||||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'education') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'education') !== -1
|
||||
"
|
||||
key="education"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.education') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="graduation_year"
|
||||
:title="$t('cs.companyStructure.graduationYear')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'graduation_year') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'graduation_year') !== -1
|
||||
"
|
||||
key="graduation_year"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.graduationYear') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="name"
|
||||
:title="$t('cs.companyStructure.childrenName')"
|
||||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'name') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'name') !== -1
|
||||
"
|
||||
key="name"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.childrenName') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="gender"
|
||||
:title="$t('cs.companyStructure.sex')"
|
||||
min-width="80"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'gender') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'gender') !== -1
|
||||
"
|
||||
key="gender"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.sex') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="birthday"
|
||||
:title="$t('cs.companyStructure.birthDate')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'birthday') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'birthday') !== -1
|
||||
"
|
||||
key="birthday"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.birthDate') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="parental_leave_left"
|
||||
:title="$t('cs.companyStructure.leftParentingLeave')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'parental_leave_left') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'parental_leave_left') !== -1
|
||||
"
|
||||
key="parental_leave_left"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.leftParentingLeave') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="birth_date"
|
||||
:title="$t('cs.companyStructure.birthDate')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'birth_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'birth_date') !== -1
|
||||
"
|
||||
key="birth_date"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.birthDate') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="birth_place"
|
||||
:title="$t('cs.companyStructure.birthPlace')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'birth_place') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'birth_place') !== -1
|
||||
"
|
||||
key="birth_place"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.birthPlace') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="nationality_region"
|
||||
:title="$t('cs.companyStructure.nationalityRegion')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'nationality_region') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'nationality_region') !== -1
|
||||
"
|
||||
key="nationality_region"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.nationalityRegion') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="first_entry_date"
|
||||
:title="$t('cs.companyStructure.firstEntryDate')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'first_entry_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'first_entry_date') !== -1
|
||||
"
|
||||
key="first_entry_date"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.firstEntryDate') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="estimated_departure_date"
|
||||
:title="$t('cs.companyStructure.estimatedDepartureDate')"
|
||||
min-width="100"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'estimated_departure_date') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'estimated_departure_date') !== -1
|
||||
"
|
||||
key="estimated_departure_date"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.estimatedDepartureDate') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="last_login"
|
||||
:title="$t('cs.companyStructure.lastLogin')"
|
||||
min-width="140px"
|
||||
sortable
|
||||
:formatter="formatDate"
|
||||
v-if="
|
||||
checkedCols.findIndex((v) => v == 'last_login') !== -1 &&
|
||||
tableType == 'structure' &&
|
||||
attributes.findIndex((v) => v == 'last_login') !== -1
|
||||
"
|
||||
key="last_login"
|
||||
>
|
||||
<template #header>
|
||||
<span class="vxe-handle">
|
||||
<OpsMoveIcon class="move-icon" />
|
||||
<span>{{ $t('cs.companyStructure.lastLogin') }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column
|
||||
field="control"
|
||||
width="100px"
|
||||
|
@ -939,41 +305,6 @@ export default {
|
|||
{ label: this.$t('cs.companyStructure.departmentName'), value: 'department_name' },
|
||||
{ label: this.$t('cs.companyStructure.positionName'), value: 'position_name' },
|
||||
{ label: this.$t('cs.companyStructure.supervisor'), value: 'direct_supervisor_id' },
|
||||
{ label: this.$t('cs.companyStructure.annualLeave'), value: 'annual_leave' },
|
||||
{ label: this.$t('cs.companyStructure.virtualAnnualLeave'), value: 'virtual_annual_leave' },
|
||||
{ label: this.$t('cs.companyStructure.parentingLeave'), value: 'parenting_leave' },
|
||||
{ label: this.$t('cs.companyStructure.entryDate'), value: 'entry_date' },
|
||||
{ label: this.$t('cs.companyStructure.isInternship'), value: 'is_internship' },
|
||||
{ label: this.$t('cs.companyStructure.leaveDate'), value: 'leave_date' },
|
||||
{ label: this.$t('cs.companyStructure.idCard'), value: 'id_card' },
|
||||
{ label: this.$t('cs.companyStructure.nation'), value: 'nation' },
|
||||
{ label: this.$t('cs.companyStructure.idPlace'), value: 'id_place' },
|
||||
{ label: this.$t('cs.companyStructure.party'), value: 'party' },
|
||||
{ label: this.$t('cs.companyStructure.householdRegistrationType'), value: 'household_registration_type' },
|
||||
{ label: this.$t('cs.companyStructure.hometown'), value: 'hometown' },
|
||||
{ label: this.$t('cs.companyStructure.marry'), value: 'marry' },
|
||||
{ label: this.$t('cs.companyStructure.maxDegree'), value: 'max_degree' },
|
||||
{ label: this.$t('cs.companyStructure.emergencyPerson'), value: 'emergency_person' },
|
||||
{ label: this.$t('cs.companyStructure.emergencyPhone'), value: 'emergency_phone' },
|
||||
{ label: this.$t('cs.companyStructure.bankCardNumber'), value: 'bank_card_number' },
|
||||
{ label: this.$t('cs.companyStructure.bankCardName'), value: 'bank_card_name' },
|
||||
{ label: this.$t('cs.companyStructure.openingBank'), value: 'opening_bank' },
|
||||
{ label: this.$t('cs.companyStructure.accountOpeningLocation'), value: 'account_opening_location' },
|
||||
{ label: this.$t('cs.companyStructure.school'), value: 'school' },
|
||||
{ label: this.$t('cs.companyStructure.major'), value: 'major' },
|
||||
{ label: this.$t('cs.companyStructure.education'), value: 'education' },
|
||||
{ label: this.$t('cs.companyStructure.graduationYear'), value: 'graduation_year' },
|
||||
{ label: this.$t('cs.companyStructure.childrenName'), value: 'name' },
|
||||
{ label: this.$t('cs.companyStructure.childrenGender'), value: 'gender' },
|
||||
{ label: this.$t('cs.companyStructure.childrenBirthday'), value: 'birthday' },
|
||||
{ label: this.$t('cs.companyStructure.leftParentingLeave'), value: 'parental_leave_left' },
|
||||
{ label: this.$t('cs.companyStructure.birthDate'), value: 'birth_date' },
|
||||
{ label: this.$t('cs.companyStructure.nationalityRegion'), value: 'nationality_region' },
|
||||
{ label: this.$t('cs.companyStructure.birthPlace'), value: 'birth_place' },
|
||||
{ label: this.$t('cs.companyStructure.firstEntryDate'), value: 'first_entry_date' },
|
||||
{ label: this.$t('cs.companyStructure.estimatedDepartureDate'), value: 'estimated_departure_date' },
|
||||
{ label: this.$t('cs.companyStructure.role'), value: 'roles' },
|
||||
{ label: this.$t('cs.companyStructure.lastLogin'), value: 'last_login' },
|
||||
]
|
||||
const checkedCols = JSON.parse(localStorage.getItem('setting-table-CheckedCols')) || [
|
||||
'nickname',
|
||||
|
@ -984,37 +315,6 @@ export default {
|
|||
'department_name',
|
||||
'position_name',
|
||||
'direct_supervisor_id',
|
||||
'annual_leave',
|
||||
'virtual_annual_leave',
|
||||
'parenting_leave',
|
||||
'roles',
|
||||
'last_login',
|
||||
'current_company',
|
||||
'is_internship',
|
||||
'entry_date',
|
||||
'leave_date',
|
||||
'id_card',
|
||||
'nation',
|
||||
'id_place',
|
||||
'party',
|
||||
'household_registration_type',
|
||||
'hometown',
|
||||
'marry',
|
||||
'max_degree',
|
||||
'emergency_person',
|
||||
'emergency_phone',
|
||||
'bank_card_number',
|
||||
'bank_card_name',
|
||||
'opening_bank',
|
||||
'account_opening_location',
|
||||
'school',
|
||||
'major',
|
||||
'education',
|
||||
'graduation_year',
|
||||
'name',
|
||||
'gender',
|
||||
'birthday',
|
||||
'parental_leave_left',
|
||||
]
|
||||
return {
|
||||
filterRoleList: [],
|
||||
|
|
|
@ -50,7 +50,7 @@ const cs_en = {
|
|||
selectFile: 'Select File',
|
||||
clickDownloadImportTemplate: 'Click to download Employee Import Template',
|
||||
importSuccess: 'Imported total {allCount} items, imported successfully',
|
||||
importFailed: 'Import failed',
|
||||
importFailed: 'import failed',
|
||||
count: 'items',
|
||||
email: 'Email',
|
||||
emailPlaceholder: 'Please enter email',
|
||||
|
|
Loading…
Reference in New Issue