Commit 8118ae8e by wusiyi

feat: podus新增地址信息功能

parent dff80b63
...@@ -6,6 +6,7 @@ import { AddressInfo } from '@/types/api/podUsOrder.ts' ...@@ -6,6 +6,7 @@ import { AddressInfo } from '@/types/api/podUsOrder.ts'
const emits = defineEmits(['success']) const emits = defineEmits(['success'])
defineProps<{ defineProps<{
countryList: { countryCode: string }[] countryList: { countryCode: string }[]
type: 1 | 2
}>() }>()
const visible = defineModel<boolean>('visible') const visible = defineModel<boolean>('visible')
const form = defineModel<AddressInfo>('form', { const form = defineModel<AddressInfo>('form', {
...@@ -63,13 +64,14 @@ const submitForm = async () => { ...@@ -63,13 +64,14 @@ const submitForm = async () => {
<el-dialog <el-dialog
v-model="visible" v-model="visible"
:close-on-click-modal="false" :close-on-click-modal="false"
title="修改揽收信息" :title="type === 1 ? '修改揽收信息' : '地址信息'"
width="50%" width="50%"
> >
<el-form ref="formRef" :model="form" :rules="rules" label-width="120px"> <el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="姓名" prop="receiverName"> <el-form-item label="姓名" prop="receiverName">
<el-input <el-input
v-model="form.receiverName" v-model="form.receiverName"
:disabled="type === 2"
clearable clearable
placeholder="请输入姓名" placeholder="请输入姓名"
/> />
...@@ -77,12 +79,18 @@ const submitForm = async () => { ...@@ -77,12 +79,18 @@ const submitForm = async () => {
<el-form-item label="电话" prop="receiverPhone"> <el-form-item label="电话" prop="receiverPhone">
<el-input <el-input
v-model="form.receiverPhone" v-model="form.receiverPhone"
:disabled="type === 2"
clearable clearable
placeholder="请输入电话" placeholder="请输入电话"
/> />
</el-form-item> </el-form-item>
<el-form-item label="国家" prop="receiverCountry"> <el-form-item label="国家" prop="receiverCountry">
<el-select v-model="form.receiverCountry" clearable filterable> <el-select
v-model="form.receiverCountry"
clearable
filterable
:disabled="type === 2"
>
<el-option <el-option
v-for="it in countryList" v-for="it in countryList"
:key="it.countryCode" :key="it.countryCode"
...@@ -94,6 +102,7 @@ const submitForm = async () => { ...@@ -94,6 +102,7 @@ const submitForm = async () => {
<el-form-item label="省/州" prop="receiverProvince"> <el-form-item label="省/州" prop="receiverProvince">
<el-input <el-input
v-model="form.receiverProvince" v-model="form.receiverProvince"
:disabled="type === 2"
clearable clearable
placeholder="请输入省/州" placeholder="请输入省/州"
/> />
...@@ -101,6 +110,7 @@ const submitForm = async () => { ...@@ -101,6 +110,7 @@ const submitForm = async () => {
<el-form-item label="市" prop="receiverCity"> <el-form-item label="市" prop="receiverCity">
<el-input <el-input
v-model="form.receiverCity" v-model="form.receiverCity"
:disabled="type === 2"
clearable clearable
placeholder="请输入市" placeholder="请输入市"
/> />
...@@ -108,6 +118,7 @@ const submitForm = async () => { ...@@ -108,6 +118,7 @@ const submitForm = async () => {
<el-form-item label="区/县" prop="receiverDistrict"> <el-form-item label="区/县" prop="receiverDistrict">
<el-input <el-input
v-model="form.receiverDistrict" v-model="form.receiverDistrict"
:disabled="type === 2"
clearable clearable
placeholder="请输入区/县" placeholder="请输入区/县"
/> />
...@@ -115,6 +126,7 @@ const submitForm = async () => { ...@@ -115,6 +126,7 @@ const submitForm = async () => {
<el-form-item label="地址1" prop="receiverAddress1"> <el-form-item label="地址1" prop="receiverAddress1">
<el-input <el-input
v-model="form.receiverAddress1" v-model="form.receiverAddress1"
:disabled="type === 2"
clearable clearable
placeholder="请输入地址1" placeholder="请输入地址1"
maxlength="50" maxlength="50"
...@@ -124,6 +136,7 @@ const submitForm = async () => { ...@@ -124,6 +136,7 @@ const submitForm = async () => {
<el-form-item label="地址2" prop="receiverAddress2"> <el-form-item label="地址2" prop="receiverAddress2">
<el-input <el-input
v-model="form.receiverAddress2" v-model="form.receiverAddress2"
:disabled="type === 2"
clearable clearable
placeholder="请输入地址2" placeholder="请输入地址2"
maxlength="50" maxlength="50"
...@@ -133,6 +146,7 @@ const submitForm = async () => { ...@@ -133,6 +146,7 @@ const submitForm = async () => {
<el-form-item label="邮政编码" prop="receiverPostCode"> <el-form-item label="邮政编码" prop="receiverPostCode">
<el-input <el-input
v-model="form.receiverPostCode" v-model="form.receiverPostCode"
:disabled="type === 2"
clearable clearable
placeholder="请输入邮政编码" placeholder="请输入邮政编码"
/> />
...@@ -140,8 +154,10 @@ const submitForm = async () => { ...@@ -140,8 +154,10 @@ const submitForm = async () => {
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="visible = false">取消</el-button> <span v-if="type === 1">
<el-button type="primary" @click="submitForm">提交</el-button> <el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="submitForm">提交</el-button>
</span>
</template> </template>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -1383,7 +1383,7 @@ ...@@ -1383,7 +1383,7 @@
{{ row.logisticsWayName }} {{ row.logisticsWayName }}
</span> </span>
</div> </div>
<div class="order-detail-item"> <!-- <div class="order-detail-item">
<span class="order-detail-item-label">收货人:</span> <span class="order-detail-item-label">收货人:</span>
<span class="order-detail-item-value" :title="row.receiverName"> <span class="order-detail-item-value" :title="row.receiverName">
{{ row.receiverName }} {{ row.receiverName }}
...@@ -1406,7 +1406,7 @@ ...@@ -1406,7 +1406,7 @@
> >
{{ row.receiverPostCode }} {{ row.receiverPostCode }}
</span> </span>
</div> </div> -->
<!-- <div class="order-detail-item"> <!-- <div class="order-detail-item">
<span class="order-detail-item-label">收货地址:</span> <span class="order-detail-item-label">收货地址:</span>
<span <span
...@@ -1610,6 +1610,15 @@ ...@@ -1610,6 +1610,15 @@
<span v-if="status !== 'BATCH_DOWNLOAD'" class="operate-item"> <span v-if="status !== 'BATCH_DOWNLOAD'" class="operate-item">
<ElButton <ElButton
link link
type="warning"
@click="handleUpdateAddress(row, 2)"
>
地址信息
</ElButton>
</span>
<span v-if="status !== 'BATCH_DOWNLOAD'" class="operate-item">
<ElButton
link
type="primary" type="primary"
@click="operationLog(row.id, null, row)" @click="operationLog(row.id, null, row)"
> >
...@@ -1648,7 +1657,11 @@ ...@@ -1648,7 +1657,11 @@
" "
class="operate-item" class="operate-item"
> >
<ElButton link type="primary" @click="handleUpdateAddress(row)"> <ElButton
link
type="primary"
@click="handleUpdateAddress(row, 1)"
>
修改地址 修改地址
</ElButton> </ElButton>
</span> </span>
...@@ -2120,16 +2133,30 @@ ...@@ -2120,16 +2133,30 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div
v-if="currentItem?.lanshouAddress"
style="margin-top: 10px; color: #606266"
>
<span>地址:</span>
<span>{{ currentItem?.lanshouAddress }}</span>
</div>
</template> </template>
<LogList :log-list="logList" /> <LogList :log-list="logList" />
</el-dialog> </el-dialog>
<el-dialog
v-model="addressInfoVisible"
class="address-info-dialog"
title="地址信息"
width="800px"
>
<el-descriptions :column="1" border>
<el-descriptions-item label="收货人">
{{ currentItem?.receiverName }}
</el-descriptions-item>
<el-descriptions-item label="收货人电话">
{{ currentItem?.receiverPhone }}
</el-descriptions-item>
<el-descriptions-item label="收货人邮编">
{{ currentItem?.receiverPostCode }}
</el-descriptions-item>
<el-descriptions-item label="收货地址">
{{ currentItem?.lanshouAddress }}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
<FastProduction <FastProduction
v-model:detail-visible="detailVisible" v-model:detail-visible="detailVisible"
:current-status="status" :current-status="status"
...@@ -2267,6 +2294,7 @@ ...@@ -2267,6 +2294,7 @@
v-model:visible="updateAddVisible" v-model:visible="updateAddVisible"
:country-list="countryList" :country-list="countryList"
@success="search" @success="search"
:type="updateAddressType"
></UpdateAddress> ></UpdateAddress>
<ElDialog <ElDialog
v-model="exceptionDialogVisible" v-model="exceptionDialogVisible"
...@@ -2865,11 +2893,13 @@ const handleRefreshAddress = async (row: PodUsOrderListData) => { ...@@ -2865,11 +2893,13 @@ const handleRefreshAddress = async (row: PodUsOrderListData) => {
}, },
) )
} }
const handleUpdateAddress = async (row: PodUsOrderListData) => { const updateAddressType = ref(1)
const handleUpdateAddress = async (row: PodUsOrderListData, type: 1 | 2) => {
const { data } = await getAllCountryApi() const { data } = await getAllCountryApi()
countryList.value = data countryList.value = data
currentRow.value = JSON.parse(JSON.stringify(row)) currentRow.value = JSON.parse(JSON.stringify(row))
updateAddVisible.value = true updateAddVisible.value = true
updateAddressType.value = type
} }
// 批量下载 下载 // 批量下载 下载
const handleDownload = async (row: PodUsOrderListData, type: string) => { const handleDownload = async (row: PodUsOrderListData, type: string) => {
...@@ -4443,6 +4473,12 @@ const operationLog = async ( ...@@ -4443,6 +4473,12 @@ const operationLog = async (
console.error(e) console.error(e)
} }
} }
const addressInfoVisible = ref(false)
const showAddressInfo = (row: PodUsOrderListData) => {
currentItem.value = row
addressInfoVisible.value = true
}
const handleSuccess = () => { const handleSuccess = () => {
loadTabData() loadTabData()
search() search()
......
...@@ -8,54 +8,46 @@ ...@@ -8,54 +8,46 @@
:close-on-click-modal="false" :close-on-click-modal="false"
class="order-detail-dialog" class="order-detail-dialog"
> >
<el-card style="margin-bottom: 10px" v-if="detailData" class="!border-none mt-2" shadow="never"> <el-card
style="margin-bottom: 10px"
v-if="detailData"
class="!border-none mt-2"
shadow="never"
>
<el-descriptions class="margin-top" :column="3" :border="true"> <el-descriptions class="margin-top" :column="3" :border="true">
<el-descriptions-item :title="detailData.namespace" label="订单来源">{{ <el-descriptions-item :title="detailData.namespace" label="订单来源"
detailData.namespace >{{ detailData.namespace }}
}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item <el-descriptions-item
:title="detailData.factory_order_number" :title="detailData.factory_order_number"
label="订单号" label="订单号"
>{{ detailData.factory_order_number }} >{{ detailData.factory_order_number }}
</el-descriptions-item </el-descriptions-item>
> <el-descriptions-item :title="detailData.shop_number" label="店铺单号"
<el-descriptions-item >{{ detailData.shop_number }}
:title="detailData.shop_number"
label="店铺单号"
>{{ detailData.shop_number }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item <el-descriptions-item
:title="detailData.third_order_number" :title="detailData.third_order_number"
label="第三方订单号" label="第三方订单号"
>{{ detailData.third_order_number }} >{{ detailData.third_order_number }}
</el-descriptions-item </el-descriptions-item>
>
<el-descriptions-item :title="detailData.statusStr" label="订单状态">{{ <el-descriptions-item :title="detailData.statusStr" label="订单状态"
detailData.statusStr >{{ detailData.statusStr }}
}} </el-descriptions-item>
<el-descriptions-item :title="detailData.product_num" label="产品数量"
>{{ detailData.product_num }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item
:title="detailData.product_num"
label="产品数量"
>{{ detailData.product_num }}
</el-descriptions-item
>
<el-descriptions-item <el-descriptions-item
:title="detailData.start_stocking_time" :title="detailData.start_stocking_time"
label="确认时间" label="确认时间"
>{{ detailData.start_stocking_time }} >{{ detailData.start_stocking_time }}
</el-descriptions-item </el-descriptions-item>
> <el-descriptions-item :title="detailData.finish_time" label="完成时间"
<el-descriptions-item >{{ detailData.finish_time }}
:title="detailData.finish_time" </el-descriptions-item>
label="完成时间"
>{{ detailData.finish_time }}
</el-descriptions-item
>
<el-descriptions-item <el-descriptions-item
:title="detailData.delivery_type" :title="detailData.delivery_type"
...@@ -73,27 +65,18 @@ ...@@ -73,27 +65,18 @@
<el-descriptions-item <el-descriptions-item
:title="detailData.lanshou_name || detailData.receiver_name" :title="detailData.lanshou_name || detailData.receiver_name"
label="收货人" label="收货人"
>{{ >{{ detailData.lanshou_name || detailData.receiver_name }}
detailData.lanshou_name || detailData.receiver_name </el-descriptions-item>
}}
</el-descriptions-item
>
<el-descriptions-item <el-descriptions-item
:title="detailData.lanshou_phone || detailData.receiver_phone" :title="detailData.lanshou_phone || detailData.receiver_phone"
label="收货电话" label="收货电话"
>{{ >{{ detailData.lanshou_phone || detailData.receiver_phone }}
detailData.lanshou_phone || detailData.receiver_phone </el-descriptions-item>
}}
</el-descriptions-item
>
<el-descriptions-item <el-descriptions-item
:title="detailData.lanshou_region || detailData.receiver_province" :title="detailData.lanshou_region || detailData.receiver_province"
label="收货区域" label="收货区域"
>{{ >{{ detailData.lanshou_region || detailData.receiver_province }}
detailData.lanshou_region || detailData.receiver_province </el-descriptions-item>
}}
</el-descriptions-item
>
<el-descriptions-item <el-descriptions-item
:title=" :title="
detailData.lanshou_address || detailData.lanshou_address ||
...@@ -105,7 +88,7 @@ ...@@ -105,7 +88,7 @@
].join(' ') ].join(' ')
" "
label="收货地址" label="收货地址"
>{{ >{{
detailData.lanshou_address || detailData.lanshou_address ||
[ [
detailData.receiver_province, detailData.receiver_province,
...@@ -114,19 +97,14 @@ ...@@ -114,19 +97,14 @@
detailData.receiver_address1, detailData.receiver_address1,
].join(' ') ].join(' ')
}} }}
</el-descriptions-item </el-descriptions-item>
>
<el-descriptions-item <el-descriptions-item
:title="detailData.lanshou_post || detailData.receiver_post_code" :title="detailData.lanshou_post || detailData.receiver_post_code"
label="收货邮政编码" label="收货邮政编码"
>{{ >{{ detailData.lanshou_post || detailData.receiver_post_code }}
detailData.lanshou_post || detailData.receiver_post_code </el-descriptions-item>
}} <el-descriptions-item :title="detailData.user_mark" label="客户"
</el-descriptions-item >{{ detailData.user_mark }}
>
<el-descriptions-item :title="detailData.user_mark" label="客户">{{
detailData.user_mark
}}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
...@@ -215,27 +193,21 @@ ...@@ -215,27 +193,21 @@
width="120" width="120"
prop="shipment_num" prop="shipment_num"
></el-table-column> ></el-table-column>
</el-table> </el-table>
</div> </div>
</el-card> </el-card>
</el-dialog> </el-dialog>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import type { ElTable } from 'element-plus' import { getPodUsDetailData } from '@/api/order'
import { import { PodUsDetailData } from '@/types/api/deliveryNote.ts'
getPodUsDetailData,
} from '@/api/order'
import { PodUsDetailData } from '@/types/api/deliveryNote.ts'
// 定义props // 定义props
interface Props { interface Props {
orderId?: number | string | null; orderId?: number | string | null
dialogVisible: boolean; dialogVisible: boolean
loading?: boolean; loading?: boolean
} }
const visible = ref(false) const visible = ref(false)
...@@ -248,11 +220,10 @@ const props = withDefaults(defineProps<Props>(), { ...@@ -248,11 +220,10 @@ const props = withDefaults(defineProps<Props>(), {
// 定义事件 // 定义事件
const emit = defineEmits(['close', 'update']) const emit = defineEmits(['close', 'update'])
const detailData = ref<PodUsDetailData | null>(null) const detailData = ref<PodUsDetailData | null>(null)
const getData = async () => { const getData = async () => {
if (!props.orderId) return if (!props.orderId) return
const res= await getPodUsDetailData(props.orderId || '') const res = await getPodUsDetailData(props.orderId || '')
res.data.productList.forEach((it) => { res.data.productList.forEach((it) => {
it.price = Number(it.product_price) it.price = Number(it.product_price)
it.customized_quantityStr = it.customized_quantity > 1 ? '多面' : '单面' it.customized_quantityStr = it.customized_quantity > 1 ? '多面' : '单面'
...@@ -287,13 +258,19 @@ onActivated(() => { ...@@ -287,13 +258,19 @@ onActivated(() => {
} }
}) })
watch(() => props.dialogVisible, () => { watch(
visible.value = props.dialogVisible () => props.dialogVisible,
}) () => {
visible.value = props.dialogVisible
},
)
watch(() => visible.value, () => { watch(
emit('update', visible.value) () => visible.value,
}) () => {
emit('update', visible.value)
},
)
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.img-list { .img-list {
......
...@@ -79,8 +79,7 @@ ...@@ -79,8 +79,7 @@
<ElFormItem> <ElFormItem>
<el-button type="success" @click="exportExcel"> <el-button type="success" @click="exportExcel">
导出 导出
</el-button </el-button>
>
</ElFormItem> </ElFormItem>
<ElFormItem v-if="nodeId === 30"> <ElFormItem v-if="nodeId === 30">
<el-button type="danger" @click="auditOrder('archive')"> <el-button type="danger" @click="auditOrder('archive')">
...@@ -307,15 +306,15 @@ ...@@ -307,15 +306,15 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="searchDetail" <el-button type="primary" @click="searchDetail"
>查询 >查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
v-if="[0, 1].some((id) => id === Number(nodeId))" v-if="[0, 1].some((id) => id === Number(nodeId))"
type="success" type="success"
@click="batchUpdate(detailSelections,1)" @click="batchUpdate(detailSelections, 1)"
>批量编辑 >批量编辑
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -428,8 +427,8 @@ ...@@ -428,8 +427,8 @@
> >
<template #default="{ row }"> <template #default="{ row }">
<span>{{ <span>{{
row.template_price + row.craft_price || 0 row.template_price + row.craft_price || 0
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -486,7 +485,7 @@ ...@@ -486,7 +485,7 @@
width="24" width="24"
title="编辑" title="编辑"
style="cursor: pointer" style="cursor: pointer"
@click="batchUpdate( [row],1)" @click="batchUpdate([row], 1)"
/> />
</div> </div>
</template> </template>
...@@ -527,15 +526,15 @@ ...@@ -527,15 +526,15 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="getUsOrderList" <el-button type="primary" @click="getUsOrderList"
>查询 >查询
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
v-if="[0, 1].some((id) => id === Number(nodeId))" v-if="[0, 1].some((id) => id === Number(nodeId))"
type="success" type="success"
@click="batchUpdate(orderSelections,2)" @click="batchUpdate(orderSelections, 2)"
>批量编辑 >批量编辑
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -543,7 +542,7 @@ ...@@ -543,7 +542,7 @@
v-if="[0, 1].some((id) => id === Number(nodeId))" v-if="[0, 1].some((id) => id === Number(nodeId))"
type="primary" type="primary"
@click="priceModification" @click="priceModification"
>修改物流价格 >修改物流价格
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -581,8 +580,8 @@ ...@@ -581,8 +580,8 @@
> >
<template #default="{ row }"> <template #default="{ row }">
<span>{{ <span>{{
row.erp_order_number || row.factory_order_number row.erp_order_number || row.factory_order_number
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -710,8 +709,8 @@ ...@@ -710,8 +709,8 @@
> >
<template #default="{ row }"> <template #default="{ row }">
<span v-if="row.order">{{ <span v-if="row.order">{{
row.order.shipment_type == 1 ? '工厂物流' : '自我物流' row.order.shipment_type == 1 ? '工厂物流' : '自我物流'
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -781,9 +780,12 @@ ...@@ -781,9 +780,12 @@
width="120" width="120"
> >
<template #default="{ row }"> <template #default="{ row }">
<div style="gap:5px" class="flex items-center justify-center flex-gap-5"> <div
style="gap: 5px"
class="flex items-center justify-center flex-gap-5"
>
<img <img
@click="batchUpdate([row],2 )" @click="batchUpdate([row], 2)"
src="@/assets/images/edit.png" src="@/assets/images/edit.png"
width="24" width="24"
title="编辑" title="编辑"
...@@ -839,11 +841,11 @@ ...@@ -839,11 +841,11 @@
{{ item.create_time }} {{ item.create_time }}
</span> </span>
<span style="margin: 0 5px 0 20px">{{ <span style="margin: 0 5px 0 20px">{{
item.employee_account item.employee_account
}}</span> }}</span>
<span style="display: inline-block">{{ <span style="display: inline-block">{{
item.description item.description
}}</span> }}</span>
</li> </li>
</ul> </ul>
</el-tab-pane> </el-tab-pane>
...@@ -904,10 +906,7 @@ ...@@ -904,10 +906,7 @@
</el-row> </el-row>
<div></div> <div></div>
<ElForm ref="auditFormRef" :model="auditForm" label-width="80px"> <ElForm ref="auditFormRef" :model="auditForm" label-width="80px">
<ElFormItem <ElFormItem label="驳回原因" prop="description">
label="驳回原因"
prop="description"
>
<ElInput v-model="auditForm.description" type="textarea" /> <ElInput v-model="auditForm.description" type="textarea" />
</ElFormItem> </ElFormItem>
</ElForm> </ElForm>
...@@ -915,7 +914,7 @@ ...@@ -915,7 +914,7 @@
<span class="dialog-footer"> <span class="dialog-footer">
<!-- <el-button @click="confirmOrderVisible = false">取消</el-button> --> <!-- <el-button @click="confirmOrderVisible = false">取消</el-button> -->
<el-button type="success" @click="submitConfirmOrder(1)" <el-button type="success" @click="submitConfirmOrder(1)"
>确认</el-button >确认</el-button
> >
<el-button type="danger" @click="submitConfirmOrder(2)">驳回</el-button> <el-button type="danger" @click="submitConfirmOrder(2)">驳回</el-button>
</span> </span>
...@@ -965,7 +964,7 @@ ...@@ -965,7 +964,7 @@
<el-dialog v-model="batchUpdateVisible" width="1400px" title="批量编辑"> <el-dialog v-model="batchUpdateVisible" width="1400px" title="批量编辑">
<edit-order :list="updateProductList" /> <edit-order :list="updateProductList" />
<template #footer> <template #footer>
<el-button @click="batchUpdateVisible=false">取消</el-button> <el-button @click="batchUpdateVisible = false">取消</el-button>
<el-button type="primary" @click="batchSave">保存</el-button> <el-button type="primary" @click="batchSave">保存</el-button>
</template> </template>
</el-dialog> </el-dialog>
...@@ -983,9 +982,18 @@ import { ...@@ -983,9 +982,18 @@ import {
auditOrderApi, auditOrderApi,
confirmPodOrderApi, confirmPodOrderApi,
apiRejectionOfReview, apiRejectionOfReview,
apiSetCraftData, podUsReconciliation, podUsReconciliationList, exportPodUsExcelApi, apiSetCraftData,
getPodUsShipmentDetailsById, getPodUsLogListApi, getPodShipmentGetById, confirmPodUsOrderApi, podUsReconciliation,
updatePodUsCarriageAmount, getReconciliationById, batchUpdatePrice, delPodUsOrderData, podUsReconciliationList,
exportPodUsExcelApi,
getPodUsShipmentDetailsById,
getPodUsLogListApi,
getPodShipmentGetById,
confirmPodUsOrderApi,
updatePodUsCarriageAmount,
getReconciliationById,
batchUpdatePrice,
delPodUsOrderData,
} from '@/api/order' } from '@/api/order'
import { nextTick, onMounted, ref, watch } from 'vue' import { nextTick, onMounted, ref, watch } from 'vue'
...@@ -994,7 +1002,8 @@ import { ...@@ -994,7 +1002,8 @@ import {
AccountStatementNote, AccountStatementNote,
AccountStatementNoteSearchForm, AccountStatementNoteSearchForm,
CountStatus, CountStatus,
OrderDetails, ProductDetails, OrderDetails,
ProductDetails,
} from '@/types/api/billOrder' } from '@/types/api/billOrder'
import { DetailForm, LogListData, IUpdatePrice } from '@/types/api/deliveryNote' import { DetailForm, LogListData, IUpdatePrice } from '@/types/api/deliveryNote'
import ImageView from '@/components/ImageView.vue' import ImageView from '@/components/ImageView.vue'
...@@ -1033,8 +1042,10 @@ const currentRow = ref<AccountStatementNote | null>(null) ...@@ -1033,8 +1042,10 @@ const currentRow = ref<AccountStatementNote | null>(null)
const batchSave = async () => { const batchSave = async () => {
for (const item of updateProductList.value) { for (const item of updateProductList.value) {
if (!item.craft_price && item.craft_price !== 0) return ElMessage.warning('请输入工艺价格') if (!item.craft_price && item.craft_price !== 0)
if (!item.template_price && item.craft_price !== 0) return ElMessage.warning('请输入模板价格') return ElMessage.warning('请输入工艺价格')
if (!item.template_price && item.craft_price !== 0)
return ElMessage.warning('请输入模板价格')
} }
await batchUpdatePrice({ await batchUpdatePrice({
info_id: currentRow.value?.id, info_id: currentRow.value?.id,
...@@ -1058,13 +1069,16 @@ const getDetails = async (row: OrderDetails) => { ...@@ -1058,13 +1069,16 @@ const getDetails = async (row: OrderDetails) => {
detailDialogVisible.value = true detailDialogVisible.value = true
} }
const batchUpdate = async (arr: ProductDetails[] | OrderDetails[], type: 1 | 2) => { const batchUpdate = async (
arr: ProductDetails[] | OrderDetails[],
type: 1 | 2,
) => {
if (!arr.length) return ElMessage.warning('请选择数据') if (!arr.length) return ElMessage.warning('请选择数据')
if (type === 1) { if (type === 1) {
updateProductList.value = JSON.parse(JSON.stringify(arr)) updateProductList.value = JSON.parse(JSON.stringify(arr))
} else if (type === 2) { } else if (type === 2) {
const { data } = await getReconciliationById({ const { data } = await getReconciliationById({
ids: arr.map(el => el.id).join(','), ids: arr.map((el) => el.id).join(','),
}) })
updateProductList.value = data updateProductList.value = data
} }
...@@ -1199,7 +1213,7 @@ const handleDelete = async (id: string) => { ...@@ -1199,7 +1213,7 @@ const handleDelete = async (id: string) => {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}) })
const res = await delPodUsOrderData([id]) await delPodUsOrderData([id])
ElMessage.success('删除成功') ElMessage.success('删除成功')
await getTreeNum() await getTreeNum()
search() search()
......
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