|
@@ -9,8 +9,12 @@
|
|
|
v-show="showSearch"
|
|
|
label-width="68px"
|
|
|
>
|
|
|
- <el-form-item label="员工类别" prop="category">
|
|
|
- <el-select v-model="queryParams.category" clearable placeholder="请选择员工类别">
|
|
|
+ <el-form-item :label="$t('employee.employeeCategory')" prop="category">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.category"
|
|
|
+ clearable
|
|
|
+ :placeholder="$t('employee.selectEmployeeCategory')"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in categoryOptions"
|
|
|
:key="item.key"
|
|
@@ -19,40 +23,42 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="姓名" prop="name">
|
|
|
+ <el-form-item :label="$t('employee.name')" prop="name">
|
|
|
<el-input
|
|
|
v-model="queryParams.realName"
|
|
|
- placeholder="请输入姓名"
|
|
|
+ :placeholder="$t('employee.inputName')"
|
|
|
clearable
|
|
|
style="width: 240px"
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="手机号" prop="mobile">
|
|
|
+ <el-form-item :label="$t('employee.mobilePhone')" prop="mobile">
|
|
|
<el-input
|
|
|
v-model="queryParams.mobile"
|
|
|
- placeholder="请输入手机号"
|
|
|
+ :placeholder="$t('employee.inputMobilePhone')"
|
|
|
clearable
|
|
|
style="width: 240px"
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="状态" prop="auditedStatus">
|
|
|
+ <el-form-item :label="$t('employee.status')" prop="auditedStatus">
|
|
|
<el-select
|
|
|
v-model="queryParams.auditedStatus"
|
|
|
- placeholder="状态"
|
|
|
+ :placeholder="$t('employee.status')"
|
|
|
clearable
|
|
|
style="width: 240px"
|
|
|
>
|
|
|
- <el-option key="A" label="启用" value="A" />
|
|
|
- <el-option key="N" label="禁用" value="N" />
|
|
|
+ <el-option :key="A" :label="$t('employee.enabled')" :value="A" />
|
|
|
+ <el-option :key="N" :label="$t('employee.disabled')" :value="N" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">
|
|
|
- 搜索
|
|
|
+ {{ $t('employee.search') }}
|
|
|
+ </el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">
|
|
|
+ {{ $t('employee.reset') }}
|
|
|
</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
plain
|
|
@@ -61,7 +67,7 @@
|
|
|
@click="handleAdd"
|
|
|
v-hasPermi="['staff:list']"
|
|
|
>
|
|
|
- 新增员工
|
|
|
+ {{ $t('employee.addEmployee') }}
|
|
|
</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -78,12 +84,12 @@
|
|
|
:default-sort="defaultSort"
|
|
|
@sort-change="handleSortChange"
|
|
|
>
|
|
|
- <el-table-column label="ID" align="center" prop="id" width="80">
|
|
|
+ <el-table-column :label="$t('employee.id')" align="center" prop="id" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ showIdLastFour(scope.row.id) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="类别" align="center" prop="category">
|
|
|
+ <el-table-column :label="$t('employee.category')" align="center" prop="category">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.category">
|
|
|
<span>{{ getName(categoryOptions, scope.row.category) }}</span>
|
|
@@ -91,18 +97,18 @@
|
|
|
<span v-else>-</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="姓名" align="center" prop="realName" />
|
|
|
- <el-table-column label="手机号" align="center" prop="mobile" />
|
|
|
- <!-- <el-table-column label="关联会员ID" align="center" prop="userId" /> -->
|
|
|
- <el-table-column label="所属店铺" align="center" prop="storeName">
|
|
|
+ <el-table-column :label="$t('employee.name')" align="center" prop="realName" />
|
|
|
+ <el-table-column :label="$t('employee.mobilePhone')" align="center" prop="mobile" />
|
|
|
+ <!-- <el-table-column :label="$t('employee.associatedMemberId')" align="center" prop="userId" /> -->
|
|
|
+ <el-table-column :label="$t('employee.belongingStore')" align="center" prop="storeName">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.storeId">
|
|
|
<span>{{ getName(storeOptions, scope.row.storeId) }}</span>
|
|
|
</span>
|
|
|
- <span v-else>无</span>
|
|
|
+ <span v-else>{{ $t('employee.none') }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="状态" align="center" prop="storeName">
|
|
|
+ <el-table-column :label="$t('employee.status')" align="center" prop="storeName">
|
|
|
<template slot-scope="scope">
|
|
|
<el-switch
|
|
|
v-model="scope.row.auditedStatus"
|
|
@@ -112,17 +118,21 @@
|
|
|
></el-switch>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="创建时间" align="center" prop="createTime">
|
|
|
+ <el-table-column :label="$t('employee.createTime')" align="center" prop="createTime">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="更新时间" align="center" prop="updateTime">
|
|
|
+ <el-table-column :label="$t('employee.updateTime')" align="center" prop="updateTime">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.updateTime) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <el-table-column
|
|
|
+ :label="$t('employee.operation')"
|
|
|
+ align="center"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<el-button
|
|
|
size="mini"
|
|
@@ -131,7 +141,7 @@
|
|
|
v-hasPermi="['staff:list']"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
>
|
|
|
- 修改
|
|
|
+ {{ $t('employee.modify') }}
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
@@ -140,7 +150,7 @@
|
|
|
v-hasPermi="['staff:list']"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
>
|
|
|
- 删除
|
|
|
+ {{ $t('employee.delete') }}
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -165,9 +175,16 @@
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="员工类别" prop="category">
|
|
|
- <el-select v-model="form.category" placeholder="请选择员工类别">
|
|
|
- <el-option key="0" label="请选择员工类别" value="0"></el-option>
|
|
|
+ <el-form-item :label="$t('employee.employeeCategory')" prop="category">
|
|
|
+ <el-select
|
|
|
+ v-model="form.category"
|
|
|
+ :placeholder="$t('employee.selectEmployeeCategory')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ :key="0"
|
|
|
+ :label="$t('employee.selectEmployeeCategory')"
|
|
|
+ :value="0"
|
|
|
+ ></el-option>
|
|
|
<el-option
|
|
|
v-for="item in categoryOptions"
|
|
|
:key="item.key"
|
|
@@ -180,23 +197,31 @@
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="姓名" prop="realName">
|
|
|
- <el-input v-model="form.realName" placeholder="请输入姓名" maxlength="30" />
|
|
|
+ <el-form-item :label="$t('employee.name')" prop="realName">
|
|
|
+ <el-input
|
|
|
+ v-model="form.realName"
|
|
|
+ :placeholder="$t('employee.inputName')"
|
|
|
+ maxlength="30"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="手机号" prop="mobile">
|
|
|
- <el-input v-model="form.mobile" placeholder="请输入联系人电话" maxlength="30" />
|
|
|
+ <el-form-item :label="$t('employee.mobilePhone')" prop="mobile">
|
|
|
+ <el-input
|
|
|
+ v-model="form.mobile"
|
|
|
+ :placeholder="$t('employee.inputMobilePhone')"
|
|
|
+ maxlength="30"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="所属店铺" prop="storeId">
|
|
|
- <el-select v-model="form.storeId" placeholder="请选择所属店铺">
|
|
|
- <el-option :key="0" label="全部店铺" :value="0"></el-option>
|
|
|
+ <el-form-item :label="$t('employee.belongingStore')" prop="storeId">
|
|
|
+ <el-select v-model="form.storeId" :placeholder="$t('employee.selectBelongingStore')">
|
|
|
+ <el-option :key="0" :label="$t('employee.allStores')" :value="0"></el-option>
|
|
|
<el-option
|
|
|
v-for="item in storeOptions"
|
|
|
:key="item.id"
|
|
@@ -210,29 +235,33 @@
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="备注信息">
|
|
|
+ <el-form-item :label="$t('employee.remark')">
|
|
|
<el-input
|
|
|
v-model="form.description"
|
|
|
type="textarea"
|
|
|
- placeholder="请输入内容"
|
|
|
+ :placeholder="$t('employee.inputContent')"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="状态">
|
|
|
+ <el-form-item :label="$t('employee.status')">
|
|
|
<el-radio-group v-model="form.auditedStatus">
|
|
|
- <el-radio key="A" label="A" value="A">启用</el-radio>
|
|
|
- <el-radio key="N" label="N" value="N">禁用</el-radio>
|
|
|
+ <el-radio :key="A" :label="$t('employee.enabled')" :value="A">
|
|
|
+ {{ $t('employee.enabled') }}
|
|
|
+ </el-radio>
|
|
|
+ <el-radio :key="N" :label="$t('employee.disabled')" :value="N">
|
|
|
+ {{ $t('employee.disabled') }}
|
|
|
+ </el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitForm">确定</el-button>
|
|
|
- <el-button @click="cancel">取消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm">{{ $t('employee.confirm') }}</el-button>
|
|
|
+ <el-button @click="cancel">{{ $t('employee.cancel') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -281,14 +310,14 @@ export default {
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
realName: [
|
|
|
- { required: true, message: '姓名不能为空', trigger: 'blur' },
|
|
|
- { min: 2, max: 30, message: '姓名长度必须介于 2 和 20 之间', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('employee.nameRequired'), trigger: 'blur' },
|
|
|
+ { min: 2, max: 30, message: this.$t('employee.nameLengthLimit'), trigger: 'blur' }
|
|
|
],
|
|
|
mobile: [
|
|
|
- { required: true, message: '手机号不能为空', trigger: 'blur' },
|
|
|
- { min: 11, max: 20, message: '手机号长度必须11', trigger: 'blur' }
|
|
|
+ { required: true, message: this.$t('employee.mobileRequired'), trigger: 'blur' },
|
|
|
+ { min: 11, max: 20, message: this.$t('employee.mobileLengthLimit'), trigger: 'blur' }
|
|
|
],
|
|
|
- storeId: [{ required: true, message: '请选择所属店铺', trigger: 'blur' }]
|
|
|
+ storeId: [{ required: true, message: this.$t('employee.storeIdRequired'), trigger: 'blur' }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -328,16 +357,17 @@ export default {
|
|
|
},
|
|
|
// 状态修改
|
|
|
handleStatusChange(row) {
|
|
|
- let text = row.auditedStatus == 'A' ? '启用' : '禁用'
|
|
|
+ let text =
|
|
|
+ row.auditedStatus === 'A' ? this.$t('employee.enabled') : this.$t('employee.disabled')
|
|
|
this.$modal
|
|
|
- .confirm('确认要' + text + '"' + row.realName + '"吗?')
|
|
|
- .then(function () {
|
|
|
+ .confirm(this.$t('employee.confirmStatusChange', { status: text, name: row.realName }))
|
|
|
+ .then(() => {
|
|
|
return updateStaffStatus(row.id, row.auditedStatus)
|
|
|
})
|
|
|
.then(() => {
|
|
|
- this.$modal.msgSuccess(text + '成功')
|
|
|
+ this.$modal.msgSuccess(this.$t('employee.statusChangeSuccess', { status: text }))
|
|
|
})
|
|
|
- .catch(function () {
|
|
|
+ .catch(() => {
|
|
|
row.auditedStatus = row.auditedStatus === 'A' ? 'A' : 'N'
|
|
|
})
|
|
|
},
|
|
@@ -356,7 +386,7 @@ export default {
|
|
|
handleAdd() {
|
|
|
this.reset()
|
|
|
this.open = true
|
|
|
- this.title = '新增员工'
|
|
|
+ this.title = this.$t('employee.addEmployee')
|
|
|
},
|
|
|
// 表单重置
|
|
|
reset() {
|
|
@@ -374,18 +404,18 @@ export default {
|
|
|
this.reset()
|
|
|
},
|
|
|
// 提交按钮
|
|
|
- submitForm: function () {
|
|
|
+ submitForm() {
|
|
|
this.$refs['form'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
if (!this.form.id) {
|
|
|
saveStaff(this.form).then((response) => {
|
|
|
- this.$modal.msgSuccess('新增成功')
|
|
|
+ this.$modal.msgSuccess(this.$t('employee.addSuccess'))
|
|
|
this.open = false
|
|
|
this.getList()
|
|
|
})
|
|
|
} else {
|
|
|
saveStaff(this.form).then((response) => {
|
|
|
- this.$modal.msgSuccess('修改成功')
|
|
|
+ this.$modal.msgSuccess(this.$t('employee.modifySuccess'))
|
|
|
this.open = false
|
|
|
this.getList()
|
|
|
})
|
|
@@ -401,20 +431,20 @@ export default {
|
|
|
this.form = response.data.staffInfo
|
|
|
this.form.category = response.data.staffInfo.category + ''
|
|
|
this.open = true
|
|
|
- this.title = '编辑员工信息'
|
|
|
+ this.title = this.$t('employee.editEmployeeInfo')
|
|
|
})
|
|
|
},
|
|
|
// 删除按钮操作
|
|
|
handleDelete(row) {
|
|
|
const name = row.realName || this.id
|
|
|
this.$modal
|
|
|
- .confirm('是否确认删除"' + name + '"的数据项?')
|
|
|
- .then(function () {
|
|
|
+ .confirm(this.$t('employee.confirmDelete', { name }))
|
|
|
+ .then(() => {
|
|
|
return deleteStaff(row.id)
|
|
|
})
|
|
|
.then(() => {
|
|
|
this.getList()
|
|
|
- this.$modal.msgSuccess('删除成功')
|
|
|
+ this.$modal.msgSuccess(this.$t('employee.deleteSuccess'))
|
|
|
})
|
|
|
.catch(() => {})
|
|
|
}
|