Commit efceba52 by zhuzhequan

Merge remote-tracking branch 'origin/dev' into dev

parents 3bad2f17 27c8409e
......@@ -22,6 +22,7 @@ export interface SearchForm {
productionClient: string
warehouseId: string | number
thirdSkuCode: string
supplierProductNo:string
}
export interface PodUsOrderListData {
id: number
......@@ -107,6 +108,7 @@ export interface ProductList {
isReplenishment?: boolean
thirdSkuCode?: string | null
supplierProductNo?: string | null
replenishmentSumNum?: number | null
}
export interface cardImages {
title: string
......
......@@ -41,6 +41,14 @@
<ElOption label="多面" value="multiple" />
</ElSelect>
</ElFormItem>
<ElFormItem label="供应货号">
<ElInput
v-model="searchForm.supplierProductNo"
placeholder="生产单号"
clearable
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="生产单号">
<ElInput
v-model="searchForm.factorySubOrderNumber"
......@@ -223,7 +231,7 @@
blue: item.quantity && item.quantity > 0,
red: item.status === 'EXCEPTION_ORDER',
}"
>{{ item.quantity }}</span
>{{ item.quantity }}</span
>
</div>
<!-- <div
......@@ -399,19 +407,19 @@
<template #dropdown>
<ElDropdownMenu>
<ElDropdownItem @click="getOrderByIdApi('createLogisticsOrder')"
>创建物流订单</ElDropdownItem
>创建物流订单</ElDropdownItem
>
<ElDropdownItem @click="getOrderByIdApi('getTrackingNumber')"
>获取跟踪号</ElDropdownItem
>获取跟踪号</ElDropdownItem
>
<ElDropdownItem @click="getOrderByIdApi('getPrintOrder')"
>获取打印面单</ElDropdownItem
>获取打印面单</ElDropdownItem
>
<ElDropdownItem @click="getOrderByIdApi('cancelLogisticsOrder')"
>取消物流订单</ElDropdownItem
>取消物流订单</ElDropdownItem
>
<ElDropdownItem @click="getOrderByIdApi('batchChangeLogistics')"
>更换物流</ElDropdownItem
>更换物流</ElDropdownItem
>
</ElDropdownMenu>
</template>
......@@ -464,6 +472,7 @@
:paginated-data="tableData"
:cell-style="onCellStyle"
:cell-class-name="onCellClassName"
:row-style="getRowStyle"
@selection-change="handleSelectionChange"
>
<template #goods="{ row }">
......@@ -559,7 +568,7 @@
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>第三方生产单号:</span
>第三方生产单号:</span
>
<span
class="goods-item-info-item-value"
......@@ -624,13 +633,13 @@
<div class="goods-item-info-item">
<span class="goods-item-info-item-label">{{
status === 'EXCEPTION_ORDER' ||
status === 'PICKING' ||
status === 'TO_BE_CONFIRMED' ||
status === 'STOCK_OUT'
? '数量:'
: '已生产数量:'
}}</span>
status === 'EXCEPTION_ORDER' ||
status === 'PICKING' ||
status === 'TO_BE_CONFIRMED' ||
status === 'STOCK_OUT'
? '数量:'
: '已生产数量:'
}}</span>
<span class="goods-item-info-item-value">
{{
status === 'EXCEPTION_ORDER' ||
......@@ -647,18 +656,21 @@
class="goods-item-info-item"
>
<span class="goods-item-info-item-label">补胚数量:</span>
<span class="goods-item-info-item-value">
{{ item.replenishmentNum || 0 }}
<span
class="goods-item-info-item-value"
:title="item.replenishmentSumNum"
>
{{ item.replenishmentSumNum || 0 }}
</span>
<el-icon
<el-button
v-if="status === 'WAIT_SHIPMENT'"
class="icon"
style="color: #f56c6c; font-size: 24px"
title="申请补胚"
link
size="small"
type="success"
@click="applyForReplenishment(item)"
>申请补胚</el-button
>
<Edit />
</el-icon>
<!-- f -->
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label">克重:</span>
......@@ -842,21 +854,18 @@
<el-timeline-item
:color="row.createTime ? '#409EFF' : ''"
:timestamp="row.createTime"
>创建时间
</el-timeline-item
>
>创建时间
</el-timeline-item>
<el-timeline-item
:color="row.startStockingTime ? '#E6A23C' : ''"
:timestamp="row.startStockingTime"
>确认时间
</el-timeline-item
>
>确认时间
</el-timeline-item>
<el-timeline-item
:color="row.finishTime ? '#67C23A' : ''"
:timestamp="row.finishTime"
>完成时间
</el-timeline-item
>
>完成时间
</el-timeline-item>
</el-timeline>
<!-- <div class="order-time-box">
<div class="order-time-item">
......@@ -920,7 +929,7 @@
<span
v-if="
row.shipmentType === 0 &&
['CREATE_LOGISTICS', 'WAIT_SHIPMENT'].includes(status)
['CREATE_LOGISTICS', 'WAIT_SHIPMENT'].includes(status)
"
class="operate-item"
>
......@@ -1028,7 +1037,7 @@
<div class="grid-container">
<div class="grid-item" title="商品名称">
<span class="grid-item-value"
>{{ cardItem?.productName }}
>{{ cardItem?.productName }}
</span>
</div>
<div
......@@ -1138,8 +1147,7 @@
:show-copy-sub-shop-number="false"
@on-change="rightChange"
>
<template #default
>
<template #default>
<div class="menu-item" @click="rightChange('order-number')">
复制订单号
</div>
......@@ -1420,31 +1428,54 @@
</span>
</template>
</ElDialog>
<el-dialog v-model="logisticsVisible" :close-on-click-modal="false" width="700px" title="更新物流信息">
<el-dialog
v-model="logisticsVisible"
:close-on-click-modal="false"
width="700px"
title="更新物流信息"
>
<el-form
v-if="logisticsVisible"
ref="logisticsFormRef" label-width="100px" label-position="left"
:model="logisticsForm">
ref="logisticsFormRef"
label-width="100px"
label-position="left"
:model="logisticsForm"
>
<el-form-item prop="processNumber" label="物流处理号">
<el-input v-model="logisticsForm.processNumber" placeholder="请输入物流处理号" clearable></el-input>
<el-input
v-model="logisticsForm.processNumber"
placeholder="请输入物流处理号"
clearable
></el-input>
</el-form-item>
<el-form-item prop="trackingNumber" label="物流跟踪号">
<el-input v-model="logisticsForm.trackingNumber" placeholder="请输入物流跟踪号" clearable></el-input>
<el-input
v-model="logisticsForm.trackingNumber"
placeholder="请输入物流跟踪号"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="logisticsForm.trackingNumber" prop="expressSheetUrl" label="物流面单">
<el-form-item
v-if="logisticsForm.trackingNumber"
prop="expressSheetUrl"
label="物流面单"
>
<el-upload accept=".pdf" action="" :before-upload="expressSheetUpload">
<el-button type="primary">点击上传</el-button>
</el-upload>
<div v-if="logisticsForm.expressSheet" class="file">
<span>{{ logisticsForm.expressSheet.name }}</span>
<el-icon @click="logisticsForm.expressSheet=null" class="expressSheetClose">
<el-icon
@click="logisticsForm.expressSheet = null"
class="expressSheetClose"
>
<Close></Close>
</el-icon>
</div>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="logisticsVisible=false">取消</el-button>
<el-button @click="logisticsVisible = false">取消</el-button>
<el-button type="primary" @click="logisticsSubmit"> 确定</el-button>
</template>
</el-dialog>
......@@ -1455,7 +1486,7 @@ import {
ArrowDown,
CaretBottom,
CaretTop,
Edit,
// Edit,
WarningFilled,
} from '@element-plus/icons-vue'
import {
......@@ -1515,7 +1546,8 @@ import {
WarehouseListData,
cardImages,
AddressInfo,
LogisticsData, LogisticsFormData,
LogisticsData,
LogisticsFormData,
} from '@/types/api/podUsOrder'
import usePageList from '@/utils/hooks/usePageList'
import { useValue } from '@/utils/hooks/useValue'
......@@ -1537,7 +1569,7 @@ import platformJson from '../../../json/platform.json'
declare global {
interface Window {
ActiveXObject: {
new(type: string): XMLHttpRequest
new (type: string): XMLHttpRequest
}
VBS_BinaryToArray: {
(data: unknown): { toArray(): number[] }
......@@ -1603,6 +1635,7 @@ const [searchForm] = useValue<SearchForm>({
productionClient: '',
warehouseId: '',
thirdSkuCode: '',
supplierProductNo:''
})
const exceptionStatus = ref(1)
const userMarkList = ref<string[]>([])
......@@ -1810,6 +1843,7 @@ const changeTab = (item: Tab) => {
status.value = item.status || ''
selection.value = []
cardSelection.value = []
stockOutSuccessIds.value = []
search(true)
}
const onCellStyle = ({ column }: { column: Column }) => {
......@@ -1937,7 +1971,22 @@ async function confirmProduct() {
const { code, data } = await confirmProductApi([...ids])
if (code === 200) {
resultInfo.value = data || []
resultRefs.value?.showDialog()
resultInfo.value =
(data as {
id: string | number
status: boolean
factoryOrderNumber?: string
message: string
}[]) || []
if (
Array.isArray(data) &&
(data as { status: boolean }[]).some((item) => !item.status)
) {
resultRefs.value?.showDialog()
} else {
search()
loadTabData()
}
}
ElMessage.success('操作成功')
......@@ -1965,7 +2014,22 @@ async function confirmProductToRiin() {
const { code, data } = await confirmProductToRiinApi([...ids])
if (code === 200) {
resultInfo.value = data || []
resultRefs.value?.showDialog()
resultInfo.value =
(data as {
id: string | number
status: boolean
factoryOrderNumber?: string
message: string
}[]) || []
if (
Array.isArray(data) &&
(data as { status: boolean }[]).some((item) => !item.status)
) {
resultRefs.value?.showDialog()
} else {
search()
loadTabData()
}
}
ElMessage.success('操作成功')
......@@ -2545,7 +2609,14 @@ const getOrderByIdApi = async (type: string) => {
if (res.code === 200) {
if (isArray(res.data)) {
resultInfo.value = res.data || []
resultRefs.value?.showDialog(type)
resultInfo.value =
(res.data as {
id: string | number
status: boolean
factoryOrderNumber?: string
message: string
}[]) || []
resultRefs.value?.showDialog()
} else if (isString(res.data)) {
window.open(filePath + res.data)
}
......@@ -2562,7 +2633,14 @@ const getOrderByIdApi = async (type: string) => {
}
}
//展示返回结果
const resultInfo = ref([])
const resultInfo = ref<
{
id: string | number
status: boolean
factoryOrderNumber?: string
message: string
}[]
>([])
const resultConfim = () => {
search()
loadTabData()
......@@ -2703,6 +2781,9 @@ const stockOutCheck = async () => {
loading.close()
}
}
// 添加表格ref
const tableRef = ref()
//转至待创建物流
const toBePicking = async () => {
if (selection.value.length === 0) {
......@@ -2766,8 +2847,22 @@ const logisticsToPicking = async () => {
ids: selection.value.map((item) => item.id).join(','),
})
if (res.code !== 200) return
resultInfo.value = res.data || []
resultRefs.value?.showDialog()
resultInfo.value =
(res.data as {
id: string | number
status: boolean
factoryOrderNumber?: string
message: string
}[]) || []
if (
Array.isArray(res.data) &&
(res.data as { status: boolean }[]).some((item) => !item.status)
) {
resultRefs.value?.showDialog()
} else {
search()
loadTabData()
}
ElMessage.success('操作成功')
// search()
// loadTabData()
......@@ -2970,17 +3065,15 @@ const onFastRefresh = () => {
search()
}
// // 修改行样式方法
// const getRowStyle = ({ row }: { row: PodUsOrderListData }) => {
// if (stockOutSuccessIds.value.includes(row.id)) {
// return {
// backgroundColor: '#f0f9eb',
// color: '#67c23a',
// }
// }
// return {}
// }
// 添加表格ref
const tableRef = ref()
const getRowStyle = ({ row }: { row: PodUsOrderListData }) => {
if (stockOutSuccessIds.value.includes(row.id)) {
return {
backgroundColor: '#f0f9eb',
color: '#67c23a',
}
}
return {}
}
const warehouseList = ref<WarehouseListData[]>([])
const loadWarehouseList = async () => {
try {
......@@ -3084,7 +3177,7 @@ const applyForReplenishment = async (row: ProductList | undefined) => {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /.+/,
inputValue: row ? String(row.replenishmentNum || '') : '',
inputValue: row ? String(row.replenishmentSumNum || '') : '',
inputErrorMessage: '请输入补胚数量',
inputPlaceholder: '补胚数量',
}).then(async (res) => {
......@@ -3265,7 +3358,6 @@ const replenishmentSuccess = async () => {
overflow-y: auto;
}
.tabs-node_count {
display: inline-block;
min-width: 20px;
......
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