Commit 93e3e08e by wuqian

Merge branch 'dev'

parents 6a68ee79 4c2202fb
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
"@wangeditor/editor": "^5.1.23", "@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.6.7", "axios": "^1.6.7",
"bignumber.js": "^9.3.0",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"element-plus": "^2.6.0", "element-plus": "^2.6.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
...@@ -2606,6 +2607,14 @@ ...@@ -2606,6 +2607,14 @@
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
}, },
"node_modules/bignumber.js": {
"version": "9.3.0",
"resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.3.0.tgz",
"integrity": "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==",
"engines": {
"node": "*"
}
},
"node_modules/binary-extensions": { "node_modules/binary-extensions": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
"@wangeditor/editor": "^5.1.23", "@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12", "@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.6.7", "axios": "^1.6.7",
"bignumber.js": "^9.3.0",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"element-plus": "^2.6.0", "element-plus": "^2.6.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
......
import { BasePaginationData, BaseRespData } from '@/types/api' import { BasePaginationData, BaseRespData, RejectParams } from '@/types/api'
import axios from './axios' import axios from './axios'
import { PaymentForm } from '@/types/api/index.ts'
import { import {
LogListData, LogListData,
OrderData, OrderData,
...@@ -12,11 +13,14 @@ import { ...@@ -12,11 +13,14 @@ import {
InspectionData, InspectionData,
} from '@/types/api/order' } from '@/types/api/order'
import { import {
apiSubmitPodOrderForm,
DeliveryNoteData, DeliveryNoteData,
DeliveryNoteSearchForm, DeliveryNoteSearchForm,
DetailForm, DetailForm,
LogListsData,
ProductionOrder, ProductionOrder,
ShipmentOrderDetailData, ShipmentOrderDetailData,
updatePriceForm,
} from '@/types/api/deliveryNote' } from '@/types/api/deliveryNote'
import { import {
AccountStatementNote, AccountStatementNote,
...@@ -251,6 +255,21 @@ export function customJomallReconciliation( ...@@ -251,6 +255,21 @@ export function customJomallReconciliation(
) )
} }
export function podReconciliationList(
data: AccountStatementNoteSearchForm,
currentPage: number,
pageSize: number,
) {
return axios.post<never, BasePaginationData<AccountStatementNote>>(
'pod/podReconciliation/list',
{
...data,
currentPage,
pageSize,
},
)
}
export function printDeliveryNote(data: string[], userMark?: string) { export function printDeliveryNote(data: string[], userMark?: string) {
return axios.post<never, BaseRespData<never>>( return axios.post<never, BaseRespData<never>>(
'factory/customJomallShipment/printInvoiceStatistics', 'factory/customJomallShipment/printInvoiceStatistics',
...@@ -302,6 +321,17 @@ export function getReconciliationAmount(id?: number) { ...@@ -302,6 +321,17 @@ export function getReconciliationAmount(id?: number) {
) )
} }
export function podReconciliation(id?: number) {
return axios.get<never, BaseRespData<CountStatus[]>>(
'pod/podReconciliation/groupCount',
{
params: {
id,
},
},
)
}
export function getCustomJomallReconciliationById(id?: number) { export function getCustomJomallReconciliationById(id?: number) {
return axios.get<never, BaseRespData<OrderData>>( return axios.get<never, BaseRespData<OrderData>>(
'factory/customJomallReconciliation/getById', 'factory/customJomallReconciliation/getById',
...@@ -337,17 +367,97 @@ export function exportExcelApi(ids: string) { ...@@ -337,17 +367,97 @@ export function exportExcelApi(ids: string) {
}, },
}) })
} }
export function exportPodExcelApi(ids: string) {
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/exportExcel',
{
params: {
ids,
},
},
)
}
export function getShipmentDetailsById(data: DetailForm) { export function getShipmentDetailsById(data: DetailForm) {
return axios.post<never, BasePaginationData<BillOrderDetailData>>( return axios.post<never, BasePaginationData<BillOrderDetailData>>(
'reconciliation/getItemList', 'reconciliation/getItemList',
data, data,
) )
} }
export function apiupdateByPodExcel(formData: never) {
return axios.post('pod/podReconciliation/updateByExcel', formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
})
}
export function apiRejectedPodReconciliation(params?: RejectParams) {
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/rejectedLocal',
params,
)
}
export function getPodShipmentDetailsById(data: DetailForm) {
return axios.post<never, BasePaginationData<BillOrderDetailData>>(
'pod/podReconciliation/getItemList',
data,
)
}
export function apiLogList(id?: number) {
return axios.get<never, BaseRespData<LogListsData[]>>(
'pod/podReconciliation/getLog',
{ params: { id } },
)
}
export function apiItemLogList(id?: number) {
return axios.get<never, BaseRespData<LogListsData[]>>(
'pod/podReconciliation/getItemLog',
{ params: { id } },
)
}
export function apiSubmitPodOrder(params: apiSubmitPodOrderForm) {
return axios.get<never, BaseRespData<ShipmentOrderDetailData>>(
'pod/podReconciliation/create',
{ params },
)
}
export function apiPodBillSubmit(ids: number[]) {
return axios.post<never, BaseRespData<ShipmentOrderDetailData>>(
'pod/podReconciliation/submission',
{ ids },
)
}
export function apiPodUpdatePrice(data: updatePriceForm) {
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/updatePrice',
{ params: data },
)
}
export function updateRecPrice(data: updatePriceForm) {
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/updateRecPrice',
{ params: data },
)
}
export function getLogListApi(id?: number) { export function getLogListApi(id?: number) {
return axios.get<never, BaseRespData<LogList[]>>('reconciliation/getLog', { return axios.get<never, BaseRespData<LogList[]>>('reconciliation/getLog', {
params: { id }, params: { id },
}) })
} }
export function getPodLogListApi(id?: number) {
return axios.get<never, BaseRespData<LogList[]>>(
'pod/podReconciliation/getLog',
{
params: { id },
},
)
}
export function auditOrderApi(url: string, data: string) { export function auditOrderApi(url: string, data: string) {
return axios.get(url, { return axios.get(url, {
params: { params: {
...@@ -369,6 +479,37 @@ export function getShipmentOrderDetailById(id?: number | string) { ...@@ -369,6 +479,37 @@ export function getShipmentOrderDetailById(id?: number | string) {
export function confirmOrderApi(data: ConfirmOrderForm) { export function confirmOrderApi(data: ConfirmOrderForm) {
return axios.post<never, BaseRespData<never>>('reconciliation/confirm', data) return axios.post<never, BaseRespData<never>>('reconciliation/confirm', data)
} }
export function confirmPodOrderApi(data: ConfirmOrderForm) {
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/confirm',
data,
)
}
export function apiRejectionOfReview({
ids,
description,
recNumbers,
}: {
ids: string
recNumbers: string
description: string
}) {
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/rejectionOfReview',
{
ids,
description,
recNumbers,
},
)
}
export function apiBillPodPayment(data: PaymentForm) {
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/payment',
data,
)
}
export function rejectOrderApi({ export function rejectOrderApi({
ids, ids,
description, description,
......
...@@ -103,3 +103,9 @@ export function productionQueryApi(id: number, podJomallOrderUsId: number) { ...@@ -103,3 +103,9 @@ export function productionQueryApi(id: number, podJomallOrderUsId: number) {
}, },
) )
} }
export function printProductionOrderApi(orderIds: number[]) {
return axios.post<never, BaseRespData<string>>(
'factory/podJomallOrderUs/printProducePdf',
orderIds,
)
}
...@@ -16,6 +16,7 @@ import { getToken } from '@/api/axios' ...@@ -16,6 +16,7 @@ import { getToken } from '@/api/axios'
import UserPage from '@/views/UserPage.vue' import UserPage from '@/views/UserPage.vue'
import DeliveryNotePage from '@/views/DeliveryNotePage.vue' import DeliveryNotePage from '@/views/DeliveryNotePage.vue'
import AccountStatementNote from '@/views/AccountStatementNote.vue' import AccountStatementNote from '@/views/AccountStatementNote.vue'
import PodBillOrder from '@/views/podBillOrder/index.vue'
import TypeseetingManagement from '@/views/typesetting/TypesettingManagement.vue' import TypeseetingManagement from '@/views/typesetting/TypesettingManagement.vue'
import PodOrderList from '@/views/order/pod/index.vue' import PodOrderList from '@/views/order/pod/index.vue'
import PodDeliveryNoteList from '@/views/order/pod/deliveryOrderList.vue' import PodDeliveryNoteList from '@/views/order/pod/deliveryOrderList.vue'
...@@ -88,9 +89,15 @@ const router = createRouter({ ...@@ -88,9 +89,15 @@ const router = createRouter({
{ {
path: '/account/statement-note', path: '/account/statement-note',
meta: { meta: {
title: '对账单', title: '定制对账单',
}, },
component: AccountStatementNote, component: AccountStatementNote,
},{
path: '/account/pod-bill-order',
meta: {
title: 'POD对账单',
},
component: PodBillOrder,
}, },
{ {
path: '/typesetting-management/list', path: '/typesetting-management/list',
......
...@@ -35,9 +35,21 @@ const menu: MenuItem[] = [ ...@@ -35,9 +35,21 @@ const menu: MenuItem[] = [
}, },
{ {
index: '/account/statement-note', index: '11',
id: 3, id: 3,
label: '对账单', label: '对账单',
children: [
{
index: '/account/statement-note',
id: 1,
label: '定制对账单',
},
{
index: '/account/pod-bill-order',
id: 2,
label: 'POD对账单',
},
],
}, },
{ {
index: '2', index: '2',
......
...@@ -10,17 +10,26 @@ export interface AccountStatementNoteSearchForm { ...@@ -10,17 +10,26 @@ export interface AccountStatementNoteSearchForm {
status?: number | string | null status?: number | string | null
dateRange?: string[] dateRange?: string[]
billNumber?: string billNumber?: string
subOrderNumber?: string
shipmentNumber?: string
recNumber?: string recNumber?: string
orderNumber?: string
factory_status?: string factory_status?: string
erp_status?: string erp_status?: string
startTime?: string
start_time?: string start_time?: string
endTime?: string
end_time?: string end_time?: string
orderNumber?: string
} }
export interface AccountStatementNote { export interface AccountStatementNote {
create_time?: string create_time?: string
product_total_amount?: number
craft_total_amount?: number
pass_num?: number pass_num?: number
factory_code?: string factory_code?: string
total_amount?: string | number
actual_amount?: string | number
num?: number num?: number
end_time?: string end_time?: string
rec_number?: string rec_number?: string
...@@ -35,6 +44,9 @@ export interface AccountStatementNote { ...@@ -35,6 +44,9 @@ export interface AccountStatementNote {
id?: number id?: number
erp_total_amount?: number erp_total_amount?: number
dataVersion: '' dataVersion: ''
water_list?: {
url: string | undefined
}[]
} }
export interface BillOrderDetailData { export interface BillOrderDetailData {
create_time?: string create_time?: string
...@@ -59,11 +71,13 @@ export interface BillOrderDetailData { ...@@ -59,11 +71,13 @@ export interface BillOrderDetailData {
export interface LogList { export interface LogList {
create_time?: string create_time?: string
employee_id?: number
info_id?: number info_id?: number
description?: string
id: string id: string
diy_id: number
employee_account?: string employee_account?: string
employee_name?: string
employee_id?: string
description?: string
} }
export interface ItemList { export interface ItemList {
...@@ -85,5 +99,5 @@ export interface ItemList { ...@@ -85,5 +99,5 @@ export interface ItemList {
export interface ConfirmOrderForm { export interface ConfirmOrderForm {
pass?: number | null pass?: number | null
description?: string description?: string
ids?:string ids?: string
} }
...@@ -182,11 +182,46 @@ export interface DbFactory { ...@@ -182,11 +182,46 @@ export interface DbFactory {
authorize_number?: number authorize_number?: number
status?: number status?: number
} }
export interface LogListsData {
id: number
diy_id: number
employee_account?: string
employee_name?: string
employee_id?: string
description?: string
create_time?: string
}
export interface LogListData {
id?: string | number | null
infoId?: number
employeeId?: number
employeeAccount?: string
description?: string
createTime?: string
}
export interface DetailForm { export interface DetailForm {
billNumber?: string billNumber?: string
orderNumber?:string orderNumber?: string
shipmentNumber?: string
dateRange?: string[]
endTime?: string
startTime?: string
subOrderNumber?: string subOrderNumber?: string
rows?: number rows?: number
page?: number page?: number
pageSize?: number
infoId?: number
}
export interface BillForm {
timeRange: [string, string] | []
}
export interface apiSubmitPodOrderForm {
startDate?: string
endDate?: string
}
export interface updatePriceForm {
ids?: string
infoId?: number infoId?: number
price?: string
} }
export interface BaseRespData<D> { export interface BaseRespData<D> {
code: number code: number
message?: string message?: string
...@@ -7,6 +6,8 @@ export interface BaseRespData<D> { ...@@ -7,6 +6,8 @@ export interface BaseRespData<D> {
export interface PaginationData<D> { export interface PaginationData<D> {
page?: PaginationData<D> page?: PaginationData<D>
craftPrice?: string
costPrice?: string
total: number total: number
size: number size: number
current: number current: number
...@@ -28,3 +29,21 @@ export interface Statistics<D> { ...@@ -28,3 +29,21 @@ export interface Statistics<D> {
export type BasePaginationData<D> = BaseRespData<PaginationData<D>> export type BasePaginationData<D> = BaseRespData<PaginationData<D>>
export type StatisticsData<D> = BaseRespData<Statistics<D>> export type StatisticsData<D> = BaseRespData<Statistics<D>>
export interface baseRes {
code: number
msg: string
}
export interface PaymentForm {
waterList: string
id?: number | string
actualAmount?: number | string
payableAmount?: number | string
recNumber?: number | string
}
export interface RejectParams {
id: number
description?: string
ids?: string
pass?: number
}
...@@ -94,12 +94,15 @@ ...@@ -94,12 +94,15 @@
<span v-if="status === 'EXCEPTION'" class="item"> <span v-if="status === 'EXCEPTION'" class="item">
<ElButton type="success" @click="updateOrder"> 更新 </ElButton> <ElButton type="success" @click="updateOrder"> 更新 </ElButton>
</span> </span>
<span v-if="status === 'IN_PRODUCTION'" class="item">
<ElButton type="primary" @click="printProductionOrder"> 打印生产单 </ElButton>
</span>
<span v-if="status === 'TO_BE_CONFIRMED'" class="item"> <span v-if="status === 'TO_BE_CONFIRMED'" class="item">
<ElButton type="warning" @click="changeExceptionOrder"> <ElButton type="warning" @click="changeExceptionOrder">
转为异常单 转为异常单
</ElButton> </ElButton>
</span> </span>
<span v-if="status !== 'IN_PRODUCTION'" class="item"> <span v-if="status === 'TO_BE_CONFIRMED' || status === 'EXCEPTION'" class="item">
<ElButton type="danger" @click="cancelOrder">取消</ElButton> <ElButton type="danger" @click="cancelOrder">取消</ElButton>
</span> </span>
<span v-if="status !== 'IN_PRODUCTION'" class="item"> <span v-if="status !== 'IN_PRODUCTION'" class="item">
...@@ -512,6 +515,7 @@ import { ...@@ -512,6 +515,7 @@ import {
getOperationLogApi, getOperationLogApi,
downloadMaterialApi, downloadMaterialApi,
updateExceptionOrderApi, updateExceptionOrderApi,
printProductionOrderApi,
} from '@/api/podUsOrder' } from '@/api/podUsOrder'
import TableView from '@/components/TableView.vue' import TableView from '@/components/TableView.vue'
import { import {
...@@ -723,7 +727,22 @@ const updateOrder = async () => { ...@@ -723,7 +727,22 @@ const updateOrder = async () => {
console.error(e) console.error(e)
} }
} }
const printProductionOrder = async () => {
if (cardSelection.value.length === 0) {
return ElMessage.warning('请选择数据')
}
const orderIds = cardSelection.value.map((item) => item.id)
try {
const res = await printProductionOrderApi(orderIds)
if (res.code !== 200) return
ElMessage.success('操作成功')
window.open(filePath + res.message)
search()
loadTabData()
} catch (e) {
console.error(e)
}
}
const changeExceptionOrder = async () => { const changeExceptionOrder = async () => {
if (selection.value.length === 0) { if (selection.value.length === 0) {
return ElMessage.warning('请选择数据') return ElMessage.warning('请选择数据')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment