Commit e5b5fb79 by zhangtw

审核默认领导或第一个

parent 64b56af8
......@@ -194,6 +194,37 @@
</div>
<div slot="footer"><Button type="primary" @click="detailModal.visible=false">关闭</Button></div>
</Modal>
<Modal v-model="approverModal.visible" title="选择审批人" width="500">
<Form :model="approverModal.form" :label-width="80">
<FormItem label="审批人:" required>
<Select
v-model="approverModal.form.approver_id"
placeholder="请选择审批人"
class="form-input"
filterable
>
<Option
v-for="item in approverModal.approverList"
:key="item.id"
:value="item.id"
>
{{ item.name }} {{ item.leader === 1 ? '-leader' : '' }}
</Option>
</Select>
</FormItem>
</Form>
<div slot="footer">
<Button @click="approverModal.visible=false">取消</Button>
<Button
type="primary"
:loading="approverModal.submitting"
@click="confirmSubmitWithApprover"
:disabled="!approverModal.form.approver_id"
>
确认提交
</Button>
</div>
</Modal>
</div>
</template>
......@@ -209,12 +240,20 @@ import {
getBorrowById
} from '@/api/key-dm-inventory'
import MaterialSelector from '@/view/key-person/key_dm_conf/materialSelector.vue'
import { getSupplyApproval } from '@/api/key-dm-user-permission'
export default {
name: 'key-dm-inventory-index',
components: { MaterialSelector },
data () {
return {
approverModal: {
visible: false,
submitting: false,
form: { approver_id: '' }, // 选中的审批人ID
approverList: [], // 审批人列表
currentBorrowId: '' // 暂存当前提交的申请ID
},
// 申请弹窗中的可编辑行状态
editingRowIndex: -1,
editingCellField: '',
......@@ -428,8 +467,29 @@ export default {
detailModal: { visible: false, loading: false, data: {}, details: [], logs: [] }
}
},
created () { this.fetchList('apply') },
created () {
this.fetchList('apply')
this.fetchApproverList()
},
methods: {
// 新增:获取审批人列表
async fetchApproverList () {
await getSupplyApproval().then(ret => {
if (ret.data && ret.data.errcode === 0) {
this.approverModal.approverList = ret.data.data || []
const leaderItem = this.approverModal.approverList.find(
(item) => item.leader === 1
)
if (leaderItem) {
this.approverModal.form.approver_id = leaderItem.id
} else {
this.approverModal.form.approver_id = this.approverModal.approverList[0].id
}
} else {
this.$Notice.error({ title: '获取审批人失败', desc: ret.data && ret.data.errmsg })
}
})
},
// 获取当天日期,格式为 yyyy-MM-dd
getTodayDate () {
const today = new Date()
......@@ -616,11 +676,40 @@ export default {
canSubmit (row) { return row.approval_status === 0 || row.approval_status === -1 },
canRevoke (row) { return row.approval_status === 1 },
submit (row) {
this.$Modal.confirm({ title: '确认提交',
content: '提交后进入审批流程,是否继续?',
onOk: () => {
submitBorrow({ id: row.id }).then(ret => { if (ret.data && ret.data.errcode === 0) { this.$Message.success('提交成功'); this.fetchList('apply') } else this.$Notice.error({ title: '提交失败', desc: ret.data && ret.data.errmsg }) })
} })
// 暂存当前申请ID
this.approverModal.currentBorrowId = row.id
// 清空上次选择的审批人
this.approverModal.form.approver_id = ''
// 获取审批人列表
this.fetchApproverList()
// 打开审批人选择弹窗
this.approverModal.visible = true
},
// 新增:确认选择审批人后提交
confirmSubmitWithApprover () {
const approverId = this.approverModal.form.approver_id
if (!approverId) {
this.$Message.warning('请选择审批人')
return
}
this.approverModal.submitting = true
// 调用提交接口,携带审批人ID(需后端接口支持)
submitBorrow({
id: this.approverModal.currentBorrowId,
approver_id: approverId, // 新增审批人参数
approver_name: this.approverModal.form.approver_name
}).then(ret => {
if (ret.data && ret.data.errcode === 0) {
this.$Message.success('提交成功')
this.approverModal.visible = false
this.fetchList('apply')
} else {
this.$Notice.error({ title: '提交失败', desc: ret.data && ret.data.errmsg })
}
}).finally(() => {
this.approverModal.submitting = false
})
},
revoke (row) { revokeBorrow({ id: row.id }).then(ret => { if (ret.data && ret.data.errcode === 0) { this.$Message.success('撤回成功'); this.fetchList('apply') } else this.$Notice.error({ title: '撤回失败', desc: ret.data && ret.data.errmsg }) }) },
......
......@@ -21,7 +21,7 @@
<Button class="mr10" @click="handleReset('apply')">重置</Button>
<Button type="success" @click="openApplyModal">申请</Button>
</Col>
</Row>
</Row>
</div>
<Table border :loading="loading.apply" :columns="applyColumns" :data="tables.apply">
<template slot="action" slot-scope="{ row }">
......@@ -366,7 +366,7 @@ export default {
const text = (s === 1 || String(s) === '1') ? '处理中' : ((s === 2 || String(s) === '2') ? '已处理' : ((s === 0 || String(s) === '0') ? '未处理' : '-'))
return h('span', text)
}
},
}
],
applyModal: { visible: false, isEdit: false, saving: false, form: {} },
approveModal: { visible: false, record: {}, comment: '', submitting: false, transferEnabled: false, transferApprover: '', approvalFlow: [] },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论