Commit 896100d3 by lijinqi

1.资源列表字段调整

parent 79baa9c2
...@@ -8,11 +8,12 @@ ...@@ -8,11 +8,12 @@
max-height="500" max-height="500"
size="small" size="small"
> >
<el-table-column align="center" label="图片" min-width="65"> <!-- <el-table-column align="center" label="图片" min-width="65">-->
<template #default="{ row }"> <!-- <template #default="{ row }">-->
<UploadImg v-model="row.picUrl" height="50px" width="50px" /> <!-- <UploadImg v-model="row.picUrl" height="50px" width="50px" />-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<template v-if="formData!.specType && !isBatch"> <template v-if="formData!.specType && !isBatch">
<!-- 根据商品属性动态添加 --> <!-- 根据商品属性动态添加 -->
<el-table-column <el-table-column
...@@ -20,7 +21,7 @@ ...@@ -20,7 +21,7 @@
:key="index" :key="index"
:label="item.label" :label="item.label"
align="center" align="center"
min-width="100" min-width="80"
> >
<template #default="{ row }"> <template #default="{ row }">
<span style="font-weight: bold; color: #40aaff"> <span style="font-weight: bold; color: #40aaff">
...@@ -28,56 +29,41 @@ ...@@ -28,56 +29,41 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="鉴权信息" prop="auth" align="center"> <el-table-column label="有效期(天)" prop="expDuration" align="center" min-width="100">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.auth" class="w-100%" /> <el-input
</template> v-model.number="row.expDuration"
</el-table-column> type="number"
<el-table-column label="有效期(单位:天)" prop="expDuration" align="center" min-width="160"> placeholder="请输入天数"
<template #default="{ row }"> style="width: 100%; text-align: center;"
<el-input-number
v-model="row.expDuration"
:min="0"
:step="1"
class="w-100%"
controls-position="right"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="费用描述" prop="feeInfo" align="center">
<el-table-column label="费用描述" prop="feeInfo" align="center" min-width="60">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.feeInfo" class="w-100%" /> <el-input v-model="row.feeInfo" class="w-100%" />
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
<el-table-column align="center" label="销售价" min-width="168"> <el-table-column label="鉴权信息" prop="auth" align="center" min-width="260">
<template #default="{ row }">
<el-input-number
v-model="row.price"
:min="0"
:precision="2"
:step="0.1"
class="w-100%"
controls-position="right"
/>
</template>
</el-table-column>
<el-table-column align="center" label="市场价" min-width="168">
<template #default="{ row }"> <template #default="{ row }">
<el-input-number <el-input
v-model="row.marketPrice" v-model="row.auth"
:min="0" type="textarea"
:precision="2" :rows="3"
:step="0.1" placeholder="请输入鉴权信息"
class="w-100%" class="w-100%"
controls-position="right"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="成本价" min-width="168">
<el-table-column align="center" label="销售价" min-width="100">
<template #default="{ row }"> <template #default="{ row }">
<el-input-number <el-input-number
v-model="row.costPrice" v-model="row.price"
:min="0" :min="0"
:precision="2" :precision="2"
:step="0.1" :step="0.1"
...@@ -86,11 +72,35 @@ ...@@ -86,11 +72,35 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="库存" min-width="168"> <!-- <el-table-column align="center" label="市场价" min-width="168">-->
<template #default="{ row }"> <!-- <template #default="{ row }">-->
<el-input-number v-model="row.stock" :min="0" class="w-100%" controls-position="right" /> <!-- <el-input-number-->
</template> <!-- v-model="row.marketPrice"-->
</el-table-column> <!-- :min="0"-->
<!-- :precision="2"-->
<!-- :step="0.1"-->
<!-- class="w-100%"-->
<!-- controls-position="right"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="成本价" min-width="168">-->
<!-- <template #default="{ row }">-->
<!-- <el-input-number-->
<!-- v-model="row.costPrice"-->
<!-- :min="0"-->
<!-- :precision="2"-->
<!-- :step="0.1"-->
<!-- class="w-100%"-->
<!-- controls-position="right"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="库存" min-width="168">-->
<!-- <template #default="{ row }">-->
<!-- <el-input-number v-model="row.stock" :min="0" class="w-100%" controls-position="right" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<template v-if="formData!.subCommissionType"> <template v-if="formData!.subCommissionType">
<el-table-column align="center" label="一级返佣(元)" min-width="168"> <el-table-column align="center" label="一级返佣(元)" min-width="168">
<template #default="{ row }"> <template #default="{ row }">
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
type="textarea" type="textarea"
/> />
</el-form-item> </el-form-item>
<el-form-item label="商品封面图" prop="picUrl">
<UploadImg v-model="formData.picUrl" :disabled="isDetail" height="80px" />
</el-form-item>
<el-form-item label="资源分类" prop="categoryId"> <el-form-item label="资源分类" prop="categoryId">
<el-cascader <el-cascader
v-model="formData.categoryId" v-model="formData.categoryId"
......
...@@ -87,51 +87,10 @@ ...@@ -87,51 +87,10 @@
/> />
</el-tabs> </el-tabs>
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column type="expand"> <!-- 展开列隐藏 -->
<template #default="{ row }"> <!-- <el-table-column type="expand"> ... </el-table-column> -->
<el-form class="spu-table-expand" label-position="left">
<el-row> <el-table-column label="资源名称" min-width="200">
<el-col :span="24">
<el-row>
<el-col :span="8">
<el-form-item label="商品分类:">
<span>{{ formatCategoryName(row.categoryId) }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="市场价:">
<span>{{ fenToYuan(row.marketPrice) }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="成本价:">
<span>{{ fenToYuan(row.costPrice) }}</span>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-row>
<el-col :span="8">
<el-form-item label="浏览量:">
<span>{{ row.browseCount }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="虚拟销量:">
<span>{{ row.virtualSalesCount }}</span>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form>
</template>
</el-table-column>
<el-table-column label="资源编号" min-width="140" prop="id" />
<el-table-column label="资源信息" min-width="300">
<template #default="{ row }"> <template #default="{ row }">
<div class="flex"> <div class="flex">
<el-image <el-image
...@@ -142,19 +101,20 @@ ...@@ -142,19 +101,20 @@
/> />
<div class="ml-4 overflow-hidden"> <div class="ml-4 overflow-hidden">
<el-tooltip effect="dark" :content="row.name" placement="top"> <el-tooltip effect="dark" :content="row.name" placement="top">
<div> <div>{{ row.name }}</div>
{{ row.name }}
</div>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="价格" min-width="160" prop="price"> <el-table-column align="center" label="资源分类" min-width="160">
<template #default="{ row }"> ¥ {{ fenToYuan(row.price) }}</template> <template #default="{ row }">{{ formatCategoryName(row.categoryId) }}</template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="销量" min-width="90" prop="salesCount" /> <el-table-column align="center" label="价格" min-width="160">
<el-table-column align="center" label="库存" min-width="90" prop="stock" /> <template #default="{ row }">¥ {{ fenToYuan(row.price) }}</template>
</el-table-column>
<!-- <el-table-column align="center" label="销量" min-width="90" prop="salesCount" />-->
<!-- <el-table-column align="center" label="库存" min-width="90" prop="stock" />-->
<el-table-column align="center" label="排序" min-width="70" prop="sort" /> <el-table-column align="center" label="排序" min-width="70" prop="sort" />
<el-table-column align="center" label="销售状态" min-width="80"> <el-table-column align="center" label="销售状态" min-width="80">
<template #default="{ row }"> <template #default="{ row }">
...@@ -174,16 +134,10 @@ ...@@ -174,16 +134,10 @@
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column :formatter="dateFormatter" align="center" label="创建时间" width="180" prop="createTime"/>
:formatter="dateFormatter"
align="center"
label="创建时间"
prop="createTime"
width="180"
/>
<el-table-column align="center" fixed="right" label="操作" min-width="200"> <el-table-column align="center" fixed="right" label="操作" min-width="200">
<template #default="{ row }"> <template #default="{ row }">
<el-button link type="primary" @click="openDetail(row.id)"> 详情</el-button> <el-button link type="primary" @click="openDetail(row.id)">详情</el-button>
<el-button <el-button
v-hasPermi="['product:spu:update']" v-hasPermi="['product:spu:update']"
link link
...@@ -232,6 +186,7 @@ ...@@ -232,6 +186,7 @@
/> />
</ContentWrap> </ContentWrap>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { TabsPaneContext } from 'element-plus' import { TabsPaneContext } from 'element-plus'
import { createImageViewer } from '@/components/ImageViewer' import { createImageViewer } from '@/components/ImageViewer'
...@@ -245,43 +200,34 @@ import * as ProductCategoryApi from '@/api/mall/product/category' ...@@ -245,43 +200,34 @@ import * as ProductCategoryApi from '@/api/mall/product/category'
defineOptions({ name: 'ProductSpu' }) defineOptions({ name: 'ProductSpu' })
const message = useMessage() // 消息弹窗 const message = useMessage()
const route = useRoute() // 路由 const route = useRoute()
const { t } = useI18n() // 国际化 const { t } = useI18n()
const { push } = useRouter() // 路由跳转 const { push } = useRouter()
const loading = ref(false) // 列表的加载中 const loading = ref(false)
const exportLoading = ref(false) // 导出的加载中 const exportLoading = ref(false)
const total = ref(0) // 列表的总页数 const total = ref(0)
const list = ref<ProductSpuApi.Spu[]>([]) // 列表的数据 const list = ref<ProductSpuApi.Spu[]>([])
// tabs 数据
const tabsData = ref([ // 完整 tab 配置
{ const allTabsData = [
name: '出售中', { name: '出售中', type: 0 },
type: 0, { name: '仓库中', type: 1 },
count: 0 { name: '已售出', type: 2 },
}, { name: '警戒库存', type: 3 },
{ { name: '回收站', type: 4 }
name: '仓库中', ]
type: 1,
count: 0 // 隐藏仓库中
}, const hiddenTabs = [1, 3]
{
name: '已售罄', // 过滤后的 tab
type: 2, const tabsData = computed(() => {
count: 0 return allTabsData
}, .filter(tab => !hiddenTabs.includes(tab.type))
{ .map(tab => ({ ...tab, count: 0 }))
name: '警戒库存', })
type: 3,
count: 0
},
{
name: '回收站',
type: 4,
count: 0
}
])
const queryParams = ref({ const queryParams = ref({
pageNo: 1, pageNo: 1,
...@@ -290,8 +236,8 @@ const queryParams = ref({ ...@@ -290,8 +236,8 @@ const queryParams = ref({
name: '', name: '',
categoryId: undefined, categoryId: undefined,
createTime: undefined createTime: undefined
}) // 查询参数 })
const queryFormRef = ref() // 搜索的表单Ref const queryFormRef = ref()
/** 查询列表 */ /** 查询列表 */
const getList = async () => { const getList = async () => {
...@@ -311,14 +257,18 @@ const handleTabClick = (tab: TabsPaneContext) => { ...@@ -311,14 +257,18 @@ const handleTabClick = (tab: TabsPaneContext) => {
getList() getList()
} }
/** 获每个 Tab 的数量 */ /** 获每个 Tab 的数量 */
const getTabsCount = async () => { const getTabsCount = async () => {
const res = await ProductSpuApi.getTabsCount() const res = await ProductSpuApi.getTabsCount()
for (let objName in res) { tabsData.value.forEach(tab => {
tabsData.value[Number(objName)].count = res[objName] if (res[tab.type] !== undefined) {
} tab.count = res[tab.type]
}
})
} }
// 其他方法保持原来逻辑:handleStatus02Change, handleStatusChange, handleDelete, imagePreview, handleQuery, resetQuery, openForm, openDetail, handleExport
/** 添加到仓库 / 回收站的状态 */ /** 添加到仓库 / 回收站的状态 */
const handleStatus02Change = async (row: any, newStatus: number) => { const handleStatus02Change = async (row: any, newStatus: number) => {
try { try {
...@@ -335,6 +285,7 @@ const handleStatus02Change = async (row: any, newStatus: number) => { ...@@ -335,6 +285,7 @@ const handleStatus02Change = async (row: any, newStatus: number) => {
} catch {} } catch {}
} }
/** 更新上架/下架状态 */ /** 更新上架/下架状态 */
const handleStatusChange = async (row: any) => { const handleStatusChange = async (row: any) => {
try { try {
...@@ -357,6 +308,7 @@ const handleStatusChange = async (row: any) => { ...@@ -357,6 +308,7 @@ const handleStatusChange = async (row: any) => {
} }
} }
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (id: number) => { const handleDelete = async (id: number) => {
try { try {
...@@ -372,6 +324,7 @@ const handleDelete = async (id: number) => { ...@@ -372,6 +324,7 @@ const handleDelete = async (id: number) => {
} catch {} } catch {}
} }
/** 商品图预览 */ /** 商品图预览 */
const imagePreview = (imgUrl: string) => { const imagePreview = (imgUrl: string) => {
createImageViewer({ createImageViewer({
...@@ -390,6 +343,7 @@ const resetQuery = () => { ...@@ -390,6 +343,7 @@ const resetQuery = () => {
handleQuery() handleQuery()
} }
/** 新增或修改 */ /** 新增或修改 */
const openForm = (id?: number) => { const openForm = (id?: number) => {
// 修改 // 修改
...@@ -421,39 +375,39 @@ const handleExport = async () => { ...@@ -421,39 +375,39 @@ const handleExport = async () => {
} }
} }
/** 获取分类的节点的完整结构 */
const categoryList = ref() // 分类树
const formatCategoryName = (categoryId: number) => {
return treeToString(categoryList.value, categoryId)
}
/** 激活时 */
onActivated(() => {
getList()
})
/** 初始化 **/
/** 分类树相关 */
const categoryList = ref()
const formatCategoryName = (categoryId: number) => treeToString(categoryList.value, categoryId)
onActivated(() => getList())
onMounted(async () => { onMounted(async () => {
// 解析路由的 categoryId
if (route.query.categoryId) { if (route.query.categoryId) {
queryParams.value.categoryId = route.query.categoryId queryParams.value.categoryId = route.query.categoryId
} }
// 获得商品信息
await getTabsCount() await getTabsCount()
await getList() await getList()
// 获得分类树
const data = await ProductCategoryApi.getCategoryList({}) const data = await ProductCategoryApi.getCategoryList({})
categoryList.value = handleTree(data, 'id', 'parentId') categoryList.value = handleTree(data, 'id', 'parentId')
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.spu-table-expand { .spu-table-expand {
padding-left: 42px; padding-left: 42px;
:deep(.el-form-item__label) { :deep(.el-form-item__label) {
width: 82px; width: 82px;
font-weight: bold; font-weight: bold;
color: #99a9bf; color: #99a9bf;
} }
} }
/* 隐藏展开按钮 */
:deep(.el-table__expand-column .cell) {
display: none !important;
}
</style> </style>
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
prop="brokerageUser.nickname" prop="brokerageUser.nickname"
min-width="100" min-width="100"
/> />
<el-table-column label="商品信息" align="center" prop="spuName" min-width="300"> <el-table-column label="算力资源信息" align="center" prop="spuName" min-width="300">
<template #default="{ row }"> <template #default="{ row }">
<div class="flex items-center" v-for="item in row.items" :key="item.id"> <div class="flex items-center" v-for="item in row.items" :key="item.id">
<el-image <el-image
......
<template> <template>
<el-table-column class-name="order-table-col"> <el-table-column class-name="order-table-col">
<template #header> <template #header>
<div class="flex items-center" style="width: 100%"> <div class="flex w-full">
<div :style="{ width: orderTableHeadWidthList[0] + 'px' }" class="flex justify-center"> <div class="flex justify-center" :style="{ flex: 3 }">商品信息</div>
商品信息 <div class="flex justify-center" :style="{ flex: 1 }">单价(元)/数量</div>
</div> <div class="flex justify-center" :style="{ flex: 1 }">实付金额(元)</div>
<div :style="{ width: orderTableHeadWidthList[1] + 'px' }" class="flex justify-center"> <div class="flex justify-center" :style="{ flex: 1 }">订单状态</div>
单价(元)/数量 <div class="flex justify-center" :style="{ flex: 1 }">开票状态</div>
</div> <div class="flex justify-center" :style="{ flex: 1 }">操作</div>
<div :style="{ width: orderTableHeadWidthList[2] + 'px' }" class="flex justify-center"> </div>
售后状态
</div>
<div :style="{ width: orderTableHeadWidthList[3] + 'px' }" class="flex justify-center">
实付金额(元)
</div>
<div :style="{ width: orderTableHeadWidthList[4] + 'px' }" class="flex justify-center">
买家/收货人
</div>
<div :style="{ width: orderTableHeadWidthList[5] + 'px' }" class="flex justify-center">
配送方式
</div>
<div :style="{ width: orderTableHeadWidthList[6] + 'px' }" class="flex justify-center">
订单状态
</div>
<div :style="{ width: orderTableHeadWidthList[7] + 'px' }" class="flex justify-center">
开票状态
</div>
<div :style="{ width: orderTableHeadWidthList[8] + 'px' }" class="flex justify-center">
操作
</div>
</div>
</template> </template>
<template #default="scope"> <template #default="scope">
<el-table <el-table
...@@ -40,137 +19,89 @@ ...@@ -40,137 +19,89 @@
:span-method="spanMethod" :span-method="spanMethod"
style="width: 100%" style="width: 100%"
> >
<el-table-column min-width="300" prop="spuName"> <el-table-column>
<template #header>
<div
class="mr-[20px] h-[35px] flex items-center pl-[10px] pr-[10px]"
style="background-color: var(--app-content-bg-color)"
>
<span class="mr-20px">订单号:{{ scope.row.no }} </span>
<span class="mr-20px">下单时间:{{ formatDate(scope.row.createTime) }}</span>
<span>订单来源:</span>
<dict-tag :type="DICT_TYPE.TERMINAL" :value="scope.row.terminal" class="mr-20px" />
<span>支付方式:</span>
<dict-tag
v-if="scope.row.payChannelCode"
:type="DICT_TYPE.PAY_CHANNEL_CODE"
:value="scope.row.payChannelCode"
class="mr-20px"
/>
<span v-else class="mr-20px">未支付</span>
<span v-if="scope.row.payTime" class="mr-20px">
支付时间:{{ formatDate(scope.row.payTime) }}
</span>
<span>订单类型:</span>
<dict-tag :type="DICT_TYPE.TRADE_ORDER_TYPE" :value="scope.row.type" />
</div>
</template>
<template #default="{ row }"> <template #default="{ row }">
<div class="flex flex-wrap"> <div class="flex w-full">
<div class="mb-[10px] mr-[10px] flex items-start"> <!-- 商品信息列 -->
<div class="mr-[10px]"> <div :style="{ flex: 3 }" class="flex flex-col gap-2">
<el-image <!-- 上方:订单信息 -->
:src="row.picUrl" <div class="mb-2 text-sm text-gray-500">
class="!h-[45px] !w-[45px]" <span class="mr-4">订单号:{{ scope.row.no }}</span>
fit="contain" <span class="mr-4">下单时间:{{ formatDate(scope.row.createTime) }}</span>
@click="imagePreview(row.picUrl)" <span class="mr-4">
> 支付方式:
<template #error> <dict-tag
<div class="image-slot"> v-if="scope.row.payChannelCode"
<icon icon="ep:picture" /> :type="DICT_TYPE.PAY_CHANNEL_CODE"
:value="scope.row.payChannelCode"
/>
<span v-else>未支付</span>
</span>
<span v-if="scope.row.payTime" class="mr-4">支付时间:{{ formatDate(scope.row.payTime) }}</span>
</div>
<!-- 下方:商品列表 -->
<div class="flex flex-col gap-2">
<div class="flex items-start" v-for="item in scope.row.items" :key="item.id">
<el-image
:src="item.picUrl"
class="!h-[45px] !w-[45px] mr-2"
fit="cover"
@click="imagePreview(item.picUrl)"
>
<template #error>
<div class="image-slot">
<icon icon="ep:picture" />
</div>
</template>
</el-image>
<div class="flex flex-col">
<ElTooltip :content="item.spuName" placement="top">
<span class="overflow-ellipsis max-h-[45px] overflow-hidden">{{ item.spuName }}</span>
</ElTooltip>
<div class="flex flex-wrap mt-1">
<el-tag v-for="property in item.properties" :key="property.propertyId" class="mb-1 mr-1">
{{ property.propertyName }}: {{ property.valueName }}
</el-tag>
</div> </div>
</template> </div>
</el-image> </div>
</div> </div>
<ElTooltip :content="row.spuName" placement="top">
<span class="overflow-ellipsis max-h-[45px] overflow-hidden">
{{ row.spuName }}
</span>
</ElTooltip>
</div> </div>
<el-tag
v-for="property in row.properties" <!-- 单价/数量 -->
:key="property.propertyId" <div :style="{ flex: 1 }" class="flex items-center justify-center text-sm">
class="mb-[10px] mr-[10px]" <div>
> <div class="font-semibold">{{ floatToFixed2(row.price) }} 元</div>
{{ property.propertyName }}: {{ property.valueName }} <div class="text-gray-400">x {{ row.count }}</div>
</el-tag> </div>
</div> </div>
</template>
</el-table-column> <!-- 实付金额 -->
<el-table-column label="商品原价*数量" prop="price" width="150"> <div :style="{ flex: 1 }" class="flex items-center justify-center font-semibold">
<template #default="{ row }"> {{ floatToFixed2(scope.row.payPrice) }} 元
{{ floatToFixed2(row.price) }} 元 / {{ row.count }} </div>
</template>
</el-table-column> <!-- 订单状态 -->
<el-table-column label="售后状态" prop="afterSaleStatus" width="120"> <div :style="{ flex: 1 }" class="flex items-center justify-center">
<template #default="{ row }"> <dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="scope.row.status" />
<dict-tag </div>
:type="DICT_TYPE.TRADE_ORDER_ITEM_AFTER_SALE_STATUS"
:value="row.afterSaleStatus" <!-- 开票状态 -->
/> <div :style="{ flex: 1 }" class="flex items-center justify-center">
</template> <dict-tag :type="DICT_TYPE.TRADE_INVOICE_STATUS" :value="scope.row.invoiceStatus" />
</el-table-column> </div>
<el-table-column align="center" label="实际支付" min-width="120" prop="payPrice">
<template #default> <!-- 操作 -->
{{ floatToFixed2(scope.row.payPrice) + '元' }} <div :style="{ flex: 1 }" class="flex items-center justify-center">
</template> <slot :row="scope.row"></slot>
</el-table-column> </div>
<el-table-column label="买家/收货人" min-width="160">
<template #default>
<!-- 快递发货 -->
<div
v-if="scope.row.deliveryType === DeliveryTypeEnum.EXPRESS.type"
class="flex flex-col"
>
<span>买家:{{ scope.row.user?.nickname }}</span>
<span>
收货人:{{ scope.row.receiverName }} {{ scope.row.receiverMobile }}
{{ scope.row.receiverAreaName }} {{ scope.row.receiverDetailAddress }}
</span>
</div>
<!-- 自提 -->
<div
v-if="scope.row.deliveryType === DeliveryTypeEnum.PICK_UP.type"
class="flex flex-col"
>
<span>
门店名称:
{{ pickUpStoreList.find((p) => p.id === scope.row.pickUpStoreId)?.name }}
</span>
<span>
门店手机:
{{ pickUpStoreList.find((p) => p.id === scope.row.pickUpStoreId)?.phone }}
</span>
<span>
自提门店:
{{ pickUpStoreList.find((p) => p.id === scope.row.pickUpStoreId)?.detailAddress }}
</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="配送方式" width="120">
<template #default>
<dict-tag :type="DICT_TYPE.TRADE_DELIVERY_TYPE" :value="scope.row.deliveryType" />
</template>
</el-table-column>
<el-table-column align="center" label="订单状态" width="120">
<template #default>
<dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column align="center" label="开票状态" width="120">
<template #default>
<dict-tag :type="DICT_TYPE.TRADE_INVOICE_STATUS" :value="scope.row.invoiceStatus" />
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="160">
<template #default>
<slot :row="scope.row"></slot>
</template>
</el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -192,16 +123,19 @@ const props = defineProps<{ ...@@ -192,16 +123,19 @@ const props = defineProps<{
}>() }>()
const headerStyle = ({ row, columnIndex }: any) => { const headerStyle = ({ row, columnIndex }: any) => {
// 表头第一行第一列占 8 return {
if (columnIndex === 0) { display: 'none'
row[columnIndex].colSpan = 8
} else {
// 其余的不要
row[columnIndex].colSpan = 0
return {
display: 'none'
}
} }
// 表头第一行第一列占 8
// if (columnIndex === 0) {
// row[columnIndex].colSpan = 8
// } else {
// // 其余的不要
// row[columnIndex].colSpan = 0
// return {
// display: 'none'
// }
// }
} }
interface SpanMethodProps { interface SpanMethodProps {
......
...@@ -7,18 +7,18 @@ ...@@ -7,18 +7,18 @@
<el-descriptions-item label="订单类型: "> <el-descriptions-item label="订单类型: ">
<dict-tag :type="DICT_TYPE.TRADE_ORDER_TYPE" :value="formData.type!" /> <dict-tag :type="DICT_TYPE.TRADE_ORDER_TYPE" :value="formData.type!" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="订单来源: "> <!-- <el-descriptions-item label="订单来源: ">-->
<dict-tag :type="DICT_TYPE.TERMINAL" :value="formData.terminal!" /> <!-- <dict-tag :type="DICT_TYPE.TERMINAL" :value="formData.terminal!" />-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item label="买家留言: ">{{ formData.userRemark }}</el-descriptions-item> <!-- <el-descriptions-item label="买家留言: ">{{ formData.userRemark }}</el-descriptions-item>-->
<el-descriptions-item label="商家备注: ">{{ formData.remark }}</el-descriptions-item> <!-- <el-descriptions-item label="商家备注: ">{{ formData.remark }}</el-descriptions-item>-->
<el-descriptions-item label="支付单号: ">{{ formData.payOrderId }}</el-descriptions-item> <el-descriptions-item label="支付单号: ">{{ formData.payOrderId }}</el-descriptions-item>
<el-descriptions-item label="付款方式: "> <!-- <el-descriptions-item label="付款方式: ">-->
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="formData.payChannelCode!" /> <!-- <dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="formData.payChannelCode!" />-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item v-if="formData.brokerageUser" label="推广用户: "> <!-- <el-descriptions-item v-if="formData.brokerageUser" label="推广用户: ">-->
{{ formData.brokerageUser?.nickname }} <!-- {{ formData.brokerageUser?.nickname }}-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
</el-descriptions> </el-descriptions>
<!-- 订单状态 --> <!-- 订单状态 -->
...@@ -26,48 +26,48 @@ ...@@ -26,48 +26,48 @@
<el-descriptions-item label="订单状态: "> <el-descriptions-item label="订单状态: ">
<dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="formData.status!" /> <dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="formData.status!" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-hasPermi="['trade:order:update']" label-class-name="no-colon"> <!-- <el-descriptions-item v-hasPermi="['trade:order:update']" label-class-name="no-colon">-->
<el-button <!-- <el-button-->
v-if="formData.status! === TradeOrderStatusEnum.UNPAID.status" <!-- v-if="formData.status! === TradeOrderStatusEnum.UNPAID.status"-->
type="primary" <!-- type="primary"-->
@click="updatePrice" <!-- @click="updatePrice"-->
> <!-- >-->
调整价格 <!-- 调整价格-->
</el-button> <!-- </el-button>-->
<el-button type="primary" @click="remark">备注</el-button> <!-- <el-button type="primary" @click="remark">备注</el-button>-->
<!-- 待发货 --> <!-- &lt;!&ndash; 待发货 &ndash;&gt;-->
<template v-if="formData.status! === TradeOrderStatusEnum.UNDELIVERED.status"> <!-- <template v-if="formData.status! === TradeOrderStatusEnum.UNDELIVERED.status">-->
<!-- 快递发货 --> <!-- &lt;!&ndash; 快递发货 &ndash;&gt;-->
<el-button <!-- <el-button-->
v-if="formData.deliveryType === DeliveryTypeEnum.EXPRESS.type" <!-- v-if="formData.deliveryType === DeliveryTypeEnum.EXPRESS.type"-->
type="primary" <!-- type="primary"-->
@click="delivery" <!-- @click="delivery"-->
> <!-- >-->
发货 <!-- 发货-->
</el-button> <!-- </el-button>-->
<el-button <!-- <el-button-->
v-if="formData.deliveryType === DeliveryTypeEnum.EXPRESS.type" <!-- v-if="formData.deliveryType === DeliveryTypeEnum.EXPRESS.type"-->
type="primary" <!-- type="primary"-->
@click="updateAddress" <!-- @click="updateAddress"-->
> <!-- >-->
修改地址 <!-- 修改地址-->
</el-button> <!-- </el-button>-->
<!-- 到店自提 --> <!-- &lt;!&ndash; 到店自提 &ndash;&gt;-->
<el-button <!-- <el-button-->
v-if="formData.deliveryType === DeliveryTypeEnum.PICK_UP.type && showPickUp" <!-- v-if="formData.deliveryType === DeliveryTypeEnum.PICK_UP.type && showPickUp"-->
type="primary" <!-- type="primary"-->
@click="handlePickUp" <!-- @click="handlePickUp"-->
> <!-- >-->
核销 <!-- 核销-->
</el-button> <!-- </el-button>-->
</template> <!-- </template>-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item> <!-- <el-descriptions-item>-->
<template #label><span style="color: red">提醒: </span></template> <!-- <template #label><span style="color: red">提醒: </span></template>-->
买家付款成功后,货款将直接进入您的商户号(微信、支付宝)<br /> <!-- 买家付款成功后,货款将直接进入您的商户号(微信、支付宝)<br />-->
请及时关注你发出的包裹状态,确保可以配送至买家手中 <br /> <!-- 请及时关注你发出的包裹状态,确保可以配送至买家手中 <br />-->
如果买家表示没收到货或货物有问题,请及时联系买家处理,友好协商 <!-- 如果买家表示没收到货或货物有问题,请及时联系买家处理,友好协商-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
</el-descriptions> </el-descriptions>
<!-- 商品信息 --> <!-- 商品信息 -->
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="15"> <el-col :span="15">
<el-table :data="formData.items" border> <el-table :data="formData.items" border>
<el-table-column label="资源" prop="spuName" width="auto"> <el-table-column label="资源名称" prop="spuName" width="auto">
<template #default="{ row }"> <template #default="{ row }">
{{ row.spuName }} {{ row.spuName }}
<el-tag v-for="property in row.properties" :key="property.propertyId"> <el-tag v-for="property in row.properties" :key="property.propertyId">
...@@ -91,103 +91,103 @@ ...@@ -91,103 +91,103 @@
<el-table-column label="合计" prop="payPrice" width="150"> <el-table-column label="合计" prop="payPrice" width="150">
<template #default="{ row }">{{ fenToYuan(row.payPrice) }}</template> <template #default="{ row }">{{ fenToYuan(row.payPrice) }}</template>
</el-table-column> </el-table-column>
<el-table-column label="售后状态" prop="afterSaleStatus" width="120"> <!-- <el-table-column label="售后状态" prop="afterSaleStatus" width="120">-->
<template #default="{ row }"> <!-- <template #default="{ row }">-->
<dict-tag <!-- <dict-tag-->
:type="DICT_TYPE.TRADE_ORDER_ITEM_AFTER_SALE_STATUS" <!-- :type="DICT_TYPE.TRADE_ORDER_ITEM_AFTER_SALE_STATUS"-->
:value="row.afterSaleStatus" <!-- :value="row.afterSaleStatus"-->
/> <!-- />-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
</el-table> </el-table>
</el-col> </el-col>
<el-col :span="10" /> <el-col :span="10" />
</el-row> </el-row>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="4"> <!-- <el-descriptions :column="4">-->
<!-- 第一层 --> <!-- &lt;!&ndash; 第一层 &ndash;&gt;-->
<el-descriptions-item label="商品总额: "> <!-- <el-descriptions-item label="商品总额: ">-->
{{ fenToYuan(formData.totalPrice!) }} 元 <!-- {{ fenToYuan(formData.totalPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item label="运费金额: "> <!-- <el-descriptions-item label="运费金额: ">-->
{{ fenToYuan(formData.deliveryPrice!) }} 元 <!-- {{ fenToYuan(formData.deliveryPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item label="订单调价: "> <!-- <el-descriptions-item label="订单调价: ">-->
{{ fenToYuan(formData.adjustPrice!) }} 元 <!-- {{ fenToYuan(formData.adjustPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item v-for="item in 1" :key="item" label-class-name="no-colon" /> <!-- <el-descriptions-item v-for="item in 1" :key="item" label-class-name="no-colon" />-->
<!-- 第二层 --> <!-- &lt;!&ndash; 第二层 &ndash;&gt;-->
<el-descriptions-item> <!-- <el-descriptions-item>-->
<template #label><span style="color: red">优惠劵优惠: </span></template> <!-- <template #label><span style="color: red">优惠劵优惠: </span></template>-->
{{ fenToYuan(formData.couponPrice!) }} 元 <!-- {{ fenToYuan(formData.couponPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item> <!-- <el-descriptions-item>-->
<template #label><span style="color: red">VIP 优惠: </span></template> <!-- <template #label><span style="color: red">VIP 优惠: </span></template>-->
{{ fenToYuan(formData.vipPrice!) }} 元 <!-- {{ fenToYuan(formData.vipPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item> <!-- <el-descriptions-item>-->
<template #label><span style="color: red">活动优惠: </span></template> <!-- <template #label><span style="color: red">活动优惠: </span></template>-->
{{ fenToYuan(formData.discountPrice!) }} 元 <!-- {{ fenToYuan(formData.discountPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item> <!-- <el-descriptions-item>-->
<template #label><span style="color: red">积分抵扣: </span></template> <!-- <template #label><span style="color: red">积分抵扣: </span></template>-->
{{ fenToYuan(formData.pointPrice!) }} 元 <!-- {{ fenToYuan(formData.pointPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<!-- 第三层 --> <!-- &lt;!&ndash; 第三层 &ndash;&gt;-->
<el-descriptions-item v-for="item in 3" :key="item" label-class-name="no-colon" /> <!-- <el-descriptions-item v-for="item in 3" :key="item" label-class-name="no-colon" />-->
<el-descriptions-item label="应付金额: "> <!-- <el-descriptions-item label="应付金额: ">-->
{{ fenToYuan(formData.payPrice!) }} 元 <!-- {{ fenToYuan(formData.payPrice!) }} 元-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
</el-descriptions> <!-- </el-descriptions>-->
<!-- 物流信息 --> <!-- 物流信息 -->
<el-descriptions :column="4" title="收货信息"> <!-- <el-descriptions :column="4" title="收货信息">-->
<el-descriptions-item label="配送方式: "> <!-- <el-descriptions-item label="配送方式: ">-->
<dict-tag :type="DICT_TYPE.TRADE_DELIVERY_TYPE" :value="formData.deliveryType!" /> <!-- <dict-tag :type="DICT_TYPE.TRADE_DELIVERY_TYPE" :value="formData.deliveryType!" />-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item label="收货人: ">{{ formData.receiverName }}</el-descriptions-item> <!-- <el-descriptions-item label="收货人: ">{{ formData.receiverName }}</el-descriptions-item>-->
<el-descriptions-item label="联系电话: ">{{ formData.receiverMobile }}</el-descriptions-item> <!-- <el-descriptions-item label="联系电话: ">{{ formData.receiverMobile }}</el-descriptions-item>-->
<!-- 快递配送 --> <!-- &lt;!&ndash; 快递配送 &ndash;&gt;-->
<div v-if="formData.deliveryType === DeliveryTypeEnum.EXPRESS.type"> <!-- <div v-if="formData.deliveryType === DeliveryTypeEnum.EXPRESS.type">-->
<el-descriptions-item v-if="formData.receiverDetailAddress" label="收货地址: "> <!-- <el-descriptions-item v-if="formData.receiverDetailAddress" label="收货地址: ">-->
{{ formData.receiverAreaName }} {{ formData.receiverDetailAddress }} <!-- {{ formData.receiverAreaName }} {{ formData.receiverDetailAddress }}-->
<el-link <!-- <el-link-->
v-clipboard:copy="formData.receiverAreaName + ' ' + formData.receiverDetailAddress" <!-- v-clipboard:copy="formData.receiverAreaName + ' ' + formData.receiverDetailAddress"-->
v-clipboard:success="clipboardSuccess" <!-- v-clipboard:success="clipboardSuccess"-->
icon="ep:document-copy" <!-- icon="ep:document-copy"-->
type="primary" <!-- type="primary"-->
/> <!-- />-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item v-if="formData.logisticsId" label="物流公司: "> <!-- <el-descriptions-item v-if="formData.logisticsId" label="物流公司: ">-->
{{ deliveryExpressList.find((item) => item.id === formData.logisticsId)?.name }} <!-- {{ deliveryExpressList.find((item) => item.id === formData.logisticsId)?.name }}-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item v-if="formData.logisticsId" label="运单号: "> <!-- <el-descriptions-item v-if="formData.logisticsId" label="运单号: ">-->
{{ formData.logisticsNo }} <!-- {{ formData.logisticsNo }}-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item v-if="formatDate.deliveryTime" label="发货时间: "> <!-- <el-descriptions-item v-if="formatDate.deliveryTime" label="发货时间: ">-->
{{ formatDate(formData.deliveryTime) }} <!-- {{ formatDate(formData.deliveryTime) }}-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
<el-descriptions-item v-for="item in 2" :key="item" label-class-name="no-colon" /> <!-- <el-descriptions-item v-for="item in 2" :key="item" label-class-name="no-colon" />-->
<el-descriptions-item v-if="expressTrackList.length > 0" label="物流详情: "> <!-- <el-descriptions-item v-if="expressTrackList.length > 0" label="物流详情: ">-->
<el-timeline> <!-- <el-timeline>-->
<el-timeline-item <!-- <el-timeline-item-->
v-for="(express, index) in expressTrackList" <!-- v-for="(express, index) in expressTrackList"-->
:key="index" <!-- :key="index"-->
:timestamp="formatDate(express.time)" <!-- :timestamp="formatDate(express.time)"-->
> <!-- >-->
{{ express.content }} <!-- {{ express.content }}-->
</el-timeline-item> <!-- </el-timeline-item>-->
</el-timeline> <!-- </el-timeline>-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
</div> <!-- </div>-->
<!-- 自提门店 --> <!-- &lt;!&ndash; 自提门店 &ndash;&gt;-->
<div v-if="formData.deliveryType === DeliveryTypeEnum.PICK_UP.type"> <!-- <div v-if="formData.deliveryType === DeliveryTypeEnum.PICK_UP.type">-->
<el-descriptions-item v-if="formData.pickUpStoreId" label="自提门店: "> <!-- <el-descriptions-item v-if="formData.pickUpStoreId" label="自提门店: ">-->
{{ pickUpStore?.name }} <!-- {{ pickUpStore?.name }}-->
</el-descriptions-item> <!-- </el-descriptions-item>-->
</div> <!-- </div>-->
</el-descriptions> <!-- </el-descriptions>-->
<!-- 订单日志 --> <!-- 订单日志 -->
<el-descriptions title="订单操作日志"> <el-descriptions title="订单操作日志">
......
...@@ -7,16 +7,16 @@ ...@@ -7,16 +7,16 @@
label-width="100px" label-width="100px"
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="类型" prop="categoryId"> <!-- <el-form-item label="类型" prop="categoryId">-->
<el-select v-model="formData.categoryId" placeholder="请选择类型"> <!-- <el-select v-model="formData.categoryId" placeholder="请选择类型">-->
<el-option label="请选择字典生成" value="" /> <!-- <el-option label="请选择字典生成" value="" />-->
</el-select> <!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="用户手机" prop="memberUserId">
<el-input v-model="formData.mobile" readonly />
</el-form-item> </el-form-item>
<el-form-item label="客户id" prop="memberUserId"> <el-form-item label="订单编号" prop="tradeOrderId">
<el-input v-model="formData.memberUserId" placeholder="请输入客户id" /> <el-input v-model="formData.tradeOrderNo" readonly />
</el-form-item>
<el-form-item label="关联订单id" prop="tradeOrderId">
<el-input v-model="formData.tradeOrderId" placeholder="请输入关联订单id" />
</el-form-item> </el-form-item>
<el-form-item label="属性" prop="properties"> <el-form-item label="属性" prop="properties">
<el-input v-model="formData.properties" placeholder="请输入属性" /> <el-input v-model="formData.properties" placeholder="请输入属性" />
...@@ -29,18 +29,18 @@ ...@@ -29,18 +29,18 @@
placeholder="选择过期时间" placeholder="选择过期时间"
/> />
</el-form-item> </el-form-item>
<el-form-item label="鉴权信息" prop="auth"> <!-- <el-form-item label="鉴权信息" prop="auth">-->
<el-input v-model="formData.auth" placeholder="请输入鉴权信息" /> <!-- <el-input v-model="formData.auth" placeholder="请输入鉴权信息" />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="费用描述" prop="feeInfo"> <!-- <el-form-item label="费用描述" prop="feeInfo">-->
<el-input v-model="formData.feeInfo" placeholder="请输入费用描述" /> <!-- <el-input v-model="formData.feeInfo" placeholder="请输入费用描述" />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="有效期" prop="expDuration"> <el-form-item label="有效期" prop="expDuration">
<el-input v-model="formData.expDuration" placeholder="请输入有效期" /> <el-input v-model="formData.expDuration" placeholder="请输入有效期" />
</el-form-item> </el-form-item>
<el-form-item label="剩余使用次数" prop="unuseCount"> <!-- <el-form-item label="剩余使用次数" prop="unuseCount">-->
<el-input v-model="formData.unuseCount" placeholder="请输入剩余使用次数" /> <!-- <el-input v-model="formData.unuseCount" placeholder="请输入剩余使用次数" />-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" /> <el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
...@@ -68,6 +68,8 @@ const formData = ref({ ...@@ -68,6 +68,8 @@ const formData = ref({
categoryId: undefined, categoryId: undefined,
memberUserId: undefined, memberUserId: undefined,
tradeOrderId: undefined, tradeOrderId: undefined,
tradeOrderNo: undefined,
mobile: undefined,
properties: undefined, properties: undefined,
expTime: undefined, expTime: undefined,
auth: undefined, auth: undefined,
...@@ -83,7 +85,7 @@ const formRules = reactive({ ...@@ -83,7 +85,7 @@ const formRules = reactive({
auth: [{ required: true, message: '鉴权信息不能为空', trigger: 'blur' }], auth: [{ required: true, message: '鉴权信息不能为空', trigger: 'blur' }],
feeInfo: [{ required: true, message: '费用描述不能为空', trigger: 'blur' }], feeInfo: [{ required: true, message: '费用描述不能为空', trigger: 'blur' }],
expDuration: [{ required: true, message: '有效期不能为空', trigger: 'blur' }], expDuration: [{ required: true, message: '有效期不能为空', trigger: 'blur' }],
unuseCount: [{ required: true, message: '剩余使用次数不能为空', trigger: 'blur' }] unuseCount: [{ required: true, message: '剩余使用次数不能为空', trigger: 'blur' }]
}) })
const formRef = ref() // 表单 Ref const formRef = ref() // 表单 Ref
...@@ -135,6 +137,8 @@ const resetForm = () => { ...@@ -135,6 +137,8 @@ const resetForm = () => {
categoryId: undefined, categoryId: undefined,
memberUserId: undefined, memberUserId: undefined,
tradeOrderId: undefined, tradeOrderId: undefined,
tradeOrderNo: undefined,
mobile: undefined,
properties: undefined, properties: undefined,
expTime: undefined, expTime: undefined,
auth: undefined, auth: undefined,
...@@ -145,4 +149,4 @@ const resetForm = () => { ...@@ -145,4 +149,4 @@ const resetForm = () => {
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }
</script> </script>
\ No newline at end of file
...@@ -8,29 +8,29 @@ ...@@ -8,29 +8,29 @@
:inline="true" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="类型" prop="categoryId"> <!-- <el-form-item label="类型" prop="categoryId">-->
<el-select <!-- <el-select-->
v-model="queryParams.categoryId" <!-- v-model="queryParams.categoryId"-->
placeholder="请选择类型" <!-- placeholder="请选择类型"-->
clearable <!-- clearable-->
class="!w-240px" <!-- class="!w-240px"-->
> <!-- >-->
<el-option label="请选择字典生成" value="" /> <!-- <el-option label="请选择字典生成" value="" />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="客户id" prop="memberUserId"> <el-form-item label="用户手机" prop="mobile">
<el-input <el-input
v-model="queryParams.memberUserId" v-model="queryParams.mobile"
placeholder="请输入客户id" placeholder="请输入用户手机"
clearable clearable
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="关联订单id" prop="tradeOrderId"> <el-form-item label="订单编号" prop="tradeOrderNo">
<el-input <el-input
v-model="queryParams.tradeOrderId" v-model="queryParams.tradeOrderNo"
placeholder="请输入关联订单id" placeholder="订单编号"
clearable clearable
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
...@@ -91,9 +91,8 @@ ...@@ -91,9 +91,8 @@
@selection-change="handleRowCheckboxChange" @selection-change="handleRowCheckboxChange"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="类型" align="center" prop="categoryId" /> <el-table-column label="用户手机" align="center" prop="mobile" />
<el-table-column label="客户id" align="center" prop="memberUserId" /> <el-table-column label="订单编号" align="center" prop="tradeOrderNo" />
<el-table-column label="关联订单id" align="center" prop="tradeOrderId" />
<el-table-column label="属性" align="center" prop="properties" /> <el-table-column label="属性" align="center" prop="properties" />
<el-table-column <el-table-column
label="过期时间" label="过期时间"
...@@ -102,11 +101,11 @@ ...@@ -102,11 +101,11 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="鉴权信息" align="center" prop="auth" /> <!-- <el-table-column label="鉴权信息" align="center" prop="auth" />-->
<el-table-column label="费用描述" align="center" prop="feeInfo" /> <!-- <el-table-column label="费用描述" align="center" prop="feeInfo" />-->
<el-table-column label="有效期" align="center" prop="expDuration" /> <el-table-column label="有效期" align="center" prop="expDuration" />
<el-table-column label="剩余使用次数" align="center" prop="unuseCount" /> <!-- <el-table-column label="剩余使用次数" align="center" prop="unuseCount" />-->
<el-table-column label="备注" align="center" prop="remark" /> <!-- <el-table-column label="备注" align="center" prop="remark" />-->
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"
...@@ -168,8 +167,8 @@ const queryParams = reactive({ ...@@ -168,8 +167,8 @@ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
categoryId: undefined, categoryId: undefined,
memberUserId: undefined, mobile: undefined,
tradeOrderId: undefined, tradeOrderNo: undefined,
createTime: [] createTime: []
}) })
const queryFormRef = ref() // 搜索的表单 const queryFormRef = ref() // 搜索的表单
...@@ -253,4 +252,4 @@ const handleExport = async () => { ...@@ -253,4 +252,4 @@ const handleExport = async () => {
onMounted(() => { onMounted(() => {
getList() getList()
}) })
</script> </script>
\ No newline at end of file
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 sign in to comment