Commit d9a58476 by 董晓奇

(10)发货单生成后自动生成发货质检单,仓库进行检查(给仓库培训,不合格后进行不合格处理,现在后台没报检按钮

parent 6a55618c
import { MesWarehouseSaleoutPageModel, MesWarehouseSaleoutPageParams, MesWarehouseSaleoutPageResult } from './model/XsckModel';
import {
MesWarehouseSaleoutPageModel,
MesWarehouseSaleoutPageParams,
MesWarehouseSaleoutPageResult,
} from './model/XsckModel';
import { defHttp } from '/@/utils/http/axios';
import { ErrorMessageMode } from '/#/axios';
......@@ -8,16 +11,16 @@ enum Api {
List = '/ckgl/xsck/list',
Info = '/ckgl/xsck/info',
MesWarehouseSaleout = '/ckgl/xsck',
Export = '/ckgl/xsck/export',
}
/**
* @description: 查询MesWarehouseSaleout分页列表
*/
export async function getMesWarehouseSaleoutPage(params: MesWarehouseSaleoutPageParams, mode: ErrorMessageMode = 'modal') {
export async function getMesWarehouseSaleoutPage(
params: MesWarehouseSaleoutPageParams,
mode: ErrorMessageMode = 'modal',
) {
return defHttp.get<MesWarehouseSaleoutPageResult>(
{
url: Api.Page,
......@@ -47,7 +50,10 @@ export async function getMesWarehouseSaleout(id: String, mode: ErrorMessageMode
/**
* @description: 新增MesWarehouseSaleout
*/
export async function addMesWarehouseSaleout(mesWarehouseSaleout: Recordable, mode: ErrorMessageMode = 'modal') {
export async function addMesWarehouseSaleout(
mesWarehouseSaleout: Recordable,
mode: ErrorMessageMode = 'modal',
) {
return defHttp.post<boolean>(
{
url: Api.MesWarehouseSaleout,
......@@ -62,7 +68,10 @@ export async function addMesWarehouseSaleout(mesWarehouseSaleout: Recordable, mo
/**
* @description: 更新MesWarehouseSaleout
*/
export async function updateMesWarehouseSaleout(mesWarehouseSaleout: Recordable, mode: ErrorMessageMode = 'modal') {
export async function updateMesWarehouseSaleout(
mesWarehouseSaleout: Recordable,
mode: ErrorMessageMode = 'modal',
) {
return defHttp.put<boolean>(
{
url: Api.MesWarehouseSaleout,
......@@ -89,15 +98,10 @@ export async function deleteMesWarehouseSaleout(ids: string[], mode: ErrorMessag
);
}
/**
* @description: 导出MesWarehouseSaleout
*/
export async function exportMesWarehouseSaleout(
params?: object,
mode: ErrorMessageMode = 'modal'
) {
export async function exportMesWarehouseSaleout(params?: object, mode: ErrorMessageMode = 'modal') {
return defHttp.download(
{
url: Api.Export,
......@@ -110,5 +114,3 @@ export async function exportMesWarehouseSaleout(
},
);
}
<template>
<BasicModal
:height="1080"
v-bind="$attrs" @register="registerModal" :title="getTitle"
@ok="handleSubmit" @cancel="handleClose" >
<ModalForm ref="formRef" v-model:value="state.formModel" :fromPage="FromPageType.MENU" />
<template #footer v-if=" !state.isView">
<BasicModal
:height="1080"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
@cancel="handleClose"
>
<ModalForm ref="formRef" v-model:value="state.formModel" :fromPage="FromPageType.MENU" />
<template #footer v-if="!state.isView">
<template v-for="(item, index) in sortBy(formButtons, 'index')" :key="item.key">
<template v-if="item.isShow">
<template v-if="item.isShow">
<CustomButtonModal v-if="item.type == CustomButtonModalType.Modal" :info="item" />
<a-button
:type="item.style"
......@@ -22,29 +23,28 @@
</template>
</template>
</template>
</BasicModal>
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, computed, reactive, provide, Ref } from 'vue';
import { ref, computed, reactive, provide, Ref } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { CustomButtonModalType } from '/@/enums/userEnum';
import CustomButtonModal from '/@/components/Form/src/components/CustomButtonModal.vue';
import { CustomButtonModalType } from '/@/enums/userEnum';
import CustomButtonModal from '/@/components/Form/src/components/CustomButtonModal.vue';
import { useMessage } from '/@/hooks/web/useMessage';
import { useI18n } from '/@/hooks/web/useI18n';
import { formProps ,formButtons } from './config';
import { formProps, formButtons } from './config';
import ModalForm from './Form.vue';
import { FromPageType } from '/@/enums/workflowEnum';
import { sortBy } from 'lodash-es';
import { executeCurFormEvent } from '/@/utils/event/data';
import { sortBy } from 'lodash-es';
import { executeCurFormEvent } from '/@/utils/event/data';
const emit = defineEmits(['success', 'register']);
const { notification } = useMessage();
const formRef = ref();
const isCopy = ref<boolean>(false)
const isCopy = ref<boolean>(false);
const state = reactive({
formModel: {},
isUpdate: true,
......@@ -55,40 +55,41 @@
const { t } = useI18n();
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
await handleInner(data);
await handleInner(data);
});
const getTitle = computed(() => (state.isView ? '查看' : state.isUpdate ? '编辑' : isCopy.value ? '复制数据' : '新增'));
const getTitle = computed(() =>
state.isView ? '查看' : state.isUpdate ? '编辑' : isCopy.value ? '复制数据' : '新增',
);
async function handleInner(data){
async function handleInner(data) {
state.isUpdate = !!data?.isUpdate;
state.isView = !!data?.isView;
isCopy.value = !!data?.isCopy;
setModalProps({
destroyOnClose: true,
maskClosable: false,
showCancelBtn: false,
showOkBtn: false,
canFullscreen: true,
width: 1980,
footer: state.isView ? null : undefined,defaultFullscreen:true,
width: 1980,
footer: state.isView ? null : undefined,
defaultFullscreen: true,
});
if (state.isUpdate || state.isView || isCopy.value) {
state.rowId = data.id;
if (state.isView) {
await formRef.value.setDisabledForm();
}
await formRef.value.setFormDataFromId(state.rowId);
} else {
formRef.value.resetFields();
}
}
async function saveModal() {
let saveSuccess = false;
try {
......@@ -117,9 +118,9 @@
async function handleSubmit() {
try {
const saveSuccess = await saveModal();
setModalProps({ confirmLoading: true });
if (saveSuccess) {
if (!state.isUpdate || isCopy.value) {
//false 新增
......@@ -133,34 +134,31 @@
description: t('修改成功!'),
}); //提示消息
}
closeModal();
formRef.value.resetFields();
emit('success');
}
} finally {
setModalProps({ confirmLoading: false });
}
}
function customClick(item) {
if (item.key == 'confirm') {
handleSubmit();
} else if (item.key == 'cancel' && props.formType !== 'normal') {
} else if (item.key == 'cancel') {
handleClose();
closeModal();
closeModal();
} else if (item.key == 'reset') {
formRef.value.resetFields();
} else {
executeCurFormEvent(item.event, state.formModel, true);
}
}
}
function handleClose() {
formRef.value.resetFields();
}
</script>
\ No newline at end of file
......@@ -329,6 +329,21 @@ export const columns: BasicColumn[] = [
styleConfig: undefined,
listStyle: '',
},
{
resizable: true,
dataIndex: 'p30',
title: '推质检状态',
componentType: 'select',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: '', // 保持空字符串,避免进入 listStyle 分支
customRender: ({ text }) => {
const map = { 0: '未推送', 1: '已推送' };
return map[text] !== undefined ? map[text] : text;
},
},
];
//表头合并配置
export const headerMergingData = [];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment