From 619882ff1100ed4168b9fa9a60cf22dd674a0865 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 11 Feb 2026 16:04:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E6=9E=84=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/orgapplyinfo/OrgApplyInfo.api.ts | 7 + .../admin/orgapplyinfo/OrgApplyInfo.data.ts | 69 +++- .../admin/orgapplyinfo/OrgInfoAuditList.vue | 24 +- .../admin/orgapplyinfo/OrgModifyInfo.api.ts | 27 +- .../components/OrgApplyInfoForm.vue | 8 +- .../components/OrgApplyInfoModal.vue | 37 +- .../components/OrgAuditHisList.vue | 388 ++++++++++++++++++ .../components/OrgHistoryForm.vue | 19 +- .../components/OrgUpContractForm.vue | 10 +- 9 files changed, 535 insertions(+), 54 deletions(-) create mode 100644 src/views/admin/orgapplyinfo/components/OrgAuditHisList.vue diff --git a/src/views/admin/orgapplyinfo/OrgApplyInfo.api.ts b/src/views/admin/orgapplyinfo/OrgApplyInfo.api.ts index 3d43e8c..75d7cf7 100644 --- a/src/views/admin/orgapplyinfo/OrgApplyInfo.api.ts +++ b/src/views/admin/orgapplyinfo/OrgApplyInfo.api.ts @@ -5,8 +5,10 @@ const { createConfirm } = useMessage(); enum Api { list = '/admin/orgapplyinfo/orgApplyInfo/list', + hisList = '/admin/orgapplyinfo/orgApplyInfo/hisList', save='/admin/orgapplyinfo/orgApplyInfo/add', edit='/admin/orgapplyinfo/orgApplyInfo/edit', + applyAudit='/admin/orgapplyinfo/orgApplyInfo/applyAudit', editCg='/admin/orgapplyinfo/orgApplyInfo/editCg', submitContract='/admin/orgapplyinfo/orgApplyInfo/submitContract', deleteOne = '/admin/orgapplyinfo/orgApplyInfo/delete', @@ -33,6 +35,8 @@ export const getImportUrl = Api.importExcel; */ export const list = (params) => defHttp.get({ url: Api.list, params }); +export const hisList = (params) => defHttp.get({ url: Api.hisList, params }); + /** * 获取机构详细信息(包含sys_depart信息) * @param params orgCode部门编码 不传查所有 @@ -81,6 +85,9 @@ export const saveOrUpdate = (params, isUpdate) => { return defHttp.post({ url: url, params }, { isTransformResponse: false }); } +export const applyAudit = (params) => { + return defHttp.post({ url: Api.applyAudit, params }, { isTransformResponse: false }); +} export const editCg = (params, isUpdate) => { return defHttp.post({ url: Api.editCg, params }, { isTransformResponse: false }); diff --git a/src/views/admin/orgapplyinfo/OrgApplyInfo.data.ts b/src/views/admin/orgapplyinfo/OrgApplyInfo.data.ts index 24dc071..37f5ac2 100644 --- a/src/views/admin/orgapplyinfo/OrgApplyInfo.data.ts +++ b/src/views/admin/orgapplyinfo/OrgApplyInfo.data.ts @@ -14,49 +14,100 @@ export const columns: BasicColumn[] = [ title: '机构负责人', align: 'center', dataIndex: 'orgLeader', - width: '8%' + width: '8%', }, { title: '负责人电话', align: 'center', dataIndex: 'orgLeaderPhone', - width: '8%' + width: '8%', }, { title: '申请日期', align: 'center', dataIndex: 'createTime', - width: '8%' + width: '8%', }, { title: '房屋性质', align: 'center', dataIndex: 'orgPropertyType', - width: '8%' + width: '8%', }, { title: '面积(㎡)', align: 'center', dataIndex: 'orgBuildingArea', - width: '8%' + width: '8%', }, { title: '审核意见', align: 'center', dataIndex: 'status_dictText', - width: '8%' + width: '8%', }, { title: '工单类型', align: 'center', - dataIndex: 'buildStatus_dictText', - width: '8%' + dataIndex: 'orgStatus_dictText', + width: '8%', }, { title: '工单状态', align: 'center', dataIndex: 'workOrderStatus_dictText', - width: '8%' + width: '8%', + }, +]; + +//列表数据 +export const hisColumns: BasicColumn[] = [ + { + title: '机构名称', + align: 'center', + dataIndex: 'comName', + }, + { + title: '机构负责人', + align: 'center', + dataIndex: 'orgLeader', + width:100 + }, + { + title: '负责人电话', + align: 'center', + dataIndex: 'orgLeaderPhone', + width:120 + }, + { + title: '申请日期', + align: 'center', + dataIndex: 'createTime', + width:150 + }, + { + title: '房屋性质', + align: 'center', + dataIndex: 'orgPropertyType', + width:100 + }, + { + title: '面积(㎡)', + align: 'center', + dataIndex: 'orgBuildingArea', + width:100 + }, + { + title: '类型', + align: 'center', + dataIndex: 'optTypeName', + width:100 + }, + { + title: '审核意见', + align: 'center', + dataIndex: 'status_dictText', + width:100 }, ]; diff --git a/src/views/admin/orgapplyinfo/OrgInfoAuditList.vue b/src/views/admin/orgapplyinfo/OrgInfoAuditList.vue index 7c0c944..e859a41 100644 --- a/src/views/admin/orgapplyinfo/OrgInfoAuditList.vue +++ b/src/views/admin/orgapplyinfo/OrgInfoAuditList.vue @@ -233,7 +233,7 @@ function handleBuildPlat(record) { * @param record */ function handleInitAccount(record) { - var userInfo = { userName: record.tel, realname: record.name, orgCode: record.id } + var userInfo = { userName: record.tel, realname: record.name, orgCode: record.id, orgId: record.pkId } console.log("🚀 ~ handleInitAccount ~ userInfo:", userInfo) defHttp.post({ url: '/sys/user/initialization', params: userInfo }).then(res => { console.log("🚀 ~ handleInitAccount ~ res:", res) @@ -262,6 +262,12 @@ function handlePushInfo(record) { }) } +/** + * 审核历史 + */ +function handleAuditHisDetail(record: Recordable, sign) { + registerModal.value.showAuditHis(record); +} /** * 操作栏 @@ -275,39 +281,43 @@ function getTableAction(record) { { label: '加盟审核', onClick: handleEdit.bind(null, record), - ifShow: record.status == '1' + ifShow: record.status == '1' && record.optType == 'rz' }, { label: '变更审核', onClick: handleUpAudit.bind(null, record), - ifShow: record.status == '4' + ifShow: record.status == '1' && record.optType == 'bg' }, { label: '上传合同', onClick: handleUpContract.bind(null, record), auth: 'orgapplyinfo:nu_org_apply_info:edit', - ifShow: record.buildStatus == '3' + ifShow: record.orgStatus == '3' }, // { // label: '运维平台进行搭建', // onClick: handleBuildPlat.bind(null, record), // auth: 'orgapplyinfo:nu_org_apply_info:edit', // ifShow: () => { - // return record.buildStatus == '3' && !!record.contract + // return record.orgStatus == '3' && !!record.contract // } // }, { label: '账户初始化', onClick: handleInitAccount.bind(null, record), auth: 'orgapplyinfo:nu_org_apply_info:edit', - ifShow: record.workOrderStatus == '2' && record.buildStatus == '4' + ifShow: record.workOrderStatus == '2' && record.orgStatus == '4' }, // { // label: '信息推送', // onClick: handlePushInfo.bind(null, record), // auth: 'orgapplyinfo:nu_org_apply_info:edit', - // ifShow: record.buildStatus == '5'n + // ifShow: record.orgStatus == '5'n // }, + { + label: '审核历史', + onClick: handleAuditHisDetail.bind(null, record), + }, ]; } diff --git a/src/views/admin/orgapplyinfo/OrgModifyInfo.api.ts b/src/views/admin/orgapplyinfo/OrgModifyInfo.api.ts index b7382d1..4dccff4 100644 --- a/src/views/admin/orgapplyinfo/OrgModifyInfo.api.ts +++ b/src/views/admin/orgapplyinfo/OrgModifyInfo.api.ts @@ -1,17 +1,18 @@ import { defHttp } from '/@/utils/http/axios'; -import { useMessage } from "/@/hooks/web/useMessage"; +import { useMessage } from '/@/hooks/web/useMessage'; const { createConfirm } = useMessage(); enum Api { list = '/admin/orgapplyinfo/orgApplyInfo/list', - save='/admin/orgapplyinfo/orgApplyInfo/add', - edit='/admin/orgapplyinfo/orgApplyInfo/edit', + save = '/admin/orgapplyinfo/orgApplyInfo/add', + edit = '/admin/orgapplyinfo/orgApplyInfo/edit', deleteOne = '/admin/orgapplyinfo/orgApplyInfo/delete', deleteBatch = '/admin/orgapplyinfo/orgApplyInfo/deleteBatch', importExcel = '/admin/orgapplyinfo/orgApplyInfo/importExcel', exportXls = '/admin/orgapplyinfo/orgApplyInfo/exportXls', getModifyInfo = '/admin/orgapplyinfo/orgApplyInfo/getModifyInfo', + upInfoAudit = '/admin/orgapplyinfo/orgApplyInfo/upInfoAudit', } /** @@ -36,11 +37,11 @@ export const list = (params) => defHttp.get({ url: Api.list, params }); * @param params * @param handleSuccess */ -export const deleteOne = (params,handleSuccess) => { - return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { +export const deleteOne = (params, handleSuccess) => { + return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); -} +}; /** * 批量删除 @@ -55,12 +56,12 @@ export const batchDelete = (params, handleSuccess) => { okText: '确认', cancelText: '取消', onOk: () => { - return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); - } + }, }); -} +}; /** * 保存或者更新 @@ -70,7 +71,11 @@ export const batchDelete = (params, handleSuccess) => { export const saveOrUpdate = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }, { isTransformResponse: false }); -} +}; + +export const upInfoAudit = (params) => { + return defHttp.post({ url: Api.upInfoAudit, params }, { isTransformResponse: false }); +}; /** * 获取变更信息 @@ -78,4 +83,4 @@ export const saveOrUpdate = (params, isUpdate) => { */ export const getModifyInfo = (params) => { return defHttp.post({ url: Api.getModifyInfo, params }); -} \ No newline at end of file +}; diff --git a/src/views/admin/orgapplyinfo/components/OrgApplyInfoForm.vue b/src/views/admin/orgapplyinfo/components/OrgApplyInfoForm.vue index cf1f5f0..6041b74 100644 --- a/src/views/admin/orgapplyinfo/components/OrgApplyInfoForm.vue +++ b/src/views/admin/orgapplyinfo/components/OrgApplyInfoForm.vue @@ -298,7 +298,7 @@ import { defHttp } from '/@/utils/http/axios'; import { useMessage } from '/@/hooks/web/useMessage'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import { getValueType } from '/@/utils'; -import { saveOrUpdate } from '../OrgApplyInfo.api'; +import { applyAudit } from '../OrgApplyInfo.api'; import { Form } from 'ant-design-vue'; import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue'; import TencentMap from '/@/components/TencentMap/TencentMap.vue'; @@ -320,6 +320,7 @@ const useForm = Form.useForm; const emit = defineEmits(['register', 'ok']); const formData = reactive>({ id: '', + pkId: '', openId: '', wechatName: '', tel: '', @@ -489,10 +490,7 @@ async function submitForm() { } } } - if (model.status == '2') { - model.buildStatus = 'approvalPass'//代表加盟审核通过 - } - await saveOrUpdate(model, isUpdate.value) + await applyAudit(model, isUpdate.value) .then((res) => { if (res.success) { createMessage.success(res.message); diff --git a/src/views/admin/orgapplyinfo/components/OrgApplyInfoModal.vue b/src/views/admin/orgapplyinfo/components/OrgApplyInfoModal.vue index c49041c..c8f1a84 100644 --- a/src/views/admin/orgapplyinfo/components/OrgApplyInfoModal.vue +++ b/src/views/admin/orgapplyinfo/components/OrgApplyInfoModal.vue @@ -1,6 +1,6 @@ @@ -29,6 +35,7 @@ import { ref, nextTick, defineExpose } from 'vue'; import OrgApplyInfoForm from './OrgApplyInfoForm.vue' import OrgUpContractForm from './OrgUpContractForm.vue' import JModal from '/@/components/Modal/src/JModal/JModal.vue'; +import OrgAuditHisList from './OrgAuditHisList.vue' const title = ref(''); const visible = ref(false); @@ -37,7 +44,9 @@ const registerForm = ref(); const contractVisible = ref(false); const upContractForm = ref(); const emit = defineEmits(['register', 'success']); -function handleExtraButton(){ +const auditHisVisible = ref(false) +const auditHisRef = ref() +function handleExtraButton() { } /** @@ -107,7 +116,6 @@ function editContract(record) { * 上传合同提交 */ function submitContractCallback() { - console.log(99999) handleContractCancel(); emit('success'); } @@ -126,11 +134,26 @@ function submitContract() { upContractForm.value.submitForm(); } +/** + * 查看审核历史 + */ +function showAuditHis(record) { + auditHisVisible.value = true + nextTick(() => { + auditHisRef.value.init(record); + }); +} + +function handleAuditHisCancel() { + auditHisVisible.value = false +} + defineExpose({ add, edit, disableSubmit, editContract, + showAuditHis, }); diff --git a/src/views/admin/orgapplyinfo/components/OrgAuditHisList.vue b/src/views/admin/orgapplyinfo/components/OrgAuditHisList.vue new file mode 100644 index 0000000..f452bf9 --- /dev/null +++ b/src/views/admin/orgapplyinfo/components/OrgAuditHisList.vue @@ -0,0 +1,388 @@ + + + + + diff --git a/src/views/admin/orgapplyinfo/components/OrgHistoryForm.vue b/src/views/admin/orgapplyinfo/components/OrgHistoryForm.vue index b2a1076..4e26c5e 100644 --- a/src/views/admin/orgapplyinfo/components/OrgHistoryForm.vue +++ b/src/views/admin/orgapplyinfo/components/OrgHistoryForm.vue @@ -44,12 +44,12 @@ - 审核通过 - 审核驳回 + 审核通过 + 审核驳回 - + @@ -65,7 +65,7 @@ import { ref, reactive, computed, onMounted } from 'vue'; import { Table as ATable, Input, Row, Col, Form } from 'ant-design-vue'; import { applyObj } from '../OrgModifyInfo.data' import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue'; -import { saveOrUpdate } from '../OrgModifyInfo.api'; +import { upInfoAudit } from '../OrgModifyInfo.api'; import { useMessage } from '/@/hooks/web/useMessage'; import { initDictOptions } from '/@/utils/dict'; @@ -135,6 +135,9 @@ const filteredTableData = computed(() => { && item.d1 !== 'workOrderStatus' && item.d1 !== 'workOrderId' && item.d1 !== 'auditBy' + && item.d1 !== 'izHistory' + && item.d1 !== 'optType' + && item.d1 !== 'optTypeName' ); }); @@ -180,12 +183,6 @@ console.log("🌊 ~ show ~ data:", data) if (pkIdRecord) { formData.pkId = pkIdRecord.d3; } - if (statusRecord?.status == '4') { - formData.status = 'modifyPass' - } - if (statusRecord?.status == '5') { - formData.status = 'modifyFail' - } formData.comName = data.find(item => item.d1 === 'comName').d2; formData.openId = data.find(item => item.d1 === 'openId').d2; tableData.value = data.map(item => ({ @@ -209,7 +206,7 @@ async function submitForm() { } return Promise.reject(errorFields); } - saveOrUpdate(formData, true) + upInfoAudit(formData) .then((res) => { if (res.success) { createMessage.success(res.message); diff --git a/src/views/admin/orgapplyinfo/components/OrgUpContractForm.vue b/src/views/admin/orgapplyinfo/components/OrgUpContractForm.vue index 1c6f6cf..2a29927 100644 --- a/src/views/admin/orgapplyinfo/components/OrgUpContractForm.vue +++ b/src/views/admin/orgapplyinfo/components/OrgUpContractForm.vue @@ -59,13 +59,14 @@ - + - +
说明:请上传pdf文件,并且只能上传一份文件
@@ -110,11 +111,12 @@ const emit = defineEmits(['register', 'ok']); const upBizPrefix = ref('') const formData = reactive>({ id: '', + pkId: '', openId: '', wechatName: '', tel: '', status: '', - buildStatus: '', + orgStatus: '', content: '', createTime: '', updateTime: '', @@ -295,7 +297,7 @@ async function submitForm() { } } model.workOrderStatus = '1' - model.buildStatus = 'contractSubmit'//给后端判断是否为合同上传并提交状态 + model.orgStatus = '4'//给后端判断是否为合同上传并提交状态 await submitContract(model) .then((res) => { emit('ok');