<template>
|
<a-card
|
title="操作证申请"
|
:bordered="false"
|
>
|
<!-- 查询区域 -->
|
<div class="table-page-search-wrapper">
|
<a-form
|
layout="inline"
|
@keyup.enter.native="searchQuery"
|
>
|
<a-row :gutter="24">
|
<a-col
|
:xl="6"
|
:lg="7"
|
:md="8"
|
:sm="24"
|
>
|
<a-form-item label="申请单编号">
|
<a-input
|
placeholder="请输入申请单编号"
|
v-model="queryParam.num"
|
></a-input>
|
</a-form-item>
|
</a-col>
|
<a-col
|
:xl="6"
|
:lg="7"
|
:md="8"
|
:sm="24"
|
>
|
<a-form-item label="类型">
|
<j-dict-select-tag
|
placeholder="请选择类型"
|
v-model="queryParam.type"
|
dictCode="apply_type"
|
/>
|
</a-form-item>
|
</a-col>
|
<!-- <template v-if="toggleSearchStatus"> -->
|
<a-col
|
:xl="6"
|
:lg="7"
|
:md="8"
|
:sm="24"
|
>
|
<a-form-item label="审核状态">
|
<j-dict-select-tag
|
placeholder="请选择审核状态"
|
v-model="queryParam.auditStatus"
|
dictCode="certificate_apply_status"
|
/>
|
</a-form-item>
|
</a-col>
|
<!-- </template> -->
|
<a-col
|
:xl="6"
|
:lg="7"
|
:md="8"
|
:sm="24"
|
>
|
<span
|
style="float: left;overflow: hidden;"
|
class="table-page-search-submitButtons"
|
>
|
<a-button
|
type="primary"
|
@click="searchQuery"
|
icon="search"
|
>查询</a-button>
|
<a-button
|
type="primary"
|
@click="searchReset"
|
icon="reload"
|
style="margin-left: 8px"
|
>重置</a-button>
|
<!-- <a
|
@click="handleToggleSearch"
|
style="margin-left: 8px"
|
>
|
{{ toggleSearchStatus ? '收起' : '展开' }}
|
<a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
|
</a> -->
|
</span>
|
</a-col>
|
</a-row>
|
</a-form>
|
</div>
|
<!-- 查询区域-END -->
|
|
<!-- 操作按钮区域 -->
|
<div class="table-operator">
|
<a-button
|
@click="handleAdd"
|
type="primary"
|
icon="plus"
|
>申请</a-button>
|
<a-button
|
type="primary"
|
icon="download"
|
@click="handleExportXls('操作证申请表')"
|
>导出</a-button>
|
<!-- <a-upload
|
name="file"
|
:showUploadList="false"
|
:multiple="false"
|
:headers="tokenHeader"
|
:action="importExcelUrl"
|
@change="handleImportExcel"
|
>
|
<a-button
|
type="primary"
|
icon="import"
|
>导入</a-button>
|
</a-upload> -->
|
<a-button
|
@click="handleAchievement"
|
type="primary"
|
icon="plus"
|
v-if="selectedRowKeys.length == 1 && selectionRows[0].auditStatus == 'audited'"
|
>成绩录入</a-button>
|
<!-- 高级查询区域 -->
|
<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
|
<a-dropdown v-if="selectedRowKeys.length > 0">
|
<a-menu slot="overlay">
|
<a-menu-item
|
key="1"
|
@click="batchDel"
|
><a-icon type="delete" />删除</a-menu-item>
|
</a-menu>
|
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
|
</a-dropdown>
|
</div>
|
|
<!-- table区域-begin -->
|
<div>
|
<div
|
class="ant-alert ant-alert-info"
|
style="margin-bottom: 16px;"
|
>
|
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
<a
|
style="margin-left: 24px"
|
@click="onClearSelected"
|
>清空</a>
|
</div>
|
|
<a-table
|
ref="table"
|
size="middle"
|
bordered
|
rowKey="id"
|
class="j-table-force-nowrap"
|
:scroll="{x:true}"
|
:columns="columns"
|
:dataSource="dataSource"
|
:pagination="ipagination"
|
:loading="loading"
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
@change="handleTableChange"
|
>
|
<span
|
slot="action"
|
slot-scope="text, record"
|
>
|
|
<a-popconfirm
|
v-if="record.auditStatus == 'created'"
|
title="确认提交吗?"
|
@confirm="() =>handleCommit(record, 'commit')"
|
>
|
<a>提交</a>
|
</a-popconfirm>
|
<a-popconfirm
|
v-if="record.auditStatus == 'submitted'"
|
title="确认撤回吗?"
|
@confirm="() =>handleCommit(record, 'back')"
|
>
|
<a>撤回</a>
|
</a-popconfirm>
|
<!-- <a-popconfirm
|
v-if="record.auditStatus == 'submitted' || record.auditStatus == 'approved'"
|
title="确认驳回吗?"
|
@confirm="() =>handleCommit(record, 'back')"
|
>
|
<a>驳回</a>
|
</a-popconfirm> -->
|
<a-divider
|
v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted'"
|
type="vertical"
|
/>
|
<a
|
@click="handleEdit(record)"
|
v-if="record.auditStatus == 'created'"
|
>编辑</a>
|
<a-divider
|
v-if="record.auditStatus == 'created'"
|
type="vertical"
|
/>
|
<a
|
v-show="record.auditStatus == 'submitted'"
|
@click="handleFinish(record)"
|
v-has="'OperationCertificateApply:operationCertificateAudit'"
|
>审核</a>
|
<a
|
v-show="record.auditStatus == 'approved'"
|
@click="handleFinish(record)"
|
v-has="'OperationCertificateApply:equipmentAdmin'"
|
>审核</a>
|
<a-divider
|
type="vertical"
|
v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted' || record.auditStatus == 'approved'"
|
/>
|
<a-dropdown>
|
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
|
<a-menu slot="overlay">
|
<a-menu-item>
|
<a @click="handleDetail(record)">详情</a>
|
</a-menu-item>
|
<a-menu-item>
|
<a-popconfirm
|
title="确定删除吗?"
|
@confirm="() => handleDelete(record.id)"
|
v-if="record.auditStatus == 'created'"
|
>
|
<a>删除</a>
|
</a-popconfirm>
|
</a-menu-item>
|
</a-menu>
|
</a-dropdown>
|
</span>
|
|
</a-table>
|
</div>
|
<a-tabs defaultActiveKey='1'>
|
<a-tab-pane
|
tab='操作证申请明细'
|
key='1'
|
>
|
<div
|
class='table-operator'
|
style='margin:-20px'
|
>
|
<operation-certificate-apply-detail-list :mainId='operationCretificateApplyId' />
|
</div>
|
|
</a-tab-pane>
|
</a-tabs>
|
|
<operation-certificate-apply-modal
|
ref="modalForm"
|
@ok="modalFormOk"
|
/>
|
<operation-certificate-apply-audit
|
ref="modalFormAudit"
|
@ok="modalFormOk"
|
/>
|
</a-card>
|
</template>
|
|
<script>
|
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
import OperationCertificateApplyModal from './modules/operationCertificateApply/OperationCertificateApplyModal'
|
import OperationCertificateApplyAudit from './modules/operationCertificateApply/OperationCertificateApplyAudit'
|
import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
|
import { getAction, postAction } from '@/api/manage'
|
import OperationCertificateApplyDetailList from './modules/operationCertificateApply/OperationCertificateApplyDetailList'
|
import '@/assets/less/TableExpand.less'
|
|
export default {
|
name: "OperationCertificateApplyList",
|
mixins: [JeecgListMixin],
|
components: {
|
OperationCertificateApplyModal,
|
OperationCertificateApplyDetailList,
|
OperationCertificateApplyAudit
|
},
|
data() {
|
return {
|
description: '操作证申请表管理页面',
|
operationCretificateApplyId: '',
|
selectedMainId: '',
|
// 表头
|
columns: [
|
{
|
title: '#',
|
dataIndex: '',
|
key: 'rowIndex',
|
width: 60,
|
align: "center",
|
customRender: function (t, r, index) {
|
return parseInt(index) + 1;
|
}
|
},
|
{
|
title: '申请单编号',
|
align: "center",
|
dataIndex: 'num'
|
},
|
{
|
title: '类型',
|
align: "center",
|
dataIndex: 'type_dictText'
|
},
|
{
|
title: '所在单位',
|
align: "center",
|
dataIndex: 'departId_dictText'
|
},
|
{
|
title: '申请单位联系电话',
|
align: "center",
|
dataIndex: 'contactNumber'
|
},
|
{
|
title: '申请人',
|
align: "center",
|
dataIndex: 'applicant_dictText'
|
},
|
{
|
title: '审核状态',
|
align: "center",
|
dataIndex: 'auditStatus_dictText'
|
},
|
{
|
title: '办理人',
|
align: "center",
|
dataIndex: 'handlePerson_dictText'
|
},
|
{
|
title: '办理时间',
|
align: "center",
|
dataIndex: 'createTime'
|
},
|
{
|
title: '操作',
|
dataIndex: 'action',
|
align: "center",
|
fixed: "right",
|
width: 147,
|
scopedSlots: { customRender: 'action' },
|
}
|
],
|
url: {
|
list: "/eam/operationCertificateApply/list",
|
delete: "/eam/operationCertificateApply/delete",
|
deleteBatch: "/eam/operationCertificateApply/deleteBatch",
|
exportXlsUrl: "/eam/operationCertificateApply/exportXls",
|
importExcelUrl: "eam/operationCertificateApply/importExcel",
|
approve: "/eam/operationCertificateApply/approve"
|
},
|
dictOptions: {},
|
// superFieldList: [],
|
}
|
},
|
created() {
|
// this.getSuperFieldList();
|
},
|
computed: {
|
importExcelUrl: function () {
|
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
}
|
},
|
methods: {
|
// initDictConfig() {
|
// },
|
// getSuperFieldList() {
|
// let fieldList = [];
|
// fieldList.push({ type: 'string', value: 'num', text: '申请单编号', dictCode: '' })
|
// fieldList.push({ type: 'string', value: 'type', text: '类型', dictCode: 'apply_type' })
|
// fieldList.push({ type: 'sel_depart', value: 'departId', text: '所在单位' })
|
// fieldList.push({ type: 'string', value: 'contactNumber', text: '申请单位联系电话', dictCode: '' })
|
// fieldList.push({ type: 'string', value: 'applicant', text: '申请人', dictCode: "sys_user,realname,id" })
|
// fieldList.push({ type: 'string', value: 'auditStatus', text: '审核状态', dictCode: 'certificate_apply_status' })
|
// fieldList.push({ type: 'string', value: 'remark', text: '备注', dictCode: '' })
|
// this.superFieldList = fieldList
|
// },
|
handleCommit(record, type) {
|
if (type == 'commit') {
|
record.auditStatus = 'submitted'
|
} else if (type == 'back') {
|
record.auditStatus = 'created'
|
} else if (type == 'approved') {
|
record.auditStatus = 'approved'
|
} else if (type == 'audited') {
|
record.auditStatus = 'audited'
|
}
|
|
postAction(this.url.approve, record).then(res => {
|
if (res.success) {
|
this.$message.success("操作成功!");
|
this.loadData(1);
|
} else {
|
this.$message.warning(res.message);
|
}
|
})
|
},
|
handleEdit: function (record) {
|
this.$refs.modalForm.edit(record);
|
this.$refs.modalForm.title = "编辑";
|
this.$refs.modalForm.disableSubmit = false;
|
},
|
handleAdd: function () {
|
this.$refs.modalForm.add();
|
this.$refs.modalForm.title = "新增";
|
this.$refs.modalForm.disableSubmit = false;
|
},
|
handleAchievement() {
|
this.$refs.modalForm.edit(this.selectionRows[0]);
|
this.$refs.modalForm.title = "成绩录入";
|
this.$refs.modalForm.disableSubmit = false;
|
this.$refs.modalForm.isAchievement = true;
|
},
|
handleFinish: function (record) {
|
this.$refs.modalFormAudit.edit(record);
|
this.$refs.modalFormAudit.title = "操作证申请审核";
|
this.$refs.modalFormAudit.disableSubmit = true;
|
},
|
onSelectChange(selectedRowKeys, selectionRows) {
|
if (selectedRowKeys.length == 1) {
|
|
this.operationCretificateApplyId = selectionRows[0]['id']
|
} else {
|
|
this.operationCretificateApplyId = ''
|
}
|
this.selectedMainId = selectedRowKeys[0]
|
this.selectedRowKeys = selectedRowKeys
|
this.selectionRows = selectionRows
|
},
|
searchReset() {
|
this.operationCretificateApplyId = ''
|
this.queryParam = {}
|
this.loadData(1)
|
},
|
onClearSelected() {
|
this.selectedRowKeys = []
|
this.selectionRows = []
|
this.selectedMainId = ''
|
this.operationCretificateApplyId = ''
|
}
|
}
|
}
|
</script>
|
<style scoped>
|
@import '~@assets/less/common.less';
|
</style>
|