机构流程

This commit is contained in:
1378012178@qq.com 2026-02-11 16:04:32 +08:00
parent 2f770d0b06
commit 619882ff11
9 changed files with 535 additions and 54 deletions

View File

@ -5,8 +5,10 @@ const { createConfirm } = useMessage();
enum Api { enum Api {
list = '/admin/orgapplyinfo/orgApplyInfo/list', list = '/admin/orgapplyinfo/orgApplyInfo/list',
hisList = '/admin/orgapplyinfo/orgApplyInfo/hisList',
save='/admin/orgapplyinfo/orgApplyInfo/add', save='/admin/orgapplyinfo/orgApplyInfo/add',
edit='/admin/orgapplyinfo/orgApplyInfo/edit', edit='/admin/orgapplyinfo/orgApplyInfo/edit',
applyAudit='/admin/orgapplyinfo/orgApplyInfo/applyAudit',
editCg='/admin/orgapplyinfo/orgApplyInfo/editCg', editCg='/admin/orgapplyinfo/orgApplyInfo/editCg',
submitContract='/admin/orgapplyinfo/orgApplyInfo/submitContract', submitContract='/admin/orgapplyinfo/orgApplyInfo/submitContract',
deleteOne = '/admin/orgapplyinfo/orgApplyInfo/delete', 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 list = (params) => defHttp.get({ url: Api.list, params });
export const hisList = (params) => defHttp.get({ url: Api.hisList, params });
/** /**
* sys_depart信息 * sys_depart信息
* @param params orgCode部门编码 * @param params orgCode部门编码
@ -81,6 +85,9 @@ export const saveOrUpdate = (params, isUpdate) => {
return defHttp.post({ url: url, params }, { isTransformResponse: false }); 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) => { export const editCg = (params, isUpdate) => {
return defHttp.post({ url: Api.editCg, params }, { isTransformResponse: false }); return defHttp.post({ url: Api.editCg, params }, { isTransformResponse: false });

View File

@ -14,49 +14,100 @@ export const columns: BasicColumn[] = [
title: '机构负责人', title: '机构负责人',
align: 'center', align: 'center',
dataIndex: 'orgLeader', dataIndex: 'orgLeader',
width: '8%' width: '8%',
}, },
{ {
title: '负责人电话', title: '负责人电话',
align: 'center', align: 'center',
dataIndex: 'orgLeaderPhone', dataIndex: 'orgLeaderPhone',
width: '8%' width: '8%',
}, },
{ {
title: '申请日期', title: '申请日期',
align: 'center', align: 'center',
dataIndex: 'createTime', dataIndex: 'createTime',
width: '8%' width: '8%',
}, },
{ {
title: '房屋性质', title: '房屋性质',
align: 'center', align: 'center',
dataIndex: 'orgPropertyType', dataIndex: 'orgPropertyType',
width: '8%' width: '8%',
}, },
{ {
title: '面积(㎡)', title: '面积(㎡)',
align: 'center', align: 'center',
dataIndex: 'orgBuildingArea', dataIndex: 'orgBuildingArea',
width: '8%' width: '8%',
}, },
{ {
title: '审核意见', title: '审核意见',
align: 'center', align: 'center',
dataIndex: 'status_dictText', dataIndex: 'status_dictText',
width: '8%' width: '8%',
}, },
{ {
title: '工单类型', title: '工单类型',
align: 'center', align: 'center',
dataIndex: 'buildStatus_dictText', dataIndex: 'orgStatus_dictText',
width: '8%' width: '8%',
}, },
{ {
title: '工单状态', title: '工单状态',
align: 'center', align: 'center',
dataIndex: 'workOrderStatus_dictText', 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
}, },
]; ];

View File

@ -233,7 +233,7 @@ function handleBuildPlat(record) {
* @param record * @param record
*/ */
function handleInitAccount(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) console.log("🚀 ~ handleInitAccount ~ userInfo:", userInfo)
defHttp.post({ url: '/sys/user/initialization', params: userInfo }).then(res => { defHttp.post({ url: '/sys/user/initialization', params: userInfo }).then(res => {
console.log("🚀 ~ handleInitAccount ~ res:", 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: '加盟审核', label: '加盟审核',
onClick: handleEdit.bind(null, record), onClick: handleEdit.bind(null, record),
ifShow: record.status == '1' ifShow: record.status == '1' && record.optType == 'rz'
}, },
{ {
label: '变更审核', label: '变更审核',
onClick: handleUpAudit.bind(null, record), onClick: handleUpAudit.bind(null, record),
ifShow: record.status == '4' ifShow: record.status == '1' && record.optType == 'bg'
}, },
{ {
label: '上传合同', label: '上传合同',
onClick: handleUpContract.bind(null, record), onClick: handleUpContract.bind(null, record),
auth: 'orgapplyinfo:nu_org_apply_info:edit', auth: 'orgapplyinfo:nu_org_apply_info:edit',
ifShow: record.buildStatus == '3' ifShow: record.orgStatus == '3'
}, },
// { // {
// label: '', // label: '',
// onClick: handleBuildPlat.bind(null, record), // onClick: handleBuildPlat.bind(null, record),
// auth: 'orgapplyinfo:nu_org_apply_info:edit', // auth: 'orgapplyinfo:nu_org_apply_info:edit',
// ifShow: () => { // ifShow: () => {
// return record.buildStatus == '3' && !!record.contract // return record.orgStatus == '3' && !!record.contract
// } // }
// }, // },
{ {
label: '账户初始化', label: '账户初始化',
onClick: handleInitAccount.bind(null, record), onClick: handleInitAccount.bind(null, record),
auth: 'orgapplyinfo:nu_org_apply_info:edit', auth: 'orgapplyinfo:nu_org_apply_info:edit',
ifShow: record.workOrderStatus == '2' && record.buildStatus == '4' ifShow: record.workOrderStatus == '2' && record.orgStatus == '4'
}, },
// { // {
// label: '', // label: '',
// onClick: handlePushInfo.bind(null, record), // onClick: handlePushInfo.bind(null, record),
// auth: 'orgapplyinfo:nu_org_apply_info:edit', // auth: 'orgapplyinfo:nu_org_apply_info:edit',
// ifShow: record.buildStatus == '5'n // ifShow: record.orgStatus == '5'n
// }, // },
{
label: '审核历史',
onClick: handleAuditHisDetail.bind(null, record),
},
]; ];
} }

View File

@ -1,17 +1,18 @@
import { defHttp } from '/@/utils/http/axios'; import { defHttp } from '/@/utils/http/axios';
import { useMessage } from "/@/hooks/web/useMessage"; import { useMessage } from '/@/hooks/web/useMessage';
const { createConfirm } = useMessage(); const { createConfirm } = useMessage();
enum Api { enum Api {
list = '/admin/orgapplyinfo/orgApplyInfo/list', list = '/admin/orgapplyinfo/orgApplyInfo/list',
save='/admin/orgapplyinfo/orgApplyInfo/add', save = '/admin/orgapplyinfo/orgApplyInfo/add',
edit='/admin/orgapplyinfo/orgApplyInfo/edit', edit = '/admin/orgapplyinfo/orgApplyInfo/edit',
deleteOne = '/admin/orgapplyinfo/orgApplyInfo/delete', deleteOne = '/admin/orgapplyinfo/orgApplyInfo/delete',
deleteBatch = '/admin/orgapplyinfo/orgApplyInfo/deleteBatch', deleteBatch = '/admin/orgapplyinfo/orgApplyInfo/deleteBatch',
importExcel = '/admin/orgapplyinfo/orgApplyInfo/importExcel', importExcel = '/admin/orgapplyinfo/orgApplyInfo/importExcel',
exportXls = '/admin/orgapplyinfo/orgApplyInfo/exportXls', exportXls = '/admin/orgapplyinfo/orgApplyInfo/exportXls',
getModifyInfo = '/admin/orgapplyinfo/orgApplyInfo/getModifyInfo', 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 params
* @param handleSuccess * @param handleSuccess
*/ */
export const deleteOne = (params,handleSuccess) => { export const deleteOne = (params, handleSuccess) => {
return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => {
handleSuccess(); handleSuccess();
}); });
} };
/** /**
* *
@ -55,12 +56,12 @@ export const batchDelete = (params, handleSuccess) => {
okText: '确认', okText: '确认',
cancelText: '取消', cancelText: '取消',
onOk: () => { onOk: () => {
return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => {
handleSuccess(); handleSuccess();
}); });
} },
}); });
} };
/** /**
* *
@ -70,7 +71,11 @@ export const batchDelete = (params, handleSuccess) => {
export const saveOrUpdate = (params, isUpdate) => { export const saveOrUpdate = (params, isUpdate) => {
let url = isUpdate ? Api.edit : Api.save; let url = isUpdate ? Api.edit : Api.save;
return defHttp.post({ url: url, params }, { isTransformResponse: false }); 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) => { export const getModifyInfo = (params) => {
return defHttp.post({ url: Api.getModifyInfo, params }); return defHttp.post({ url: Api.getModifyInfo, params });
} };

View File

@ -298,7 +298,7 @@ import { defHttp } from '/@/utils/http/axios';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { getValueType } from '/@/utils'; import { getValueType } from '/@/utils';
import { saveOrUpdate } from '../OrgApplyInfo.api'; import { applyAudit } from '../OrgApplyInfo.api';
import { Form } from 'ant-design-vue'; import { Form } from 'ant-design-vue';
import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue'; import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue';
import TencentMap from '/@/components/TencentMap/TencentMap.vue'; import TencentMap from '/@/components/TencentMap/TencentMap.vue';
@ -320,6 +320,7 @@ const useForm = Form.useForm;
const emit = defineEmits(['register', 'ok']); const emit = defineEmits(['register', 'ok']);
const formData = reactive<Record<string, any>>({ const formData = reactive<Record<string, any>>({
id: '', id: '',
pkId: '',
openId: '', openId: '',
wechatName: '', wechatName: '',
tel: '', tel: '',
@ -489,10 +490,7 @@ async function submitForm() {
} }
} }
} }
if (model.status == '2') { await applyAudit(model, isUpdate.value)
model.buildStatus = 'approvalPass'//
}
await saveOrUpdate(model, isUpdate.value)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
createMessage.success(res.message); createMessage.success(res.message);

View File

@ -1,6 +1,6 @@
<template> <template>
<a-drawer :title="title" :width="`1100`" v-model:visible="visible" :closable="true" <a-drawer :title="title" :width="`1100`" v-model:visible="visible" :closable="true"
:footer-style="{ textAlign: 'right' }" :bodyStyle="{padding:'0px'}" @close="handleCancel"> :footer-style="{ textAlign: 'right' }" :bodyStyle="{ padding: '0px' }" @close="handleCancel">
<OrgApplyInfoForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"> <OrgApplyInfoForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false">
</OrgApplyInfoForm> </OrgApplyInfoForm>
<template #footer> <template #footer>
@ -9,8 +9,8 @@
</template> </template>
</a-drawer> </a-drawer>
<a-drawer :title="title" :width="`1100`" v-model:visible="contractVisible" :closable="true" <a-drawer :title="title" :width="`1100`" v-model:visible="contractVisible" :closable="true"
:footer-style="{ textAlign: 'right' }" :bodyStyle="{padding:'0px'}" @close="handleCancel"> :footer-style="{ textAlign: 'right' }" :bodyStyle="{ padding: '0px' }" @close="handleCancel">
<OrgUpContractForm ref="upContractForm" @ok="submitContractCallback" :formBpm="false"></OrgUpContractForm> <OrgUpContractForm ref="upContractForm" @ok="submitContractCallback" :formBpm="false"></OrgUpContractForm>
<template #footer> <template #footer>
<a-button @click="handleContractCancel" style="margin-right: 8px">关闭</a-button> <a-button @click="handleContractCancel" style="margin-right: 8px">关闭</a-button>
@ -19,7 +19,13 @@
</template> </template>
</a-drawer> </a-drawer>
<a-drawer :title="title" :width="`1300`" v-model:visible="auditHisVisible" :closable="true"
:footer-style="{ textAlign: 'right' }" :bodyStyle="{ padding: '0px' }" @close="handleAuditHisCancel">
<OrgAuditHisList ref="auditHisRef" :formBpm="false"></OrgAuditHisList>
<template #footer>
<a-button @click="handleAuditHisCancel" style="margin-right: 8px">关闭</a-button>
</template>
</a-drawer>
</template> </template>
@ -29,6 +35,7 @@ import { ref, nextTick, defineExpose } from 'vue';
import OrgApplyInfoForm from './OrgApplyInfoForm.vue' import OrgApplyInfoForm from './OrgApplyInfoForm.vue'
import OrgUpContractForm from './OrgUpContractForm.vue' import OrgUpContractForm from './OrgUpContractForm.vue'
import JModal from '/@/components/Modal/src/JModal/JModal.vue'; import JModal from '/@/components/Modal/src/JModal/JModal.vue';
import OrgAuditHisList from './OrgAuditHisList.vue'
const title = ref<string>(''); const title = ref<string>('');
const visible = ref<boolean>(false); const visible = ref<boolean>(false);
@ -37,7 +44,9 @@ const registerForm = ref();
const contractVisible = ref<boolean>(false); const contractVisible = ref<boolean>(false);
const upContractForm = ref(); const upContractForm = ref();
const emit = defineEmits(['register', 'success']); 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() { function submitContractCallback() {
console.log(99999)
handleContractCancel(); handleContractCancel();
emit('success'); emit('success');
} }
@ -126,11 +134,26 @@ function submitContract() {
upContractForm.value.submitForm(); upContractForm.value.submitForm();
} }
/**
* 查看审核历史
*/
function showAuditHis(record) {
auditHisVisible.value = true
nextTick(() => {
auditHisRef.value.init(record);
});
}
function handleAuditHisCancel() {
auditHisVisible.value = false
}
defineExpose({ defineExpose({
add, add,
edit, edit,
disableSubmit, disableSubmit,
editContract, editContract,
showAuditHis,
}); });
</script> </script>

View File

@ -0,0 +1,388 @@
<template>
<div class="p-2">
<!--查询区域-->
<div class="jeecg-basic-table-form-container">
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol"
:wrapper-col="wrapperCol">
<a-row :gutter="24">
<a-col :lg="7">
<a-form-item name="title">
<template #label><span title="机构名称">机构名称</span></template>
<JInput v-model:value="queryParam.title" placeholder="请输入机构名称/负责人/联系电话" :type="'default'" />
</a-form-item>
</a-col>
<!-- <a-col :lg="6">
<a-form-item name="orgLeader">
<template #label><span title="机构负责人">机构负责人</span></template>
<JInput v-model:value="queryParam.orgLeader" placeholder="请输入机构负责人" />
</a-form-item>
</a-col> -->
<a-col :lg="7">
<a-form-item name="createTime">
<template #label><span title="申请日期">申请日期</span></template>
<a-range-picker value-format="YYYY-MM-DD" v-model:value="queryParam.createTime"
class="query-group-cust" />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="status">
<template #label><span title="审核意见">审核意见</span></template>
<a-select v-model:value="queryParam.status" style="width: 200px" placeholder="请选择审核意见">
<!-- <a-select-option value="1">待审核</a-select-option> -->
<a-select-option value="2">审核通过</a-select-option>
<a-select-option value="3">审核驳回</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :lg="4">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset"
style="margin-left: 8px">重置</a-button>
</a-col>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!--引用表格-->
<BasicTable @register="registerTable">
<!--插槽:table标题-->
<template #tableTitle>
</template>
<!--操作栏-->
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
</template>
<template v-slot:bodyCell="{ column, record, index, text }">
</template>
</BasicTable>
<!-- 表单区域 -->
<OrgApplyInfoModal ref="registerModal" @success="handleSuccess"></OrgApplyInfoModal>
<a-modal v-model:visible="zhcshVisible" title="账号初始化">
<template #footer> <!-- 自定义底部内容 -->
<a-button @click="handleCshCancel">关闭</a-button>
</template>
<div style="height: 170px;text-align: center;overflow: hidden;">
<p style="margin-top:50px;">账号初始化成功</p>
<p>{{ zhcshMessage }}</p>
</div>
</a-modal>
</div>
</template>
<script lang="ts" name="orgapplyinfo-orgApplyInfo" setup>
import { ref, reactive } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage';
import { hisColumns } from '../OrgApplyInfo.data';
import { hisList, deleteOne, batchDelete, getImportUrl, getExportUrl } from '../OrgApplyInfo.api';
import { downloadFile } from '/@/utils/common/renderUtils';
import OrgApplyInfoModal from './OrgApplyInfoModal.vue'
import { useUserStore } from '/@/store/modules/user';
import JRangeNumber from "/@/components/Form/src/jeecg/components/JRangeNumber.vue";
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
import { cloneDeep } from "lodash-es";
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { defHttp } from '/@/utils/http/axios';
import { useMessage } from '/@/hooks/web/useMessage';
const { createMessage } = useMessage();
const formRef = ref();
const queryParam = reactive<any>({});
const toggleSearchStatus = ref<boolean>(false);
const registerModal = ref();
const userStore = useUserStore();
const zhcshVisible = ref<boolean>(false);
const zhcshMessage = ref<string>('');
const pkId = ref('')
//table
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
tableProps: {
title: '机构加盟申请信息表',
api: hisList,
columns: hisColumns,
immediate: false,
canResize: false,
useSearchForm: false,
actionColumn: {
width: 100,
fixed: 'right',
},
pagination: {
current: 1,
pageSize: 15,
pageSizeOptions: ['15', '50', '70', '100'],
},
beforeFetch: async (params) => {
queryParam.pkId = pkId.value
let rangerQuery = await setRangeQuery();
return Object.assign(params, rangerQuery);
},
},
exportConfig: {
name: "机构加盟申请信息表",
url: getExportUrl,
params: queryParam,
},
importConfig: {
url: getImportUrl,
success: handleSuccess
},
});
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
const labelCol = reactive({
xs: 24,
sm: 4,
xl: 6,
xxl: 6
});
const wrapperCol = reactive({
xs: 24,
sm: 19,
});
/**
* 高级查询事件
*/
function handleSuperQuery(params) {
Object.keys(params).map((k) => {
queryParam[k] = params[k];
});
searchQuery();
}
/**
* 新增事件
*/
function handleAdd() {
registerModal.value.disableSubmit = false;
registerModal.value.add();
}
/**
* 编辑事件
*/
function handleEdit(record: Recordable) {
registerModal.value.disableSubmit = false;
registerModal.value.edit(record);
}
/**
* 详情
*/
function handleDetail(record: Recordable) {
registerModal.value.disableSubmit = true;
registerModal.value.edit(record);
}
/**
* 删除事件
*/
async function handleDelete(record) {
await deleteOne({ id: record.id }, handleSuccess);
}
/**
* 批量删除事件
*/
async function batchHandleDelete() {
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
}
/**
* 成功回调
*/
function handleSuccess() {
(selectedRowKeys.value = []) && reload();
}
/**
* 上传合同
*/
function handleUpContract(record) {
registerModal.value.editContract(record);
}
/**
* 通知运维平台搭建业务平台
*/
function handleBuildPlat(record) {
}
/**
* 账户初始化
* @param record
*/
function handleInitAccount(record) {
var userInfo = { userName: record.tel, realname: record.name, orgCode: record.id }
console.log("🚀 ~ handleInitAccount ~ userInfo:", userInfo)
defHttp.post({ url: '/sys/user/initialization', params: userInfo }).then(res => {
console.log("🚀 ~ handleInitAccount ~ res:", res)
zhcshVisible.value = true;
zhcshMessage.value = res.message;
handleSuccess();
})
}
function handleCshCancel() {
zhcshVisible.value = false;
zhcshMessage.value = '';
}
/**
* 信息推送
* @param record
*/
function handlePushInfo(record) {
console.log("🚀 ~ handlePushInfo ~ record:", record)
var params = { openId: record.openId, id: record.id }
console.log("🚀 ~ handlePushInfo ~ params:", params)
defHttp.get({ url: '/weixinMini/sendOrgAuthInfo', params }).then(res => {
handleSuccess();
})
}
/**
* 操作栏
*/
function getTableAction(record) {
return [
{
label: '详情',
onClick: handleDetail.bind(null, record),
ifShow: record.optType == 'rz'
},
{
label: '详情',
onClick: handleDetail.bind(null, record),
ifShow: record.optType == 'bg'
},
{
label: '加盟审核',
onClick: handleEdit.bind(null, record),
auth: 'orgapplyinfo:nu_org_apply_info:edit',
ifShow: record.status == '1'
},
{
label: '上传合同',
onClick: handleUpContract.bind(null, record),
auth: 'orgapplyinfo:nu_org_apply_info:edit',
ifShow: record.buildStatus == '3'
},
// {
// label: '',
// onClick: handleBuildPlat.bind(null, record),
// auth: 'orgapplyinfo:nu_org_apply_info:edit',
// ifShow: () => {
// return record.buildStatus == '3' && !!record.contract
// }
// },
{
label: '账号初始化',
onClick: handleInitAccount.bind(null, record),
auth: 'orgapplyinfo:nu_org_apply_info:edit',
ifShow: record.workOrderStatus == '2' && record.buildStatus == '4'
},
// {
// label: '',
// onClick: handlePushInfo.bind(null, record),
// auth: 'orgapplyinfo:nu_org_apply_info:edit',
// ifShow: record.buildStatus == '5'n
// },
];
}
/**
* 查询
*/
function searchQuery() {
reload();
}
/**
* 重置
*/
function searchReset() {
formRef.value.resetFields();
queryParam.title = ''
selectedRowKeys.value = [];
//
reload();
}
let rangeField = 'createTime,'
/**
* 设置范围查询条件
*/
async function setRangeQuery() {
let queryParamClone = cloneDeep(queryParam);
if (rangeField) {
let fieldsValue = rangeField.split(',');
fieldsValue.forEach(item => {
if (queryParamClone[item]) {
let range = queryParamClone[item];
queryParamClone[item + '_begin'] = range[0];
queryParamClone[item + '_end'] = range[1];
delete queryParamClone[item];
} else {
queryParamClone[item + '_begin'] = '';
queryParamClone[item + '_end'] = '';
}
})
}
return queryParamClone;
}
function init(record) {
pkId.value = record.pkId
reload()
}
defineExpose({
init
});
</script>
<style lang="less" scoped>
.jeecg-basic-table-form-container {
padding: 0;
.table-page-search-submitButtons {
display: block;
margin-bottom: 24px;
white-space: nowrap;
}
.query-group-cust {
min-width: 100px !important;
}
.query-group-split-cust {
width: 30px;
display: inline-block;
text-align: center
}
.ant-form-item:not(.ant-form-item-with-help) {
margin-bottom: 16px;
height: 32px;
}
:deep(.ant-picker),
:deep(.ant-input-number) {
width: 100%;
}
}
.jee-hidden-zhcsh {
display: none !important;
}
</style>

View File

@ -44,12 +44,12 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item label="审核结果" name="status" v-bind="validateInfos.status"> <a-form-item label="审核结果" name="status" v-bind="validateInfos.status">
<a-select v-model:value="formData.status" style="width: 200px" placeholder="请选择审核结果"> <a-select v-model:value="formData.status" style="width: 200px" placeholder="请选择审核结果">
<a-select-option value="modifyPass">审核通过</a-select-option> <a-select-option value="2">审核通过</a-select-option>
<a-select-option value="modifyFail">审核驳回</a-select-option> <a-select-option value="3">审核驳回</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12" v-if="formData.status == 'modifyFail'"> <a-col :span="12" v-if="formData.status == '3'">
<a-form-item label="驳回原因" name="content" v-bind="validateInfos.content"> <a-form-item label="驳回原因" name="content" v-bind="validateInfos.content">
<a-textarea :maxlength="50" show-count v-model:value="formData.content" <a-textarea :maxlength="50" show-count v-model:value="formData.content"
placeholder="请输入驳回原因(如驳回)" style="width: 100%" /> placeholder="请输入驳回原因(如驳回)" style="width: 100%" />
@ -65,7 +65,7 @@ import { ref, reactive, computed, onMounted } from 'vue';
import { Table as ATable, Input, Row, Col, Form } from 'ant-design-vue'; import { Table as ATable, Input, Row, Col, Form } from 'ant-design-vue';
import { applyObj } from '../OrgModifyInfo.data' import { applyObj } from '../OrgModifyInfo.data'
import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue'; 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 { useMessage } from '/@/hooks/web/useMessage';
import { initDictOptions } from '/@/utils/dict'; import { initDictOptions } from '/@/utils/dict';
@ -135,6 +135,9 @@ const filteredTableData = computed(() => {
&& item.d1 !== 'workOrderStatus' && item.d1 !== 'workOrderStatus'
&& item.d1 !== 'workOrderId' && item.d1 !== 'workOrderId'
&& item.d1 !== 'auditBy' && item.d1 !== 'auditBy'
&& item.d1 !== 'izHistory'
&& item.d1 !== 'optType'
&& item.d1 !== 'optTypeName'
); );
}); });
@ -180,12 +183,6 @@ console.log("🌊 ~ show ~ data:", data)
if (pkIdRecord) { if (pkIdRecord) {
formData.pkId = pkIdRecord.d3; 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.comName = data.find(item => item.d1 === 'comName').d2;
formData.openId = data.find(item => item.d1 === 'openId').d2; formData.openId = data.find(item => item.d1 === 'openId').d2;
tableData.value = data.map(item => ({ tableData.value = data.map(item => ({
@ -209,7 +206,7 @@ async function submitForm() {
} }
return Promise.reject(errorFields); return Promise.reject(errorFields);
} }
saveOrUpdate(formData, true) upInfoAudit(formData)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
createMessage.success(res.message); createMessage.success(res.message);

View File

@ -59,13 +59,14 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row v-if="formData.buildStatus == '3'" class="card-class"> <a-row v-if="formData.orgStatus == '3'" class="card-class">
<a-col :span="24" style="border-bottom: 2px solid #f7f7f7; margin-bottom: 14px;"> <a-col :span="24" style="border-bottom: 2px solid #f7f7f7; margin-bottom: 14px;">
<SectionDivider :title="'加盟合同'" /> <SectionDivider :title="'加盟合同'" />
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="加盟合同" v-bind="validateInfos.contract" id="OrgApplyInfoForm-contract"> <a-form-item label="加盟合同" v-bind="validateInfos.contract" id="OrgApplyInfoForm-contract">
<JUpload v-model:value="formData.contract" :bizPath="upBizPrefix + '/jgxx/jg'" :maxCount="1" accept=".pdf" :beforeUpload="checkFileType"> <JUpload v-model:value="formData.contract" :bizPath="upBizPrefix + '/jgxx/jg'" :maxCount="1"
accept=".pdf" :beforeUpload="checkFileType">
</JUpload> </JUpload>
</a-form-item> </a-form-item>
<div style="margin-top: 15px;margin-left:20%;color:#8e8e8e;font-size:12px;">说明请上传pdf文件并且只能上传一份文件</div> <div style="margin-top: 15px;margin-left:20%;color:#8e8e8e;font-size:12px;">说明请上传pdf文件并且只能上传一份文件</div>
@ -110,11 +111,12 @@ const emit = defineEmits(['register', 'ok']);
const upBizPrefix = ref('') const upBizPrefix = ref('')
const formData = reactive<Record<string, any>>({ const formData = reactive<Record<string, any>>({
id: '', id: '',
pkId: '',
openId: '', openId: '',
wechatName: '', wechatName: '',
tel: '', tel: '',
status: '', status: '',
buildStatus: '', orgStatus: '',
content: '', content: '',
createTime: '', createTime: '',
updateTime: '', updateTime: '',
@ -295,7 +297,7 @@ async function submitForm() {
} }
} }
model.workOrderStatus = '1' model.workOrderStatus = '1'
model.buildStatus = 'contractSubmit'// model.orgStatus = '4'//
await submitContract(model) await submitContract(model)
.then((res) => { .then((res) => {
emit('ok'); emit('ok');