新增:开发者中心功能、md编辑器等。

This commit is contained in:
2025-02-17 15:25:24 +08:00
parent 9081e41188
commit d61e683d41
40 changed files with 5036 additions and 591 deletions

View File

@@ -13,32 +13,48 @@
<el-card shadow="hover" class="my-10 px-2">
<el-row :gutter="30" justify="space-between">
<el-col :span="13">
<el-alert title="填写您的需求,为您量身定制." type="warning" />
<div class="my-2">
<el-alert title="填写您的需求,为您量身定制." type="warning"/>
</div>
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-width="120"
label-position="left"
class="mt-5"
status-icon
>
<el-form-item :label="$t('order.title')" prop="title" class="hover:bg-gray-50 p-2">
<el-select
v-model="form.title"
filterable
placeholder="选择咨询的产品"
placeholder="选择产品"
@change="onWebsite"
>
<el-option
v-for="item in siteList"
:key="item.websiteId"
:label="item.websiteName"
:value="`${item.websiteId}`"
/>
:value="item.websiteId"
>
<div class="flex justify-between">
<span>{{ item.websiteName }}</span>
<span class="text-gray-300">
{{ `${item.websiteCode}.websoft.top` }}
</span>
</div>
</el-option>
<!-- <el-option-->
<!-- v-for="item in siteList"-->
<!-- :key="item.websiteId"-->
<!-- :label="item.websiteName"-->
<!-- :value="`${item.websiteId}`"-->
<!-- />-->
</el-select>
</el-form-item>
<el-form-item :label="$t('order.content')" prop="content" class="hover:bg-gray-50 p-2">
<el-input type="textarea" :rows="5" cols="80" v-model="form.content" :placeholder="$t('order.content')"/>
<el-input type="textarea" :rows="5" cols="80" v-model="form.content"
placeholder="填写您的开发需求"/>
</el-form-item>
<el-form-item :label="$t('order.realName')" prop="realName" class="hover:bg-gray-50 p-2">
<el-input v-model="form.realName" :placeholder="$t('order.realName')"/>
@@ -49,9 +65,9 @@
<el-form-item :label="$t('order.email')" prop="email" class="hover:bg-gray-50 p-2">
<el-input v-model="form.email" :placeholder="$t('order.email')"/>
</el-form-item>
<!-- <el-form-item :label="$t('order.address')" prop="address" class="hover:bg-gray-50 p-2">-->
<!-- <el-input v-model="form.address" :placeholder="$t('order.address')"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item :label="$t('order.address')" prop="address" class="hover:bg-gray-50 p-2">-->
<!-- <el-input v-model="form.address" :placeholder="$t('order.address')"/>-->
<!-- </el-form-item>-->
<el-form-item :label="$t('order.code')" prop="code" class="hover:bg-gray-50 p-2">
<el-space class="flex">
<el-input size="large" :placeholder="$t('order.imgCode')" maxlength="5" v-model="form.code"/>
@@ -68,7 +84,7 @@
</el-form>
</el-col>
<el-col :span="10">
<el-image class="py-2" v-if="page.icon" :src="page.icon" />
<el-image class="py-2" v-if="page.icon" :src="page.icon"/>
</el-col>
</el-row>
</el-card>
@@ -123,6 +139,8 @@ const {form, resetFields} = useFormData<CmsOrder>({
type: undefined,
// 关联项目ID配合订单类型使用
articleId: undefined,
// 关联网站ID
websiteId: undefined,
// 真实姓名
realName: undefined,
// 手机号码
@@ -177,7 +195,7 @@ const rules = reactive<FormRules<CmsOrder>>({
{required: true, message: '请输入联系人姓名', trigger: 'blur'},
],
content: [
{required: true, message: '请输入留言内容', trigger: 'blur'},
{required: true, message: '请输入您的开发需求', trigger: 'blur'},
]
})
@@ -196,11 +214,14 @@ const reload = async () => {
layout.value.banner = data.banner;
// 二级栏目分类
pageCmsWebsiteAll({
official: true,
sort: 'websiteId',
order: 'asc'
}).then(res => {
siteList.value = res?.list || [];
})
// 用户信息
if(user.value){
if (user.value) {
form.realName = user.value.realName;
form.phone = user.value.phone;
form.email = user.value.email;
@@ -215,6 +236,11 @@ const reload = async () => {
})
}
const onWebsite = (item: CmsWebsite) => {
form.articleId = item.websiteId;
form.websiteId = item.websiteId;
}
// 提交表单
const submitForm = (formEl: FormInstance | undefined) => {
if (!formEl) return