This commit is contained in:
parent
0dfc0caf6b
commit
eed20a11b2
@ -62,6 +62,9 @@ export interface InquiryRequestVO {
|
||||
* 报价有效的结束日期
|
||||
*/
|
||||
effectiveEndTime: string;
|
||||
|
||||
type: string;
|
||||
shipmentId: string | number;
|
||||
}
|
||||
|
||||
export interface InquiryRequestItemVO {
|
||||
|
@ -33,9 +33,9 @@ export const queryLogisticsQuote = (destination: string | number, channelId: str
|
||||
});
|
||||
};
|
||||
|
||||
export const queryLogisticsQuoteWithDes = (destination: string | number, date: string): AxiosPromise<LogisticsQuoteVO[]> => {
|
||||
export const queryLogisticsQuoteWithDes = (destination: string | number, date: string,shipmentId: string | number): AxiosPromise<LogisticsQuoteVO[]> => {
|
||||
return request({
|
||||
url: '/amz/logisticsQuote/queryWithDes/' + destination + '/' + date,
|
||||
url: '/amz/logisticsQuote/queryWithDes/' + destination + '/' + date + '/' + shipmentId,
|
||||
method: 'get'
|
||||
});
|
||||
};
|
||||
|
@ -153,6 +153,11 @@ export interface LogisticsQuoteForm extends BaseEntity {
|
||||
* 单位
|
||||
*/
|
||||
unit?: string;
|
||||
|
||||
type: string;
|
||||
shipmentId: string | number;
|
||||
|
||||
totalPrice: number;
|
||||
}
|
||||
|
||||
export interface LogisticsMostQuoteForm extends BaseEntity {
|
||||
|
@ -1,3 +1,5 @@
|
||||
import { ShipmentPlanVO } from '@/api/amz/shipmentPlan/types';
|
||||
|
||||
export interface SendOrderVO {
|
||||
/**
|
||||
* 主键ID
|
||||
@ -58,6 +60,12 @@ export interface SendOrderVO {
|
||||
* 发货状态(pending=未发货,confirm=确认发货, processing=发货中,completed=发货完成)
|
||||
*/
|
||||
sendStatus: string;
|
||||
|
||||
createTime: string;
|
||||
|
||||
sendName: string;
|
||||
|
||||
bizShipmentPlans: ShipmentPlanVO[];
|
||||
}
|
||||
|
||||
export interface SendOrderForm extends BaseEntity {
|
||||
|
@ -495,7 +495,7 @@ export interface ShipmentPlanQuery extends PageQuery {
|
||||
/**
|
||||
* 货件编号
|
||||
*/
|
||||
shipmentId?: string | number;
|
||||
shipmentId?: string;
|
||||
|
||||
/**
|
||||
* 货件名称
|
||||
|
@ -112,8 +112,74 @@
|
||||
</template>
|
||||
|
||||
<el-table v-loading="loading" :data="inquiryRequestList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="expand">
|
||||
<template #default="props">
|
||||
<el-card shadow="never">
|
||||
<el-table :data="props.row.sendOrders">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<!-- <el-table-column label="采购单号" align="center" prop="orderSn" />-->
|
||||
<!-- <el-table-column label="发货单号" align="center" prop="id" />-->
|
||||
<!-- <el-table-column label="创建日期" align="center" prop="createTime" width="180">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="发货日期" align="center" prop="sendDate" width="180">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <span>{{ parseTime(scope.row.sendDate, '{y}-{m}-{d}') }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="采购店铺" align="center" prop="storeName" />-->
|
||||
<!-- <el-table-column label="供应商名称" align="center" prop="sendName" />-->
|
||||
<!-- <el-table-column label="物流商名称" align="center" prop="logisticsProviderName">-->
|
||||
<!-- <template #default="{ row }">-->
|
||||
<!-- <el-popover placement="top" title="物流商地址" :width="200" trigger="click">-->
|
||||
<!-- <template #reference>-->
|
||||
<!-- <el-button v-if="row.logisticsProviderName !== null" text size="small" type="primary">-->
|
||||
<!-- {{ row.logisticsProviderName }}-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- <div>{{ row.address || '暂无地址' }}</div>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="产品名称" align="center" prop="productName" />
|
||||
<el-table-column label="发货数量" align="center" prop="quantitySend" />
|
||||
<!-- <el-table-column label="单箱产品数量" align="center" prop="quantityPerBox" />-->
|
||||
<el-table-column label="箱数" align="center" prop="boxCount">
|
||||
<template #default="{ row }">
|
||||
<el-popover placement="top" title="装箱明细" :width="500" trigger="click">
|
||||
<template #reference>
|
||||
<el-button text size="small" type="primary"> {{ row.boxCount }}箱</el-button>
|
||||
</template>
|
||||
<div v-if="row.sendDetail !== null" v-html="formatText(row.sendDetail)"></div>
|
||||
<div v-else>暂无数据</div>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="箱子尺寸" align="center" prop="boxDimensions" />-->
|
||||
<el-table-column label="总重量" align="center" prop="weightPerBox">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.weightPerBox }}kg</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="实际发货店铺" align="center" prop="realStoreName" />-->
|
||||
<!-- <el-table-column label="发货状态" align="center" prop="sendStatus">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <dict-tag :options="send_status" :value="scope.row.sendStatus" />-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
</el-table>
|
||||
</el-card>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="询价单号" align="center" prop="inquiryNo" />
|
||||
<el-table-column label="询价类型" align="center" prop="inquiryNo">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="request_type" :value="scope.row.type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="发起人" align="center" prop="requesterName" />-->
|
||||
<!-- <el-table-column label="目标物流商ID列表" align="center" prop="targetProviders" />-->
|
||||
<el-table-column label="目的地" align="center" prop="destination" />
|
||||
@ -239,15 +305,24 @@
|
||||
<el-form-item label="是否需要报关" prop="channelName">
|
||||
<el-input v-model="quoteForm.customsFlag" placeholder="请输入是否需要报关" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="基础价格" prop="price">
|
||||
<el-form-item v-if="quoteForm.type === 'general'" label="基础价格" prop="price" required>
|
||||
<div class="kgprice">
|
||||
<el-input-number v-model="quoteForm.price" :precision="2" :step="0.1" :min="1" :max="100">
|
||||
<el-input-number v-model="quoteForm.price" :precision="2" :step="0.1" :min="0" :max="100">
|
||||
<template #suffix>
|
||||
<span>元/kg</span>
|
||||
</template>
|
||||
</el-input-number>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item v-else label="货件总价" prop="totalPrice" required>
|
||||
<div class="kgprice">
|
||||
<el-input-number v-model="quoteForm.totalPrice" :precision="2" :step="0.1" :min="0" :max="100">
|
||||
<template #suffix>
|
||||
<span>元</span>
|
||||
</template>
|
||||
</el-input-number>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-col :span="6"></el-col>
|
||||
<el-col :span="12">
|
||||
@ -305,7 +380,7 @@
|
||||
<div class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitQuoteForm">提 交</el-button>
|
||||
<el-button :loading="buttonLoading" type="primary" @click="saveQuoteForm">暂 存</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button @click="quoteDialog.visible = false">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -325,11 +400,15 @@ import { InquiryRequestVO, InquiryRequestQuery, InquiryRequestForm } from '@/api
|
||||
import { LogisticsMostQuoteForm, LogisticsQuoteForm } from '@/api/amz/logisticsQuote/types';
|
||||
import { addMostLogisticsQuote, checkPriceQuoteByBo, getTodayQuoteStatus } from '@/api/amz/logisticsQuote';
|
||||
import { ShipmentPlanVO } from '@/api/amz/shipmentPlan/types';
|
||||
import { formatText } from '@/utils/asinkj';
|
||||
import { ElTable } from 'element-plus';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
|
||||
const { biz_shipping_method } = toRefs<any>(proxy?.useDict('biz_shipping_method'));
|
||||
|
||||
const { request_type } = toRefs<any>(proxy?.useDict('request_type'));
|
||||
|
||||
const { back_logistics_type } = toRefs<any>(proxy?.useDict('back_logistics_type'));
|
||||
|
||||
const { sys_yes_no } = toRefs<any>(proxy?.useDict('sys_yes_no'));
|
||||
@ -347,6 +426,7 @@ const minDay = ref(0);
|
||||
|
||||
const queryFormRef = ref<ElFormInstance>();
|
||||
const inquiryRequestFormRef = ref<ElFormInstance>();
|
||||
const logisticsQuoteFormRef = ref<ElFormInstance>({});
|
||||
|
||||
const dialog = reactive<DialogOption>({
|
||||
visible: false,
|
||||
@ -358,6 +438,14 @@ const quoteDialog = reactive<DialogOption>({
|
||||
title: ''
|
||||
});
|
||||
|
||||
const validatePrice = (rule, value, callback) => {
|
||||
if (quoteForm.value.price > 0 || quoteForm.value.totalPrice > 0) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error('请填写价格'));
|
||||
}
|
||||
};
|
||||
|
||||
const initFormData: InquiryRequestForm = {
|
||||
id: undefined,
|
||||
inquiryNo: undefined,
|
||||
@ -402,7 +490,8 @@ const data = reactive<PageData<InquiryRequestForm, InquiryRequestQuery>>({
|
||||
channelName: [{ required: true, message: '渠道名称不能为空', trigger: 'blur' }],
|
||||
effectiveStartTime: [{ required: true, message: '报价有效的开始日期不能为空', trigger: 'blur' }],
|
||||
effectiveEndTime: [{ required: true, message: '报价有效的结束日期不能为空', trigger: 'blur' }],
|
||||
price: [{ required: true, message: '基础价格不能为空', trigger: 'blur' }],
|
||||
price: [{ validator: validatePrice, trigger: 'blur' }],
|
||||
totalPrice: [{ validator: validatePrice, trigger: 'blur' }],
|
||||
leadTime: [{ required: true, message: '时效不能为空', trigger: 'blur' }],
|
||||
surcharge: [{ required: true, message: '附加费不能为空', trigger: 'blur' }],
|
||||
quoteDate: [{ required: true, message: '报价生效日期不能为空', trigger: 'blur' }],
|
||||
@ -432,7 +521,7 @@ const quoteForm = ref<LogisticsQuoteForm>({
|
||||
userId: undefined,
|
||||
destination: undefined,
|
||||
transportChannel: undefined,
|
||||
price: 10,
|
||||
price: 0,
|
||||
minLeadTime: 10,
|
||||
leadTime: 10,
|
||||
surcharge: 0,
|
||||
@ -446,7 +535,10 @@ const quoteForm = ref<LogisticsQuoteForm>({
|
||||
channelId: undefined,
|
||||
isDdp: 'Y',
|
||||
unit: 'kg',
|
||||
backLogisticsType: '快递'
|
||||
backLogisticsType: '快递',
|
||||
type: 'general',
|
||||
shipmentId: undefined,
|
||||
totalPrice: 0
|
||||
});
|
||||
|
||||
const handleChannelChange = ({ value, node }) => {
|
||||
@ -557,6 +649,10 @@ const submitQuoteForm = async () => {
|
||||
quoteForm.value.quoteEndDate = quoteForm.value.quoteDate[1];
|
||||
quoteForm.value.isSubmitted = 'Y';
|
||||
console.log('submitQuoteForm', quoteForm.value);
|
||||
logisticsQuoteFormRef.value?.validate(async (valid: boolean) => {
|
||||
if (valid) {
|
||||
console.log('quoteForm', quoteForm.value);
|
||||
return;
|
||||
const res = await checkPriceQuoteByBo(quoteForm.value);
|
||||
console.log('submitQuoteForm', res);
|
||||
if (res.code === 200) {
|
||||
@ -585,6 +681,8 @@ const submitQuoteForm = async () => {
|
||||
.catch(() => {});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const saveQuoteForm = () => {
|
||||
@ -616,7 +714,7 @@ const handleSubmit = async (row?: InquiryRequestVO) => {
|
||||
userId: undefined,
|
||||
destination: undefined,
|
||||
transportChannel: undefined,
|
||||
price: 10,
|
||||
price: 0,
|
||||
minLeadTime: 10,
|
||||
leadTime: 10,
|
||||
surcharge: 0,
|
||||
@ -630,7 +728,10 @@ const handleSubmit = async (row?: InquiryRequestVO) => {
|
||||
channelId: undefined,
|
||||
isDdp: 'Y',
|
||||
unit: 'kg',
|
||||
backLogisticsType: '快递'
|
||||
backLogisticsType: '快递',
|
||||
type: 'general',
|
||||
shipmentId: undefined,
|
||||
totalPrice: 0
|
||||
};
|
||||
quoteForm.value.id = row.id;
|
||||
quoteForm.value.destination = row.destination;
|
||||
@ -638,6 +739,8 @@ const handleSubmit = async (row?: InquiryRequestVO) => {
|
||||
quoteForm.value.channelId = row.channelId;
|
||||
quoteForm.value.channelName = row.channelName;
|
||||
quoteForm.value.customsFlag = row.customsFlag;
|
||||
quoteForm.value.type = row.type;
|
||||
quoteForm.value.shipmentId = row.shipmentId;
|
||||
|
||||
quoteDialog.visible = true;
|
||||
console.log(row.effectiveStartTime);
|
||||
|
@ -257,9 +257,7 @@
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-hasRoles="['superadmin', 'gengdan', 'gongying']">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" size=" small" @click="handleUpdate(scope.row)" v-hasPermi="['amz:purchaseOrder:edit']"
|
||||
>设置延期
|
||||
</el-button>
|
||||
<el-button link type="primary" size="small" @click="handleUpdate(scope.row)" v-hasPermi="['amz:purchaseOrder:edit']">设置延期 </el-button>
|
||||
|
||||
<!-- <el-button size="small" link type="primary" @click="handleConfirm(scope.row)" v-hasPermi="['amz:purchaseOrder:remove']"> 确认 </el-button>-->
|
||||
</template>
|
||||
|
@ -231,6 +231,7 @@ import { listSendOrder, getSendOrder, delSendOrder, addSendOrder, updateSendOrde
|
||||
import { SendOrderVO, SendOrderQuery, SendOrderForm } from '@/api/amz/sendOrder/types';
|
||||
import { getPurchaseOrder } from '@/api/amz/purchaseOrder';
|
||||
import { Close, Plus } from '@element-plus/icons-vue';
|
||||
import { formatText } from '@/utils/asinkj';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { send_status } = toRefs<any>(proxy?.useDict('send_status'));
|
||||
|
@ -59,6 +59,79 @@
|
||||
<el-table v-loading="loading" :data="sendOrderList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<!-- <el-table-column label="主键ID" align="center" prop="id" />-->
|
||||
<el-table-column type="expand">
|
||||
<template #default="props">
|
||||
<el-card shadow="never">
|
||||
<el-table :data="props.row.bizShipmentPlans">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<!-- <el-table-column label="创建日期" align="center" prop="gmtCreate" width="180">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <span>{{ parseTime(scope.row.gmtCreate, '{y}-{m}-{d}') }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="店铺名称" align="center" prop="sellerName" />-->
|
||||
|
||||
<el-table-column label="货件编号" align="center" prop="shipmentId" />
|
||||
<!-- <el-table-column label="商品详情" align="center">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <el-popover placement="top" :width="750" trigger="hover">-->
|
||||
<!-- <template #reference>-->
|
||||
<!-- <el-button size="small" plain style="margin-right: 16px">查看</el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- <el-table :data="scope.row.itemVoList">-->
|
||||
<!-- <el-table-column width="200" property="productName" label="品名" />-->
|
||||
<!-- <el-table-column width="150" property="asin" label="asin" />-->
|
||||
<!-- <el-table-column width="150" property="fnsku" label="fnsku" />-->
|
||||
<!-- <el-table-column width="200" property="msku" label="msku" />-->
|
||||
<!-- </el-table>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="国家" align="center" prop="shipToAddress.countryCode" />
|
||||
<el-table-column label="物流中心编码" align="center" prop="destination" />
|
||||
<el-table-column label="物流商地址" align="center" prop="address" />
|
||||
<el-table-column label="物流商名称" align="center" prop="logisticsProviderName" />
|
||||
<!-- <el-table-column label="关联的采购单" align="center">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <el-tag v-if="scope.row.sendOrders != null" type="success">已关联</el-tag>-->
|
||||
<!-- <el-tag v-else type="info">未关联</el-tag>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column width="150" label="仓库配送地址" align="center" prop="shipToAddress">-->
|
||||
<!-- <template #default="{ row }">-->
|
||||
<!-- <!– <el-button @click="openAddressDialog(row.shipToAddress)"> 查看详情</el-button>–>-->
|
||||
<!-- <el-popover placement="left" :width="800" trigger="click">-->
|
||||
<!-- <template #reference>-->
|
||||
<!-- <!– <el-button style="margin-right: 16px">Click to activate</el-button>–>-->
|
||||
<!-- <el-button plain size="small" type="success"> 点击查看详情</el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- <el-descriptions title="收货地址信息" :column="3" border>-->
|
||||
<!-- <el-descriptions-item v-for="item in descriptItems" :key="item.prop" :label="item.label">-->
|
||||
<!-- {{ row.shipToAddress[item.prop] || 'N/A' }}-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<!-- </el-descriptions>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="亚马逊货件状态" align="center" width="180">
|
||||
<template #default="scope">
|
||||
<el-tag>{{ scope.row.shipmentStatus }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <!– <el-tooltip content="修改" placement="top" v-if="scope.row.sendStatus === 'pending'">–>-->
|
||||
<!-- <!– <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['amz:sendOrder:edit']"></el-button>–>-->
|
||||
<!-- <!– </el-tooltip>–>-->
|
||||
<!-- <el-tooltip content="删除" placement="top">-->
|
||||
<!-- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['amz:sendOrder:remove']"></el-button>-->
|
||||
<!-- </el-tooltip>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
</el-table>
|
||||
</el-card>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="采购单号" align="center" prop="orderSn" />
|
||||
<el-table-column label="发货单号" align="center" prop="id" />
|
||||
@ -74,18 +147,18 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="采购店铺" align="center" prop="storeName" />
|
||||
<el-table-column label="供应商名称" align="center" prop="sendName" />
|
||||
<el-table-column label="物流商名称" align="center" prop="logisticsProviderName">
|
||||
<template #default="{ row }">
|
||||
<el-popover placement="top" title="物流商地址" :width="200" trigger="click">
|
||||
<template #reference>
|
||||
<el-button v-if="row.logisticsProviderName" text size="small" type="primary">
|
||||
{{ row.logisticsProviderName }}
|
||||
</el-button>
|
||||
</template>
|
||||
<div>{{ row.address || '暂无地址' }}</div>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="物流商名称" align="center" prop="logisticsProviderName">-->
|
||||
<!-- <template #default="{ row }">-->
|
||||
<!-- <el-popover placement="top" title="物流商地址" :width="200" trigger="click">-->
|
||||
<!-- <template #reference>-->
|
||||
<!-- <el-button v-if="row.logisticsProviderName" text size="small" type="primary">-->
|
||||
<!-- {{ row.logisticsProviderName }}-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- <div>{{ row.address || '暂无地址' }}</div>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="产品名称" align="center" prop="productName" />
|
||||
<el-table-column label="发货数量" align="center" prop="quantitySend" />
|
||||
<el-table-column label="箱数" align="center" prop="boxCount">
|
||||
@ -180,7 +253,8 @@
|
||||
<script setup name="SendOrder" lang="ts">
|
||||
import { listSendOrder, getSendOrder, delSendOrder, addSendOrder, updateSendOrder } from '@/api/amz/sendOrder';
|
||||
import { SendOrderVO, SendOrderQuery, SendOrderForm } from '@/api/amz/sendOrder/types';
|
||||
import { formatText } from '@/utils/asinkj';
|
||||
import { formatText, parseTime } from '@/utils/asinkj';
|
||||
import { ElTable } from 'element-plus';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { send_status } = toRefs<any>(proxy?.useDict('send_status'));
|
||||
|
@ -57,8 +57,6 @@
|
||||
</template>
|
||||
|
||||
<el-table v-loading="loading" :data="sendOrderList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<!-- <el-table-column label="主键ID" align="center" prop="id" />-->
|
||||
<el-table-column type="expand">
|
||||
<template #default="props">
|
||||
<el-card shadow="never">
|
||||
@ -89,6 +87,8 @@
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="国家" align="center" prop="shipToAddress.countryCode" />
|
||||
<el-table-column label="物流中心编码" align="center" prop="destination" />
|
||||
<el-table-column label="物流商地址" align="center" prop="address" />
|
||||
<el-table-column label="物流商名称" align="center" prop="logisticsProviderName" />
|
||||
<!-- <el-table-column label="关联的采购单" align="center">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <el-tag v-if="scope.row.sendOrders != null" type="success">已关联</el-tag>-->
|
||||
@ -111,11 +111,11 @@
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="亚马逊货件状态" align="center" width="180">
|
||||
<template #default="scope">
|
||||
<el-tag>{{ scope.row.shipmentStatus }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="亚马逊货件状态" align="center" width="180">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <el-tag>{{ scope.row.shipmentStatus }}</el-tag>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
||||
<!-- <template #default="scope">-->
|
||||
<!-- <!– <el-tooltip content="修改" placement="top" v-if="scope.row.sendStatus === 'pending'">–>-->
|
||||
@ -130,7 +130,6 @@
|
||||
</el-card>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="采购单号" align="center" prop="orderSn" />
|
||||
<el-table-column label="发货单号" align="center" prop="id" />
|
||||
<el-table-column label="创建日期" align="center" prop="createTime" width="180">
|
||||
@ -145,18 +144,18 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="采购店铺" align="center" prop="storeName" />
|
||||
<el-table-column label="供应商名称" align="center" prop="sendName" />
|
||||
<el-table-column label="物流商名称" align="center" prop="logisticsProviderName">
|
||||
<template #default="{ row }">
|
||||
<el-popover placement="top" title="物流商地址" :width="200" trigger="click">
|
||||
<template #reference>
|
||||
<el-button v-if="row.logisticsProviderName !== null" text size="small" type="primary">
|
||||
{{ row.logisticsProviderName }}
|
||||
</el-button>
|
||||
</template>
|
||||
<div>{{ row.address || '暂无地址' }}</div>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="物流商名称" align="center" prop="logisticsProviderName">-->
|
||||
<!-- <template #default="{ row }">-->
|
||||
<!-- <el-popover placement="top" title="物流商地址" :width="200" trigger="click">-->
|
||||
<!-- <template #reference>-->
|
||||
<!-- <el-button v-if="row.logisticsProviderName !== null" text size="small" type="primary">-->
|
||||
<!-- {{ row.logisticsProviderName }}-->
|
||||
<!-- </el-button>-->
|
||||
<!-- </template>-->
|
||||
<!-- <div>{{ row.address || '暂无地址' }}</div>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="产品名称" align="center" prop="productName" />
|
||||
<el-table-column label="发货数量" align="center" prop="quantitySend" />
|
||||
<el-table-column label="箱数" align="center" prop="boxCount">
|
||||
@ -262,7 +261,7 @@
|
||||
<script setup name="SendOrder" lang="ts">
|
||||
import { listSendOrder, getSendOrder, delSendOrder, addSendOrder, updateSendOrder } from '@/api/amz/sendOrder';
|
||||
import { SendOrderVO, SendOrderQuery, SendOrderForm } from '@/api/amz/sendOrder/types';
|
||||
import { formatText } from '@/utils/asinkj';
|
||||
import { formatText, parseTime } from '@/utils/asinkj';
|
||||
import { ElTable } from 'element-plus';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
|
@ -273,6 +273,9 @@
|
||||
<el-tooltip content="向物流商询价" placement="top">
|
||||
<el-button link type="primary" size="small" @click="handleUpdate(scope.row)" v-hasPermi="['amz:shipmentPlan:edit']">询价 </el-button>
|
||||
</el-tooltip>
|
||||
<!-- <el-tooltip content="向物流商询价" placement="top">-->
|
||||
<!-- <el-button link type="primary" size="small" @click="handleAskWeight(scope.row)" v-hasPermi="['amz:shipmentPlan:edit']">重量询价</el-button>-->
|
||||
<!-- </el-tooltip>-->
|
||||
<!-- <el-tooltip content="关联采购单" placement="top">-->
|
||||
<!-- <el-button-->
|
||||
<!-- link-->
|
||||
@ -325,6 +328,14 @@
|
||||
filterable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-space fill>
|
||||
<el-tag>通用询价只根据渠道进行报价, 重量询价是包含重量信息</el-tag>
|
||||
<el-form-item label="询价类型" prop="destination">
|
||||
<el-select v-model="requestType" clearable placeholder="询价类型">
|
||||
<el-option v-for="dict in request_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-space>
|
||||
<!-- <el-form-item label="总箱子数量" prop="boxQuantity">-->
|
||||
<!-- <el-input v-model="form.boxQuantity" placeholder="请输入总箱子数量" />-->
|
||||
<!-- </el-form-item>-->
|
||||
@ -380,7 +391,13 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否报关" prop="destination">
|
||||
<el-switch v-model="customsFlag" active-value="1" inactive-value="0" />
|
||||
<el-switch v-model="customsFlag" active-value="Y" inactive-value="N" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="询价类型" prop="destination">
|
||||
<el-select v-model="requestType" clearable placeholder="询价类型">
|
||||
<el-option v-for="dict in request_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-button :loading="buttonLoading" type="primary" @click="batchSendRest()">批量提交询价</el-button>
|
||||
@ -551,6 +568,7 @@ import { formatText } from '@/utils/asinkj';
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { biz_transport_channel } = toRefs<any>(proxy?.useDict('biz_transport_channel'));
|
||||
const { request_type } = toRefs<any>(proxy?.useDict('request_type'));
|
||||
|
||||
const { send_status } = toRefs<any>(proxy?.useDict('send_status'));
|
||||
|
||||
@ -768,7 +786,7 @@ const pwidth = ref<string | number>();
|
||||
|
||||
const logisticsQuoteList = ref<LogisticsQuoteVO[]>([]);
|
||||
|
||||
const inquiryRequestItemVOList = ref<InquiryRequestItemVO[]>([]);
|
||||
const inquiryRequestItemVOList = ref<any[]>([]);
|
||||
|
||||
const tableData = ref([
|
||||
{
|
||||
@ -801,9 +819,10 @@ const batchSendRest = async () => {
|
||||
quoteDate: shipDate.value,
|
||||
shipToAddress: item.shipToAddress,
|
||||
shipmentId: item.shipmentId,
|
||||
customsFlag: customsFlag.value
|
||||
customsFlag: customsFlag.value,
|
||||
type: requestType.value
|
||||
};
|
||||
if (item.sendOrderId) {
|
||||
if (item.sendOrders.length > 0) {
|
||||
inquiryRequestItemVOList.value.push(inquiryRequestItemVO);
|
||||
}
|
||||
});
|
||||
@ -901,7 +920,7 @@ const channelDialogVisibleAction = () => {
|
||||
ElMessage.error('请选择已关联采购单的数据');
|
||||
return;
|
||||
}
|
||||
|
||||
requestType.value = 'general';
|
||||
channelDialogVisible.value = true;
|
||||
console.log('channelDialogVisibleAction', selectionDatas.value.length);
|
||||
selectionDatas.value.forEach((item) => {
|
||||
@ -1049,6 +1068,7 @@ function transformChannels(channels) {
|
||||
|
||||
const currentDes = ref<string | number>('');
|
||||
const currentFBAData = ref<ShipmentPlanVO>();
|
||||
const requestType = ref<string | number>('general');
|
||||
|
||||
// 分组后的渠道数据
|
||||
const groupedChannels = computed(() => {
|
||||
@ -1105,7 +1125,7 @@ const reset = () => {
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
console.log('queryParams.value.gmtCreate', queryParams.value.gmtCreate);
|
||||
queryParams.value.shipmentId = queryParams.value.shipmentId.trim();
|
||||
queryParams.value.shipmentId = queryParams.value.shipmentId?.trim();
|
||||
queryParams.value.pageNum = 1;
|
||||
getList();
|
||||
};
|
||||
@ -1173,7 +1193,8 @@ const checkPrice = async () => {
|
||||
channelId: channel,
|
||||
quoteDate: shipDate.value,
|
||||
shipToAddress: currentFBAData.value.shipToAddress,
|
||||
shipmentId: currentFBAData.value.shipmentId
|
||||
shipmentId: currentFBAData.value.shipmentId,
|
||||
type: requestType.value
|
||||
};
|
||||
inquiryRequestItemVOList.value.push(inquiryRequestItemVO);
|
||||
});
|
||||
@ -1260,10 +1281,11 @@ const handleUpdate = async (row?: ShipmentPlanVO) => {
|
||||
selectedChannel.value = res.data.channelId;
|
||||
console.log('selectedChannel', selectedChannel);
|
||||
dialog.visible = true;
|
||||
dialog.title = '编辑货件计划开始询价';
|
||||
dialog.title = '询价';
|
||||
console.log(row);
|
||||
currentFBAData.value = row;
|
||||
currentDes.value = row.destination;
|
||||
requestType.value = 'general';
|
||||
};
|
||||
|
||||
const linkShipmentPlanVO = ref<ShipmentPlanVO>();
|
||||
|
@ -806,46 +806,10 @@ const checkPrice = async () => {
|
||||
// return;
|
||||
// }
|
||||
|
||||
const res = await queryLogisticsQuoteWithDes(currentDes.value, shipDate.value);
|
||||
const res = await queryLogisticsQuoteWithDes(currentDes.value, shipDate.value,currentFBAData.value.shipmentId);
|
||||
console.log('查询报价单', res);
|
||||
if (res.total == 0) {
|
||||
// //查询询价单
|
||||
// const requestQuote = await queryWithDesAndChannel(currentDes.value, currentFBAData.value.channelId, shipDate.value);
|
||||
// console.log('查询询价单', requestQuote);
|
||||
// if (requestQuote.total == 0) {
|
||||
// console.log('询价单也没数据');
|
||||
// channelDialogVisible.value = false;
|
||||
// ElMessageBox.confirm('未查询到价格信息,是否要向物流商发布询价?', '提醒', {
|
||||
// confirmButtonText: '确定',
|
||||
// cancelButtonText: '取消',
|
||||
// type: 'warning'
|
||||
// type: 'success',
|
||||
// message: '询价单创建成功'
|
||||
// });
|
||||
// }
|
||||
// })
|
||||
// .catch(() => {
|
||||
// // ElMessage({
|
||||
// // type: 'info',
|
||||
// // message: 'Delete canceled'
|
||||
// // });
|
||||
// });
|
||||
// } else {
|
||||
// //显示询价单
|
||||
// // channelDialogVisible.value = false;
|
||||
// // dialogTableVisible.value = true;
|
||||
// // tableData.value = requestQuote.rows;
|
||||
// // console.log('requestQuote.rows', requestQuote.rows);
|
||||
// // console.log('tableData', tableData.value);
|
||||
// ElMessage.success('已经有人询价了');
|
||||
// } // })
|
||||
// .then(async () => {
|
||||
// const res2 = await createWithDesAndChannel(currentDes.value, currentFBAData.value.channelId, shipDate.value);
|
||||
// console.log('checkPriceEnd2', res2);
|
||||
// if (res2.code == 200) {
|
||||
// ElMessage({
|
||||
|
||||
// ElMessage.warning('暂时没有物流商报价');
|
||||
ElNotification({
|
||||
title: '警告',
|
||||
message: '暂时没有物流商报价',
|
||||
|
Loading…
x
Reference in New Issue
Block a user