Browse Source

销售发运代码开发

master_hella_20240701
chenfang 9 months ago
parent
commit
ee24025b0d
  1. 11
      src/api/wms/location/index.ts
  2. 16
      src/api/wms/saleShipmentDetail/index.ts
  3. 12
      src/api/wms/saleShipmentMain/index.ts
  4. 110
      src/views/wms/deliversettlementManage/deliverplan/saleMain/saleMain.data.ts
  5. 11
      src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue
  6. 91
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue
  7. 202
      src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts

11
src/api/wms/location/index.ts

@ -83,4 +83,15 @@ export const selectBusinessTypeToLocation = async (params) => {
} else {
return request.get({ url: `/wms/location/pageBusinessTypeToLocation`, params })
}
}
export const selectConfigToLocation = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/location/pageConfigToLocationSenior', data })
} else {
return request.get({ url: `/wms/location/pageConfigToLocation`, params })
}
}

16
src/api/wms/saleShipmentDetail/index.ts

@ -28,38 +28,38 @@ export const getSaleShipmentDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
return await request.post({ url: '/wms/sale-shipment-detail/senior', data })
return await request.post({ url: '/wms/sale-shipment-detail-request/senior', data })
} else {
return await request.get({ url: `/wms/sale-shipment-detail/page`, params })
return await request.get({ url: `/wms/sale-shipment-detail-request/page`, params })
}
}
// 查询销售发运申请子详情
export const getSaleShipmentDetail = async (id: number) => {
return await request.get({ url: `/wms/sale-shipment-detail/get?id=` + id })
return await request.get({ url: `/wms/sale-shipment-detail-request/get?id=` + id })
}
// 新增销售发运申请子
export const createSaleShipmentDetail = async (data: SaleShipmentDetailVO) => {
return await request.post({ url: `/wms/sale-shipment-detail/create`, data })
return await request.post({ url: `/wms/sale-shipment-detail-request/create`, data })
}
// 修改销售发运申请子
export const updateSaleShipmentDetail = async (data: SaleShipmentDetailVO) => {
return await request.put({ url: `/wms/sale-shipment-detail/update`, data })
return await request.put({ url: `/wms/sale-shipment-detail-request/update`, data })
}
// 删除销售发运申请子
export const deleteSaleShipmentDetail = async (id: number) => {
return await request.delete({ url: `/wms/sale-shipment-detail/delete?id=` + id })
return await request.delete({ url: `/wms/sale-shipment-detail-request/delete?id=` + id })
}
// 导出销售发运申请子 Excel
export const exportSaleShipmentDetail = async (params) => {
return await request.download({ url: `/wms/sale-shipment-detail/export-excel`, params })
return await request.download({ url: `/wms/sale-shipment-detail-request/export-excel`, params })
}
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/sale-shipment-detail/get-import-template' })
return request.download({ url: '/wms/sale-shipment-detail-request/get-import-template' })
}

12
src/api/wms/saleShipmentMain/index.ts

@ -64,31 +64,31 @@ export const importTemplate = () => {
}
// 关闭-销售发运申请
export const closeSaleShipmentMain = async (id) => {
export const close = async (id) => {
return await request.put({ url: `/wms/sale-shipment-main-request/close?id=` + id })
}
// 重新添加-销售发运申请
export const reAddSaleShipmentMain = async (id) => {
export const reAdd = async (id) => {
return await request.put({ url: `/wms/sale-shipment-main-request/reAdd?id=` + id })
}
// 提交审批-销售发运申请
export const submitSaleShipmentMain = async (id) => {
export const submit = async (id) => {
return await request.put({ url: `/wms/sale-shipment-main-request/submit?id=` + id })
}
// 审批驳回-销售发运申请
export const refusedSaleShipmentMain = async (id) => {
export const refused = async (id) => {
return await request.put({ url: `/wms/sale-shipment-main-request/refused?id=` + id })
}
// 审批通过-销售发运申请
export const agreeSaleShipmentMain = async (id) => {
export const agree = async (id) => {
return await request.put({ url: `/wms/sale-shipment-main-request/agree?id=` + id })
}
// 处理-销售发运申请
export const handleSaleShipmentMain = async (id) => {
export const handle = async (id) => {
return await request.put({ url: `/wms/sale-shipment-main-request/handle?id=` + id })
}

110
src/views/wms/deliversettlementManage/deliverplan/saleMain/saleMain.data.ts

@ -762,4 +762,112 @@ export const SaleDetailRules = reactive({
remark: [
{ max: 50, message: '不得超过50个字符', trigger: 'blur' }
],
})
})
/**
* @returns {Array}
*/
export const SaleDetailAndMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '销售订单号',
field: 'number',
sort: 'custom',
table: {
width: 180
},
},
{
label: '销售订单行',
field: 'lineNumber',
sort: 'custom',
table: {
width: 150
},
},
{
label: '物料代码',
field: 'itemCode',
sort: 'custom',
table: {
width: 150
},
tableForm:{
isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
}
},
{
label: '批次',
field: 'batch',
sort: 'custom',
},
{
label: '客户库位',
field: 'fromLocationCode',
sort: 'custom',
isSearch: true,
isTableForm: true,
table: {
width: 150
},
},
{
label: '数量',
field: 'orderQty',
sort: 'custom',
table: {
width: 150
},
form: {
component: 'InputNumber',
componentProps: {
min: 1,
precision: 6
}
},
tableForm: {
type: 'InputNumber',
min: 1,
precision: 6
}
},
{
label: '计量单位',
field: 'uom',
dictType: DICT_TYPE.UOM,
dictClass: 'string',
isTable: true,
sort: 'custom',
table: {
width: 150
},
tableForm: {
type: 'Select'
}
}
]))

11
src/views/wms/deliversettlementManage/saleShipmentMainRecord/index.vue

@ -150,17 +150,6 @@ const openForm = (type: string, row?: any) => {
// form
const formsSuccess = async (formType,data) => {
var isHave =SaleShipmentMainRecord.allSchemas.formSchema.some(function (item) {
return item.field === 'activeTime' || item.field === 'expireTime';
});
if(isHave){
if(data.activeTime && data.expireTime && data.activeTime >=data.expireTime){
message.error('失效时间要大于生效时间')
return;
}
}
if(data.activeTime==0)data.activeTime = null;
if(data.expireTime==0)data.expireTime = null;
if (formType === 'create') {
await SaleShipmentMainRecordApi.createSaleShipmentMainRecord(data)
message.success(t('common.createSuccess'))

91
src/views/wms/deliversettlementManage/saleShipmentMainRequest/index.vue

@ -28,7 +28,7 @@
v-model:currentPage="tableObject.currentPage"
v-model:sort="tableObject.sort"
>
<template #code="{row}">
<template #number="{row}">
<el-button type="primary" link @click="openDetail(row, '单据号', row.number)">
<span>{{ row.number }}</span>
</el-button>
@ -42,7 +42,7 @@
<!-- 表单弹窗添加/修改 -->
<BasicForm
ref="basicFormRef"
:isOpenSearchTable="true"
:isOpenSearchTable="false"
fieldTableColumn="soLine"
@success="getList"
:rules="SaleShipmentMainRules"
@ -213,23 +213,88 @@ const butttondata = (row,$index) => {
return []
}
return [
defaultButtons.mainListEditBtn({hasPermi:'wms:sale-shipment-main-request:update'}), //
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:sale-shipment-main-request:close'}), //
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:sale-shipment-main-request:reAdd'}), //
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:submit'}), //
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:refused'}), //
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:agree'}), //
defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:sale-shipment-main-request:handle'}), //
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:update'}), //
defaultButtons.mainListDeleteBtn({hasPermi:'wms:sale-shipment-main-request:delete'}), //
defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:update'}), //
defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4']),hasPermi:'wms:sale-shipment-main-request:close'}), //
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:sale-shipment-main-request:reAdd'}), //
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:sale-shipment-main-request:submit'}), //
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:refused'}), //
defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:sale-shipment-main-request:agree'}), //
defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:sale-shipment-main-request:handle'}), //
// defaultButtons.mainListDeleteBtn({hasPermi:'wms:sale-shipment-main-request:delete'}), //
]
}
const tableData = ref([])
// -
const buttonTableClick = async (val, row) => {
if (val == 'edit') { //
const buttonTableClick = async (val, row) => {
if (val == 'mainClose') { //
await message.confirm('确认要关闭吗?')
tableObject.loading = true
SaleShipmentMainApi.close(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
tableObject.loading = false
getList()
}).catch(err => {
tableObject.loading = false
console.log(err)
})
} else if (val == 'mainReAdd') { //
await message.confirm('确认要重新添加吗?')
tableObject.loading = true
SaleShipmentMainApi.reAdd(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
tableObject.loading = false
getList()
}).catch(err => {
tableObject.loading = false
console.log(err)
})
} else if (val == 'mainSubmit') { //
await message.confirm('确认要提交审批吗?')
tableObject.loading = true
SaleShipmentMainApi.submit(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
tableObject.loading = false
getList()
}).catch(err => {
tableObject.loading = false
console.log(err)
})
} else if (val == 'mainTurnDown') { //
await message.confirm('确认要驳回吗?')
tableObject.loading = true
SaleShipmentMainApi.refused(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
tableObject.loading = false
getList()
}).catch(err => {
tableObject.loading = false
console.log(err)
})
} else if (val == 'mainApprove') { //
await message.confirm('确认要审批通过吗?')
tableObject.loading = true
SaleShipmentMainApi.agree(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
tableObject.loading = false
getList()
}).catch(err => {
tableObject.loading = false
console.log(err)
})
} else if (val == 'mainHandle') { //
await message.confirm('确认要 处理吗?')
tableObject.loading = true
SaleShipmentMainApi.handle(row.masterId).then(() => {
message.success(t('common.updateSuccess'))
tableObject.loading = false
getList()
}).catch(err => {
tableObject.loading = false
console.log(err)
})
} else if (val == 'edit') { //
openForm('update', row)
} else if (val == 'delete') { //
handleDelete(row.id)

202
src/views/wms/deliversettlementManage/saleShipmentMainRequest/saleShipmentMain.data.ts

@ -5,7 +5,9 @@ import * as CustomerApi from '@/api/wms/customer'
import { Customer } from '@/views/wms/basicDataManage/customerManage/customer/customer.data'
import * as SaleDetailApi from '@/api/wms/saleDetail'
import { SaleDetail } from '@/views/wms/deliversettlementManage/deliverplan/saleMain/saleMain.data'
import { SaleDetailAndMain } from '@/views/wms/deliversettlementManage/deliverplan/saleMain/saleMain.data'
import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
@ -19,9 +21,34 @@ const queryParams = {
// 表单校验
export const SaleShipmentMainRules = reactive({
customerCode: [
{ required: true, message: '请选择客户代码', trigger: 'blur' }
],
})
export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '单据号',
field: 'number',
sort: 'custom',
isSearch: true,
isForm: false,
table: {
width: 200
},
},
{
label: '状态',
field: 'status',
sort: 'custom',
table: {
width: 150
},
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
},
{
label: '客户代码',
field: 'customerCode',
@ -48,35 +75,11 @@ export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
}
}
},
{
label: '单据号',
field: 'number',
sort: 'custom',
isSearch: true,
isForm: false,
table: {
width: 150
},
},
{
label: '业务类型',
field: 'businessType',
sort: 'custom',
isForm: false,
table: {
width: 150
},
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isForm: false,
},
{
label: '发票时间',
field: 'invoiceTime',
sort: 'custom',
isSearch: true,
table: {
width: 180
},
@ -101,26 +104,33 @@ export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
label: '地点',
field: 'siteId',
sort: 'custom',
isSearch: true,
hiddenInMain: true,
hiddenInMain: true,
},
{
label: '部门',
field: 'departmentCode',
label: '业务类型',
field: 'businessType',
sort: 'custom',
isForm: false,
},
{
label: '状态',
field: 'status',
sort: 'custom',
isTableForm: false,
table: {
width: 150
},
dictType: DICT_TYPE.REQUEST_STATUS,
dictClass: 'string',
isSearch: true,
isForm:false,
},
{
label: '备注',
field: 'remark',
sort: 'custom',
isForm: false,
isTableForm: false,
isTable: false
},
{
label: '部门',
field: 'departmentCode',
sort: 'custom',
isForm: false,
isTableForm: false,
isTable: false
},
{
label: '自动提交',
@ -220,15 +230,20 @@ export const SaleShipmentMain = useCrudSchemas(reactive<CrudSchema[]>([
}
},
isForm: false,
isTableForm: false,
isTable: false
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 150,
width: 250,
fixed: 'right'
}
},
hiddenInMain:true,
isTableForm:false,
}
]))
@ -237,30 +252,14 @@ export const SaleShipmentDetailRules = reactive({
})
export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
{
label: '单据号',
field: 'number',
sort: 'custom',
isSearch: true,
table: {
width: 180
},
isTable: false,
isTableForm: false,
form: {
componentProps: {
disabled: true
}
}
},
{
label: '销售订单号',
field: 'soNumber',
sort: 'custom',
isSearch: true,
table: {
width: 150
width: 200
},
isSearch: true,
tableForm: {
type: 'Select',
disabled: true
@ -283,12 +282,17 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
searchListPlaceholder: '请选择销售订单行',
searchField: 'lineNumber',
searchTitle: '销售订单信息',
searchAllSchemas: SaleDetail.allSchemas,
searchAllSchemas: SaleDetailAndMain.allSchemas,
searchPage: SaleDetailApi.getSaleDetailPage,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
},
{
key: 'customerCode',
value: 'customerCode',
isMainValue: true
}]
},
form: {
@ -298,7 +302,7 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
searchListPlaceholder: '请选择销售订单行',
searchField: 'lineNumber',
searchTitle: '销售订单信息',
searchAllSchemas: SaleDetail.allSchemas,
searchAllSchemas: SaleDetailAndMain.allSchemas,
searchPage: SaleDetailApi.getSaleDetailPage,
searchCondition: [{
key: 'available',
@ -314,7 +318,7 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
{
label: '物代码',
label: '物代码',
field: 'itemCode',
sort: 'custom',
isSearch: true,
@ -326,29 +330,63 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
componentProps: {
disabled: true
}
}
},
table: {
width: 150
},
},
{
label: '批次',
field: 'batch',
sort: 'custom',
isSearch: true,
},
{
label: '客户库位',
field: 'fromLocationCode',
tableForm:{
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择客户库位代码',
searchField: 'code',
searchTitle: '库位基础信息',
searchAllSchemas: Location.allSchemas,
searchPage: LocationApi.selectConfigToLocation,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
},
form: {
componentProps: {
isSearchList: true,
searchListPlaceholder: '请选择客户库位代码',
searchField: 'code',
searchTitle: '库位基础信息',
searchAllSchemas: Location.allSchemas,
searchPage: LocationApi.selectConfigToLocation,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}]
}
},
},
{
label: '从货主代码',
field: 'fromOwnerCode',
sort: 'custom',
isSearch: true,
isForm: false,
isTableForm: false
isTableForm: false,
isTable: false,
},
{
label: '包装号',
field: 'packingNumber',
sort: 'custom',
isSearch: true,
isForm: false,
isTableForm: false
isTableForm: false,
isTable: false,
},
{
@ -356,7 +394,7 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'inventoryStatus',
// dictType: DICT_TYPE.INVENTORY_STATUS,
// dictClass: 'string',
isTable: true,
isTable: false,
sort: 'custom',
table: {
width: 150
@ -365,14 +403,6 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
hiddenInMain: true,
isForm: false,
},
{
label: '客户库位',
field: 'fromLocationCode',
sort: 'custom',
isSearch: true,
isTableForm: true
},
{
label: '物品名称',
field: 'itemName',
@ -391,7 +421,8 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
isForm: false,
isTableForm: false
isTableForm: false,
isTable: false,
},
{
label: '物品描述2',
@ -401,13 +432,13 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150
},
isForm: false,
isTableForm: false
isTableForm: false,
isTable: false,
},
{
label: '项目代码',
field: 'projectCode',
sort: 'custom',
isSearch: true,
isTableForm: false,
hiddenInMain: true,
},
@ -415,7 +446,9 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
label: '开票数量',
field: 'qty',
sort: 'custom',
isSearch: true,
table: {
width: 150
},
},
{
label: '计量单位',
@ -441,7 +474,7 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
label: '备注',
field: 'remark',
sort: 'custom',
isSearch: true,
isTable: false,
isTableForm: false
},
{
@ -449,7 +482,6 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
@ -459,11 +491,13 @@ export const SaleShipmentDetail = useCrudSchemas(reactive<CrudSchema[]>([
}
},
isForm: false,
isTableForm: false
isTableForm: false,
isTable: false,
},
{
label: '操作',
field: 'action',
isDetail: false,
isForm: false,
table: {
width: 150,

Loading…
Cancel
Save