This commit is contained in:
zpc 2026-02-23 19:37:12 +08:00
parent 6b60e6fbb4
commit 92cd0af40c
3 changed files with 19 additions and 10 deletions

View File

@ -12,7 +12,8 @@ export interface PlannerItem {
name: string name: string
avatar: string avatar: string
title: string title: string
intro: string introduction: string
tags: string
price: number price: number
sort: number sort: number
status: number status: number
@ -29,7 +30,8 @@ export interface CreatePlannerRequest {
name: string name: string
avatar: string avatar: string
title?: string title?: string
intro?: string introduction?: string
tags?: string
price: number price: number
sort: number sort: number
status: number status: number

View File

@ -38,6 +38,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="name" label="姓名" min-width="100" /> <el-table-column prop="name" label="姓名" min-width="100" />
<el-table-column prop="title" label="职称" min-width="120" show-overflow-tooltip /> <el-table-column prop="title" label="职称" min-width="120" show-overflow-tooltip />
<el-table-column prop="tags" label="标签" min-width="180" show-overflow-tooltip />
<el-table-column prop="price" label="价格" width="100" align="right"> <el-table-column prop="price" label="价格" width="100" align="right">
<template #default="{ row }"> <template #default="{ row }">
<span class="price">¥{{ row.price.toFixed(2) }}</span> <span class="price">¥{{ row.price.toFixed(2) }}</span>
@ -90,8 +91,11 @@
<el-form-item label="职称" prop="title"> <el-form-item label="职称" prop="title">
<el-input v-model="formData.title" placeholder="请输入职称" maxlength="100" /> <el-input v-model="formData.title" placeholder="请输入职称" maxlength="100" />
</el-form-item> </el-form-item>
<el-form-item label="简介" prop="intro"> <el-form-item label="简介" prop="introduction">
<el-input v-model="formData.intro" type="textarea" :rows="4" placeholder="请输入简介" maxlength="500" show-word-limit /> <el-input v-model="formData.introduction" type="textarea" :rows="4" placeholder="请输入简介" maxlength="500" show-word-limit />
</el-form-item>
<el-form-item label="标签" prop="tags">
<el-input v-model="formData.tags" type="textarea" :rows="2" placeholder="多个标签用逗号分隔10年教育经验,公办学校教师" maxlength="500" show-word-limit />
</el-form-item> </el-form-item>
<el-form-item label="价格" prop="price"> <el-form-item label="价格" prop="price">
<el-input-number v-model="formData.price" :min="0.01" :precision="2" :step="10" controls-position="right" style="width: 200px" /> <el-input-number v-model="formData.price" :min="0.01" :precision="2" :step="10" controls-position="right" style="width: 200px" />
@ -159,7 +163,8 @@ const formData = reactive<Partial<CreatePlannerRequest> & { id?: number }>({
name: '', name: '',
avatar: '', avatar: '',
title: '', title: '',
intro: '', introduction: '',
tags: '',
price: 0, price: 0,
sort: 0, sort: 0,
status: 1 status: 1
@ -237,7 +242,8 @@ const handleAdd = () => {
name: '', name: '',
avatar: '', avatar: '',
title: '', title: '',
intro: '', introduction: '',
tags: '',
price: 0, price: 0,
sort: 0, sort: 0,
status: 1 status: 1
@ -253,7 +259,8 @@ const handleEdit = (row: PlannerItem) => {
name: row.name, name: row.name,
avatar: row.avatar, avatar: row.avatar,
title: row.title, title: row.title,
intro: row.intro, introduction: row.introduction,
tags: row.tags,
price: row.price, price: row.price,
sort: row.sort, sort: row.sort,
status: row.status status: row.status

View File

@ -31,7 +31,7 @@ const plannerInfo = ref({
id: 0, id: 0,
name: '', name: '',
avatar: '', avatar: '',
intro: '', introduction: '',
price: 0 price: 0
}) })
@ -133,7 +133,7 @@ async function loadPlannerDetail() {
id: res.data.id || plannerId.value, id: res.data.id || plannerId.value,
name: res.data.name || plannerName.value || '规划师', name: res.data.name || plannerName.value || '规划师',
avatar: res.data.avatar || res.data.photo || '', avatar: res.data.avatar || res.data.photo || '',
intro: res.data.intro || res.data.introduction || '', introduction: res.data.introduction || '',
price: res.data.price || 0 price: res.data.price || 0
} }
} else { } else {
@ -428,7 +428,7 @@ onLoad(async (options) => {
/> />
<view class="planner-info"> <view class="planner-info">
<view class="planner-name">{{ plannerInfo.name }}</view> <view class="planner-name">{{ plannerInfo.name }}</view>
<view class="planner-intro">{{ plannerInfo.intro || '专业学业规划师' }}</view> <view class="planner-intro">{{ plannerInfo.introduction || '专业学业规划师' }}</view>
</view> </view>
<view class="planner-price"> <view class="planner-price">
<text class="price-symbol">¥</text> <text class="price-symbol">¥</text>