Commit 87e44d35 by yubin
parents 3cd537bb 236f2549
...@@ -8,6 +8,14 @@ export const getPermissionConfigList = () => { ...@@ -8,6 +8,14 @@ export const getPermissionConfigList = () => {
}) })
} }
export const getUserDmPermissionList = (param) => {
return axios.request({
url: '/api/ac/jilinsscgsdp/keyDmUserCategory/selectUserDmPermissionList',
method: 'post',
data: param
})
}
export const savePermissionUsers = (param) => { export const savePermissionUsers = (param) => {
return axios.request({ return axios.request({
url: '/api/ac/jilinsscgsdp/keyDmUserCategory/savePermissionUsers', url: '/api/ac/jilinsscgsdp/keyDmUserCategory/savePermissionUsers',
......
...@@ -378,7 +378,8 @@ import { ...@@ -378,7 +378,8 @@ import {
deleteMaterial, deleteMaterial,
importMaterial, importMaterial,
getPermissionConfigList, getPermissionConfigList,
savePermissionUsers savePermissionUsers,
getUserDmPermissionList
} from '@/api/key-dm' } from '@/api/key-dm'
import axios from 'axios' import axios from 'axios'
import UserMultiSelector from '@/view/key-person/key_dm_user/userMultiSelector.vue' import UserMultiSelector from '@/view/key-person/key_dm_user/userMultiSelector.vue'
...@@ -526,15 +527,38 @@ export default { ...@@ -526,15 +527,38 @@ export default {
{ title: '权限名称', key: 'permission_name', align: 'center', minWidth: 150 }, { title: '权限名称', key: 'permission_name', align: 'center', minWidth: 150 },
{ title: '配置人员', key: 'user_names', align: 'center', minWidth: 300 }, { title: '配置人员', key: 'user_names', align: 'center', minWidth: 300 },
{ title: '操作', slot: 'action', align: 'center', width: 120, fixed: 'right' } { title: '操作', slot: 'action', align: 'center', width: 120, fixed: 'right' }
] ],
power: {
leave_approval: false, // 请假审核
leave_view: false, // 请假查询(统计)
supply_approval: false, // 用品申领审核
supply_view: false // 用品查询(统计)
}
} }
}, },
created () { created () {
this.loadMaterialCategoryOptions() this.loadMaterialCategoryOptions()
this.loadPermissionConfig() this.loadPermissionConfig()
this.fetchList(this.activeTab) this.fetchList(this.activeTab)
this.getUserDmPermission()
}, },
methods: { methods: {
getUserDmPermission () {
getUserDmPermissionList({}).then(ret => {
console.log('ret', ret)
if (ret.data && ret.data.errcode === 0) {
const data = ret.data.data || []
for (let i = 0; i < data.length; i++) {
var ele = data[i]
if (this.power.hasOwnProperty(ele.code)) {
this.power[ele.code] = true
}
}
} else {
this.$Notice.error({ title: '查询失败', desc: ret.data.errmsg || '请稍后重试' })
}
})
},
handleTabChange (name) { handleTabChange (name) {
this.activeTab = name this.activeTab = name
if (name === 'permissionConfig') { if (name === 'permissionConfig') {
......
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
</div> </div>
<Table :data="tables.workload" :loading="loading.workload" :columns="workloadColumns" border> <Table :data="tables.workload" :loading="loading.workload" :columns="workloadColumns" border>
<template slot="action" slot-scope="{ row }"> <template slot="action" slot-scope="{ row }">
<Button size="small" @click="openWorkloadDetail(row,'leave')">请假明细</Button> <Button size="small" class="mr10" @click="openWorkloadDetail(row,'leave')">请假明细</Button>
<Button size="small" class="ml5" @click="openWorkloadDetail(row,'inventory')">用品明细</Button> <Button size="small" @click="openWorkloadDetail(row,'inventory')">申领明细</Button>
</template> </template>
</Table> </Table>
</TabPane> </TabPane>
...@@ -85,10 +85,10 @@ export default { ...@@ -85,10 +85,10 @@ export default {
{ title: '人员', key: 'user_name', align: 'center' }, { title: '人员', key: 'user_name', align: 'center' },
{ title: '请假申请次数', key: 'leave_applications', align: 'center' }, { title: '请假申请次数', key: 'leave_applications', align: 'center' },
{ title: '请假审批次数', key: 'leave_approvals', align: 'center' }, { title: '请假审批次数', key: 'leave_approvals', align: 'center' },
{ title: '用品申次数', key: 'borrow_applications', align: 'center' }, { title: '用品申次数', key: 'borrow_applications', align: 'center' },
{ title: '入库次数', key: 'inbound_count', align: 'center' }, { title: '入库次数', key: 'inbound_count', align: 'center' },
{ title: '请假时长(天)', key: 'leave_duration', align: 'center' }, { title: '请假时长(天)', key: 'leave_duration', align: 'center' },
{ title: '操作', slot: 'action', width: 160, align: 'center' } { title: '操作', slot: 'action', width: 200, align: 'center' }
], ],
detailModal: { detailModal: {
visible: false, visible: false,
...@@ -153,18 +153,83 @@ export default { ...@@ -153,18 +153,83 @@ export default {
if (type === 'leave') { if (type === 'leave') {
this.detailModal.columns = [ this.detailModal.columns = [
{ title: '人员', key: 'user_name', align: 'center' }, { title: '人员', key: 'user_name', align: 'center' },
{ title: '开始', key: 'start_time', align: 'center' }, { title: '开始', key: 'start_time', align: 'center', render: (h, params) => {
{ title: '结束', key: 'end_time', align: 'center' }, const time = params.row.start_time
{ title: '时长', key: 'duration', align: 'center' } if (time) {
const date = new Date(time)
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
return h('span', `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`)
}
return h('span', '-')
}},
{ title: '结束', key: 'end_time', align: 'center', render: (h, params) => {
const time = params.row.end_time
if (time) {
const date = new Date(time)
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
return h('span', `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`)
}
return h('span', '-')
}},
{ title: '时长', key: 'duration', align: 'center' },
{ title: '状态', key: 'status', align: 'center', render: (h, params) => {
const status = params.row.status
let statusText = ''
switch (status) {
case 0: statusText = '未提交'; break
case 1: statusText = '审核中'; break
case 9: statusText = '审核通过'; break
case -1: statusText = '驳回'; break
default: statusText = status
}
return h('span', statusText)
}}
] ]
getWorkloadDetails({ user_id: row.user_id, start: st, end: et, type: 'leave' }).then(ret => { getWorkloadDetails({ user_id: row.user_id, start: st, end: et, type: 'leave' }).then(ret => {
if (ret.data && ret.data.errcode === 0) { this.detailModal.rows = ret.data.data || []; this.detailModal.visible = true } else this.$Notice.error({ title: '查询失败', desc: ret.data && ret.data.errmsg }) if (ret.data && ret.data.errcode === 0) { this.detailModal.rows = ret.data.data || []; this.detailModal.visible = true } else this.$Notice.error({ title: '查询失败', desc: ret.data && ret.data.errmsg })
}) })
} else { } else {
this.detailModal.columns = [ this.detailModal.columns = [
{ title: '申请单号', key: 'application_no', align: 'center' }, { title: '申请时间', key: 'submit_time', align: 'center', render: (h, params) => {
const time = params.row.submit_time
if (time) {
const date = new Date(time)
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
return h('span', `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`)
}
return h('span', '-')
}},
{ title: '物料', key: 'material_name', align: 'center' }, { title: '物料', key: 'material_name', align: 'center' },
{ title: '数量', key: 'apply_quantity', align: 'center' } { title: '申请数量', key: 'apply_quantity', align: 'center' },
{ title: '归还数量', key: 'returned_quantity', align: 'center' },
{ title: '状态', key: 'approval_status', align: 'center', render: (h, params) => {
const status = params.row.approval_status
let statusText = ''
switch (status) {
case 0: statusText = '待提交'; break
case 1: statusText = '审核中'; break
case 9: statusText = '审核通过'; break
case -1: statusText = '驳回'; break
default: statusText = status
}
return h('span', statusText)
}}
] ]
getWorkloadDetails({ user_id: row.user_id, start: st, end: et, type: 'inventory' }).then(ret => { getWorkloadDetails({ user_id: row.user_id, start: st, end: et, type: 'inventory' }).then(ret => {
if (ret.data && ret.data.errcode === 0) { this.detailModal.rows = ret.data.data || []; this.detailModal.visible = true } else this.$Notice.error({ title: '查询失败', desc: ret.data && ret.data.errmsg }) if (ret.data && ret.data.errcode === 0) { this.detailModal.rows = ret.data.data || []; this.detailModal.visible = true } else this.$Notice.error({ title: '查询失败', desc: ret.data && ret.data.errmsg })
...@@ -183,4 +248,13 @@ export default { ...@@ -183,4 +248,13 @@ export default {
.text-right { text-align: right; } .text-right { text-align: right; }
.page_style { margin-top: 12px; text-align: right; } .page_style { margin-top: 12px; text-align: right; }
.mt8 { margin-top: 8px; } .mt8 { margin-top: 8px; }
.mr5 {
margin-right: 5px;
}
.mr10 {
margin-right: 10px;
}
.ml5 {
margin-left: 5px;
}
</style> </style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论