Commit 1a32910e by zhuzhequan

待质检修改

parent cb427077
...@@ -20,6 +20,7 @@ declare module 'vue' { ...@@ -20,6 +20,7 @@ declare module 'vue' {
ElForm: typeof import('element-plus/es')['ElForm'] ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElIcon: typeof import('element-plus/es')['ElIcon'] ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput'] ElInput: typeof import('element-plus/es')['ElInput']
ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
......
...@@ -5,6 +5,9 @@ export interface SearchForm { ...@@ -5,6 +5,9 @@ export interface SearchForm {
endProductId: string endProductId: string
orderNumber: string orderNumber: string
shopNumber: string shopNumber: string
logisticsTracking: string
lanshouName: string
billNumber: string
internalMemo: string internalMemo: string
status?: number status?: number
subOrderNumber: string subOrderNumber: string
...@@ -54,6 +57,7 @@ export interface OrderData { ...@@ -54,6 +57,7 @@ export interface OrderData {
internalMemoList?: MemoList[] internalMemoList?: MemoList[]
substrateAreaName?: string substrateAreaName?: string
productList?: ProductList[] productList?: ProductList[]
detailList?: ProductList[]
delayMinDay?: number delayMinDay?: number
shipmentList?: string shipmentList?: string
sourceType?: string sourceType?: string
...@@ -182,6 +186,7 @@ export interface QaData { ...@@ -182,6 +186,7 @@ export interface QaData {
variantImage?: string variantImage?: string
num?: number num?: number
shipmentNum?: number shipmentNum?: number
shippingWay?: number
productName?: string productName?: string
logisticsTracking?: string logisticsTracking?: string
lanshouName?: string lanshouName?: string
...@@ -193,7 +198,6 @@ export interface QaData { ...@@ -193,7 +198,6 @@ export interface QaData {
notPassNum?: number notPassNum?: number
version?: number version?: number
factorySubOrderNumber?: string factorySubOrderNumber?: string
shippingWay?: string
inspectionStatus?: boolean inspectionStatus?: boolean
source?: string source?: string
sourceType?: string sourceType?: string
......
<template>
<div
v-for="item in row.detailList?.slice(
0,
row.moreable || isDetail ? row.detailList.length : 2,
)"
:key="item.id"
class="order-list-expand_item"
>
<div class="order-list-expand_item_img">
<img :src="item.variantImage" style="width: 100%; height: 100%" />
</div>
<div class="order-list-expand_item_info">
<div class="order-list-expand_item_info_title" style="font-weight: bold">
<span class="order-list-expand_item_label">商品名:</span>
<span class="order-list-expand_item_value">{{
item.productName || '--'
}}</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">Base SKU:</span>
<span class="order-list-expand_item_value"
>{{ item.baseSku || '--'
}}<el-icon class="icon" @click="copy(item.baseSku || '')"
><DocumentCopy /></el-icon
></span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">Variant SKU:</span>
<span class="order-list-expand_item_value"
>{{ item.variantSku || '--' }}
<el-icon class="icon" @click="copy(item.variantSku || '')"
><DocumentCopy
/></el-icon>
</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">店铺单号:</span>
<span class="order-list-expand_item_value"
>{{ item.shopNumber || '--' }}
<el-icon class="icon" @click="copy(item.shopNumber || '')"
><DocumentCopy
/></el-icon>
</span>
</div>
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">店铺单号:</span>-->
<!-- <span class="order-list-expand_item_value"-->
<!-- >{{ item.shopNumber || '&#45;&#45;' }}-->
<!-- <el-icon class="icon" @click="copy(item.shopNumber || '')"-->
<!-- ><DocumentCopy-->
<!-- /></el-icon>-->
<!-- </span>-->
<!-- </div>-->
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">生产单号:</span>-->
<!-- <span class="order-list-expand_item_value"-->
<!-- >{{ item.subOrderNumber || '&#45;&#45;'-->
<!-- }}<el-icon class="icon" @click="copy(item.subOrderNumber || '')"-->
<!-- ><DocumentCopy-->
<!-- /></el-icon>-->
<!-- </span>-->
<!-- </div>-->
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">发货状态:</span>-->
<!-- <span-->
<!-- v-if="(item.shipmentNum || 0) - (item.notPassNum || 0) === item.num"-->
<!-- class="order-list-expand_item_value"-->
<!-- >-->
<!-- <el-tag effect="dark" type="success"> 已发货 </el-tag>-->
<!-- </span>-->
<!-- <span-->
<!-- v-if="-->
<!-- item.num !== (item.shipmentNum || 0) - (item.notPassNum || 0) &&-->
<!-- (item.shipmentNum || 0) > 0-->
<!-- "-->
<!-- class="order-list-expand_item_value"-->
<!-- >-->
<!-- <el-tag effect="dark"> 部分发货 </el-tag>-->
<!-- </span>-->
<!-- <span-->
<!-- v-if="item.shipmentNum === 0"-->
<!-- class="order-list-expand_item_value"-->
<!-- >-->
<!-- <el-tag effect="dark" type="danger"> 未发货 </el-tag>-->
<!-- </span>-->
<!-- </div>-->
</div>
<div class="order-list-expand_item_price">
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">生产单号:</span>
<span class="order-list-expand_item_value">{{
item.subOrderNumber || '--'
}}</span>
</div>
<!-- <div class="order-list-expand_item_info_title font-bold">-->
<!-- <span class="order-list-expand_item_label">工厂单号:</span>-->
<!-- <span class="order-list-expand_item_value">{{ item.factorySubOrderNumber || '&#45;&#45;'}}</span>-->
<!-- </div>-->
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">发货数量:</span>
<span class="order-list-expand_item_value">{{
item.shipmentNum || 0
}}</span>
</div>
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">未发数:</span>-->
<!-- <span class="order-list-expand_item_value">{{-->
<!-- (item.num || 0) - ((item.shipmentNum || 0) - (item.notPassNum || 0))-->
<!-- }}</span>-->
<!-- </div>-->
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">待质检:</span>-->
<!-- <span class="order-list-expand_item_value">{{-->
<!-- (item.shipmentNum || 0) - -->
<!-- ((item.passNum || 0) + (item.notPassNum || 0))-->
<!-- }}</span>-->
<!-- </div>-->
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">质检(通过):</span>-->
<!-- <span class="order-list-expand_item_value">{{-->
<!-- item.passNum || 0-->
<!-- }}</span>-->
<!-- </div>-->
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">质检(不通过):</span>-->
<!-- <span class="order-list-expand_item_value">{{-->
<!-- item.notPassNum || 0-->
<!-- }}</span>-->
<!-- </div>-->
<div
v-if="
(status === 3 || status === 4 || status === 2) &&
(item.shipmentNum === 0 ||
item.num !== (item.shipmentNum || 0) - (item.notPassNum || 0))
"
class="order-list-expand_item_info_title"
>
<el-button
type="success"
size="small"
@click="downloadManuscriptBySubOrder(item)"
>下载稿件</el-button
>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { DocumentCopy } from '@element-plus/icons-vue'
import { filePath } from '@/api/axios'
import { downloadOrder } from '@/api/order'
import { OrderData, ProductList } from '@/types/api/order'
import { showError } from '@/utils/ui'
import { PropType } from 'vue'
defineProps({
row: {
type: Object as PropType<OrderData>,
default: () => {},
},
isDetail: {
type: Boolean,
default: false,
},
status: {
type: Number,
},
})
const downloadManuscriptBySubOrder = async (item: ProductList) => {
try {
const res = await downloadOrder(item.id)
window.open(filePath + res.message)
} catch (e) {
showError(e)
}
}
const copy = (text: string) => {
navigator.clipboard.writeText(text)
ElMessage.success('复制成功')
}
</script>
<style lang="scss" scoped>
.order-list-expand_item {
display: flex;
border-bottom: 1px solid #eee;
padding: 20px;
}
.order-list-expand_item:last-child {
border-bottom: 0;
}
.order-list-expand_item_img {
width: 100px;
height: 100px;
margin-right: 20px;
border: 1px solid #eee;
}
.order-list-expand_item_info {
flex: 1;
margin-right: 20px;
}
.order-list-expand_item_price {
width: 180px;
}
.order-list-expand_item_info_title {
line-height: 26px;
display: flex;
}
.order-list-expand_item_label {
margin-right: 6px;
}
.order-list-expand_item_value {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,14 @@
> >
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.num === row.shipmentNum - row.notPassNum" <span v-if="row.num === row.shipmentNum - row.notPassNum"
>已发货</span >已发货</span
> >
<span <span
v-else-if=" v-else-if="
row.num !== row.shipmentNum - row.notPassNum && row.num !== row.shipmentNum - row.notPassNum &&
row.shipmentNum > 0 row.shipmentNum > 0
" "
>部分发货</span >部分发货</span
> >
<span v-else-if="row.shipmentNum === 0">未发货</span> <span v-else-if="row.shipmentNum === 0">未发货</span>
</template> </template>
...@@ -109,8 +109,10 @@ ...@@ -109,8 +109,10 @@
font-weight: bold; font-weight: bold;
vertical-align: middle; vertical-align: middle;
" "
><CircleCheck >
/></el-icon> <CircleCheck
/>
</el-icon>
<el-icon <el-icon
v-if="!row.isCheck" v-if="!row.isCheck"
style=" style="
...@@ -119,8 +121,10 @@ ...@@ -119,8 +121,10 @@
font-weight: bold; font-weight: bold;
vertical-align: middle; vertical-align: middle;
" "
><CircleClose >
/></el-icon> <CircleClose
/>
</el-icon>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -175,10 +179,24 @@ ...@@ -175,10 +179,24 @@
<span class="value"> <span class="value">
{{ {{
(currentRow.lanshouRegion || '') + (currentRow.lanshouRegion || '') +
(currentRow.lanshouAddress || '') || '--' (currentRow.lanshouAddress || '') || '--'
}} }}
</span> </span>
</div> </div>
<div class="left-qa-order-basic-info_item">
<span class="label">发货方式:</span>
<span class="value">
{{
currentRow.shippingWay == 1 ? '送货上门' : '快递' || '--'
}}
</span>
</div>
<div class="left-qa-order-basic-info_item">
<span class="label">物流跟踪号:</span>
<span class="value">
{{ currentRow.logisticsTracking || '--' }}
</span>
</div>
</div> </div>
</div> </div>
<div class="left-qa-order-image-info"> <div class="left-qa-order-image-info">
...@@ -263,6 +281,7 @@ import { CircleClose, CircleCheck } from '@element-plus/icons-vue' ...@@ -263,6 +281,7 @@ import { CircleClose, CircleCheck } from '@element-plus/icons-vue'
import useQuarantine from './hook/useQuarantine' import useQuarantine from './hook/useQuarantine'
import { PropType } from 'vue' import { PropType } from 'vue'
import { QaData } from '@/types/api/order' import { QaData } from '@/types/api/order'
const props = defineProps({ const props = defineProps({
quarantine: { quarantine: {
type: Object as PropType<ReturnType<typeof useQuarantine>>, type: Object as PropType<ReturnType<typeof useQuarantine>>,
...@@ -315,17 +334,21 @@ const tableRowClassName = ({ row }: { row: QaData }) => { ...@@ -315,17 +334,21 @@ const tableRowClassName = ({ row }: { row: QaData }) => {
flex-direction: column; flex-direction: column;
gap: 10px; gap: 10px;
} }
.right-qa-order_top { .right-qa-order_top {
display: flex; display: flex;
} }
.right-qa-order_top_tab { .right-qa-order_top_tab {
border: 1px solid #eee; border: 1px solid #eee;
padding: 6px 20px; padding: 6px 20px;
cursor: pointer; cursor: pointer;
} }
.right-qa-order_top_tab:first-child { .right-qa-order_top_tab:first-child {
border-right: none; border-right: none;
} }
.right-qa-order_top_tab:nth-child(2) { .right-qa-order_top_tab:nth-child(2) {
border-right: none; border-right: none;
} }
...@@ -368,6 +391,7 @@ const tableRowClassName = ({ row }: { row: QaData }) => { ...@@ -368,6 +391,7 @@ const tableRowClassName = ({ row }: { row: QaData }) => {
font-weight: bold; font-weight: bold;
color: red; color: red;
} }
.qa-pass-btn { .qa-pass-btn {
border: 1px solid #eee; border: 1px solid #eee;
padding: 8px 20px; padding: 8px 20px;
...@@ -383,12 +407,14 @@ const tableRowClassName = ({ row }: { row: QaData }) => { ...@@ -383,12 +407,14 @@ const tableRowClassName = ({ row }: { row: QaData }) => {
color: #fff; color: #fff;
margin-bottom: 10px; margin-bottom: 10px;
} }
.qa-pass-btn.primary { .qa-pass-btn.primary {
background-color: #409eff; background-color: #409eff;
border-color: #409eff; border-color: #409eff;
color: #fff; color: #fff;
margin-bottom: 10px; margin-bottom: 10px;
} }
.qa-pass-btn.success { .qa-pass-btn.success {
background-color: #67c23a; background-color: #67c23a;
border-color: #67c23a; border-color: #67c23a;
...@@ -413,13 +439,16 @@ const tableRowClassName = ({ row }: { row: QaData }) => { ...@@ -413,13 +439,16 @@ const tableRowClassName = ({ row }: { row: QaData }) => {
:deep(.el-table__cell) { :deep(.el-table__cell) {
padding: 0; padding: 0;
} }
:deep(.el-table__row) { :deep(.el-table__row) {
font-size: 12px; font-size: 12px;
} }
:deep(.current-row-active) { :deep(.current-row-active) {
background-color: #409eff !important; background-color: #409eff !important;
color: #fff; color: #fff;
} }
:deep( :deep(
.el-table--enable-row-transition .el-table--enable-row-transition
.el-table__body .el-table__body
......
...@@ -59,6 +59,32 @@ ...@@ -59,6 +59,32 @@
@blur="searchForm.internalMemo = searchForm.internalMemo.trim()" @blur="searchForm.internalMemo = searchForm.internalMemo.trim()"
></ElInput> ></ElInput>
</ElFormItem> </ElFormItem>
<ElFormItem v-if="statusCode===6" label="物流跟踪号">
<ElInput
v-model="searchForm.logisticsTracking"
placeholder="物流跟踪号"
clearable
style="width: 160px"
@blur="searchForm.logisticsTracking = searchForm.logisticsTracking.trim()"
></ElInput>
</ElFormItem>
<ElFormItem v-if="statusCode===6" label="发货单号">
<ElInput
v-model="searchForm.billNumber"
placeholder="发货单号"
clearable
style="width: 160px"
@blur="searchForm.billNumber = searchForm.billNumber.trim()"
></ElInput>
</ElFormItem>
<ElFormItem v-if="statusCode===6" label="收货人">
<ElInput
v-model="searchForm.lanshouName"
placeholder="收货人"
clearable
style="width: 160px"
></ElInput>
</ElFormItem>
<ElFormItem> <ElFormItem>
<ElButton type="primary" @click="search">查询</ElButton> <ElButton type="primary" @click="search">查询</ElButton>
</ElFormItem> </ElFormItem>
...@@ -94,7 +120,7 @@ ...@@ -94,7 +120,7 @@
class="item" class="item"
> >
<ElButton type="warning" is-dark @click="downloadManuscript" <ElButton type="warning" is-dark @click="downloadManuscript"
>下载稿件</ElButton >下载稿件</ElButton
> >
</span> </span>
<span <span
...@@ -102,12 +128,12 @@ ...@@ -102,12 +128,12 @@
class="item" class="item"
> >
<ElButton type="success" is-dark @click="reGenerateManuscript" <ElButton type="success" is-dark @click="reGenerateManuscript"
>更新稿件</ElButton >更新稿件</ElButton
> >
</span> </span>
<span v-if="statusCode === 2 || statusCode === 3" class="item"> <span v-if="statusCode === 2 || statusCode === 3" class="item">
<ElButton type="primary" dark @click="printManuscript" <ElButton type="primary" dark @click="printManuscript"
>打印生产单</ElButton >打印生产单</ElButton
> >
</span> </span>
<span <span
...@@ -115,12 +141,12 @@ ...@@ -115,12 +141,12 @@
class="item" class="item"
> >
<ElButton type="success" dark @click="exportManuscript" <ElButton type="success" dark @click="exportManuscript"
>导出生产单</ElButton >导出生产单</ElButton
> >
</span> </span>
<span class="item"> <span class="item">
<ElButton type="warning" @click="addInternalTag" <ElButton type="warning" @click="addInternalTag"
>添加内部标签</ElButton >添加内部标签</ElButton
> >
</span> </span>
<span <span
...@@ -128,7 +154,7 @@ ...@@ -128,7 +154,7 @@
class="item" class="item"
> >
<ElButton type="primary" @click="refreshProduct" <ElButton type="primary" @click="refreshProduct"
>刷新商品信息</ElButton >刷新商品信息</ElButton
> >
</span> </span>
<span v-if="statusCode === 3 || statusCode === 4" class="item"> <span v-if="statusCode === 3 || statusCode === 4" class="item">
...@@ -145,6 +171,7 @@ ...@@ -145,6 +171,7 @@
class="order-list flex-1 overflow-hidden" class="order-list flex-1 overflow-hidden"
> >
<ElTable <ElTable
v-show="statusCode!==6"
:data="tableData" :data="tableData"
:span-method="arraySpanMethod" :span-method="arraySpanMethod"
default-expand-all default-expand-all
...@@ -153,9 +180,9 @@ ...@@ -153,9 +180,9 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<ElTableColumn type="selection" width="50"></ElTableColumn> <ElTableColumn type="selection" width="50"></ElTableColumn>
<ElTableColumn type="expand" width="1"> <ElTableColumn type="expand" width="1">
<template #default="{ row }"> <template #default="{ row }">
<div class="table-expand"> <div v-if="row.productList" class="table-expand">
<div <div
class="order-list-expand" class="order-list-expand"
:style="{ width: `${thOrderDetailWidth + 50}px` }" :style="{ width: `${thOrderDetailWidth + 50}px` }"
...@@ -166,14 +193,14 @@ ...@@ -166,14 +193,14 @@
<span @click="openAll(row)"> <span @click="openAll(row)">
<template v-if="!row.moreable"> <template v-if="!row.moreable">
展开全部<strong style="color: red" 展开全部<strong style="color: red"
>({{ row.productList.length }})</strong >({{ row.productList.length }})</strong
>条商品信息<el-icon style="vertical-align: middle" >条商品信息<el-icon style="vertical-align: middle"
><ArrowDown /></el-icon ><ArrowDown /></el-icon
></template> ></template>
<template v-else> <template v-else>
收起商品信息<el-icon style="vertical-align: middle" 收起商品信息<el-icon style="vertical-align: middle"
><ArrowUp ><ArrowUp
/></el-icon> /></el-icon>
</template> </template>
</span> </span>
</div> </div>
...@@ -184,22 +211,22 @@ ...@@ -184,22 +211,22 @@
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">商品价:</span> <span class="order-list-expand_item_label">商品价:</span>
<span class="order-list-expand_item_value">{{ <span class="order-list-expand_item_value">{{
row.productAmount row.productAmount
}}</span> }}</span>
</div> </div>
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">小计:</span> <span class="order-list-expand_item_label">小计:</span>
<span class="order-list-expand_item_value">{{ <span class="order-list-expand_item_value">{{
row.totalAmount || '--' row.totalAmount || '--'
}}</span> }}</span>
</div> </div>
<div <div
v-if="row.totolBuyNumber" v-if="row.totolBuyNumber"
class="order-list-expand_item_info_title" class="order-list-expand_item_info_title"
> >
<span class="order-list-expand_item_value" <span class="order-list-expand_item_value"
>{{ row.totolBuyNumber }}</span >{{ row.totolBuyNumber }}</span
> >
</div> </div>
</div> </div>
...@@ -233,36 +260,35 @@ ...@@ -233,36 +260,35 @@
<div class="order-time_info"> <div class="order-time_info">
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label" <span class="order-list-expand_item_label"
>创建时间:</span >创建时间:</span
> >
<span class="order-list-expand_item_value">{{ <span class="order-list-expand_item_value">{{
row.createTime || '--' row.createTime || '--'
}}</span> }}</span>
</div> </div>
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label" <span class="order-list-expand_item_label"
>确认时间:</span >确认时间:</span
> >
<span class="order-list-expand_item_value">{{ <span class="order-list-expand_item_value">{{
row.startStockingTime || '--' row.startStockingTime || '--'
}}</span> }}</span>
</div> </div>
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label" <span class="order-list-expand_item_label"
>完成时间:</span >完成时间:</span
> >
<span class="order-list-expand_item_value">{{ <span class="order-list-expand_item_value">{{
row.finishTime || '--' row.finishTime || '--'
}}</span> }}</span>
</div> </div>
</div> </div>
</div> </div>
<div class="order-operate"> <div class="order-operate">
<div class="order-operate_info"> <div class="order-operate_info">
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<ElButton text type="primary" @click="openDetail(row.id)" <ElButton text type="primary" @click="openDetail(row.id)"
>查看详情 >查看详情
</ElButton> </ElButton>
</div> </div>
<div <div
...@@ -273,13 +299,13 @@ ...@@ -273,13 +299,13 @@
text text
type="primary" type="primary"
@click="openShipment(row.id)" @click="openShipment(row.id)"
>查看发货单 >查看发货单
</ElButton> </ElButton>
</div> </div>
<div class="order-list-expand_item_info_title"> <div class="order-list-expand_item_info_title">
<ElButton text type="primary" @click="openLog(row.id)" <ElButton text type="primary" @click="openLog(row.id)"
>操作日志 >操作日志
</ElButton> </ElButton>
</div> </div>
<div <div
...@@ -287,12 +313,13 @@ ...@@ -287,12 +313,13 @@
class="order-list-expand_item_info_title" class="order-list-expand_item_info_title"
> >
<ElButton text type="danger" @click="cancelOrder(row.id)" <ElButton text type="danger" @click="cancelOrder(row.id)"
>取消 >取消
</ElButton> </ElButton>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
</ElTableColumn> </ElTableColumn>
<ElTableColumn <ElTableColumn
...@@ -301,7 +328,7 @@ ...@@ -301,7 +328,7 @@
class-name="th-order-detail" class-name="th-order-detail"
min-width="800" min-width="800"
> >
<template #default="scope"> <template #default="scope">
<div class="order-detail"> <div class="order-detail">
<div class="order-detail_item"> <div class="order-detail_item">
<span class="label">订单号:</span> <span class="label">订单号:</span>
...@@ -310,14 +337,14 @@ ...@@ -310,14 +337,14 @@
<div class="order-detail_item"> <div class="order-detail_item">
<span class="label">第三方订单号:</span> <span class="label">第三方订单号:</span>
<span class="value" :title="scope.row.erpOrderNumber">{{ <span class="value" :title="scope.row.erpOrderNumber">{{
scope.row.erpOrderNumber || '--' scope.row.erpOrderNumber || '--'
}}</span> }}</span>
</div> </div>
<div class="order-detail_item"> <div class="order-detail_item">
<span class="label">稿件下载状态:</span> <span class="label">稿件下载状态:</span>
<span class="value" :title="scope.row.manuscriptStatusStr">{{ <span class="value" :title="scope.row.manuscriptStatusStr">{{
scope.row.manuscriptStatusStr || '--' scope.row.manuscriptStatusStr || '--'
}}</span> }}</span>
</div> </div>
<div class="order-detail_item"> <div class="order-detail_item">
<span class="label">收货人:</span> <span class="label">收货人:</span>
...@@ -330,8 +357,8 @@ ...@@ -330,8 +357,8 @@
<div class="order-detail_item"> <div class="order-detail_item">
<span class="label">收货地址:</span> <span class="label">收货地址:</span>
<span class="value" :title="scope.row.lanshouAddress">{{ <span class="value" :title="scope.row.lanshouAddress">{{
scope.row.lanshouAddress scope.row.lanshouAddress
}}</span> }}</span>
</div> </div>
<div class="order-detail_item"> <div class="order-detail_item">
<span class="label">邮编:</span> <span class="label">邮编:</span>
...@@ -358,6 +385,146 @@ ...@@ -358,6 +385,146 @@
<ElTableColumn label="操作" width="100" header-align="center"> <ElTableColumn label="操作" width="100" header-align="center">
</ElTableColumn> </ElTableColumn>
</ElTable> </ElTable>
<ElTable
v-show="statusCode===6"
:data="tableData"
:span-method="arraySpanMethod"
default-expand-all
border
style="width: 100%; height: 100%"
@selection-change="handleSelectionChange"
>
<ElTableColumn type="selection" width="50"></ElTableColumn>
<ElTableColumn
label="发货单号"
width="280"
prop="billNumber"
header-align="center"
></ElTableColumn>
<ElTableColumn
label="发货单信息"
header-align="center"
>
<template #default="{row}">
<div v-if="row.detailList" class="table-expand" style="margin-right: -14px;">
<div
style="flex: 1;flex-shrink: 0;overflow: hidden"
class="order-list-expand"
>
<ProductInfoInspected :row="row" :status="statusCode" />
<template v-if="row.detailList.length > 2">
<div class="order-list-expand_more">
<span @click="openAll(row)">
<template v-if="!row.moreable">
展开全部<strong style="color: red"
>({{ row.detailList.length }})</strong
>条商品信息<el-icon style="vertical-align: middle"
><ArrowDown /></el-icon
></template>
<template v-else>
收起商品信息<el-icon style="vertical-align: middle"
><ArrowUp
/></el-icon>
</template>
</span>
</div>
</template>
</div>
<div class="order-actual-payment">
<div class="order-actual-payment_info">
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">订单号:</span>
<span class="order-list-expand_item_value">{{
row.orderNumber
}}</span>
<el-icon class="icon" @click="copy(row.orderNumber || '')"
><DocumentCopy
/></el-icon>
</div>
<!-- <div class="order-list-expand_item_info_title">-->
<!-- <span class="order-list-expand_item_label">工厂订单号:</span>-->
<!-- <span class="order-list-expand_item_value">{{-->
<!-- row.factoryOrderNumber || '&#45;&#45;'-->
<!-- }}</span>-->
<!-- <el-icon class="icon" @click="copy(row.factoryOrderNumber || '')"-->
<!-- ><DocumentCopy-->
<!-- /></el-icon>-->
<!-- </div>-->
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">发货方式:</span>
<span class="order-list-expand_item_value">{{
row.shippingWay === 1?'送货上门':'快递'
}}</span>
</div>
<div v-if="row.shippingWay!==1" class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">物流名称:</span>
<span class="order-list-expand_item_value">{{
row.carriageName
}}</span>
</div>
<div v-if="row.shippingWay === 2" class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">物流跟踪号:</span>
<span style="color: red" class="order-list-expand_item_value">{{
row.logisticsTracking
}}</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">发货时间:</span>
<span style="color: red" class="order-list-expand_item_value">{{
row.createTime || '--'
}}</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">收货人:</span>
<span style="color: red" class="order-list-expand_item_value">{{
row.lanshouName || '--'
}}</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">收货人电话:</span>
<span class="order-list-expand_item_value">{{
row.lanshouPhone || '--'
}}</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">邮编:</span>
<span class="order-list-expand_item_value">{{
row.lanshouPost || '--'
}}</span>
</div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label">收货地址:</span>
<span class="order-list-expand_item_value">{{row.lanshouRegion + row.lanshouAddress}}</span>
</div>
</div>
</div>
<div class="order-operate">
<div class="order-operate_info">
<div class="order-list-expand_item_info_title">
<ElButton text type="primary" @click="openLog(row.orderId)"
>操作日志
</ElButton>
</div>
</div>
</div>
</div>
</template>
</ElTableColumn>
<ElTableColumn
label="发货单详情"
width="280"
header-align="center"
>
</ElTableColumn>
<ElTableColumn label="操作" width="100" header-align="center">
</ElTableColumn>
</ElTable>
</div> </div>
<el-pagination <el-pagination
v-model:current-page="currentPage" v-model:current-page="currentPage"
...@@ -393,7 +560,7 @@ ...@@ -393,7 +560,7 @@
type="primary" type="primary"
size="large" size="large"
@click="searchShipmentByOrderNumber" @click="searchShipmentByOrderNumber"
>查询 >查询
</el-button> </el-button>
</div> </div>
<Shipment <Shipment
...@@ -462,10 +629,10 @@ ...@@ -462,10 +629,10 @@
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button size="large" @click="shipmentVisible = false" <el-button size="large" @click="shipmentVisible = false"
>取消 >取消
</el-button> </el-button>
<el-button size="large" type="primary" @click="saveShipment" <el-button size="large" type="primary" @click="saveShipment"
>发货 >发货
</el-button> </el-button>
</div> </div>
</template> </template>
...@@ -505,17 +672,17 @@ ...@@ -505,17 +672,17 @@
@keyup.enter="searchQaByOrderNumber" @keyup.enter="searchQaByOrderNumber"
/> />
<el-button type="primary" size="large" @click="searchQaByOrderNumber" <el-button type="primary" size="large" @click="searchQaByOrderNumber"
>查询 >查询
</el-button> </el-button>
</div> </div>
<Quarantine :quarantine="quarantine" /> <Quarantine :quarantine="quarantine" />
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button size="large" @click="quarantineVisible = false" <el-button size="large" @click="quarantineVisible = false"
>取消 >取消
</el-button> </el-button>
<el-button size="large" type="primary" @click="() => saveQuarantine()" <el-button size="large" type="primary" @click="() => saveQuarantine()"
>质检完成 >质检完成
</el-button> </el-button>
</div> </div>
</template> </template>
...@@ -545,7 +712,7 @@ import type { ...@@ -545,7 +712,7 @@ import type {
} from '@/types/api/order' } from '@/types/api/order'
import { onMounted, reactive, ref } from 'vue' import { onMounted, reactive, ref } from 'vue'
import useElTableColumnWidth from '@/utils/hooks/useElTableColumnWidth' import useElTableColumnWidth from '@/utils/hooks/useElTableColumnWidth'
import { ArrowDown, ArrowUp } from '@element-plus/icons-vue' import { ArrowDown, ArrowUp, DocumentCopy } from '@element-plus/icons-vue'
import usePageList from '@/utils/hooks/usePageList' import usePageList from '@/utils/hooks/usePageList'
import { import {
getOrderList, getOrderList,
...@@ -567,6 +734,7 @@ import { filePath } from '@/api/axios' ...@@ -567,6 +734,7 @@ import { filePath } from '@/api/axios'
import { getLogisticsCompanyList } from '@/api/common' import { getLogisticsCompanyList } from '@/api/common'
import type { FormRules } from 'element-plus' import type { FormRules } from 'element-plus'
import ProductInfo from './ProductInfo.vue' import ProductInfo from './ProductInfo.vue'
import ProductInfoInspected from './ProductInfoInspected.vue'
import SendOrder from './SendOrder.vue' import SendOrder from './SendOrder.vue'
import LogList from '@/components/LogList.vue' import LogList from '@/components/LogList.vue'
import OrderDetail from './OrderDetail.vue' import OrderDetail from './OrderDetail.vue'
...@@ -577,6 +745,9 @@ import Quarantine from './Quarantine.vue' ...@@ -577,6 +745,9 @@ import Quarantine from './Quarantine.vue'
const [searchForm, resetSearchForm] = useValue<SearchForm>({ const [searchForm, resetSearchForm] = useValue<SearchForm>({
mainSku: '', mainSku: '',
endProductId: '', endProductId: '',
logisticsTracking: '',
lanshouName: '',
billNumber: '',
shopNumber: '', shopNumber: '',
orderNumber: '', orderNumber: '',
internalMemo: '', internalMemo: '',
...@@ -706,7 +877,10 @@ const changeTab = (item: Tab) => { ...@@ -706,7 +877,10 @@ const changeTab = (item: Tab) => {
statusCode.value = item.statusCode statusCode.value = item.statusCode
search() search()
} }
const copy = (text: string) => {
navigator.clipboard.writeText(text)
ElMessage.success('复制成功')
}
const openAll = (row: OrderData) => { const openAll = (row: OrderData) => {
row.moreable = !row.moreable row.moreable = !row.moreable
} }
...@@ -1128,6 +1302,7 @@ const onChangeCurrentRow = (item: ProductList) => { ...@@ -1128,6 +1302,7 @@ const onChangeCurrentRow = (item: ProductList) => {
.order-list-expand_item_info_title { .order-list-expand_item_info_title {
line-height: 26px; line-height: 26px;
display: flex; display: flex;
align-items: center;
} }
.order-list-expand_item_label { .order-list-expand_item_label {
......
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