Merge branch 'master' of http://git.lionquexpress.com/wuweihua/BMS
This commit is contained in:
@@ -60,3 +60,21 @@ export function listOrderNoOptions(keyword) {
|
||||
params: { keyword }
|
||||
})
|
||||
}
|
||||
|
||||
/** 运单号下拉远程搜索选项 */
|
||||
export function listTrackingNoOptions(keyword) {
|
||||
return request({
|
||||
url: '/price/billing/bill/trackingNos',
|
||||
method: 'get',
|
||||
params: { keyword }
|
||||
})
|
||||
}
|
||||
|
||||
/** 转单号下拉远程搜索选项 */
|
||||
export function listTransferNoOptions(keyword) {
|
||||
return request({
|
||||
url: '/price/billing/bill/transferNos',
|
||||
method: 'get',
|
||||
params: { keyword }
|
||||
})
|
||||
}
|
||||
|
||||
@@ -69,16 +69,16 @@ const schemas = computed(() => [
|
||||
width: '100%',
|
||||
props: { maxlength: 50 }
|
||||
},
|
||||
{
|
||||
label: '税模式',
|
||||
prop: 'taxMode',
|
||||
component: 'select',
|
||||
placeholder: '请选择',
|
||||
dict: 'bms_tax_mode',
|
||||
span: 12,
|
||||
width: '100%',
|
||||
rules: [{ required: true, message: '请选择税模式', trigger: 'change' }]
|
||||
},
|
||||
// {
|
||||
// label: '税模式',
|
||||
// prop: 'taxMode',
|
||||
// component: 'select',
|
||||
// placeholder: '请选择',
|
||||
// dict: 'bms_tax_mode',
|
||||
// span: 12,
|
||||
// width: '100%',
|
||||
// rules: [{ required: true, message: '请选择税模式', trigger: 'change' }]
|
||||
// },
|
||||
{
|
||||
label: '生效日期',
|
||||
prop: 'effectiveDate',
|
||||
|
||||
@@ -116,7 +116,7 @@ const columns = [
|
||||
{ prop: 'serviceLevel', label: '时效等级', width: 90, align: 'center' },
|
||||
{ prop: 'cargoAttr', label: '走货属性', minWidth: 120, slot: 'cargoAttr' },
|
||||
{ prop: 'destRegion', label: '目的区域', width: 90, align: 'center' },
|
||||
{ prop: 'taxMode', label: '税模式', width: 90, align: 'center', dict: 'bms_tax_mode' },
|
||||
// { prop: 'taxMode', label: '税模式', width: 90, align: 'center', dict: 'bms_tax_mode' },
|
||||
{ prop: 'effectiveDate', label: '生效日期', width: 120, align: 'center' },
|
||||
{ prop: 'expireDate', label: '失效日期', width: 120, align: 'center' },
|
||||
{ prop: 'countryCount', label: '国家数', width: 80, align: 'center' },
|
||||
@@ -128,15 +128,15 @@ const columns = [
|
||||
|
||||
const searchColumns = [
|
||||
{ prop: 'productCode', label: '产品代码', component: 'input', placeholder: '产品代码' },
|
||||
{ prop: 'productName', label: '产品名称', component: 'input', placeholder: '产品名称' },
|
||||
{
|
||||
prop: 'taxMode',
|
||||
label: '税模式',
|
||||
component: 'select',
|
||||
dict: 'bms_tax_mode',
|
||||
placeholder: '税模式',
|
||||
clearable: true
|
||||
}
|
||||
{ prop: 'productName', label: '产品名称', component: 'input', placeholder: '产品名称' }
|
||||
// {
|
||||
// prop: 'taxMode',
|
||||
// label: '税模式',
|
||||
// component: 'select',
|
||||
// dict: 'bms_tax_mode',
|
||||
// placeholder: '税模式',
|
||||
// clearable: true
|
||||
// }
|
||||
]
|
||||
|
||||
function queryList(params) {
|
||||
|
||||
@@ -11,6 +11,12 @@
|
||||
<template #search-orderNos="{ model }">
|
||||
<multi-value-input v-model="model.orderNos" placeholder="订单号" width="100%" :search-method="searchOrderNoOptions" />
|
||||
</template>
|
||||
<template #search-trackingNos="{ model }">
|
||||
<multi-value-input v-model="model.trackingNos" placeholder="运单号" width="100%" :search-method="searchTrackingNoOptions" />
|
||||
</template>
|
||||
<template #search-transferNos="{ model }">
|
||||
<multi-value-input v-model="model.transferNos" placeholder="转单号" width="100%" :search-method="searchTransferNoOptions" />
|
||||
</template>
|
||||
<template #search-customerCodes="{ model }">
|
||||
<customer-select
|
||||
v-model="model.customerCodes"
|
||||
@@ -70,7 +76,7 @@
|
||||
</template>
|
||||
|
||||
<script setup name="BillingBill">
|
||||
import { listBill, getBill, listOrderNoOptions } from '@/api/price/billing'
|
||||
import { listBill, getBill, listOrderNoOptions, listTrackingNoOptions, listTransferNoOptions } from '@/api/price/billing'
|
||||
import { useProducts } from '@/components/ProductSelect/useProducts'
|
||||
import BillDetail from './components/BillDetail.vue'
|
||||
|
||||
@@ -79,6 +85,16 @@ function searchOrderNoOptions(keyword) {
|
||||
return listOrderNoOptions(keyword).then(res => res.data || [])
|
||||
}
|
||||
|
||||
// 运单号下拉远程搜索
|
||||
function searchTrackingNoOptions(keyword) {
|
||||
return listTrackingNoOptions(keyword).then(res => res.data || [])
|
||||
}
|
||||
|
||||
// 转单号下拉远程搜索
|
||||
function searchTransferNoOptions(keyword) {
|
||||
return listTransferNoOptions(keyword).then(res => res.data || [])
|
||||
}
|
||||
|
||||
// 产品下拉选项:复用 ProductSelect 的模块级产品缓存(全应用只拉一次)
|
||||
const { productList, ensureProducts } = useProducts()
|
||||
ensureProducts()
|
||||
@@ -107,7 +123,7 @@ const columns = [
|
||||
{ label: '应收总额', prop: 'incomeTotal', align: 'right', width: 120, slot: 'incomeTotal' },
|
||||
{ label: '应付总额', prop: 'payTotal', align: 'right', width: 120, slot: 'payTotal' },
|
||||
{ label: '计价来源', prop: 'matchSource', align: 'center', width: 130, slot: 'matchSource' },
|
||||
{ label: '客户生效', prop: 'customerActiveStatus', align: 'center', width: 100, slot: 'customerActiveStatus' },
|
||||
{ label: '客户状态', prop: 'customerActiveStatus', align: 'center', width: 100, slot: 'customerActiveStatus' },
|
||||
{ label: '额度欠费', prop: 'creditArrearsStatus', align: 'center', width: 100, slot: 'creditArrearsStatus' },
|
||||
{ label: '下单时间', prop: 'orderTime', align: 'center', width: 170, parseTime: true },
|
||||
{ label: '销售员', prop: 'belongSaler', minWidth: 100, showOverflowTooltip: true },
|
||||
@@ -118,8 +134,8 @@ const columns = [
|
||||
|
||||
const searchColumns = [
|
||||
{ label: '订单号', prop: 'orderNos', placeholder: '订单号' },
|
||||
{ label: '运单号', prop: 'trackingNo', component: 'input', placeholder: '运单号' },
|
||||
{ label: '转单号', prop: 'transferNo', component: 'input', placeholder: '转单号' },
|
||||
{ label: '运单号', prop: 'trackingNos', placeholder: '运单号' },
|
||||
{ label: '转单号', prop: 'transferNos', placeholder: '转单号' },
|
||||
{ label: '客户', prop: 'customerCodes', placeholder: '客户代码' },
|
||||
{ label: '产品代码', prop: 'productCodes', placeholder: '产品代码' }
|
||||
]
|
||||
@@ -129,7 +145,7 @@ function queryList(params) {
|
||||
}
|
||||
|
||||
function handleView(row) {
|
||||
title.value = '计费详情 #' + (row.orderNo || row.billId)
|
||||
title.value = '计费详情'
|
||||
open.value = true
|
||||
loading.value = true
|
||||
detail.value = null
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<el-descriptions-item label="结算员">{{ detail.settlementMan || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客服员">{{ detail.serviceMan || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户">{{ displayCustomer(detail) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户生效">{{ customerActiveLabel(detail.customerActiveStatus) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户状态">{{ customerActiveLabel(detail.customerActiveStatus) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="额度欠费">{{ creditArrearsLabel(detail.creditArrearsStatus) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="仓库">{{ detail.warehouseCode || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="发件人">{{ detail.shipperName || '-' }}</el-descriptions-item>
|
||||
@@ -72,6 +72,7 @@
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="套餐">{{ priceSetLabel(detail) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="套餐版本">{{ detail.versionNo || (detail.psvId ? ('psv=' + detail.psvId) : '-') }}</el-descriptions-item>
|
||||
<el-descriptions-item label="套餐明细ID">{{ detail.psdId != null ? detail.psdId : '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="币种">
|
||||
<dict-tag :options="bms_currency" :value="displayCurrency(detail.currency)" />
|
||||
</el-descriptions-item>
|
||||
|
||||
Reference in New Issue
Block a user