diff --git a/src/api/distribution/VehicleArrivalManagement.js b/src/api/distribution/VehicleArrivalManagement.js index 626ad39b..c476b8cb 100644 --- a/src/api/distribution/VehicleArrivalManagement.js +++ b/src/api/distribution/VehicleArrivalManagement.js @@ -92,3 +92,12 @@ export const postExportCarsPageList = data => { responseType: 'blob', }); }; + +/** 同步数据 */ +export const postSyncNoSystemData = data => { + return request({ + url: '/api/logpm-trunkline/carsLoad/syncNoSystemData', + method: 'post', + data, + }); +}; diff --git a/src/api/distribution/VehicleStowageDetails.js b/src/api/distribution/VehicleStowageDetails.js index 3825ebcd..a736879a 100644 --- a/src/api/distribution/VehicleStowageDetails.js +++ b/src/api/distribution/VehicleStowageDetails.js @@ -12,7 +12,7 @@ export const postloadFindLoadInitData = (data = {}) => { }; /** - * 通过名称查询仓库信息 + * 查询配载详情 */ export const postCarsLoadDetailInfo = data => { return request({ @@ -22,6 +22,17 @@ export const postCarsLoadDetailInfo = data => { }); }; +/** + * 查询配载详情 + */ +export const postCarsLoadDetailInfoNew = data => { + return request({ + url: '/api/logpm-trunkline/carsLoad/carsLoadDetailInfoNew', + method: 'post', + data, + }); +}; + /** * 配载日志 */ diff --git a/src/api/finance/CustomerSettlement.js b/src/api/finance/CustomerSettlement.js index 517a1dae..bec83446 100644 --- a/src/api/finance/CustomerSettlement.js +++ b/src/api/finance/CustomerSettlement.js @@ -14,7 +14,7 @@ export const postPageList = data => { }; /** - * 确认结算 + * 提交结算信息 * @param {*} data * @returns */ @@ -25,3 +25,16 @@ export const postCheckBalance = data => { data, }); }; + +/** + * 确认结算信息 + * @param {*} data + * @returns + */ +export const postEnterBalance = data => { + return request({ + url: '/api/logpm-statisticsdata/merchantBalance/enterBalance', + method: 'post', + data, + }); +}; diff --git a/src/option/distribution/VehicleArrivalManagement.js b/src/option/distribution/VehicleArrivalManagement.js index e81ac865..7f67e03a 100644 --- a/src/option/distribution/VehicleArrivalManagement.js +++ b/src/option/distribution/VehicleArrivalManagement.js @@ -380,7 +380,7 @@ export const columnList = [ label: '操作', type: 6, values: '', - width: '200', + width: '250', checkarr: [], fixed: 'right', sortable: false, diff --git a/src/router/views/index.js b/src/router/views/index.js index 62fae612..0aa94b1a 100644 --- a/src/router/views/index.js +++ b/src/router/views/index.js @@ -268,6 +268,17 @@ export default [ /* webpackChunkName: "views" */ '@/views/distribution/artery/VehicleStowageDetails.vue' ), }, + { + path: 'NewVehicleStowageDetails', + name: '配载详情V2', + meta: { + i18n: 'data', + }, + component: () => + import( + /* webpackChunkName: "views" */ '@/views/distribution/artery/NewVehicleStowageDetails.vue' + ), + }, { path: 'directGoMarket', name: '配置直发商家', @@ -1190,8 +1201,7 @@ export default [ name: route.query.name, id: route.query.id, }), - component: () => - import('@/views/distribution/inventory/delivery/Unstoreddetails.vue'), + component: () => import('@/views/distribution/inventory/delivery/Unstoreddetails.vue'), }, ], }, @@ -1473,7 +1483,7 @@ export default [ }, ], }, - + { path: '/aftersales/aftersalesWorkOrderInfo', component: Layout, diff --git a/src/views/distribution/artery/NewVehicleStowageDetails.vue b/src/views/distribution/artery/NewVehicleStowageDetails.vue new file mode 100644 index 00000000..23beff0d --- /dev/null +++ b/src/views/distribution/artery/NewVehicleStowageDetails.vue @@ -0,0 +1,1260 @@ + + + + + diff --git a/src/views/distribution/artery/VehicleArrivalManagement.vue b/src/views/distribution/artery/VehicleArrivalManagement.vue index 4a0b04cd..60ed26b6 100644 --- a/src/views/distribution/artery/VehicleArrivalManagement.vue +++ b/src/views/distribution/artery/VehicleArrivalManagement.vue @@ -289,6 +289,13 @@ Number(slotProps.scope.row.loadStatus) !== 100 " > + + 配载详情 + + 编辑 + + 同步数据 + + @@ -674,6 +688,7 @@ import { postUnloadByLoadId, postUnloadByLoadIdBefore, postExportCarsPageList, + postSyncNoSystemData, } from '@/api/distribution/VehicleArrivalManagement'; import { postStartCarByLoadId, @@ -911,6 +926,10 @@ const permissionObj = reactive({ VehicleArrivalManagement_ZeroLoading: computed( () => $store.getters.permission.VehicleArrivalManagement_ZeroLoading ), + /** 配载详情 */ + VehicleStowage_GoVehicleDetail: computed( + () => $store.getters.permission.VehicleStowage_GoVehicleDetail + ), }); /** 请求页面数据 */ @@ -1555,6 +1574,49 @@ const handleUnloadByLoadId = async (type: 1 | 2) => { } }; +/** 跳转配载详情 */ +const GoVehicleDetail = ({ row }) => { + $router.push({ + path: '/distribution/artery/NewVehicleStowageDetails', + query: { + loadId: row.id, + name: `${row.carsNo} - 配载详情`, + }, + }); +}; + +/** 同步数据 */ +const handleSync = ({ row }) => { + ElMessageBox.confirm('确认同步数据吗?', '', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning', + }).then(async () => { + try { + details.loadingObj.pageLoading = true; + const submitData = { + loadId: row.id, + }; + + const res = await postSyncNoSystemData(submitData); + const { code } = res.data; + if (code !== 200) { + return; + } + ElMessage({ + type: 'success', + message: '同步成功', + }); + + onLoad(); + } catch (error) { + console.log('error :>> ', error); + } finally { + details.loadingObj.pageLoading = false; + } + }); +}; + /** 显示装载清单 */ const handleShowListOfLoadedWagons = async () => { try { diff --git a/src/views/distribution/artery/VehicleStowage.vue b/src/views/distribution/artery/VehicleStowage.vue index ac5f584d..12028a14 100644 --- a/src/views/distribution/artery/VehicleStowage.vue +++ b/src/views/distribution/artery/VehicleStowage.vue @@ -264,6 +264,14 @@ " >
+ + + 配载详情 + + - 直发签收零担补录 - --> - $store.getters.permission.VehicleStowage_ZeroLoading), + /** 配载详情 */ + VehicleStowage_GoVehicleDetail: computed( + () => $store.getters.permission.VehicleStowage_GoVehicleDetail + ), }); onMounted(() => { @@ -1082,6 +1083,17 @@ const handleShowTruckLoadingDetails = ({ row }) => { // }); }; +/** 跳转配载详情 */ +const GoVehicleDetail = ({ row }) => { + $router.push({ + path: '/distribution/artery/NewVehicleStowageDetails', + query: { + loadId: row.id, + name: `${row.carsNo} - 配载详情`, + }, + }); +}; + /** 显示零担补录 */ const handleShowzeroAdditionalRecording = ({ row }, type = false) => { if (!ChecksWhetherTheWarehouseIsSelected()) diff --git a/src/views/finance/CustomerSettlement.vue b/src/views/finance/CustomerSettlement.vue index 2689bc6d..b261606a 100644 --- a/src/views/finance/CustomerSettlement.vue +++ b/src/views/finance/CustomerSettlement.vue @@ -91,7 +91,7 @@
- 导 出 +
@@ -116,6 +116,12 @@ @@ -158,7 +164,7 @@ import { getopenOrderAdvancePageList, postOpenOrderFreezeByAdvanceIds, } from '@/api/waybill/TemporaryStorageList'; -import { postPageList } from '@/api/finance/CustomerSettlement'; +import { postPageList, postEnterBalance } from '@/api/finance/CustomerSettlement'; import { downloadXls, setNodeHeight, @@ -242,8 +248,6 @@ const details = reactive({ pageSize: 30, total: 0, }, - /** 列表Dom节点 */ - listNode: '', form: {}, }); @@ -251,25 +255,13 @@ const tableNodeRef = ref(); const { search, query, shortcuts, selectionList, drawerShow, page, defaultTime2 } = toRefs(details); -/** vuex */ -const permission = computed(() => mapGetters(['permission', 'tagWel', 'tagList'])); -console.log('permission :>> ', permission); - -onMounted(() => { - const timer = setTimeout(() => { - details.listNode = document.querySelector('.maboxhi'); - details.listNode.style.transition = 'all .5s ease-out'; - clearTimeout(timer); - }, 100); -}); - /** 请求页面数据 */ const onLoad = async (params = {}) => { try { // 开启列表loading动画 details.loadingObj.list = true; const queryCopy = { ...details.query }; - await TimeProcessing(queryCopy); + TimeProcessing(queryCopy); const submitData = { ...queryCopy, ...params, ...details.page }; // 获取暂存单列表 const res = await postPageList(submitData); @@ -409,6 +401,25 @@ const ViewTransactionInformation = ({ row }) => { query: { balanceOrderInfoId: row.id, backPath: '/finance/CustomerSettlement' }, }); }; + +const handleConfirmCustomer = ({ row }) => { + ElMessageBox.confirm(`【 ${row.balanceOrderNo} 】 确认结算`, '提示', { + type: 'warning', + }).then(async () => { + try { + details.loadingObj.pageLoading = true; + const res = await postEnterBalance({ balanceOrderInfoId: row.id }); + const { code, msg } = res.data; + if (code !== 200) return; + msg && ElMessage.success(msg); + onLoad(); + } catch (error) { + console.log('error :>> ', error); + } finally { + details.loadingObj.pageLoading = false; + } + }); +};