diff --git a/src/api/wms/modelDeliTime/index.ts b/src/api/wms/modelDeliTime/index.ts new file mode 100644 index 000000000..e49b95341 --- /dev/null +++ b/src/api/wms/modelDeliTime/index.ts @@ -0,0 +1,53 @@ +import request from '@/config/axios' + +export interface SupplierAddrDeliTimeDetailVO { + id: number + masterId: number + code: string + shift: string +} + +// 查询供应商地点便次时间配置明细列表 +export const getSupplierAddrDeliTimeDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/model-deli-time-detail/senior', data }) + } else { + return await request.get({ url: `/wms/model-deli-time-detail/page`, params }) + } +} + +// 查询供应商地点便次时间配置明细详情 +export const getSupplierAddrDeliTimeDetail = async (id: number) => { + return await request.get({ url: `/wms/model-deli-time-detail/get?id=` + id }) +} + +// 新增供应商地点便次时间配置明细 +export const createSupplierAddrDeliTimeDetail = async (data: SupplierAddrDeliTimeDetailVO) => { + return await request.post({ url: `/wms/model-deli-time-main/create`, data }) +} + +// 修改供应商地点便次时间配置明细 +export const updateSupplierAddrDeliTimeDetail = async (data: SupplierAddrDeliTimeDetailVO) => { + return await request.put({ url: `/wms/model-deli-time-main/update`, data }) +} + +// 删除供应商地点便次时间配置明细 +export const deleteSupplierAddrDeliTimeDetail = async (id: number) => { + return await request.delete({ url: `/wms/model-deli-time-detail/delete?id=` + id }) +} + +// 导出供应商地点便次时间配置明细 Excel +export const exportSupplierAddrDeliTimeDetail = async (params) => { + return await request.download({ url: `/wms/model-deli-time-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/model-deli-time-detail/get-import-template' }) +} +// 查询受入号 +export const getSupplierAddrList = async () => { + return await request.get({ url: `/wms/itembasic/getModel` }) +} \ No newline at end of file diff --git a/src/api/wms/supplierDeliMain/index.ts b/src/api/wms/supplierDeliMain/index.ts index a6afa73a2..8756b3308 100644 --- a/src/api/wms/supplierDeliMain/index.ts +++ b/src/api/wms/supplierDeliMain/index.ts @@ -57,7 +57,5 @@ const getPageParams = (params)=>{ } // 查询供应商便次配置列表 export const getPageTableHead = async (params) => { - // params = getPageParams(params) - console.log('params',params) return await request.get({ url: `/wms/supplier-deli-main/queryPageTableHead`, params }) } \ No newline at end of file diff --git a/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/deliveryCalendar.data.ts b/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/deliveryCalendar.data.ts index 7883de010..48078b0cc 100644 --- a/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/deliveryCalendar.data.ts +++ b/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/deliveryCalendar.data.ts @@ -2,6 +2,7 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import * as SupplierApi from '@/api/wms/supplier' import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' +import { formatDate } from '@/utils/formatTime' // 表单校验 export const DeliveryCalendarRules = reactive({ @@ -76,12 +77,22 @@ export const DeliveryCalendar = useCrudSchemas( sort: 'custom', isSearch: true }, - { - label: '日期', - field: 'day', - sort: 'custom', - isSearch: true - }, + { + label: '日期', + field: 'yearAndMonth', + sort: 'custom', + isTable: false, + isForm: false, + isSearch: true, + search: { + component: 'DatePicker', + value: formatDate(new Date(),'YYYYMM'), + componentProps: { + type: 'month', + valueFormat: 'YYYYMM', + } + } + }, { label: '操作', field: 'action', diff --git a/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/index.vue b/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/index.vue index 44051e688..3085fa857 100644 --- a/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/index.vue +++ b/src/views/wms/basicDataManage/supplierManage/deliveryCalendar/index.vue @@ -32,6 +32,10 @@ {{ row.code }} + @@ -65,6 +69,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import * as SupplierDeliMainApi from '@/api/wms/supplierDeliMain' defineOptions({ name: 'DeliveryCalendar' }) @@ -74,6 +79,7 @@ const { t } = useI18n() // 国际化 const route = useRoute() // 路由信息 const routeName = ref() routeName.value = route.name +const orginTableColumns = ref(DeliveryCalendar.allSchemas.tableColumns) const tableColumns = ref(DeliveryCalendar.allSchemas.tableColumns) // 查询页面返回 @@ -89,9 +95,9 @@ const searchTableSuccess = (formField, searchField, val, formRef) => { } // 字段设置 更新主列表字段 -const updataTableColumns = (val) => { - tableColumns.value = val -} +// const updataTableColumns = (val) => { +// tableColumns.value = val +// } const { tableObject, tableMethods } = useTable({ getListApi: DeliveryCalendarApi.getDeliveryCalendarPage // 分页接口 @@ -102,9 +108,9 @@ const { getList, setSearchParams } = tableMethods // 列表头部按钮 const HeadButttondata = [ - defaultButtons.defaultAddBtn({hasPermi:'wms:delivery-calendar:create'}), // 新增 + // defaultButtons.defaultAddBtn({hasPermi:'wms:delivery-calendar:create'}), // 新增 defaultButtons.defaultImportBtn({hasPermi:'wms:delivery-calendar:import'}), // 导入 - defaultButtons.defaultExportBtn({hasPermi:'wms:delivery-calendar:export'}), // 导出 + defaultButtons.defaultExportBtn(null), // 导出 defaultButtons.defaultFreshBtn(null), // 刷新 defaultButtons.defaultFilterBtn(null), // 筛选 defaultButtons.defaultSetBtn(null), // 设置 @@ -238,8 +244,42 @@ const searchFormClick = (searchData) => { getList() // 刷新当前列表 } +const { tableObject:tableObjectHead, tableMethods:tableMethodsHead } = useTable({ + getListApi: SupplierDeliMainApi.getPageTableHead // 分页接口 +}) + +// 获得表格的各种操作 +const { getList: getListHead, setSearchParams: setSearchParamsHead } = tableMethodsHead +const dateColumns = ref([]) +watch(()=>tableObjectHead.tableList,()=>{ + updateDateTableColumns() +},{deep:true}) +const updateDateTableColumns = ()=>{ + console.log('tableObjectHead', tableObjectHead) + dateColumns.value = [] + if(tableObjectHead.tableList.length>10){ + tableObjectHead.tableList.forEach(item=>{ + dateColumns.value.push({ + width:120, + field: item, + label: item + }) + }) + }else{ + tableObjectHead.tableList.forEach(item=>{ + dateColumns.value.push({ + field: item, + label: item + }) + }) + } + tableColumns.value = [...orginTableColumns.value,...dateColumns.value] + console.log('tableColumns',tableColumns.value) +} + /** 初始化 **/ onMounted(async () => { + getListHead() getList() importTemplateData.templateUrl = await DeliveryCalendarApi.importTemplate() }) diff --git a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue new file mode 100644 index 000000000..6145a5a1c --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue @@ -0,0 +1,426 @@ + + + \ No newline at end of file diff --git a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts new file mode 100644 index 000000000..5a0ec76aa --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts @@ -0,0 +1,295 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as SupplierApi from '@/api/wms/supplier' +// import {Supplier} from '@/basicDataManage/supplierManage/supplier/supplier.data' +import { Supplier } from '../supplier/supplier.data' +import { DeliTimeWms } from '../DeliTimeWms/deliTimeWms.data' +import * as DeliTimeWmsApi from '@/api/wms/deliTimeWms' + +// 表单校验 +export const ModelDeliTimeDetailRules = reactive({ + model: [required], + yearAndMonth: [required], + delayDeli: [required], +}) + +function getMonthArr() { + let dateArr = []; + let year = new Date().getFullYear(); + let month = new Date().getMonth(); + const n = 12 + if (n < month) { + //1.nmonth的情况 + for (let i = (12 - (n - month) + 1); i <= 12; i++) { + let m1 = i < 10 ? "0" + i : i; + dateArr.push({ + label: year + '-' + m1, + value: year + '-' + m1 + }); + } + for (let i = 1; i <= month; i++) { + let m1 = i < 10 ? "0" + i : i; + dateArr.push({ + label: (parseFloat(year) + 1) + '-' + m1, + value: (parseFloat(year) + 1) + '-' + m1, + }); + } + } + return dateArr; +} + +export const ModelDeliTime = useCrudSchemas(reactive([ + // { + // label: '供应商代码', + // field: 'supplierCode', + // sort: 'custom', + // isSearch: true, + // form: { + // // labelMessage: '信息提示说明!!!', + // componentProps: { + // isSearchList: true, // 开启查询弹窗 + // enterSearch: true, + // searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 + // searchField: 'number', // 查询弹窗赋值字段 + // searchTitle: '供应商', // 查询弹窗标题 + // searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + // searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 + // searchCondition: [ + // { + // key: 'available', + // value: "TRUE", + // isMainValue: false + // } + // ], + // // 失去焦点校验参数 + // verificationParams: [{ + // key: 'code', + // action: '==', + // value: '', + // isMainValue: false, + // isSearch: 'true', + // isFormModel: true, + // }] + // } + // } + // }, + // { + // label: '供应商名称', + // field: 'supplierName', + // sort: 'custom', + // form :{ + // componentProps:{ + // disabled:true + // } + // }, + // }, + { + label: '受入号', + field: 'modelShow', + sort: 'custom', + isSearch: true, + isTable: false, + isDetail: false, + form: { + component: 'Select', + componentProps: { + multiple: true, + collapseTags: true, + collapseTagsTooltip: true, + maxCollapseTags: "2", + optionsAlias: { + labelField: 'label', + valueField: 'value' + } + } + } + }, + { + label: '受入号', + field: 'model', + sort: 'custom', + isTable: true, + isDetail: true, + isForm: false, + }, + { + label: '年月', + field: 'yearAndMonthShow', + sort: 'custom', + isTable: false, + isDetail: false, + form: { + component: 'Select', + api: () => getMonthArr(), + componentProps: { + multiple: true, + collapseTags: true, + collapseTagsTooltip: true, + maxCollapseTags:"2", + optionsAlias: { + labelField: 'label', + valueField: 'value' + } + } + } + }, + { + label: '年月', + field: 'yearAndMonth', + sort: 'custom', + isTable: true, + isDetail: true, + isForm: false, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + type: 'month', + valueFormat: 'YYYY-MM', + } + }, + }, + { + label: '延后便次', + field: 'delayDeli', + sort: 'custom', + form: { + component: 'InputNumber', + value: 0, + }, + }, + { + label: '班次', + field: 'shift', + sort: 'custom', + isForm: false, + dictType: DICT_TYPE.SHIFT, + dictClass: 'string', + }, + { + label: '编号', + field: 'code', + sort: 'custom', + isForm: false, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + 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')] + } + }, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + +export const ModelDeliTimeDetail = useCrudSchemas(reactive([ + { + label: '编号', + field: 'code', + sort: 'custom', + isForm: false, + tableForm:{ + multiple: true,//多选 + isInpuFocusShow: false, // 开启查询弹窗 + disabled:true, + searchListPlaceholder: '请选择便次时间配置',// 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '便次时间配置', // 查询弹窗标题 + searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类 + searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + action: '==', + isSearch: true, + isMainValue: false + }, + ], + verificationPage: DeliTimeWmsApi.getDeliTimePage, // tableForm下方输入框校验失去焦点之后是否正确的方法 + // isShowTableFormSearch: true, //tableForm下方是否出现输入框 + verificationParams: [{ + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + disabled:true, + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择品番', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '供应商物料信息', // 查询弹窗标题 + searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类 + searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + }, + ], + verificationParams: [ + { + key: 'itemCode', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '班次', + field: 'shift', + sort: 'custom', + isForm: false, + tableForm:{ + disabled:true, + } + }, + { + label: '开始时间', + field: 'beginTime', + sort: 'custom', + isForm: false, + formatter: dateFormatter, + tableForm:{ + disabled:true, + formatter: dateFormatter, + } + }, +])) \ No newline at end of file diff --git a/src/views/wms/basicDataManage/supplierManage/supplierAddressModelDeli/supplierAddressModelDeli.data.ts b/src/views/wms/basicDataManage/supplierManage/supplierAddressModelDeli/supplierAddressModelDeli.data.ts index 00d76cbf4..559bcde37 100644 --- a/src/views/wms/basicDataManage/supplierManage/supplierAddressModelDeli/supplierAddressModelDeli.data.ts +++ b/src/views/wms/basicDataManage/supplierManage/supplierAddressModelDeli/supplierAddressModelDeli.data.ts @@ -5,9 +5,10 @@ import { SupplierAddrDeliTime } from '@/views/wms/basicDataManage/supplierManage // 表单校验 export const SupplierAddressModelDeliRules = reactive({ + supplierCode: [required], + supplierAddress: [required], yearAndMonth: [required], shift: [required], - deliNo: [required], concurrencyStamp: [required], modelShow: [required], }) @@ -137,11 +138,14 @@ export const SupplierAddressModelDeli = useCrudSchemas( { label: '便次数', field: 'deliNo', - sort: 'custom', - isSearch: true, + isForm: true, form: { - component: 'InputNumber', - value: 0 + componentProps: { + disabled: true + } + }, + table: { + width: 250 } }, { diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue index aa4c3e850..809b58447 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue @@ -814,7 +814,7 @@ const butttondata = (row, $index) => { }, // defaultButtons.mainListDeleteBtn({hasPermi:'wms:supplierinvoice-request-main:delete'}), // 删除 { - label: t('ts.打印'), + label: t('打印对账单'), name: 'mian_print', hide: !(row.goldenTaxInvoiceNumber != null && row.goldenTaxInvoiceNumber != ''), type: 'primary',