Commit dc9252f9 by zhuzhequan

Merge remote-tracking branch 'remotes/origin/wq' into zzq_bill_order

# Conflicts:
#	src/api/warehouse.ts
#	src/router/index.ts
#	src/router/menu.ts
parents 1379c57f 4a56b804
......@@ -57,6 +57,7 @@ declare module 'vue' {
SplitDiv: typeof import('./src/components/splitDiv/splitDiv.vue')['default']
TableRightMenu: typeof import('./src/components/TableRightMenu.vue')['default']
TableView: typeof import('./src/components/TableView.vue')['default']
UploadExcel: typeof import('./src/components/UploadExcel.vue')['default']
UploadImage: typeof import('./src/components/UploadImage.vue')['default']
WangEditor: typeof import('./src/components/WangEditor.vue')['default']
}
......
import { BasePaginationData, BaseRespData, RejectParams } from '@/types/api'
import axios from './axios'
import {PaymentForm} from '@/types/api/index.ts'
import { PaymentForm } from '@/types/api/index.ts'
import {
LogListData,
OrderData,
......@@ -16,9 +16,12 @@ import {
apiSubmitPodOrderForm,
DeliveryNoteData,
DeliveryNoteSearchForm,
DetailForm, LogListsData,
DetailForm,
LogListsData,
ProductionOrder,
ShipmentOrderDetailData, updatePriceForm,
ShipmentOrderDetailData,
updatePriceForm,
IUpdatePrice,
} from '@/types/api/deliveryNote'
import {
AccountStatementNote,
......@@ -80,7 +83,16 @@ export function reCreateScriptUrlApi(id: number) {
},
)
}
export function apiGetCraftGroup(id?: number | string) {
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/getCraftGroup',
{
params: {
id,
},
},
)
}
// 打印生产单
export function printOrder(ids: number[]) {
return axios.post<never, BaseRespData<never>>(
......@@ -131,7 +143,27 @@ export function qaFinishedApi(data: InspectionData[]) {
data,
)
}
export function apiSetCraftData({
id,
craftTotalPrice,
recNumber,
craftPriceList,
}: {
id: number | undefined
craftTotalPrice: number | undefined
recNumber:string|undefined
craftPriceList: IUpdatePrice[]
}) {
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/setCraftData',
{
id,
recNumber,
craftTotalPrice,
craftPriceList,
},
)
}
// 发货保存
export function saveOrder(
sumbitSendOutList: ShipmentOrderRes[],
......@@ -366,11 +398,14 @@ export function exportExcelApi(ids: string) {
})
}
export function exportPodExcelApi(ids: string) {
return axios.get<never, BaseRespData<never>>('pod/podReconciliation/exportExcel', {
params: {
ids,
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/exportExcel',
{
params: {
ids,
},
},
})
)
}
export function getShipmentDetailsById(data: DetailForm) {
return axios.post<never, BasePaginationData<BillOrderDetailData>>(
......@@ -382,12 +417,14 @@ 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)
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/rejectedLocal',
params,
)
}
export function getPodShipmentDetailsById(data: DetailForm) {
return axios.post<never, BasePaginationData<BillOrderDetailData>>(
......@@ -396,27 +433,45 @@ export function getPodShipmentDetailsById(data: DetailForm) {
)
}
export function apiLogList(id?: number) {
return axios.get<never,BaseRespData<LogListsData[]>>('pod/podReconciliation/getLog', { params:{id} })
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} })
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 })
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})
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 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 updateRecPrice(data: updatePriceForm) {
return axios.get<never, BaseRespData<never>>(
'pod/podReconciliation/updateRecPrice',
{ params: data },
)
}
export function getLogListApi(id?: number) {
......@@ -426,9 +481,12 @@ export function getLogListApi(id?: number) {
}
export function getPodLogListApi(id?: number) {
return axios.get<never, BaseRespData<LogList[]>>('pod/podReconciliation/getLog', {
params: { id },
})
return axios.get<never, BaseRespData<LogList[]>>(
'pod/podReconciliation/getLog',
{
params: { id },
},
)
}
export function auditOrderApi(url: string, data: string) {
return axios.get(url, {
......@@ -453,11 +511,34 @@ export function confirmOrderApi(data: ConfirmOrderForm) {
}
export function confirmPodOrderApi(data: ConfirmOrderForm) {
return axios.post<never, BaseRespData<never>>('pod/podReconciliation/confirm', data)
return axios.post<never, BaseRespData<never>>(
'pod/podReconciliation/confirm',
data,
)
}
export function apiBillPodPayment(data:PaymentForm) {
return axios.get<never, BaseRespData<never>>('pod/podReconciliation/payment', { params: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({
ids,
......@@ -474,4 +555,3 @@ export function rejectOrderApi({
pass,
})
}
import { BasePaginationData, BaseRespData } from '@/types/api'
import {
ProductList,
PodUsOrderListData,
SearchForm,
Tab,
LogListData,
} from '@/types/api/podUsOrder'
import axios from './axios'
export function getOrderTabData() {
return axios.get<never, BaseRespData<Tab[]>>(
'/factory/podJomallOrderUs/findStateGroupList',
)
}
export function getOrderList(
params: SearchForm,
currentPage: number,
pageSize: number,
) {
return axios.post<never, BasePaginationData<PodUsOrderListData[]>>(
'/factory/podJomallOrderUs/list_page',
{
...params,
currentPage,
pageSize,
},
)
}
export function getCardOrderList(
params: SearchForm,
currentPage: number,
pageSize: number,
) {
return axios.post<never, BasePaginationData<ProductList[]>>(
'/factory/podJomallOrderProductUs/list_page',
{
...params,
currentPage,
pageSize,
},
)
}
export function confirmOrderApi(data: number[]) {
return axios.post<never, BaseRespData<never>>(
'factory/podJomallOrderUs/confirmOrders',
data,
)
}
export function updateExceptionOrderApi(data: number[]) {
return axios.post<never, BaseRespData<never>>(
'factory/podJomallOrderUs/updateExceptionOrders',
{
orderIds: data,
},
)
}
export function changeExceptionOrderApi(ids: number[], value: string) {
return axios.post<never, BaseRespData<never>>(
'factory/podJomallOrderUs/exceptionOrders',
{
orderIds: ids,
exceptionReason: value,
},
)
}
export function cancelOrderApi(ids: number[], value: string) {
return axios.post<never, BaseRespData<never>>(
'factory/podJomallOrderUs/cancelOrders',
{
orderIds: ids,
cancelReason: value,
},
)
}
export function getOperationLogApi(id: number) {
return axios.get<never, BaseRespData<LogListData[]>>(
`factory/podJomallOrderUsLog/getPodJomallOrderUsLog?id=${id}`,
)
}
export function getSubOrderBySubOrderNumber(factorySubOrderNumber: string) {
return axios.get<never, BaseRespData<ProductList>>(
'factory/podJomallOrderProductUs/getProductUsByFactorySubOrderNumber',
{
params: {
factorySubOrderNumber,
},
},
)
}
export function downloadMaterialApi(id: Array<number>) {
return axios.post<never, BaseRespData<Array<string>>>(
'factory/podJomallOrderProductUs/downloadDesignImages',
id,
)
}
export function productionQueryApi(id: number, podJomallOrderUsId: number) {
return axios.post<never, BasePaginationData<never>>(
'factory/podJomallOrderProductUs/completeDelivery',
{
id,
podJomallOrderUsId,
},
)
}
export function printProductionOrderApi(orderIds: number[]) {
return axios.post<never, BaseRespData<string>>(
'factory/podJomallOrderUs/printProducePdf',
orderIds,
)
}
import axios from '@/api/axios.ts'
import { BasePaginationData, BaseRespData } from '@/types/api'
export interface factoryWarehouseInfo{
pageSize:number
currentPage:number
total?:number
import {
warehouseSearchForm,
InterWarehousePage,
InterWarehouseTree,
InterskuList,
InterWarehouseList,
ILocation,
InRecordEditForm
} from '@/types/api/warehouse'
export interface factoryWarehouseInfo {
pageSize: number
currentPage: number
total?: number
warehouseId?: string;
locationName?: string;
remark?: string;
......@@ -67,26 +76,26 @@ export interface positionFormInfo{
status: number
}
interface WarehouseWarningData {
id: number;
factoryId: number;
warehouseId: number;
warehouseName: string;
warehouseLocationId: number;
locationName: string;
warehouseSku: string;
skuName: string;
unit: string;
occupyInventory: number;
freezeInventory: number;
inventory: number;
upperLimit: number;
floorLimit: number;
productNumber: string;
itemSort: number;
dataVersion: number;
status: number;
createTime: string;
updateTime: string;
id: number
factoryId: number
warehouseId: number
warehouseName: string
warehouseLocationId: number
locationName: string
warehouseSku: string
skuName: string
unit: string
occupyInventory: number
freezeInventory: number
inventory: number
upperLimit: number
floorLimit: number
productNumber: string
itemSort: number
dataVersion: number
status: number
createTime: string
updateTime: string
}
export function getFactoryLocation(data: factoryWarehouseInfo) {
return axios.post<never, BasePaginationData<positionInfo>>(
......@@ -108,10 +117,10 @@ export function getWarehouseInventoryInfo(data: WarehouseInventory) {
data,
)
}
export function createWarehouseApi(data:warehouseInfo) {
export function createWarehouseApi(data: warehouseInfo) {
return axios.post<never, BaseRespData<never>>(
'/factoryWarehouseInfo/add',
data
data,
)
}
......@@ -128,16 +137,16 @@ export function warehouseInfoGetAll() {
)
}
export function createWarehouseInventoryApi(data:WarehouseWarningData) {
export function createWarehouseInventoryApi(data: WarehouseWarningData) {
return axios.post<never, BaseRespData<never>>(
'/factoryWarehouseInventory/add',
data
data,
)
}
export function updateWarehouseApi(data:positionInfo | UpdateDefaulted) {
export function updateWarehouseApi(data: positionInfo | UpdateDefaulted) {
return axios.post<never, BaseRespData<never>>(
'/factoryWarehouseInfo/update',
data
data,
)
}
......@@ -153,33 +162,98 @@ export function updatePositionStatusApi(data: UpdateStatus) {
{ params:data },
)
}
export function updateWarehouseInventoryApi(data:WarehouseWarningData) {
export function updateWarehouseInventoryApi(data: WarehouseWarningData) {
return axios.post<never, BaseRespData<never>>(
'/factoryWarehouseInventory/update',
data
data,
)
}
export function deleteWarehouseApi(ids:string) {
export function deleteWarehouseApi(ids: string) {
return axios.get<never, BaseRespData<never>>('/factoryWarehouseInfo/delete', {
params: { ids },
})
}
export function deleteLocationApi(ids:string) {
return axios.get<never, BaseRespData<never>>(
'/factoryWarehouseInfo/delete',
'/factoryWarehouseLocation/delete',
{
params:{ids}
},
)
}
export function deleteLocationApi(ids:string) {
export function deleteWarehouseInventory(ids: string) {
return axios.get<never, BaseRespData<never>>(
'/factoryWarehouseLocation/delete',
'/factoryWarehouseInventory/delete',
{
params:{ids}
params: { ids },
},
)
}
// 入库单
export function warehouseInRecordListPage(
data: warehouseSearchForm,
currentPage: number,
pageSize: number,
) {
return axios.post<never, BasePaginationData<InterWarehousePage>>(
'/factory/warehouseInRecord/list_page',
{
...data,
currentPage,
pageSize,
},
)
}
export function deleteWarehouseInventory(ids:string) {
export function addInRecordApi(form: InRecordEditForm) {
return axios.post<never, BaseRespData<never>>('factory/warehouseInRecord/add', {
...form,
})
}
export function updateInRecordApi(form: InRecordEditForm) {
return axios.post<never, BaseRespData<never>>('factory/warehouseInRecord/update', {
...form,
})
}
export function getWarehouseInRecordDetail(id: number) {
return axios.get<never, BaseRespData<never>>(
'/factoryWarehouseInventory/delete',
'factory/warehouseInRecord/get',
{
params:{ids}
params: {
id,
},
},
)
}
export function getBySku(warehouseId: number, sku: string | null) {
return axios.get<never, BaseRespData<InterskuList[]>>(
'customProductItem/getBySku',
{
params: {
warehouseId,
sku,
},
},
)
}
export function getByWareHouseIdAndCode(wareHouseId: number, code: string | null) {
return axios.get<never, BaseRespData<ILocation[]>>(
'factoryWarehouseLocation/getByWareHouseIdAndCode',
{
params: {
wareHouseId,
code,
},
},
)
}
export function getWarehouseStatusTree() {
return axios.get<never, BaseRespData<InterWarehouseTree[]>>(
'factory/warehouseInRecord/status_tree',
)
}
export function getWarehouseListApi() {
return axios.get<never, BaseRespData<InterWarehouseList[]>>(
'factoryWarehouseInfo/getAll',
)
}
......@@ -13,6 +13,7 @@
v-if="selectionable"
type="selection"
width="50"
fixed="left"
header-align="center"
align="center"
></ElTableColumn>
......@@ -20,7 +21,8 @@
v-if="serialNumberable"
label="序号"
type="index"
width="50"
width="60"
fixed="left"
header-align="center"
align="center"
></ElTableColumn>
......
<template>
<div v-loading="loading" class="enhanced-upload">
<div class="import-content">
<div>
<div class="upload-area" @click="triggerFileInput">
<el-icon class="el-icon--upload"><UploadFilled /></el-icon>
<div class="el-upload__text">
将文件拖到此处,或<span style="color: #409eff">点击上传</span>
</div>
</div>
<input
ref="fileInputRef"
type="file"
accept=".xls,.xlsx"
style="display: none"
@change="onFileChange"
/>
<div class="custom-tip">
<span>请上传Excel文件(.xls 或 .xlsx)</span>
</div>
</div>
<div v-if="fileList.length > 0">
<div
v-for="(item, idx) in fileList"
:key="idx"
class="custom-file-item"
>
<el-icon class="file-icon"><Document /></el-icon>
<div class="file-info">
<div
class="file-name"
:title="`点击下载 ${item.path} 文件`"
@click="downloadFile(item.path)"
>
{{ item?.filename || SetFileName(item.path) }}
</div>
</div>
<el-icon class="delete-icon" @click="removeFile(idx)"
><Close
/></el-icon>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { ref, watch, defineProps, defineEmits, computed } from 'vue'
import { UploadFilled, Document, Close } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import { uploadFileApi } from '@/api/common'
interface FileItem {
path: string
filename?: string
}
const props = defineProps<{
modelValue: string
}>()
const emit = defineEmits(['update:modelValue'])
const fileList = ref<FileItem[]>([])
const fileInputRef = ref<HTMLInputElement | null>(null)
const loading = ref(false)
const value = computed({
get() {
return props.modelValue
},
set(val: string) {
emit('update:modelValue', val)
},
})
watch(
value,
() => {
let file: FileItem[] = []
if (!Array.isArray(value)) {
if (value.value) {
file.push({ path: value.value })
} else {
file = []
}
}
fileList.value = file
},
{ immediate: true },
)
const triggerFileInput = () => {
if (loading.value) return
fileInputRef.value?.click()
}
const downloadFile = (path: string) => {
window.open(path)
}
const SetFileName = (path: string) => {
if (!path) return ''
const i = path.lastIndexOf('/')
if (i === -1) return path
return path.substring(i + 1)
}
const onFileChange = async (e: Event) => {
const files = (e.target as HTMLInputElement).files
if (!files) return
const file = files[0]
// 校验类型
const isValidType = [
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
].includes(file.type)
if (!isValidType) {
ElMessage.error('文件类型错误,请上传Excel文件')
return
}
// 校验大小
const isSizeValid = file.size / 1024 / 1024 < 50
if (!isSizeValid) {
ElMessage.error('文件大小不能超过50MB')
return
}
await fileUpload(file)
// 清空input
if (fileInputRef.value) fileInputRef.value.value = ''
}
const fileUpload = async (file: File) => {
const formData = new FormData()
const filename = file.name
formData.append('file', file)
formData.append('businessType', 'product')
loading.value = true
try {
const res = await uploadFileApi(formData)
fileList.value = [{ path: res.message ?? '', filename }]
value.value = res.message
ElMessage.success('导入成功')
} catch (e) {
ElMessage.error('上传失败')
} finally {
loading.value = false
}
}
const removeFile = (idx: number) => {
fileList.value.splice(idx, 1)
value.value = ''
}
</script>
<style scoped lang="scss">
.enhanced-upload {
.import-content {
padding: 20px 0;
}
.custom-file-item {
display: flex;
align-items: center;
padding: 12px;
border: 1px solid #e8e8e8;
border-radius: 4px;
margin-top: 8px;
background: #fff;
.file-icon {
font-size: 24px;
color: #52c41a;
margin-right: 12px;
}
.file-info {
flex-grow: 1;
.file-name {
color: #333;
margin-bottom: 4px;
}
.file-name:hover {
text-decoration: underline;
color: blue;
}
}
.delete-icon {
color: #f56c6c;
font-size: 20px;
cursor: pointer;
margin-left: 10px;
&:hover {
color: #ff0000;
}
}
}
.upload-area {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: 1px dashed #d9d9d9;
border-radius: 6px;
padding: 40px 20px;
// background: #fafafa;
background: var(--el-fill-color-blank);
cursor: pointer;
&:hover {
border-color: var(--el-color-primary);
}
.el-icon--upload {
font-size: 70px;
color: #a8abb2;
margin-bottom: 12px;
}
.el-upload__text {
color: #666;
}
}
.custom-tip {
display: flex;
align-items: center;
color: #666;
margin-top: 12px;
i {
margin-right: 6px;
}
}
}
</style>
......@@ -86,11 +86,11 @@ const onChange = async (e: Event) => {
const files = (e.target as HTMLInputElement).files
if (!files) return
const file = files[0]
const isLtTenM = file.size / 1024 / 1024 < 200;
if (!isLtTenM) {
ElMessage.error("上传文件大小不能超过 200MB!");
return isLtTenM;
}
const isLtTenM = file.size / 1024 / 1024 < 200
if (!isLtTenM) {
ElMessage.error('上传文件大小不能超过 200MB!')
return isLtTenM
}
if (props.imageMode) {
imageUpload(file)
} else {
......
......@@ -21,9 +21,13 @@ import PodBillOrder from '@/views/podBillOrder/index.vue'
import TypeseetingManagement from '@/views/typesetting/TypesettingManagement.vue'
import PodOrderList from '@/views/order/pod/index.vue'
import PodDeliveryNoteList from '@/views/order/pod/deliveryOrderList.vue'
import PodUsOrderList from '@/views/order/podUs/index.vue'
import WarehouseManage from '@/views/warehouse/manage.vue'
import WarehouseWarning from '@/views/warehouse/warning.vue'
import WarehousePosition from '@/views/warehouse/position.vue'
import receiptDoc from '@/views/warehouse/receiptDoc.vue'
import issueDoc from '@/views/warehouse/issueDoc.vue'
const router = createRouter({
history: createWebHistory(),
routes: [
......@@ -38,7 +42,8 @@ const router = createRouter({
title: '概览',
},
component: Dashboard,
},{
},
{
path: '/product',
meta: {
title: '商品',
......@@ -60,6 +65,13 @@ const router = createRouter({
component: PodOrderList,
},
{
path: '/pod-us-order/list',
meta: {
title: 'POD订单(US)',
},
component: PodUsOrderList,
},
{
path: '/pod-delivery-note/list',
meta: {
title: 'POD发货单',
......@@ -93,7 +105,8 @@ const router = createRouter({
title: '定制对账单',
},
component: AccountStatementNote,
},{
},
{
path: '/account/pod-bill-order',
meta: {
title: 'POD对账单',
......@@ -106,13 +119,29 @@ const router = createRouter({
title: '打版管理',
},
component: TypeseetingManagement,
},{
},
{
path: '/warehouse/manage',
meta: {
title: '仓库管理',
},
component: WarehouseManage,
},{
},
{
path: '/warehouse/receipt-doc',
meta: {
title: '入库单',
},
component: receiptDoc,
},
{
path: '/warehouse/issue-doc',
meta: {
title: '出库单',
},
component: issueDoc,
},
{
path: '/warehouse/warning',
meta: {
title: '仓库预警',
......
......@@ -6,48 +6,48 @@ export interface MenuItem {
}
const menu: MenuItem[] = [
{
index: '/dashboard',
id: 1,
label: '概览',
},
{
index: '/product',
id: 11,
label: '商品',
},
{
index: '13',
id: 13,
label: '库存',
children: [
{
index: '/warehouse/manage',
id: 121,
label: '仓库管理',
},
{
index: '/warehouse/position',
id: 122,
label: '库位管理',
},
{
index: '/pod-order/list',
id: 123,
label: '入库单',
},
{
index: '/pod-order/list',
id: 124,
label: '出库单',
},
{
index: '/warehouse/warning',
id: 125,
label: '仓库预警',
},
],
},
{
index: '/dashboard',
id: 1,
label: '概览',
},
{
index: '/product',
id: 11,
label: '商品',
},
{
index: '13',
id: 13,
label: '库存',
children: [
{
index: '/warehouse/manage',
id: 121,
label: '仓库管理',
},
{
index: '/warehouse/position',
id: 122,
label: '库位管理',
},
{
index: '/warehouse/receipt-doc',
id: 123,
label: '入库单',
},
{
index: '/warehouse/issue-doc',
id: 124,
label: '出库单',
},
{
index: '/warehouse/warning',
id: 125,
label: '仓库预警',
},
],
},
{
index: '1',
id: 2,
......@@ -63,6 +63,11 @@ const menu: MenuItem[] = [
id: 7,
label: 'POD订单',
},
{
index: '/pod-us-order/list',
id: 8,
label: 'POD订单(US)',
},
],
},
......@@ -130,6 +135,6 @@ const menu: MenuItem[] = [
// }
// ]
// },
]
]
export default menu
......@@ -114,3 +114,6 @@ img {
.mt-10 {
margin-top: 10px;
}
.mb-10 {
margin-bottom: 10px;
}
......@@ -29,6 +29,7 @@ export interface AccountStatementNote {
pass_num?: number
factory_code?: string
total_amount?: string | number
actual_amount?: string | number
num?: number
end_time?: string
rec_number?: string
......@@ -43,6 +44,9 @@ export interface AccountStatementNote {
id?: number
erp_total_amount?: number
dataVersion: ''
water_list?: {
url: string | undefined
}[]
}
export interface BillOrderDetailData {
create_time?: string
......@@ -69,11 +73,11 @@ export interface LogList {
create_time?: string
info_id?: number
id: string
diy_id: number;
employee_account?: string;
employee_name?: string;
employee_id?: string;
description?: string;
diy_id: number
employee_account?: string
employee_name?: string
employee_id?: string
description?: string
}
export interface ItemList {
......@@ -95,5 +99,5 @@ export interface ItemList {
export interface ConfirmOrderForm {
pass?: number | null
description?: string
ids?:string
ids?: string
}
......@@ -12,6 +12,11 @@ export interface DeliveryNoteSearchForm {
status?: number | null
}
export interface IUpdatePrice {
process: string
base_price: string | number
add_price: string | number
}
export interface DeliveryNoteData {
id: number
billNumber?: string
......@@ -183,21 +188,32 @@ export interface DbFactory {
status?: number
}
export interface LogListsData {
id: number;
diy_id: number;
employee_account?: string;
employee_name?: string;
employee_id?: string;
description?: string;
create_time?: string;
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 {
billNumber?: string
orderNumber?:string
shipmentNumber?:string
dateRange?:string[]
endTime?:string
startTime?:string
orderNumber?: string
baseSku?: string
shipmentNumber?: string
process?: string
supplierItemNo?: string
dateRange?: string[]
endTime?: string
startTime?: string
subOrderNumber?: string
rows?: number
page?: number
......@@ -205,15 +221,15 @@ export interface DetailForm {
infoId?: number
}
export interface BillForm {
timeRange: [string, string] | [];
timeRange: [string, string] | []
}
export interface apiSubmitPodOrderForm {
startDate?: string;
endDate?: string;
}
export interface updatePriceForm {
ids?: string;
infoId?: number;
price?: string;
export interface apiSubmitPodOrderForm {
startDate?: string
endDate?: string
}
export interface updatePriceForm {
ids?: string
infoId?: number
price?: string
}
export interface BaseRespData<D> {
code: number
message?: string
......@@ -14,7 +13,7 @@ export interface PaginationData<D> {
current: number
records: D[]
}
export interface Statistics<D> {
export interface Statistics<D> {
sumNotPassNum: number
sumPassNum: number
sumShipmentNum: number
......@@ -30,20 +29,21 @@ export interface Statistics<D> {
export type BasePaginationData<D> = BaseRespData<PaginationData<D>>
export type StatisticsData<D> = BaseRespData<Statistics<D>>
export interface baseRes {
code:number
msg:string
export interface baseRes {
code: number
msg: string
}
export interface PaymentForm{
export interface PaymentForm {
waterList: string
id?:number | string
actualAmount?:number | string
payableAmount?:number | string
id?: number | string
actualAmount?: number | string
payableAmount?: number | string
recNumber?: number | string
}
export interface RejectParams{
id:number
description?:string
ids?:string
pass?:number
export interface RejectParams {
id: number
description?: string
ids?: string
pass?: number
}
export interface Tab {
status?: string
statusName?: string
quantity?: number
}
export interface SearchForm {
timeType: number | null
shopNumber: string
userMark: string
logisticsTracking: string
baseSku: string
factoryOrderNumber: string
sku: string
factorySubOrderNumber: string
status: string
}
export interface PodUsOrderListData {
id: number
thirdOrderNumber?: string
factoryOrderNumber?: string
shopNumber?: string
factoryOnlineId?: number | null
factoryNo?: number | null
factoryCode?: string | null
status?: string
weight?: number | null
totalProductAmount?: number | null
productAmount?: number
carriageAmount?: number | null
totalAmount?: number | null
productNum?: number | null
trackStatus?: string | null
receiverName?: string
receiverPhone?: string
receiverCountry?: string
receiverProvince?: string
receiverCity?: string
receiverDistrict?: string
receiverAddress1?: string
receiverAddress2?: string
receiverPostCode?: string
paymentType?: string
paymentTime?: string
startStockingTime?: string
finishTime?: string
shipmentType?: string
expressSheet?: string
trackingNumber?: string
processNumber?: string
createTime?: string
updateTime?: string
remark?: string | null
userMark?: string
version?: number
productList?: ProductList[]
orderNumber?: string
}
export interface ProductList {
id: number
podJomallOrderUsId: number
thirdSubOrderNumber?: string
factorySubOrderNumber?: string
factoryCode?: string
productName?: string
baseSku?: string
variantSku?: string
productPrice?: number
templatePrice?: number
variantImage?: string
craftPrice?: number
imageAry?: string
designImages?: string
categoryId?: number
categoryName?: string
num?: number
passNum?: number
notPassNum?: number
payAmount?: number
weight?: number | null
diyId?: string
endProductId?: string
customizedQuantity?: number
tagIds?: string
isProduction?: boolean
createTime?: string
updateTime?: string
remark?: string | null
version?: number
subOrderNumber?: string
}
export interface cardImages {
title: string
url: string
sort: number
id?: number
}
export interface LogListData {
id: number
bizId: number
userId: number
employeeName: string
description: string
deleteContent: string
createTime: string
}
export interface PodOrderRes extends ProductList {
expectDeliveryTime?: string | null
thirdOrderNumber?: string | null
startStockingTime?: string | null
factoryOrderNumber?: string | null
userMark?: string | null
craftName?: string | null
craftId?: string | null
shopNumber?: string | null
color?: string | null
size?: string | null
note?: Array<{ prop: string | number; value: string | number }>
imgList: cardImages[]
}
export interface warehouseSearchForm {
status?: string
batchNumber?: string
createTimeEnd?: string
createTimeStart?: string
orderNumber?: string
sku?: string
warehouseId?: number
}
// 主表列表ts,看新增时是不是一样
export interface InterWarehousePage {
id: number
factoryId?: number
factoryCode?: string
warehouseId?: number
warehouseName?: string
inNo?: string
shipmentNumber?: string
skuAmount?: string
total?: number
totalPrice?: number
billStatus?: string
remark?: string
productList?: InterProductList[]
}
export interface InterWarehouseDetail {
id?: string
inId?: string
productNo?: string
warehouseSku?: string
skuImage?: string
skuName?: string
buyStored?: string
totalPrice?: number
rejectsAmount?: string
rejectsReason?: string
remark?: string
factoryId?: number
createTime?: string
updateTime?: string
}
export interface InterWarehouseTree {
id: number
code: string
name: string
countQuantity: string | null
children: null
leaf: boolean
}
export interface InterProductList {
createTime?: string
factoryId?: number
id?: number
inId?: number
productNo?: string | null //货号
buyStored?: number | null //入库数量
rejectsAmount?: number
rejectsReason?: string
remark?: string
skuImage?: string
skuName?: string
costPrice?: number | null
totalPrice?: number | null
updateTime?: string
warehouseSku?: string
locationId?: number | null
locationCode?: string | null
}
export interface InterskuList {
id?: number
productId?: number
sku?: string
skuName?: string
image?: string
factoryPrice?: number
productNo?: string | null //货号
locationId?: number | null
locationCode?: string | null
}
export interface InterWarehouseList {
id: number
name: string
code?: string
sort?: number
defaulted?: number
factoryId?: number
factoryCode?: string
remarks?: string | null
}
export interface ILocation {
id?: number
locationId?: number | null
locationCode?: string | null
}
export interface InRecordEditForm {
id: number
factoryId?: number
factoryCode?: string
warehouseId?: number
warehouseName?: string
inNo?: string
shipmentNumber?: string
skuAmount?: string
total?: number
totalPrice?: number
billStatus?: string
remark?: string
productList?: InterProductList[]
}
......@@ -57,7 +57,11 @@ export default function usePageList<T>(options: UsePageListOptions<T>) {
loadData()
}
const refresh = () => {
const refresh = (reset?: boolean) => {
if (reset) {
data.value = []
total.value = 0
}
currentPage.value = 1
loadData()
}
......
......@@ -466,7 +466,7 @@ const changeStatus = async () => {
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
setData(TrackingNumber.value)
setData(detail.value.factorySubOrderNumber || '')
})
}
const setData = async (orderNumber: string) => {
......
......@@ -1084,7 +1084,7 @@ import {
OrderData,
ShipmentForm,
} from '@/types/api/order'
import fastProduction from '../fastProduction.vue'
import fastProduction from './fastProduction.vue'
// import CardWrapper from '@/components/CardPods.vue'
import { useValue } from '@/utils/hooks/useValue'
import {
......
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