提交 1045aa75 authored 作者: leon's avatar leon

手术订单审核

上级 ba5f3dd7
......@@ -10,6 +10,7 @@ import {
OperationOrderParams,
OperationOrderPageResult,
} from '../model/operationOrder';
import { User } from '/@/api/model/user';
const baseApi = '/v1/order/operation-order';
/**
......@@ -68,3 +69,8 @@ export const batchUpdate = (entityList: Array<OperationOrder>) => defHttp.post<b
export const count = (params?: OperationOrderParams) => defHttp.get<Number>({ url: `${baseApi}/count`, params });
/**
* 审核
*/
export const batchVerify = (data: any) => defHttp.post<User>({ url: `${baseApi}/verify`, data });
......@@ -34,28 +34,48 @@
<template v-if="column.dataIndex === 'action'">
<TableAction
:actions="[
{
tooltip: '编辑',
icon: 'clarity:note-edit-line',
onClick: handleEdit.bind(null, record),
ifShow: hasPermission('AUTH_ORDER_OPERATION_ORDER:EDIT'),
},
// {
// tooltip: '编辑',
// icon: 'clarity:note-edit-line',
// onClick: handleEdit.bind(null, record),
// ifShow: hasPermission('AUTH_ORDER_OPERATION_ORDER:EDIT'),
// },
{
tooltip: '详情',
icon: 'ant-design:eye-outlined',
onClick: handleView.bind(null, record),
ifShow: hasPermission('AUTH_ORDER_OPERATION_ORDER:QUERY'),
},
//待审核 才能 通过
{
label: record.status === StatusValEnum.FORBIDDEN ? '启用' : '通过',
color: 'success',
popConfirm: {
title: '是否确认通过',
confirm: handleVerify.bind(null, record, StatusValEnum.PASSED),
},
ifShow: isShowHandlePassed(record.status),
},
//待审核 才能 拒绝
{
tooltip: '删除',
icon: 'ant-design:delete-outlined',
label: '拒绝',
color: 'error',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
title: '是否确认拒绝',
confirm: handleVerify.bind(null, record, StatusValEnum.REJECT),
},
ifShow: hasPermission('AUTH_ORDER_OPERATION_ORDER:DELETE'),
ifShow: isShowHandleReject(record.status),
},
// {
// tooltip: '删除',
// icon: 'ant-design:delete-outlined',
// color: 'error',
// popConfirm: {
// title: '是否确认删除',
// confirm: handleDelete.bind(null, record),
// },
// ifShow: hasPermission('AUTH_ORDER_OPERATION_ORDER:DELETE'),
// },
]"
/>
</template>
......@@ -75,8 +95,10 @@
import { useDrawer } from '/@/components/Drawer';
import componentSetting from '/@/settings/componentSetting';
import OperationOrderDrawer from './drawer.vue';
import { columns, searchFormSchema } from './schema';
import {getVerifyParams, columns, searchFormSchema,StatusValEnum,isShowHandlePassed,isShowHandleReject } from './schema';
import { useUserStore } from '/@/store/modules/user';
import * as UserApi from '/@/api/system/userApi';
import { batchVerify } from '/@/api/order/operationOrderApi';
const userStore = useUserStore();
const { hasPermission } = usePermission();
const go = useGo();
......@@ -110,7 +132,7 @@
canResize: false,
rowKey: (record: any) => record.id,
actionColumn: {
width: 120,
width: 200,
title: '操作',
dataIndex: 'action',
fixed: 'right',
......@@ -180,6 +202,17 @@
});
};
const handleVerify = (record: Recordable, status: string) => {
setLoading(true);
OperationOrderApi.batchVerify(getVerifyParams(record, status))
.then((_) => {
reload();
})
.catch(() => {
setLoading(false);
});
};
const handleSuccess = () => {
reload();
};
......
......@@ -17,6 +17,8 @@ import {
getReceiverId,
} from '/@/commonSchemaProperty';
import { logisticsEnumOptions } from '/@/views/order/enum';
import { usePermission } from '/@/hooks/web/usePermission';
import { BatchVerifyParams } from '/@/views/system/user/schema';
export enum YesNoEnum {
YES = '是',
......@@ -35,6 +37,21 @@ export enum StatusEnum {
REJECT = '拒绝',
FORBIDDEN = '禁用',
}
export enum StatusValEnum {
PENDING_REVIEW = 'PENDING_REVIEW',
PASSED = 'PASSED',
REJECT = 'REJECT',
FORBIDDEN = 'FORBIDDEN'
}
const { hasPermission } = usePermission();
export const isShowHandlePassed = (status: string): boolean => {
return (
(hasPermission('AUTH_ORDER_OPERATION_ORDER:PASSED') && status === 'PENDING_REVIEW') || status === StatusValEnum.FORBIDDEN
);
};
export const isShowHandleReject = (status: string): boolean => {
return hasPermission('AUTH_ORDER_OPERATION_ORDER:REJECT') && status === StatusValEnum.PENDING_REVIEW;
};
export const StatusEnumOptions: any[] = [];
for (const key in StatusEnum) {
StatusEnumOptions.push({
......@@ -42,6 +59,18 @@ for (const key in StatusEnum) {
label: StatusEnum[key],
});
}
/**
* @description: 返回审核所需参数
* @param record
* @param status
*/
export const getVerifyParams = (record: Recordable, status: string): BatchVerifyParams => {
const params: BatchVerifyParams = {
idList: [record.id],
status,
};
return params;
};
const colProps = { xs: { span: 24 }, sm: { span: 24 }, lg: { span: 8 } };
const colPropsInDrawer = { span: 24 };
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论