| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <a-card |
| | | title="操作证申请" |
| | | :bordered="false" |
| | | > |
| | | <!-- 查询区域 --> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-form |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <a-row :gutter="24"> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="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-input |
| | | placeholder="请输入申请单编号" |
| | | v-model="queryParam.num" |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <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"/> |
| | | <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-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"/> |
| | | <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"> |
| | | <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-icon :type="toggleSearchStatus ? 'up' : 'down'" /> |
| | | </a> |
| | | </span> |
| | | </a-col> |
| | |
| | | |
| | | <!-- 操作按钮区域 --> |
| | | <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-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> |
| | | <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>--> |
| | | <!-- <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-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> |
| | |
| | | |
| | | <!-- table区域-begin --> |
| | | <div> |
| | | <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> |
| | | <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> |
| | | <a |
| | | style="margin-left: 24px" |
| | | @click="onClearSelected" |
| | | >清空</a> |
| | | </div> |
| | | |
| | | <a-table |
| | |
| | | :pagination="ipagination" |
| | | :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
| | | @change="handleTableChange"> |
| | | @change="handleTableChange" |
| | | > |
| | | |
| | | <template slot="htmlSlot" slot-scope="text"> |
| | | <template |
| | | slot="htmlSlot" |
| | | slot-scope="text" |
| | | > |
| | | <div v-html="text"></div> |
| | | </template> |
| | | <template slot="imgSlot" slot-scope="text,record"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span> |
| | | <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/> |
| | | <template |
| | | slot="imgSlot" |
| | | slot-scope="text,record" |
| | | > |
| | | <span |
| | | v-if="!text" |
| | | style="font-size: 12px;font-style: italic;" |
| | | >无图片</span> |
| | | <img |
| | | v-else |
| | | :src="getImgView(text)" |
| | | :preview="record.id" |
| | | height="25px" |
| | | alt="" |
| | | style="max-width:80px;font-size: 12px;font-style: italic;" |
| | | /> |
| | | </template> |
| | | <template slot="fileSlot" slot-scope="text"> |
| | | <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span> |
| | | <template |
| | | slot="fileSlot" |
| | | slot-scope="text" |
| | | > |
| | | <span |
| | | v-if="!text" |
| | | style="font-size: 12px;font-style: italic;" |
| | | >无文件</span> |
| | | <a-button |
| | | v-else |
| | | :ghost="true" |
| | | type="primary" |
| | | icon="download" |
| | | size="small" |
| | | @click="downloadFile(text)"> |
| | | @click="downloadFile(text)" |
| | | > |
| | | 下载 |
| | | </a-button> |
| | | </template> |
| | | |
| | | <span slot="action" slot-scope="text, record"> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | |
| | | <a-popconfirm |
| | | v-if="record.auditStatus == 'created'" |
| | |
| | | v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted'" |
| | | type="vertical" |
| | | /> |
| | | <a @click="handleEdit(record)" v-if="record.auditStatus == 'created'">编辑</a> |
| | | <a |
| | | @click="handleEdit(record)" |
| | | v-if="record.auditStatus == 'created'" |
| | | >编辑</a> |
| | | <a-divider |
| | | v-if="record.auditStatus == 'created'" |
| | | type="vertical" |
| | |
| | | > |
| | | <a>审核</a> |
| | | </a-popconfirm> --> |
| | | <a-divider type="vertical" v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted' || record.auditStatus == 'approved'"/> |
| | | <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 @click="handleDetail(record)">详情</a> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)" v-if="record.auditStatus == 'created'"> |
| | | <a-popconfirm |
| | | title="确定删除吗?" |
| | | @confirm="() => handleDelete(record.id)" |
| | | v-if="record.auditStatus == 'created'" |
| | | > |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | |
| | | </a-table> |
| | | </div> |
| | | <a-tabs defaultActiveKey='1'> |
| | | <a-tab-pane tab='操作证申请明细' key='1'> |
| | | <a-tab-pane |
| | | tab='操作证申请明细' |
| | | key='1' |
| | | > |
| | | <div |
| | | class='table-operator' |
| | | style='margin:-20px'> |
| | | 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" /> |
| | | <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' |
| | | 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: 'remark' |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'action', |
| | | align:"center", |
| | | fixed:"right", |
| | | width:147, |
| | | scopedSlots: { customRender: 'action' }, |
| | | 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; |
| | | } |
| | | ], |
| | | 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' |
| | | { |
| | | 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: 'remark' |
| | | }, |
| | | { |
| | | 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("操作成功!"); |
| | |
| | | } |
| | | }) |
| | | }, |
| | | handleEdit: function (record) { |
| | | handleEdit: function (record) { |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title = "编辑"; |
| | | this.$refs.modalForm.disableSubmit = false; |
| | |
| | | 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) { |
| | | 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) { |
| | | onSelectChange(selectedRowKeys, selectionRows) { |
| | | if (selectedRowKeys.length == 1) { |
| | | |
| | | this.operationCretificateApplyId = selectionRows[0]['id'] |
| | |
| | | this.selectedMainId = '' |
| | | this.operationCretificateApplyId = '' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | @import '~@assets/less/common.less'; |
| | | </style> |