diff --git a/src/api/wms/purchaseClaimRequestDetail/index.js b/src/api/wms/purchaseClaimRequestDetail/index.js new file mode 100644 index 000000000..2f57b1133 --- /dev/null +++ b/src/api/wms/purchaseClaimRequestDetail/index.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 创建采购索赔子 +export function createPurchaseClaimRequestDetail(data) { + return request({ + url: '/request/purchase-claim-request-detail/create', + method: 'post', + data: data + }) +} + +// 更新采购索赔子 +export function updatePurchaseClaimRequestDetail(data) { + return request({ + url: '/request/purchase-claim-request-detail/update', + method: 'put', + data: data + }) +} + +// 删除采购索赔子 +export function deletePurchaseClaimRequestDetail(id) { + return request({ + url: '/request/purchase-claim-request-detail/delete?id=' + id, + method: 'delete' + }) +} + +// 获得采购索赔子 +export function getPurchaseClaimRequestDetail(id) { + return request({ + url: '/request/purchase-claim-request-detail/get?id=' + id, + method: 'get' + }) +} + +// 获得采购索赔子分页 +export function getPurchaseClaimRequestDetailPage(query) { + return request({ + url: '/request/purchase-claim-request-detail/page', + method: 'get', + params: query + }) +} + +// 导出采购索赔子 Excel +export function exportPurchaseClaimRequestDetailExcel(query) { + return request({ + url: '/request/purchase-claim-request-detail/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/src/api/wms/purchaseClaimRequestMain/index.ts b/src/api/wms/purchaseClaimRequestMain/index.ts new file mode 100644 index 000000000..4e8df1b59 --- /dev/null +++ b/src/api/wms/purchaseClaimRequestMain/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface PurchaseClaimRequestMainVO { + id: number + number: string + supplierCode: string + claimTime: Date + status: string + supplierinvoiceNumber: string + remark: string + available: string + siteId: string + concurrencyStamp: string +} + +// 查询采购索赔主列表 +export const getPurchaseClaimRequestMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchaseClaim-request-main/senior', data }) + } else { + return await request.get({ url: `/wms/purchaseClaim-request-main/page`, params }) + } +} + +// 查询采购索赔主详情 +export const getPurchaseClaimRequestMain = async (id: number) => { + return await request.get({ url: `/wms/purchaseClaim-request-main/get?id=` + id }) +} + +// 新增采购索赔主 +export const createPurchaseClaimRequestMain = async (data: PurchaseClaimRequestMainVO) => { + return await request.post({ url: `/wms/purchaseClaim-request-main/create`, data }) +} + +// 修改采购索赔主 +export const updatePurchaseClaimRequestMain = async (data: PurchaseClaimRequestMainVO) => { + return await request.put({ url: `/wms/purchaseClaim-request-main/update`, data }) +} + +// 删除采购索赔主 +export const deletePurchaseClaimRequestMain = async (id: number) => { + return await request.delete({ url: `/wms/purchaseClaim-request-main/delete?id=` + id }) +} + +// 导出采购索赔主 Excel +export const exportPurchaseClaimRequestMain = async (params) => { + return await request.download({ url: `/wms/purchaseClaim-request-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchaseClaim-request-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/supplierManage/purchaseClaim/purchaseClaimRequest/index.vue b/src/views/wms/supplierManage/purchaseClaim/purchaseClaimRequest/index.vue new file mode 100644 index 000000000..ee6472517 --- /dev/null +++ b/src/views/wms/supplierManage/purchaseClaim/purchaseClaimRequest/index.vue @@ -0,0 +1,336 @@ + + + diff --git a/src/views/wms/supplierManage/purchaseClaim/purchaseClaimRequest/purchaseClaimRequestMain.data.ts b/src/views/wms/supplierManage/purchaseClaim/purchaseClaimRequest/purchaseClaimRequestMain.data.ts new file mode 100644 index 000000000..66e1effc6 --- /dev/null +++ b/src/views/wms/supplierManage/purchaseClaim/purchaseClaimRequest/purchaseClaimRequestMain.data.ts @@ -0,0 +1,332 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { TableColumn } from '@/types/table' + +import { dateFormatter } from '@/utils/formatTime' +import * as getRequestsettingApi from '@/api/wms/requestsetting/index' + +const { t } = useI18n() // 国际化 + +// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 +const queryParams = { + pageSize:10, + pageNo:1, + code:'PurchaseClaimRequest' +} + const data = await getRequestsettingApi.getRequestsettingPage(queryParams) + const requestsettingData =data?.list[0]||{} + + // 获取当前操作人的部门 +import { useUserStore } from '@/store/modules/user' +const userStore = useUserStore() +const userDept = userStore.userSelfInfo.dept + // id 转str 否则form回显匹配不到 + userDept.id = userDept.id.toString() +const userDeptArray:any = [userDept] + +/** + * @returns {Array} 采购索赔申请主表 + */ +export const PurchaseClaimRequestMain = useCrudSchemas(([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + isSearch: true, + }, + { + label: '索赔时间', + field: 'claimTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + //0:新增1:已关闭2:审批中3:审批驳回4:审批通过5:开票中6:已完成 + { + label: '状态', + field: 'status', + sort: 'custom', + isSearch: true, + form: { + component: 'Radio' + }, + }, + { + label: '供应商发票申请单号', + field: 'supplierinvoiceNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isForm: false, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + }, + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isForm: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 300, + fixed: 'right' + }, + } +])) + +//表单校验 +export const PurchaseClaimRequestMainRules = reactive({ + // requestNumber: [ + // { required: true, message: '请选择申请单号', trigger: 'change' } + // ], + departmentCode: [ + { required: true, message: '请输入部门', trigger: 'blur' } + ], + autoCommit: [ + { required: true, message: '请选择是否自动提交', trigger: 'change' } + ], + autoAgree: [ + { required: true, message: '请选择是否自动通过', trigger: 'change' } + ], + autoExecute: [ + { required: true, message: '请选择是否自动执行', trigger: 'change' } + ], + directCreateRecord: [ + { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' } + ], + // businessType: [ + // { required: true, message: '请输入业务类型', trigger: 'blur' } + // ], +}) + +/** + * @returns {Array} 采购索赔申请子表 + */ +export const PurchaseClaimRequestDetail = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180 + }, + isTableForm: false, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + type: 'Select' + } + }, + { + label: '索赔数量', + field: 'claimQty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 1, + precision: 6 + } + }, + tableForm: { + type: 'InputNumber', + min: 1, + precision: 6 + } + }, + { + label: '索赔金额', + field: 'claimAmount', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 1, + precision: 6 + } + }, + tableForm: { + type: 'InputNumber', + min: 1, + precision: 6 + } + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isTableForm: false, + isForm: false + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + isTable:false, + table: { + width: 150, + fixed: 'right' + }, + isTableForm:false, + } +])) + +//表单校验 +export const PurchaseClaimRequestDetailRules = reactive({ + countDetailNumber: [ + { required: true, message: '请输入盘点明细号', trigger: 'blur' } + ], + packingNumber: [ + { required: true, message: '请选择包装号', trigger: 'change' } + ], + batch: [ + { required: true, message: '请输入批次', trigger: 'blur' } + ], + locationCode: [ + { required: true, message: '请选择库位代码', trigger: 'change' } + ], + inventoryStatus: [ + { required: true, message: '请选择库存状态', trigger: 'change' } + ], + inventoryQty: [ + { required: true, message: '请输入库存数量', trigger: 'blur' } + ], + countQty: [ + { required: true, message: '请输入盘点数量', trigger: 'blur' } + ], + adjustQty: [ + { required: true, message: '请输入调整数量', trigger: 'blur' } + ], + // number: [ + // { required: true, message: '请输入单据号', trigger: 'blur' } + // ], + itemCode: [ + { required: true, message: '请选择物料代码', trigger: 'change' } + ], +})