Commit 6d854d2d by zhuzhequan

冲突解决

parent 40f59d70
......@@ -87,7 +87,7 @@
v-model.trim="searchForm.internalMemo"
placeholder="内部标签"
clearable
style="width: 130px"
style="width: 100px"
></ElInput>
</ElFormItem>
<ElFormItem label="排序">
......@@ -196,6 +196,9 @@
>
<ElButton type="success" @click="confirmDelivery">发货</ElButton>
</span>
<span v-if="status === 'WAIT_SHIPMENT'" class="item">
<ElButton type="warning" @click="completeDelivery">完成发货</ElButton>
</span>
<span v-if="['TO_BE_CONFIRMED','IN_PRODUCTION'].includes(status)" class="item">
<ElButton type="danger" @click="voidedBtn">作废</ElButton>
</span>
......@@ -925,6 +928,68 @@
:table-right-menu-visible="tableRightMenuVisible"
@on-copy-change="onCopyChange"
/>
<el-dialog
v-model="completeShipmentVisible"
title="完成发货"
width="600px"
:close-on-click-modal="false"
>
<el-form
ref="completeShipmentFormRef"
:model="completeShipmentForm"
:rules="completeShipmentRules"
label-width="100px"
>
<el-form-item label="发货方式" prop="shippingWay">
<el-select
v-model="completeShipmentForm.shippingWay"
placeholder="请选择发货方式"
style="width: 100%"
>
<el-option label="送货上门" value="1" />
<el-option label="快递" value="2" />
</el-select>
</el-form-item>
<template v-if="completeShipmentForm.shippingWay === '2'">
<el-form-item label="物流名称" prop="carriageName">
<el-select
v-model="completeShipmentForm.carriageName"
filterable
placeholder="请选择物流名称"
style="width: 100%"
>
<el-option
v-for="item in logisticsCompanyList"
:key="item.id"
:value="item.name"
/>
</el-select>
</el-form-item>
<el-form-item label="物流跟踪号" prop="logisticsTracking">
<el-input
v-model="completeShipmentForm.logisticsTracking"
placeholder="请输入物流跟踪号"
/>
</el-form-item>
<el-form-item label="物流费用" prop="carriageAmount">
<el-input
v-model="completeShipmentForm.carriageAmount"
placeholder="请输入物流费用"
/>
</el-form-item>
</template>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="completeShipmentVisible = false">取消</el-button>
<el-button type="primary" @click="saveCompleteShipment">确认</el-button>
</div>
</template>
</el-dialog>
</template>
<script setup lang="tsx">
// refreshJMProductInfo,reasonInvalidationApi,
......@@ -946,6 +1011,7 @@ import {
refreshJMProductInfo,
reasonInvalidationApi,
applyForReplenishmentApi,
completeDeliveryApi,
} from '@/api/podOrder'
import TableView from '@/components/TableView.vue'
import {
......@@ -958,7 +1024,7 @@ import fastProduction from '../fastProduction.vue'
import CardWrapper from '@/components/CardPods.vue'
import { CustomColumn } from '@/types/table'
import { useValue } from '@/utils/hooks/useValue'
import { computed, onBeforeUnmount, onMounted, reactive, ref } from 'vue'
import { computed, nextTick, onBeforeUnmount, onMounted, reactive, ref } from 'vue'
import dayjs from 'dayjs'
import useElTableColumnWidth from '@/utils/hooks/useElTableColumnWidth'
import ProductInfo from '../ProductInfo.vue'
......@@ -983,13 +1049,37 @@ import LogList from '@/components/LogList.vue'
const tableRef = ref()
const loading = ref(false)
const currentPage = ref(1)
const userMarkList = ref<string[]>([])
const pageSize = ref(100)
const total = ref(0)
const countVisible = ref(false)
// 表单校验规则
const completeShipmentRules = {
shippingWay: [
{ required: true, message: '请选择发货方式', trigger: 'change' },
],
carriageName: [
{ required: true, message: '请选择物流名称', trigger: 'change' },
],
logisticsTracking: [
{ required: true, message: '请输入物流跟踪号', trigger: 'blur' },
],
carriageAmount: [
{ required: true, message: '请输入物流费用', trigger: 'blur' },
],
}
const keyCode = ref('')
const cardItem = ref<PodProductList | CardOrderData>()
const rightMenuRef = ref()
const count = ref<number>(0)
const completeShipmentVisible = ref(false)
const completeShipmentFormRef = ref()
const completeShipmentForm = ref({
shippingWay: '', // 发货方式:1-送货上门,2-快递
carriageName: '', // 物流名称
logisticsTracking: '', // 物流跟踪号
carriageAmount: '', // 物流费用
})
const rightClick = (e: MouseEvent, item: PodProductList | CardOrderData) => {
cardItem.value = item
rightMenuRef.value.setPosition({
......@@ -1151,6 +1241,29 @@ const openDetail = async (id: number) => {
//showError(e)
}
}
const saveCompleteShipment = async () => {
try {
await completeShipmentFormRef.value.validate()
} catch (e) {
return
}
const productIdList = selection.value.map(
(item: CardOrderData | PodProductList) => item.id,
)
try {
const res = await completeDeliveryApi(productIdList, {
...completeShipmentForm.value,
})
ElMessage.success(res.message)
completeShipmentVisible.value = false
loadTabData()
loadDiffList()
} catch (e) {
console.error(e)
}
}
const CardOrderList = ref<(PodProductList | CardOrderData)[]>([])
const loadCardList = async () => {
try {
......@@ -1470,6 +1583,21 @@ const getLogisticsList = async () => {
}
}
const completeDelivery = async () => {
if (selection.value.length === 0) {
ElMessage.warning('请选择要完成发货的订单')
return
}
completeShipmentForm.value = {
shippingWay: '1',
carriageName: '',
logisticsTracking: '',
carriageAmount: '',
}
completeShipmentVisible.value = true
await nextTick()
completeShipmentFormRef.value && completeShipmentFormRef.value.clearValidate()
}
const refreshProduct = async () => {
if (selection.value.length === 0) {
......
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