diff --git a/gslk-wms-web-client/src/router/helper/menuHelper.ts b/gslk-wms-web-client/src/router/helper/menuHelper.ts index 3670929..7639623 100644 --- a/gslk-wms-web-client/src/router/helper/menuHelper.ts +++ b/gslk-wms-web-client/src/router/helper/menuHelper.ts @@ -70,6 +70,7 @@ export function transformRouteToMenu(routeModList: AppRouteModule[], routerMappi meta: node.meta, name: title, hideMenu, + tag: node.tag, path: node.path, ...(node.redirect ? { redirect: node.redirect } : {}), } diff --git a/gslk-wms-web-client/src/router/helper/routeHelper.ts b/gslk-wms-web-client/src/router/helper/routeHelper.ts index 52e001f..7643b5b 100644 --- a/gslk-wms-web-client/src/router/helper/routeHelper.ts +++ b/gslk-wms-web-client/src/router/helper/routeHelper.ts @@ -78,6 +78,7 @@ export function transformObjToRoute(routeList: AppRouteModul meta.single = true meta.affix = false route.meta = meta + route.tag = route.tag } } else { warn('请正确配置路由:' + route?.name + '的component属性') diff --git a/gslk-wms-web-client/src/router/types.ts b/gslk-wms-web-client/src/router/types.ts index 6756b97..a7e474f 100644 --- a/gslk-wms-web-client/src/router/types.ts +++ b/gslk-wms-web-client/src/router/types.ts @@ -16,6 +16,7 @@ export interface AppRouteRecordRaw extends Omit { children?: AppRouteRecordRaw[] props?: Recordable fullPath?: string + tag?: MenuTag } export interface MenuTag { diff --git a/gslk-wms-web-client/src/views/system/company/index.vue b/gslk-wms-web-client/src/views/system/company/index.vue index 8eee2ce..2508608 100644 --- a/gslk-wms-web-client/src/views/system/company/index.vue +++ b/gslk-wms-web-client/src/views/system/company/index.vue @@ -87,15 +87,16 @@ console.log(main, files) - const postData = reactive({ - id: main.id, - address: main.address, - phone: main.phone, - chief: main.chief, - email: main.email, - cardfiles: files.cardfiles, - licensefiles: files.licensefiles, - }) + var postData = Object.assign({}, main, { cardfiles: files.cardfiles, licensefiles: files.licensefiles, }) + // const postData = reactive({ + // id: main.id, + // address: main.address, + // phone: main.phone, + // chief: main.chief, + // email: main.email, + // cardfiles: files.cardfiles, + // licensefiles: files.licensefiles, + // }) await editClientCompany(postData).then((res) => { if (res.succeeded) { notification.success({ message: res.message, duration: 3 }) @@ -117,7 +118,7 @@ var main = getFieldsValue() // var files = getFileFieldsValue(); - await submitCompany({ id: main.id }).then((res) => { + await submitCompany({ id: main.gid }).then((res) => { if (res.succeeded) { notification.success({ message: res.message, duration: 3 }) setProps({ submitButtonOptions: { loading: false } }) diff --git a/gslk-wms-web-server/src/api/common/index.ts b/gslk-wms-web-server/src/api/common/index.ts index ff682bf..4c5b691 100644 --- a/gslk-wms-web-server/src/api/common/index.ts +++ b/gslk-wms-web-server/src/api/common/index.ts @@ -45,6 +45,20 @@ enum Api { getInfoClientList = '/Common/GetInfoClientList', getSecurityUserTypeList = '/Common/getSecurityUserTypeList', getFeeList = '/Common/GetFeeList', + getStoreHouseSelect = '/Common/GetStoreHouseSelect', + getCollectWarningCount = '/Common/GetCollectWarningCount', +} +export function getCollectWarningCount() { + return request({ + url: Api.getCollectWarningCount, + method: 'get', + }) +} +export function getStoreHouseSelect() { + return request>({ + url: Api.getStoreHouseSelect, + method: 'get', + }) } export function getFeeList(query: { code: string }) { return request({ diff --git a/gslk-wms-web-server/src/api/wms/wmsinplan.ts b/gslk-wms-web-server/src/api/wms/wmsinplan.ts index abfeb5d..b152071 100644 --- a/gslk-wms-web-server/src/api/wms/wmsinplan.ts +++ b/gslk-wms-web-server/src/api/wms/wmsinplan.ts @@ -8,6 +8,7 @@ enum Api { getInfo = '/WmsInPlan/GetWmsInPlanInfo', editInfo = '/WmsInPlan/EditWmsInPlanInfo', auditInfo = '/WmsInPlan/AuditWmsInPlan', + getFeeRateList = '/WmsInPlan/GetWmsInPlanFeeRateList', } export function getList(data: PageRequest) { return request({ @@ -30,6 +31,13 @@ export function getWmsInPlanGoodslist(query: { id: string }) { params: query, }) } +export function getFeeRateList(query: { id: string }) { + return request({ + url: Api.getFeeRateList, + method: 'get', + params: query, + }) +} export function editInfo(data: any) { return request({ url: Api.editInfo, diff --git a/gslk-wms-web-server/src/router/helper/menuHelper.ts b/gslk-wms-web-server/src/router/helper/menuHelper.ts index 3670929..7639623 100644 --- a/gslk-wms-web-server/src/router/helper/menuHelper.ts +++ b/gslk-wms-web-server/src/router/helper/menuHelper.ts @@ -70,6 +70,7 @@ export function transformRouteToMenu(routeModList: AppRouteModule[], routerMappi meta: node.meta, name: title, hideMenu, + tag: node.tag, path: node.path, ...(node.redirect ? { redirect: node.redirect } : {}), } diff --git a/gslk-wms-web-server/src/router/helper/routeHelper.ts b/gslk-wms-web-server/src/router/helper/routeHelper.ts index 52e001f..3ae3621 100644 --- a/gslk-wms-web-server/src/router/helper/routeHelper.ts +++ b/gslk-wms-web-server/src/router/helper/routeHelper.ts @@ -78,12 +78,14 @@ export function transformObjToRoute(routeList: AppRouteModul meta.single = true meta.affix = false route.meta = meta + route.tag = route.tag } } else { warn('请正确配置路由:' + route?.name + '的component属性') } route.children && asyncImportRoute(route.children) }) + // console.log('转化路由',routeList) return routeList as unknown as T[] } diff --git a/gslk-wms-web-server/src/router/types.ts b/gslk-wms-web-server/src/router/types.ts index 6756b97..a7e474f 100644 --- a/gslk-wms-web-server/src/router/types.ts +++ b/gslk-wms-web-server/src/router/types.ts @@ -16,6 +16,7 @@ export interface AppRouteRecordRaw extends Omit { children?: AppRouteRecordRaw[] props?: Recordable fullPath?: string + tag?: MenuTag } export interface MenuTag { diff --git a/gslk-wms-web-server/src/store/modules/permission.ts b/gslk-wms-web-server/src/store/modules/permission.ts index 4a82c32..e7e86a3 100644 --- a/gslk-wms-web-server/src/store/modules/permission.ts +++ b/gslk-wms-web-server/src/store/modules/permission.ts @@ -223,8 +223,9 @@ export const usePermissionStore = defineStore({ // await this.changePermissionCode() // routeList = (await getMenuList()) as AppRouteRecordRaw[] const res = await getMenuList() - // console.log('后台返回路由', res); + // console.log('后台返回路由', res) routeList = res.data as AppRouteRecordRaw[] + // console.log('后台返回路由1', routeList) } catch (error) { console.error(error) } diff --git a/gslk-wms-web-server/src/store/modules/user.ts b/gslk-wms-web-server/src/store/modules/user.ts index 01e0b86..9ea8354 100644 --- a/gslk-wms-web-server/src/store/modules/user.ts +++ b/gslk-wms-web-server/src/store/modules/user.ts @@ -15,9 +15,10 @@ import { h } from 'vue' import { Storage } from '/@/utils/Storage' import { CurrentUserViewModel, LoginParams } from '/@/api/common/Model' -import { getUserInfo, login, userLogout } from '/@/api/common' +import { getUserInfo, login, userLogout, getCollectWarningCount } from '/@/api/common' import { DataResult } from '/@/api/model/baseModel' import { initDictOptions } from '/@/utils/dictUtil' +import { getThermometryWarningCount } from '/@/api/security/hkopen' interface UserState { userInfo: Nullable @@ -110,12 +111,17 @@ export const useUserStore = defineStore({ if (!this.getToken) return null // get user info const userInfo = await this.getUserInfoAction() + const res: API.DataResult = await getCollectWarningCount() + console.log(res) const sessionTimeout = this.sessionTimeout + + console.log(sessionTimeout) if (sessionTimeout) { this.setSessionTimeout(false) } else { const permissionStore = usePermissionStore() + if (!permissionStore.isDynamicAddedRoute) { const routes = await permissionStore.buildRoutesAction() routes.forEach((route) => { diff --git a/gslk-wms-web-server/src/views/baseinfo/clientaudit/ClientModal.vue b/gslk-wms-web-server/src/views/baseinfo/clientaudit/ClientModal.vue index c3cd1ea..0ccaf28 100644 --- a/gslk-wms-web-server/src/views/baseinfo/clientaudit/ClientModal.vue +++ b/gslk-wms-web-server/src/views/baseinfo/clientaudit/ClientModal.vue @@ -98,7 +98,7 @@ const postData = reactive({ id: values.gid, status: values.status, - auditNote: values.auditNote, + auditNote: values.auditNote === null ? '通过' : values.auditNote, }) createConfirm({ iconType: 'warning', diff --git a/gslk-wms-web-server/src/views/baseinfo/clientaudit/columns.tsx b/gslk-wms-web-server/src/views/baseinfo/clientaudit/columns.tsx index a3c3c8b..c07c01a 100644 --- a/gslk-wms-web-server/src/views/baseinfo/clientaudit/columns.tsx +++ b/gslk-wms-web-server/src/views/baseinfo/clientaudit/columns.tsx @@ -54,11 +54,12 @@ export const columns: BasicColumn[] = [ dataIndex: 'tel', width: 100, }, - // { - // title: '审批时间', - // dataIndex: 'auditTime', - // width: 120, - // }, + { + title: '审批时间', + dataIndex: 'auditTime', + width: 100, + sorter: true, + }, ] export const searchFormSchema: FormSchema[] = [ diff --git a/gslk-wms-web-server/src/views/baseinfo/clientaudit/index.vue b/gslk-wms-web-server/src/views/baseinfo/clientaudit/index.vue index 45f7fa8..7c2c57f 100644 --- a/gslk-wms-web-server/src/views/baseinfo/clientaudit/index.vue +++ b/gslk-wms-web-server/src/views/baseinfo/clientaudit/index.vue @@ -59,7 +59,7 @@ }) } else { postParam.pageCondition.sortConditions.push({ - sortField: 'shortname', + sortField: 'auditTime', listSortDirection: 0, }) } diff --git a/gslk-wms-web-server/src/views/baseinfo/goodsaudit/GoodsAuditModal.vue b/gslk-wms-web-server/src/views/baseinfo/goodsaudit/GoodsAuditModal.vue index fc70291..afe5b13 100644 --- a/gslk-wms-web-server/src/views/baseinfo/goodsaudit/GoodsAuditModal.vue +++ b/gslk-wms-web-server/src/views/baseinfo/goodsaudit/GoodsAuditModal.vue @@ -181,7 +181,7 @@ const postData = reactive({ id: values.gid, status: values.status, - auditNote: values.auditNote, + auditNote: values.auditNote === null ? '通过' : values.auditNote, }) createConfirm({ iconType: 'warning', diff --git a/gslk-wms-web-server/src/views/baseinfo/goodsaudit/columns.tsx b/gslk-wms-web-server/src/views/baseinfo/goodsaudit/columns.tsx index d740248..8c80751 100644 --- a/gslk-wms-web-server/src/views/baseinfo/goodsaudit/columns.tsx +++ b/gslk-wms-web-server/src/views/baseinfo/goodsaudit/columns.tsx @@ -70,6 +70,12 @@ export const columns: BasicColumn[] = [ return text }, }, + { + title: '审批时间', + dataIndex: 'auditTime', + width: 100, + sorter: true, + }, { title: '审批备注', dataIndex: 'auditNote', diff --git a/gslk-wms-web-server/src/views/fee/feerate/FeeRateDetail.vue b/gslk-wms-web-server/src/views/fee/feerate/FeeRateDetail.vue index 0319b62..207f207 100644 --- a/gslk-wms-web-server/src/views/fee/feerate/FeeRateDetail.vue +++ b/gslk-wms-web-server/src/views/fee/feerate/FeeRateDetail.vue @@ -172,7 +172,7 @@ diff --git a/gslk-wms-web-server/src/views/wms/storequery/api.ts b/gslk-wms-web-server/src/views/wms/storequery/api.ts new file mode 100644 index 0000000..9d96c8f --- /dev/null +++ b/gslk-wms-web-server/src/views/wms/storequery/api.ts @@ -0,0 +1,13 @@ +// @ts-ignore +import { request } from '/@/utils/request' +import { DataResult, PageRequest } from '/@/api/model/baseModel' +enum Api { + list = '/StoreQuery/GetWmsStoreList', +} +export function getList(data: PageRequest) { + return request({ + url: Api.list, + method: 'post', + data, + }) +} diff --git a/gslk-wms-web-server/src/views/wms/storequery/columns.tsx b/gslk-wms-web-server/src/views/wms/storequery/columns.tsx new file mode 100644 index 0000000..956aa50 --- /dev/null +++ b/gslk-wms-web-server/src/views/wms/storequery/columns.tsx @@ -0,0 +1,325 @@ + +import { Tag } from 'ant-design-vue' +import { BasicColumn, FormSchema } from '/@/components/Table' +import { formatToDate, formatToDateTime } from '/@/utils/dateUtil' +import dayjs from 'dayjs' +import { getStoreHouseSelect } from '/@/api/common' +export const columns: BasicColumn[] = [ + { + title: 'wmsphysicsid', + dataIndex: 'wmsphysicsid', + ifShow: false, + }, + { + title: 'wmsid', + dataIndex: 'wmsid', + ifShow: false, + }, + { + title: '客户名称', + dataIndex: 'customername', + width: 100, + }, + { + title: '仓库', + dataIndex: 'storehousename', + width: 100, + }, + { + title: '品名', + dataIndex: 'goodsname', + width: 100, + }, + { + title: '规格型号', + dataIndex: 'goodsmodel', + width: 80, + }, + { + title: '库位', + dataIndex: 'areacodename', + width: 100, + }, + { + title: '毛重', + dataIndex: 'kgs', + width: 50, + }, + { + title: '体积', + dataIndex: 'cbm', + width: 50, + }, + { + title: '件数', + dataIndex: 'pkgs', + width: 100, + }, + { + title: '计费数量', + dataIndex: 'storageunitcount', + width: 100, + }, + { + title: '锁定数量', + dataIndex: 'lockstorageunitcount', + width: 100, + }, + { + title: '是否保税', + dataIndex: 'billtype', + width: 60, + customRender: ({ text }) => { + if (text === '0') { + return + } else if (text === '1') { + return + } + return text + }, + }, + { + title: '提单号', + dataIndex: 'mblno', + width: 100, + }, + { + title: '入库日期', + dataIndex: 'startdate', + width: 80, + customRender: ({ text }) => { + return formatToDate(text) + }, + }, +] +export const searchFormSchema: FormSchema[] = [ + { + field: 'STOREHOUSE', + label: '仓库:', + component: 'ApiSelect', + colProps: { span: 8 }, + componentProps: { + // mode: 'multiple', + api: getStoreHouseSelect, + resultField: 'data', + }, + }, + { + field: 'CUSTOMERNAME', + label: '客户名称:', + component: 'Input', + colProps: { span: 8 }, + }, + { + field: 'GOODSNAME', + label: '品名:', + component: 'Input', + colProps: { span: 8 }, + }, + { + field: 'MBLNO', + label: '提单号:', + component: 'Input', + colProps: { span: 8 }, + }, + { + field: 'PinYinCode', + label: '助记码:', + component: 'Input', + colProps: { span: 8 }, + }, +] +export const formSchema: FormSchema[] = [ + { + field: 'divider-selects', + component: 'Divider', + label: '基本信息', + colProps: { + span: 24, + }, + }, + { + label: '', + field: 'wmsplanid', + component: 'Input', + defaultValue: '', + show: false, + }, + { + label: '', + field: 'corpid', + component: 'Input', + defaultValue: '', + show: false, + }, + { + label: '', + field: 'clientId', + component: 'Input', + defaultValue: '', + show: false, + }, + { + label: '', + field: 'goodsowner', + component: 'Input', + defaultValue: '', + show: false, + }, + { + label: '', + field: 'customername', + component: 'Input', + defaultValue: '', + show: false, + }, + { + label: '', + field: 'storehouse', + component: 'Input', + defaultValue: '', + show: false, + }, + { + field: 'wmsno', + label: '出库单号', + component: 'Input', + defaultValue: '', + colProps: { + span: 8, + }, + componentProps: { + disabled: true, + }, + }, + { + field: 'plantime', + label: '预约出库日期', + component: 'DatePicker', + required: true, + defaultValue: dayjs(), + colProps: { + span: 8, + }, + componentProps: { + disabledDate: (current: dayjs.Dayjs) => { + return current && current < dayjs().add(-1, 'day').endOf('day') + }, + }, + }, + { + field: 'customno', + label: '出区报关单号', + component: 'Input', + colProps: { + span: 8, + }, + componentProps: {}, + }, + { + field: 'kindpkgs', + label: '包装方式', + component: 'RadioButtonGroup', + defaultValue: '托盘', + required: true, + colProps: { span: 8 }, + componentProps: { + options: [ + { label: '包', value: '包' }, + { label: '托盘', value: '托盘' }, + { label: '散装', value: '散装' }, + ], + }, + }, + { + field: 'storehousename', + label: '仓库', + component: 'Input', + required: true, + colProps: { + span: 8, + }, + slot: 'storehouseSelectSlot', + }, + { + field: 'goodsname', + label: '商品名称', + component: 'Input', + colProps: { + span: 8, + }, + componentProps: { + disabled: true, + }, + }, + { + field: 'goodsmodel', + label: '规格型号', + component: 'Input', + colProps: { + span: 8, + }, + componentProps: { + disabled: true, + }, + }, + { + field: 'truckno', + label: '承运车辆', + component: 'Input', + colProps: { + span: 8, + }, + componentProps: { + disabled: true, + }, + }, + { + field: 'remark', + label: '备注', + component: 'InputTextArea', + colProps: { span: 20 }, + componentProps: { + placeholder: '', + rows: 4, + }, + }, + { + field: 'divider-audit', + component: 'Divider', + label: '审批信息', + colProps: { + span: 24, + }, + ifShow: ({ values }) => { + // return !!(values.auditStatus === -1) + return !!values.wmsplanid + }, + }, + { + field: 'auditNote', + label: '审核意见', + component: 'InputTextArea', + colProps: { span: 20 }, + componentProps: { + disabled: true, + rows: 2, + }, + ifShow: ({ values }) => { + return !!values.wmsplanid + }, + }, + { + field: 'auditStatus', + label: '审核状态', + component: 'Input', + defaultValue: -1, + colProps: { + span: 8, + }, + ifShow: ({ values }) => { + return !!values.wmsplanid + }, + slot: 'auditStatusSlot', + }, +] diff --git a/gslk-wms-web-server/src/views/wms/storequery/index.vue b/gslk-wms-web-server/src/views/wms/storequery/index.vue new file mode 100644 index 0000000..13a6407 --- /dev/null +++ b/gslk-wms-web-server/src/views/wms/storequery/index.vue @@ -0,0 +1,152 @@ + + diff --git a/gslk-wms-web-server/src/views/wms/wmsclearance/columns.tsx b/gslk-wms-web-server/src/views/wms/wmsclearance/columns.tsx index d658bfe..be388a8 100644 --- a/gslk-wms-web-server/src/views/wms/wmsclearance/columns.tsx +++ b/gslk-wms-web-server/src/views/wms/wmsclearance/columns.tsx @@ -108,6 +108,12 @@ export const columns: BasicColumn[] = [ return text }, }, + { + title: '审批时间', + dataIndex: 'auditTime', + width: 100, + sorter: true, + }, { title: '审批备注', dataIndex: 'auditNote', diff --git a/gslk-wms-web-server/src/views/wms/wmsinplan/WmsInPlanVxeModal.vue b/gslk-wms-web-server/src/views/wms/wmsinplan/WmsInPlanVxeModal.vue index 0595acd..16963cf 100644 --- a/gslk-wms-web-server/src/views/wms/wmsinplan/WmsInPlanVxeModal.vue +++ b/gslk-wms-web-server/src/views/wms/wmsinplan/WmsInPlanVxeModal.vue @@ -7,14 +7,40 @@ width="80%" @ok="handleSave" > - - - - 预约入库明细 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +