fix(ts): 对齐树表搜索与低风险类型修复

- demo02 树表 list API 参数改为可选
- 优惠券数量 formatter 统一返回字符串
- AI 音乐播放器进度滑块改用独立数值状态
- 同步适配 web-antd、web-ele、web-antdv-next

对齐 Vue3 管理后台 a57df0b2d
migration
YunaiV 2026-06-21 08:03:15 -07:00
parent 0a76bed471
commit 1a3de7e97a
9 changed files with 15 additions and 20 deletions

View File

@ -11,7 +11,7 @@ export namespace Demo02CategoryApi {
} }
/** 查询示例分类列表 */ /** 查询示例分类列表 */
export function getDemo02CategoryList(params: any) { export function getDemo02CategoryList(params?: any) {
return requestClient.get<Demo02CategoryApi.Demo02Category[]>( return requestClient.get<Demo02CategoryApi.Demo02Category[]>(
'/infra/demo02-category/list', '/infra/demo02-category/list',
{ params }, { params },

View File

@ -11,6 +11,7 @@ defineOptions({ name: 'AiMusicAudioBarIndex' });
const currentSong = inject<any>('currentSong', {}); const currentSong = inject<any>('currentSong', {});
const audioRef = ref<HTMLAudioElement | null>(null); const audioRef = ref<HTMLAudioElement | null>(null);
const audioProgress = ref(0);
const audioProps = reactive<any>({ const audioProps = reactive<any>({
autoplay: true, autoplay: true,
paused: false, paused: false,
@ -73,11 +74,7 @@ function audioTimeUpdate(args: any) {
/> />
<div class="flex items-center gap-4"> <div class="flex items-center gap-4">
<span>{{ audioProps.currentTime }}</span> <span>{{ audioProps.currentTime }}</span>
<Slider <Slider v-model:value="audioProgress" color="#409eff" class="!w-40" />
v-model:value="audioProps.duration"
color="#409eff"
class="!w-40"
/>
<span>{{ audioProps.duration }}</span> <span>{{ audioProps.duration }}</span>
</div> </div>
<!-- 音频 --> <!-- 音频 -->

View File

@ -47,7 +47,7 @@ export function totalCountFormat(row: MallCouponTemplateApi.CouponTemplate) {
if (row.totalCount === -1) { if (row.totalCount === -1) {
return '不限制'; return '不限制';
} }
return row.totalCount; return `${row.totalCount}`;
} }
/** 格式化【剩余数量】 */ /** 格式化【剩余数量】 */
@ -55,7 +55,7 @@ export function remainedCountFormat(row: MallCouponTemplateApi.CouponTemplate) {
if (row.totalCount === -1) { if (row.totalCount === -1) {
return '不限制'; return '不限制';
} }
return row.totalCount - row.takeCount; return `${row.totalCount - row.takeCount}`;
} }
/** 格式化【最低消费】 */ /** 格式化【最低消费】 */

View File

@ -11,7 +11,7 @@ export namespace Demo02CategoryApi {
} }
/** 查询示例分类列表 */ /** 查询示例分类列表 */
export function getDemo02CategoryList(params: any) { export function getDemo02CategoryList(params?: any) {
return requestClient.get<Demo02CategoryApi.Demo02Category[]>( return requestClient.get<Demo02CategoryApi.Demo02Category[]>(
'/infra/demo02-category/list', '/infra/demo02-category/list',
{ params }, { params },

View File

@ -11,6 +11,7 @@ defineOptions({ name: 'AiMusicAudioBarIndex' });
const currentSong = inject<any>('currentSong', {}); const currentSong = inject<any>('currentSong', {});
const audioRef = ref<HTMLAudioElement | null>(null); const audioRef = ref<HTMLAudioElement | null>(null);
const audioProgress = ref(0);
const audioProps = reactive<any>({ const audioProps = reactive<any>({
autoplay: true, autoplay: true,
paused: false, paused: false,
@ -73,11 +74,7 @@ function audioTimeUpdate(args: any) {
/> />
<div class="flex items-center gap-4"> <div class="flex items-center gap-4">
<span>{{ audioProps.currentTime }}</span> <span>{{ audioProps.currentTime }}</span>
<Slider <Slider v-model:value="audioProgress" color="#409eff" class="!w-40" />
v-model:value="audioProps.duration"
color="#409eff"
class="!w-40"
/>
<span>{{ audioProps.duration }}</span> <span>{{ audioProps.duration }}</span>
</div> </div>
<!-- 音频 --> <!-- 音频 -->

View File

@ -47,7 +47,7 @@ export function totalCountFormat(row: MallCouponTemplateApi.CouponTemplate) {
if (row.totalCount === -1) { if (row.totalCount === -1) {
return '不限制'; return '不限制';
} }
return row.totalCount; return `${row.totalCount}`;
} }
/** 格式化【剩余数量】 */ /** 格式化【剩余数量】 */
@ -55,7 +55,7 @@ export function remainedCountFormat(row: MallCouponTemplateApi.CouponTemplate) {
if (row.totalCount === -1) { if (row.totalCount === -1) {
return '不限制'; return '不限制';
} }
return row.totalCount - row.takeCount; return `${row.totalCount - row.takeCount}`;
} }
/** 格式化【最低消费】 */ /** 格式化【最低消费】 */

View File

@ -11,7 +11,7 @@ export namespace Demo02CategoryApi {
} }
/** 查询示例分类列表 */ /** 查询示例分类列表 */
export function getDemo02CategoryList(params: any) { export function getDemo02CategoryList(params?: any) {
return requestClient.get<Demo02CategoryApi.Demo02Category[]>( return requestClient.get<Demo02CategoryApi.Demo02Category[]>(
'/infra/demo02-category/list', '/infra/demo02-category/list',
{ params }, { params },

View File

@ -11,6 +11,7 @@ defineOptions({ name: 'AiMusicAudioBarIndex' });
const currentSong = inject<any>('currentSong', {}); const currentSong = inject<any>('currentSong', {});
const audioRef = ref<HTMLAudioElement | null>(null); const audioRef = ref<HTMLAudioElement | null>(null);
const audioProgress = ref(0);
const audioProps = reactive<any>({ const audioProps = reactive<any>({
autoplay: true, autoplay: true,
paused: false, paused: false,
@ -73,7 +74,7 @@ function audioTimeUpdate(args: any) {
/> />
<div class="flex items-center gap-4"> <div class="flex items-center gap-4">
<span>{{ audioProps.currentTime }}</span> <span>{{ audioProps.currentTime }}</span>
<ElSlider v-model="audioProps.duration" color="#409eff" class="!w-40" /> <ElSlider v-model="audioProgress" color="#409eff" class="!w-40" />
<span>{{ audioProps.duration }}</span> <span>{{ audioProps.duration }}</span>
</div> </div>
<!-- 音频 --> <!-- 音频 -->

View File

@ -47,7 +47,7 @@ export function totalCountFormat(row: MallCouponTemplateApi.CouponTemplate) {
if (row.totalCount === -1) { if (row.totalCount === -1) {
return '不限制'; return '不限制';
} }
return row.totalCount; return `${row.totalCount}`;
} }
/** 格式化【剩余数量】 */ /** 格式化【剩余数量】 */
@ -55,7 +55,7 @@ export function remainedCountFormat(row: MallCouponTemplateApi.CouponTemplate) {
if (row.totalCount === -1) { if (row.totalCount === -1) {
return '不限制'; return '不限制';
} }
return row.totalCount - row.takeCount; return `${row.totalCount - row.takeCount}`;
} }
/** 格式化【最低消费】 */ /** 格式化【最低消费】 */