新增生成支付订单功能
在采购订单详情页面添加生成支付订单的功能,包括选择用户、门店和支付方式的设置。新增相关API接口和前端实现逻辑。同时,优化了订单导出功能,调整了部分UI显示。
This commit is contained in:
parent
6fb98ad209
commit
e305a1d96f
|
@ -52,3 +52,12 @@ export function apiPurchaseOrderExport(params: any) {
|
|||
params
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 生成支付订单
|
||||
*/
|
||||
export function apiPurchaseOrderGenerateOrder(params: any) {
|
||||
return request.post({
|
||||
url: '/beforehand_order/beforehandorder/generateOrder',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
</div>
|
||||
<!-- <el-button @click="xlsx(formData.id, 1)"> 打印订单 </el-button> -->
|
||||
<el-button @click="xlsx2(formData.id)"> 打印商品标签 </el-button>
|
||||
<el-button @click="generateOrderClick"> 生成商品订单 </el-button>
|
||||
</div>
|
||||
<el-button type="primary" @click="dialogShop = true"> 追加 </el-button>
|
||||
|
||||
|
@ -262,6 +263,64 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="generateOrderShow" title="生成支付订单设置" width="600">
|
||||
<el-form :model="generateOrderData" label-width="90px">
|
||||
<el-form-item label="用户">
|
||||
<el-select
|
||||
v-model="generateOrderData.user_id"
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="输入用户名称搜索"
|
||||
remote-show-suffix
|
||||
:remote-method="remoteMethodUser"
|
||||
:loading="userloading"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="`${item.real_name}|${item.mobile} (ID:${item.id})`"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="门店" prop="store_id">
|
||||
<el-select
|
||||
v-model="generateOrderData.store_id"
|
||||
placeholder="请选择门店"
|
||||
size="large"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in storeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="支付方式" prop="pay_type">
|
||||
<el-select
|
||||
v-model="generateOrderData.pay_type"
|
||||
placeholder="请选择支付方式"
|
||||
size="large"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option label="微信小程序支付" value="7" />
|
||||
<el-option label="采购款支付" value="18" />
|
||||
<el-option label="余额支付" value="3" />
|
||||
<el-option label="现金支付" value="17" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="generateOrderShow = false">取消</el-button>
|
||||
<el-button type="primary" @click="generateOrderAdd"> 确认 </el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="storeOrderDETAILS">
|
||||
|
@ -278,7 +337,7 @@ import {
|
|||
apiBeforehandOrderCartInfoProcurementStatus
|
||||
} from '@/api/beforehand_order_cart_info'
|
||||
import { apiWarehouseOrderRentryExport, apiWarehouseOrderExport } from '@/api/warehouse_order'
|
||||
import { apiPurchaseOrderExport } from '@/api/beforehand_order'
|
||||
import { apiPurchaseOrderExport, apiPurchaseOrderGenerateOrder } from '@/api/beforehand_order'
|
||||
import type { PropType } from 'vue'
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
@ -288,11 +347,14 @@ import { apiDeliveryServiceLists } from '@/api/delivery_service'
|
|||
import goodsOffer from './component/goodsOffer.vue'
|
||||
import warehousing from './component/warehousing.vue'
|
||||
import outbound from './component/outbound.vue'
|
||||
import { apiUserLists } from '@/api/user'
|
||||
import { apiSystemStoreLists } from '@/api/system_store'
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
const dialogBuyer = ref(false)
|
||||
const generateOrderShow = ref(false)
|
||||
|
||||
const goodsOfferRef = ref(null)
|
||||
const warehousingRef = ref(null)
|
||||
|
@ -332,7 +394,14 @@ const formData = ref({
|
|||
supplier_name: '',
|
||||
warehouse_name: '',
|
||||
system_store: '',
|
||||
financial_pm: ''
|
||||
financial_pm: '',
|
||||
order_sn: ''
|
||||
})
|
||||
const generateOrderData = ref({
|
||||
id: '',
|
||||
user_id: '',
|
||||
pay_type: '',
|
||||
store_id: ''
|
||||
})
|
||||
const purchase_product_offer = ref({
|
||||
order_id: '',
|
||||
|
@ -382,6 +451,7 @@ const getDetail = async (row: Record<string, any>) => {
|
|||
formData.value = { ...row }
|
||||
queryParams.bhoid = row.id
|
||||
warehouse_id.value = row.warehouse_id
|
||||
generateOrderData.value.id = row.id
|
||||
if (row.financial_pm == 0) {
|
||||
is_warehouse.value = 1
|
||||
} else {
|
||||
|
@ -391,24 +461,6 @@ const getDetail = async (row: Record<string, any>) => {
|
|||
// setFormData(data)
|
||||
getLists()
|
||||
}
|
||||
const xlsx = (id, type) => {
|
||||
if (formData.value.financial_pm == 1) {
|
||||
apiWarehouseOrderRentryExport({
|
||||
id: id
|
||||
}).then((res) => {
|
||||
window.open(res.url, '_blank')
|
||||
ElMessage.success('导出成功')
|
||||
})
|
||||
} else {
|
||||
apiWarehouseOrderExport({
|
||||
id: id,
|
||||
type: type
|
||||
}).then((res) => {
|
||||
window.open(res.url, '_blank')
|
||||
ElMessage.success('导出成功')
|
||||
})
|
||||
}
|
||||
}
|
||||
const xlsx2 = (id) => {
|
||||
apiPurchaseOrderExport({
|
||||
id: id
|
||||
|
@ -485,7 +537,36 @@ const { pager, getLists, resetParams, resetPage } = usePaging({
|
|||
fetchFun: apiBeforehandOrderCartInfoLists,
|
||||
params: queryParams
|
||||
})
|
||||
|
||||
const userloading = ref(false)
|
||||
const userList = ref([])
|
||||
const remoteMethodUser = (e = '') => {
|
||||
userloading.value = true
|
||||
apiUserLists({
|
||||
nickname: e,
|
||||
page_size: 10
|
||||
})
|
||||
.then((res) => {
|
||||
userList.value = res.lists
|
||||
setTimeout(() => {
|
||||
userloading.value = false
|
||||
}, 300)
|
||||
})
|
||||
.catch((err) => {
|
||||
setTimeout(() => {
|
||||
userloading.value = false
|
||||
}, 300)
|
||||
})
|
||||
}
|
||||
const storeList = ref([])
|
||||
const generateOrderClick = () => {
|
||||
generateOrderShow.value = true
|
||||
apiSystemStoreLists({ page_no: 1, page_size: 100 }).then((res) => {
|
||||
storeList.value = res.lists
|
||||
})
|
||||
}
|
||||
const generateOrderAdd = () => {
|
||||
apiPurchaseOrderGenerateOrder(generateOrderData.value).then((res) => {})
|
||||
}
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
|
|
@ -48,9 +48,13 @@
|
|||
<el-table-column label="id" prop="id" show-overflow-tooltip width="55" />
|
||||
<el-table-column label="操作时间" prop="create_time" show-overflow-tooltip />
|
||||
<el-table-column label="单号" prop="order_id" show-overflow-tooltip />
|
||||
<el-table-column label="状态" prop="financial_pm_name" show-overflow-tooltip />
|
||||
<el-table-column
|
||||
label="订单类型"
|
||||
prop="order_type_name"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<!-- <el-table-column label="状态" prop="financial_pm_name" show-overflow-tooltip /> -->
|
||||
<el-table-column label="填写人员" prop="admin_name" show-overflow-tooltip />
|
||||
<!-- <el-table-column label="批次" prop="batch" show-overflow-tooltip /> -->
|
||||
<el-table-column label="总价格" prop="total_price" show-overflow-tooltip />
|
||||
<el-table-column label="备注" prop="mark" show-overflow-tooltip />
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ const router = useRouter()
|
|||
const handleSubmit = async () => {
|
||||
const product_arr = productList.value.map((item: any) => {
|
||||
return {
|
||||
product_id: item.id,
|
||||
product_id: item.product_id,
|
||||
cart_num: item.cart_num
|
||||
}
|
||||
})
|
||||
|
@ -125,6 +125,10 @@ const handleSubmit = async () => {
|
|||
order_id: props.order_id,
|
||||
product_arr,
|
||||
refund_price: formData.total_price
|
||||
}).then((res) => {})
|
||||
}).then((res) => {
|
||||
setTimeout(() => {
|
||||
location.reload()
|
||||
}, 2000)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue