You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.2 KiB
110 lines
3.2 KiB
<template>
|
|
<div class="app-container">
|
|
<!--工具栏-->
|
|
<div class="head-container">
|
|
<eHeader :dict="dict" :permission="permission" />
|
|
<crudOperation :permission="permission" />
|
|
</div>
|
|
<!--表格渲染-->
|
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
|
<el-table-column type="selection" width="55" />
|
|
<el-table-column prop="name" label="名称" />
|
|
<el-table-column prop="jobSort" label="排序">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.jobSort }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="status" label="状态" align="center">
|
|
<template slot-scope="scope">
|
|
<el-switch
|
|
v-model="scope.row.enabled"
|
|
active-color="#409EFF"
|
|
inactive-color="#F56C6C"
|
|
@change="changeEnabled(scope.row, scope.row.enabled)"
|
|
/>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="createTime" label="创建日期" />
|
|
<!-- 编辑与删除 -->
|
|
<el-table-column
|
|
v-if="checkPer(['admin','job:edit','job:del'])"
|
|
label="操作"
|
|
width="130px"
|
|
align="center"
|
|
fixed="right"
|
|
>
|
|
<template slot-scope="scope">
|
|
<udOperation
|
|
:data="scope.row"
|
|
:permission="permission"
|
|
/>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<!--分页组件-->
|
|
<pagination />
|
|
<!--表单渲染-->
|
|
<eForm :job-status="dict.job_status" />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import crudJob from '@/api/system/job'
|
|
import eHeader from './module/header'
|
|
import eForm from './module/form'
|
|
import CRUD, { presenter } from '@crud/crud'
|
|
import crudOperation from '@crud/CRUD.operation'
|
|
import pagination from '@crud/Pagination'
|
|
import udOperation from '@crud/UD.operation'
|
|
export default {
|
|
name: 'Job',
|
|
components: { eHeader, eForm, crudOperation, pagination, udOperation },
|
|
cruds() {
|
|
return CRUD({
|
|
title: '岗位',
|
|
url: 'api/job',
|
|
sort: ['jobSort,asc', 'id,desc'],
|
|
crudMethod: { ...crudJob }
|
|
})
|
|
},
|
|
mixins: [presenter()],
|
|
// 数据字典
|
|
dicts: ['job_status'],
|
|
data() {
|
|
return {
|
|
permission: {
|
|
add: ['admin', 'job:add'],
|
|
edit: ['admin', 'job:edit'],
|
|
del: ['admin', 'job:del']
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
// 改变状态
|
|
changeEnabled(data, val) {
|
|
this.$confirm('此操作将 "' + this.dict.label.job_status[val] + '" ' + data.name + '岗位, 是否继续?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
// eslint-disable-next-line no-undef
|
|
crudJob.edit(data).then(() => {
|
|
// eslint-disable-next-line no-undef
|
|
this.crud.notify(this.dict.label.job_status[val] + '成功', 'success')
|
|
}).catch(err => {
|
|
data.enabled = !data.enabled
|
|
console.log(err.data.message)
|
|
})
|
|
}).catch(() => {
|
|
data.enabled = !data.enabled
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
|
::v-deep .el-input-number .el-input__inner {
|
|
text-align: left;
|
|
}
|
|
</style>
|