Commit 6a561044 by linjinhong

修改物流方式添加问题

parent c14583b0
......@@ -74,6 +74,13 @@ const router = createRouter({
component: PodUsOrderList,
},
{
path: '/pod-us-order/orderTracking',
meta: {
title: 'POD(US)订单跟踪',
},
component: () => import('@/views/order/orderTracking/index.vue'),
},
{
path: '/pod-delivery-note/list',
meta: {
title: 'POD发货单',
......@@ -227,84 +234,6 @@ const router = createRouter({
},
component: WarehousePosition,
},
{
path: '/logistics/logisticsMethod',
meta: {
title: '物流方式',
},
component: () => import('@/views/logistics/logisticsMethod.vue'),
},
{
path: '/logistics/shippingAddress',
meta: {
title: '发货地址',
},
component: () => import('@/views/logistics/shippingAddress.vue'),
},
{
path: '/logistics/logisticsQuotation',
meta: {
title: '物流报价',
},
component: () => import('@/views/logistics/logisticsQuotation.vue'),
},
{
path: '/logistics/declarationRule',
meta: {
title: '申报规则',
},
component: () => import('@/views/logistics/declarationRule.vue'),
},
{
path: '/logistics/logisticsPartition',
meta: {
title: '物流分区',
},
component: () => import('@/views/logistics/logisticsPartition.vue'),
},
{
path: '/logistics/logisticsCalculate',
meta: {
title: '运费试算',
},
component: () => import('@/views/logistics/logisticsCalculate.vue'),
},
{
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: '仓库预警',
},
component: WarehouseWarning,
},
{
path: '/warehouse/position',
meta: {
title: '库位管理',
},
component: WarehousePosition,
},
],
},
// 登录
......
......@@ -117,6 +117,11 @@ const menu: MenuItem[] = [
id: 8,
label: 'POD订单(US)',
},
// {
// index: '/pod-us-order/orderTracking',
// id: 8,
// label: 'POD(US)订单跟踪',
// },
],
},
......
......@@ -76,16 +76,17 @@ import {
updateLogisticsWay,
updateStatusLogisticsWay,
deleteLogisticsWay,
getWarehouseList,
getRuleList,
getPlatformList,
getLogisticsLog,
getLogisticsCompanyList,
getUniuniList,
} from '@/api/logistics'
import { WarehouseListData } from '@/types/api/podUsOrder'
import { ISeachFormConfig } from '@/types/searchType'
import { TableColumn } from '@/components/VxeTable'
// import type { PromiseSettledResult } from 'types'
import { loadWarehouseListApi } from '@/api/podUsOrder'
import type {
LogisticsMethod,
platformObj,
......@@ -103,7 +104,9 @@ import { debounce } from 'lodash-es'
import UPARCELImage from '@/assets/images/UPARCEL物流编码.png'
const [searchForm] = useValue({})
const [editForm, resetEditForm] = useValue<LogisticsMethod>({
platformList: [{ platform: '', logisticsName: '', showPlatform: [] }],
platformList: [
{ platform: '', logisticsName: '', showPlatform: ['default'] },
],
ruleRef: { ruleId: '', ruleName: '' },
status: 1,
})
......@@ -131,6 +134,7 @@ const dialogVisible = ref(false)
const logDialogVisible = ref(false)
const editFormRef = ref<InstanceType<typeof CustomizeForm> | null>(null)
const selection = ref([])
const warehouseList = ref<WarehouseListData[]>([])
interface ImageList {
[key: string]: string
......@@ -173,7 +177,7 @@ const searchConfig = ref<ISeachFormConfig[]>([
},
])
const platformList = ref([])
const warehouseList = ref([])
const ruleNameList = ref([])
const uniuniList = ref([])
const logisticsCompanyList = ref([])
......@@ -323,11 +327,17 @@ const formConfig = computed<IFormConfig[]>(() => [
},
{
prop: 'warehouseId',
type: 'input',
type: 'select',
label: '仓库名称',
fixed: 'last',
attrs: {
placeholder: '请输入仓库名称',
placeholder: '请选择仓库名称',
label: 'name',
value: 'id',
options: [...(warehouseList.value || [])],
onChange: (item: WarehouseListData) => {
editForm.value.warehouseName = item.name
},
},
},
......@@ -384,6 +394,7 @@ const formConfig = computed<IFormConfig[]>(() => [
collapse-tags
collapse-tags-tooltip
v-model={item['showPlatform']}
disabled={index === 0}
>
{platformList.value?.map((el, idx) => (
<el-option label={el} value={el} key={idx}></el-option>
......@@ -707,7 +718,7 @@ const save = debounce(async () => {
return
}
}
}, 400)
}, 200)
/**
* @description: 新增按钮打开弹窗
......@@ -784,14 +795,20 @@ function deleteCol(index: number) {
async function getAllList() {
try {
const res = await Promise.allSettled([
getWarehouseList(),
loadWarehouseListApi(),
getRuleList(),
getPlatformList(),
getLogisticsCompanyList(),
getUniuniList(),
])
res.forEach(
(item: PromiseSettledResult<{ code: number; data: never[] }>, index) => {
(
item: PromiseSettledResult<{
code: number
data: WarehouseListData[] | never[]
}>,
index,
) => {
if (item.status === 'fulfilled') {
if (item.value.code === 200) {
if (index == 0) {
......@@ -799,13 +816,13 @@ async function getAllList() {
} else if (index == 1) {
console.log(758, item.value.data)
ruleNameList.value = item.value.data || []
ruleNameList.value = (item.value.data as never[]) || []
} else if (index == 2) {
platformList.value = item.value.data || []
platformList.value = (item.value.data as never[]) || []
} else if (index == 3) {
logisticsCompanyList.value = item.value.data || []
logisticsCompanyList.value = (item.value.data as never[]) || []
} else if (index == 4) {
uniuniList.value = item.value.data || []
uniuniList.value = (item.value.data as never[]) || []
}
}
}
......
<script setup lang="ts">
import {
factoryWarehouseInfo,
warehouseInfo,
warehouseInfoGetAll,
} from '@/api/warehouse.ts'
import { getListCraftApi, getProductionClientApi } from '@/api/podUsOrder'
import {
SearchForm,
CraftListData,
ProductionClient,
} from '@/types/api/podUsOrder'
import platformJson from '../../../json/platform.json'
import dayjs from 'dayjs'
import { getUserMarkList } from '@/api/common'
import { CaretBottom, CaretTop, DocumentCopy } from '@element-plus/icons-vue'
import SplitDiv from '@/components/splitDiv/splitDiv.vue'
import { useValue } from '@/utils/hooks/useValue'
const [searchForm, resetSearchForm] = useValue<SearchForm>({
timeType: 1,
shopNumber: '',
shipmentType: '',
userMark: '',
logisticsTracking: '',
baseSku: '',
factoryOrderNumber: '',
sku: '',
factorySubOrderNumber: '',
status: '',
customizedQuantity: '',
multi: null,
startTime: null,
endTime: null,
exceptionHandling: undefined,
platform: '',
productionClient: '',
warehouseId: '',
thirdSkuCode: '',
supplierProductNo: '',
batchArrangeNumber: '',
craftCode: '',
thirdStockSku: '',
})
const tableColumns = computed(() => {
return [
{
label: '商品',
prop: 'goods',
slot: 'goods',
minWidth: 920,
},
{
label: '订单详情',
prop: 'orderDetail',
slot: 'orderDetail',
width: 300,
},
{
label: '单价',
slot: 'price',
width: 160,
prop: 'price',
align: 'left',
},
{
label: '时间',
slot: 'time',
width: 180,
prop: 'time',
align: 'left',
},
{
label: '异常原因',
width: 300,
prop: 'exceptionReason',
slot: 'exceptionReason',
align: 'left',
},
]
})
const tableData = ref([])
const searchVisible = ref(false)
const warehouseList = ref<warehouseInfo[]>([])
const timeRange = ref<string[]>([])
const pickerOptions = {
shortcuts: [
{
text: '今日',
value: () => getDateRange(0),
},
{
text: '昨天',
value: () => getDateRange(1),
},
{
text: '最近7天',
value: () => getDateRange(6),
},
{
text: '最近14天',
value: () => getDateRange(13),
},
{
text: '最近30天',
value: () => getDateRange(29),
},
{
text: '本周',
value: () => getWeekRange(0),
},
{
text: '上周',
value: () => getWeekRange(1),
},
{
text: '本月',
value: () => getMonthRange(0),
},
{
text: '上月',
value: () => getMonthRange(1),
},
{
text: '历史',
value: () => {
const end = dayjs().endOf('day').toDate()
const start = dayjs('2000-01-01').startOf('day').toDate()
return [start, end]
},
},
],
}
const pagination = ref<factoryWarehouseInfo>({
pageSize: 50,
currentPage: 1,
total: 0,
})
const search = () => {}
const getDateRange = (days = 0, type: 'past' | 'future' = 'past') => {
const end = dayjs()
const start =
type === 'past' ? end.subtract(days, 'day') : end.add(days, 'day')
return [start.startOf('day').toDate(), end.endOf('day').toDate()]
}
const getMonthRange = (months = 0, type: 'past' | 'future' = 'past') => {
const now = dayjs()
const start =
type === 'past' ? now.subtract(months, 'month') : now.add(months, 'month')
return [start.startOf('month').toDate(), start.endOf('month').toDate()]
}
const getWeekRange = (weeks = 0, type: 'past' | 'future' = 'past') => {
const now = dayjs()
const start =
type === 'past' ? now.subtract(weeks, 'week') : now.add(weeks, 'week')
return [start.startOf('week').toDate(), start.endOf('week').toDate()]
}
async function getData() {}
const copy = (text: string) => {
navigator.clipboard.writeText(text)
ElMessage.success('复制成功')
}
const handleSizeChange = (pageSize: number) => {
pagination.value.pageSize = pageSize
getData()
}
const handleCurrentChange = (currentPage: number) => {
pagination.value.currentPage = currentPage
getData()
}
const productionClient = ref<ProductionClient[]>()
const loadProductionClient = async () => {
try {
const res = await getProductionClientApi()
if (res.code !== 200) return
productionClient.value = res.data
} catch (e) {
console.error(e)
}
}
const getWarehouse = async () => {
const { data } = await warehouseInfoGetAll()
warehouseList.value = data
}
const userMarkList = ref<string[]>([])
const getUserMark = async () => {
try {
const res = await getUserMarkList()
userMarkList.value = res.data
} catch (error) {
//showError(error)
}
}
const craftList = ref<CraftListData[]>([])
const loadCraftList = async () => {
try {
const res = await getListCraftApi()
if (res.code !== 200) return
craftList.value = res.data
} catch (e) {
console.error(e)
}
}
loadProductionClient()
getUserMark()
loadCraftList()
getData()
getWarehouse()
</script>
<template>
<split-div>
<template #top>
<el-card>
<ElForm :model="searchForm" size="default" inline class="search-form">
<div>
<ElFormItem label="仓库">
<ElSelect
v-model="searchForm.warehouseId"
clearable
filterable
placeholder="请输入"
style="width: 150px"
>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</ElSelect>
</ElFormItem>
<ElFormItem label="平台">
<ElSelect
v-model="searchForm.platform"
value-key=""
placeholder="请选择"
clearable
filterable
popper-class="customize-select-style"
style="width: 150px"
>
<ElOption
v-for="(item, index) in platformJson"
:key="index"
:label="item.type"
:value="item.type"
style="width: 160px"
>
<img
:src="`/images/icon/${item.icon.split('/').pop()}`"
style="height: 20px; margin: 5px 10px 0 0"
/>
<span :title="item.type">{{ item.type }}</span>
</ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="工艺">
<ElSelect
v-model="searchForm.craftCode"
clearable
filterable
placeholder="请输入工艺"
style="width: 150px"
>
<el-option
v-for="item in craftList"
:key="item.craftCode"
:label="item.craftName"
:value="item.craftCode"
></el-option>
</ElSelect>
</ElFormItem>
<ElFormItem label="库存SKU">
<ElInput
v-model.trim="searchForm.thirdSkuCode"
placeholder="库存SKU"
clearable
style="width: 150px"
></ElInput>
</ElFormItem>
<ElFormItem label="款号">
<ElInput
v-model="searchForm.supplierProductNo"
placeholder="款号"
clearable
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="批次号">
<ElInput
v-model="searchForm.batchArrangeNumber"
placeholder="批次号"
clearable
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="生产单号">
<ElInput
v-model="searchForm.factorySubOrderNumber"
placeholder="生产单号"
clearable
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="店铺单号">
<ElInput
v-model="searchForm.shopNumber"
placeholder="店铺单号"
clearable
style="width: 150px"
/>
</ElFormItem>
</div>
<ElFormItem label="类型">
<el-radio-group v-model="searchForm.customizedQuantity">
<el-radio-button label="single">单面</el-radio-button>
<el-radio-button label="multiple">多面</el-radio-button>
</el-radio-group>
</ElFormItem>
<ElFormItem label="数量">
<el-radio-group v-model="searchForm.multi">
<el-radio-button :label="false">单件</el-radio-button>
<el-radio-button :label="true">多件</el-radio-button>
</el-radio-group>
</ElFormItem>
<ElFormItem>
<ElPopover placement="bottom" width="600" trigger="click">
<ElForm
:model="searchForm"
size="default"
inline
label-width="100px"
>
<ElFormItem style="width: 100%; padding-right: 40px">
<div style="width: 100%; display: flex; flex-wrap: nowrap">
<el-select
v-model="searchForm.timeType"
clearable
:teleported="false"
placeholder="时间类型"
style="flex: 1; margin-right: 10px"
>
<el-option :value="1" label="创建时间"></el-option>
<el-option :value="2" label="确认时间"></el-option>
<el-option :value="3" label="完成时间"></el-option>
</el-select>
<el-date-picker
v-model="timeRange"
:teleported="false"
:default-time="[
new Date(0, 0, 0, 0, 0, 0),
new Date(0, 0, 0, 23, 59, 59),
]"
placeholder="收货人"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetimerange"
style="width: 280px"
:shortcuts="pickerOptions.shortcuts"
start-placeholder="开始时间"
end-placeholder="结束时间"
clearable
>
</el-date-picker>
</div>
</ElFormItem>
<ElFormItem label="订单号">
<ElInput
v-model="searchForm.factoryOrderNumber"
placeholder="订单号"
clearable
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="客户">
<el-select
v-model="searchForm.userMark"
clearable
filterable
:teleported="false"
style="width: 150px"
placeholder="客户"
>
<el-option
v-for="item in userMarkList"
:key="item"
:value="item"
:label="item"
></el-option>
</el-select>
</ElFormItem>
<ElFormItem label="生产端">
<ElSelect
v-model="searchForm.productionClient"
placeholder="生产端"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in productionClient"
:key="index"
:value="item.code || ''"
:label="`${item.remark}(${item.code})`"
></ElOption>
</ElSelect>
</ElFormItem>
<ElFormItem label="Variant SKU">
<ElInput
v-model.trim="searchForm.sku"
placeholder="Variant SKU"
clearable
style="width: 150px"
></ElInput>
</ElFormItem>
<!-- <ElFormItem label="Base SKU">
<ElInput
v-model.trim="searchForm.baseSku"
placeholder=" Base SKU"
clearable
style="width: 150px"
></ElInput>
</ElFormItem> -->
<ElFormItem label="物流跟踪号">
<ElInput
v-model.trim="searchForm.logisticsTracking"
placeholder="物流跟踪号"
clearable
style="width: 150px"
></ElInput>
</ElFormItem>
<ElFormItem label="物流类型">
<ElSelect
v-model="searchForm.shipmentType"
placeholder="物流类型"
clearable
:teleported="false"
style="width: 150px"
>
<ElOption
v-for="(item, index) in ['自有物流', '工厂物流']"
:key="index"
:value="index"
:label="item"
></ElOption>
</ElSelect>
</ElFormItem>
</ElForm>
<template #reference>
<el-button
type="warning"
@click="searchVisible = !searchVisible"
>
<el-icon v-if="searchVisible">
<CaretTop />
</el-icon>
<el-icon v-else>
<CaretBottom />
</el-icon>
</el-button>
</template>
</ElPopover>
</ElFormItem>
<ElFormItem>
<span>
<ElButton link @click="resetSearchForm" style="font-size: 12px"
><span title="重置查询条件">重置</span></ElButton
>
</span>
</ElFormItem>
<ElFormItem>
<span>
<ElButton type="primary" @click="search">查询</ElButton>
</span>
</ElFormItem>
</ElForm>
</el-card>
</template>
<template #bottom>
<el-card style="height: 100%">
<div class="manage">
<div class="table-flex">
<div class="top-table">
<div class="table-container">
<TableView
ref="tableRef"
:columns="tableColumns"
:serial-numberable="true"
:selectionable="true"
:paginated-data="tableData"
>
<template #goods="{ row }">
<div class="goods-info-box">
<div class="goods-list">
<div
v-for="item in row.productList"
:key="item"
class="goods-item"
>
<div class="goods-item-img">
<img :src="item.variantImage" alt="商品图片" />
</div>
<div class="goods-item-info">
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>商品名称:</span
>
<span class="goods-item-info-item-value">
{{ item.productName }}
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>变体SKU:</span
>
<span class="goods-item-info-item-value">
{{ item.variantSku }}
</span>
<el-icon
class="icon"
@click="copy(item.variantSku || '')"
>
<DocumentCopy />
</el-icon>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>库存SKU:</span
>
<span class="goods-item-info-item-value">
{{ item.thirdSkuCode }}
</span>
<el-icon
class="icon"
@click="copy(item.thirdSkuCode || '')"
>
<DocumentCopy />
</el-icon>
</div>
<div
v-if="item.thirdStockSku"
class="goods-item-info-item"
>
<span class="goods-item-info-item-label"
>货号:</span
>
<span class="goods-item-info-item-value">
{{ item.thirdStockSku }}
</span>
<el-icon
class="icon"
@click="copy(item.thirdStockSku || '')"
>
<DocumentCopy />
</el-icon>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>工艺:</span
>
<span class="goods-item-info-item-value">
{{ item.craftName }}
</span>
</div>
</div>
<div class="goods-item-info">
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>生产单号:</span
>
<span
class="goods-item-info-item-value"
:title="item.factorySubOrderNumber"
>
{{ item.factorySubOrderNumber }}
</span>
<el-icon
class="icon"
@click="copy(item.factorySubOrderNumber || '')"
>
<DocumentCopy />
</el-icon>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>第三方生产单号:</span
>
<span
class="goods-item-info-item-value"
:title="item.thirdSubOrderNumber"
>
{{ item.thirdSubOrderNumber }}
</span>
<el-icon
class="icon"
@click="copy(item.thirdSubOrderNumber || '')"
>
<DocumentCopy />
</el-icon>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>工厂:</span
>
<span class="goods-item-info-item-value">
{{ item.factoryCode }}
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>款号:</span
>
<span class="goods-item-info-item-value">
{{ item.supplierProductNo }}
</span>
</div>
<div
v-if="item.isReplenishment"
class="goods-item-info-item"
>
<!-- <span class="goods-item-info-item-label">补胚状态:</span> -->
<el-tag size="small" effect="dark" type="danger"
>补胚中
</el-tag>
</div>
</div>
<div class="goods-item-info">
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>价格:</span
>
<span class="goods-item-info-item-value">
{{ item.productPrice }}($)
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>模板金额:</span
>
<span class="goods-item-info-item-value">
{{ item.templatePrice }}($)
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>工艺金额:</span
>
<span class="goods-item-info-item-value">
{{ item.craftPrice }}($)
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>付款金额:</span
>
<span class="goods-item-info-item-value">
{{ item.payAmount }}($)
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label">{{
'已生产数量:'
}}</span>
<span class="goods-item-info-item-value">
{{ item.passNum }}
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>补胚数量:</span
>
<span
class="goods-item-info-item-value"
:title="item.replenishmentSumNum"
>
{{ item.replenishmentSumNum || 0 }}
</span>
</div>
<div class="goods-item-info-item">
<span class="goods-item-info-item-label"
>克重:</span
>
<span
v-if="item.weight"
class="goods-item-info-item-value"
>
{{ item.weight }}g
</span>
</div>
</div>
</div>
</div>
</div>
</template>
</TableView>
</div>
<div class="pagination">
<el-pagination
size="small"
v-model:current-page="pagination.currentPage"
v-model:page-size="pagination.pageSize"
:page-sizes="[50, 100, 150, 200]"
layout="total, sizes, prev, pager, next, jumper"
:total="pagination.total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</div>
</div>
</div>
</el-card>
</template>
<template #other>
<div class="bottom-table">
<el-tabs>
<el-tab-pane label="库存操作明细"> </el-tab-pane>
</el-tabs>
</div>
</template>
</split-div>
</template>
<style scoped lang="scss">
::v-deep(.search-form) {
.el-form-item {
margin-bottom: 10px;
margin-right: 14px;
}
}
.el-card {
::v-deep(.el-card__body) {
padding: 10px;
padding-bottom: 0;
height: 100%;
}
}
.manage {
height: 100%;
display: flex;
flex-direction: column;
.header {
margin-bottom: 10px;
}
.table-flex {
flex: 1;
flex-shrink: 0;
overflow: hidden;
display: flex;
flex-direction: column;
}
.right-table {
flex: 1;
margin-left: 10px;
flex-shrink: 0;
}
.top-table {
height: 100%;
display: flex;
width: 100%;
flex-direction: column;
.pagination {
display: flex;
margin: 10px 0;
justify-content: center;
}
.table-container {
flex: 1;
flex-shrink: 0;
overflow: hidden;
}
}
}
.bottom-table {
height: 100%;
background: white;
box-sizing: border-box;
padding: 10px;
::v-deep(.el-tabs) {
height: 100%;
display: flex;
.el-tabs__content {
flex: 1;
flex-shrink: 0;
.el-tab-pane {
height: 100%;
ul {
height: 100%;
}
}
}
}
}
</style>
......@@ -93,6 +93,14 @@
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="店铺单号">
<ElInput
v-model="searchForm.shopNumber"
placeholder="店铺单号"
clearable
style="width: 150px"
/>
</ElFormItem>
</div>
<ElFormItem label="类型">
<el-radio-group v-model="searchForm.customizedQuantity">
......@@ -155,14 +163,6 @@
/>
</ElFormItem>
<ElFormItem label="店铺单号">
<ElInput
v-model="searchForm.shopNumber"
placeholder="店铺单号"
clearable
style="width: 150px"
/>
</ElFormItem>
<ElFormItem label="客户">
<el-select
v-model="searchForm.userMark"
......@@ -1190,7 +1190,7 @@
<template #bottom_left>
<span
v-if="cardItem?.factorySubOrderNumber"
title="生产单号"
:title="`生产单号:${cardItem?.factorySubOrderNumber || ''}`"
class="factory-sub-order-number"
@click.stop="
copy(String(cardItem?.factorySubOrderNumber || ''))
......@@ -1198,6 +1198,14 @@
>
{{ cardItem?.factorySubOrderNumber }}
</span>
<el-icon
class="icon"
style="margin-left: 3px"
size="14"
@click="copy(cardItem?.factorySubOrderNumber || '')"
>
<DocumentCopy />
</el-icon>
</template>
<template #operations>
<div
......@@ -1243,7 +1251,10 @@
</template>
<template #info>
<div class="grid-container">
<div class="grid-item" title="商品名称">
<div
class="grid-item"
:title="`商品名称:${cardItem?.productName || ''}`"
>
<span class="grid-item-value"
>{{ cardItem?.productName }}
</span>
......@@ -1270,9 +1281,20 @@
</span>
</div>
<div class="grid-item">
<span title="Base SKU" class="grid-item-value">
<div
:title="`Base SKU:${cardItem?.baseSku || ''}`"
class="grid-item-value orderNumber"
>
{{ cardItem?.baseSku }}
</span>
<el-icon
class="icon"
style="margin-left: 3px"
size="14"
@click="copy(cardItem?.baseSku || '')"
>
<DocumentCopy />
</el-icon>
</div>
</div>
<div v-if="status !== 'TO_BE_ARRANGE'" class="grid-item">
<span class="grid-item-label">补胚数量:</span>
......@@ -1286,16 +1308,30 @@
{{ cardItem?.variantSku }}
</span>
</div> -->
<div class="grid-item" title="工艺">
<div
class="grid-item"
:title="`工艺:${cardItem?.craftName || ''}`"
>
<span class="grid-item-label">工艺:</span>
<span class="grid-item-value">
{{ cardItem?.craftName }}
</span>
</div>
<div class="grid-item">
<span title="库存SKU" class="grid-item-value">
<div
:title="`库存SKU:${cardItem?.thirdSkuCode || ''}`"
class="grid-item-value orderNumber"
>
{{ cardItem?.thirdSkuCode }}
</span>
<el-icon
class="icon"
style="margin-left: 3px"
size="14"
@click="copy(cardItem?.thirdSkuCode || '')"
>
<DocumentCopy />
</el-icon>
</div>
</div>
<div class="grid-item">
<span class="grid-item-label">款号:</span>
......@@ -1307,13 +1343,21 @@
</span>
</div>
<div class="grid-item" title="店铺单号">
<span
class="grid-item-value"
@click="copy(cardItem?.shopNumber || '')"
>
<div
class="grid-item"
:title="`店铺单号:${cardItem?.shopNumber || ''}`"
>
<div class="grid-item-value orderNumber">
{{ cardItem?.shopNumber }}
</span>
<el-icon
class="icon"
style="margin-left: 3px"
size="14"
@click="copy(cardItem?.shopNumber || '')"
>
<DocumentCopy />
</el-icon>
</div>
</div>
<!-- <div class="grid-item" title="订单号">
<span
......@@ -1325,27 +1369,39 @@
</div> -->
<div class="grid-item">
<span
<div
:title="`第三方生产单号:${cardItem?.thirdSubOrderNumber}`"
class="grid-item-value"
@click.stop="
copy(String(cardItem?.thirdSubOrderNumber || ''))
"
class="grid-item-value orderNumber"
>
{{ cardItem?.thirdSubOrderNumber }}
</span>
<el-icon
class="icon"
style="margin-left: 3px"
size="14"
@click.stop="
copy(String(cardItem?.thirdSubOrderNumber || ''))
"
>
<DocumentCopy />
</el-icon>
</div>
</div>
<div
v-if="cardItem.batchArrangeNumber"
class="grid-item"
title="批次号"
:title="`批次号:${cardItem?.batchArrangeNumber || ''}`"
>
<span
class="grid-item-value"
@click="copy(cardItem?.batchArrangeNumber || '')"
>
<div class="grid-item-value orderNumber">
{{ cardItem?.batchArrangeNumber }}
</span>
<el-icon
class="icon"
style="margin-left: 3px"
size="14"
@click="copy(cardItem?.batchArrangeNumber || '')"
>
<DocumentCopy />
</el-icon>
</div>
</div>
<div v-if="cardItem.isReplenishment" class="grid-item">
<el-tag size="small" type="danger" effect="dark"
......@@ -4177,6 +4233,11 @@ function getPlatformImg(code: string) {
font-size: 15px;
}
}
.orderNumber {
display: flex;
align-items: center;
justify-content: flex-start;
}
</style>
<style lang="scss">
.customize-select-style {
......
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