优化工具发布表单和描述字数限制
This commit is contained in:
@ -2,16 +2,48 @@
|
||||
<KlNavTab />
|
||||
<div class="mx-auto mt-[30px] box-border w-[1200px] border border-[#EEEEEE] rounded-[12px] border-solid bg-white px-[30px] py-[40px]">
|
||||
<el-form ref="formRef" :model="form" label-width="110px" size="large">
|
||||
<el-form-item label-width="110px" label="标题:" prop="title" :rules="{ required: true, message: '请输入标题', trigger: ['blur', 'change'] }">
|
||||
<el-form-item
|
||||
label-width="110px"
|
||||
label="标题:"
|
||||
prop="title"
|
||||
:rules="[
|
||||
{ required: true, message: '请输入标题', trigger: ['blur', 'change'] },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (value.length >= 10 && value.length <= 30) {
|
||||
if (value.indexOf('破解') !== -1) {
|
||||
callback(new Error('标题不能包含破解'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
} else {
|
||||
callback(new Error('标题长度必须在10-30个字符之间'))
|
||||
}
|
||||
},
|
||||
trigger: ['blur', 'change'],
|
||||
},
|
||||
]"
|
||||
>
|
||||
<el-input v-model="form.title" placeholder="请输入标题" class="w-[361px]!" maxlength="128"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="110px" label="分类:" prop="projectType" :rules="{ required: true, message: '请选择分类', trigger: ['blur', 'change'] }">
|
||||
<el-select v-model="form.projectType" placeholder="请选择分类" class="w-[361px]!" multiple>
|
||||
<el-form-item label-width="110px" label="软件分类:" prop="projectType" :rules="{ required: true, message: '请选择分类', trigger: ['blur', 'change'] }">
|
||||
<el-select v-model="form.projectType" placeholder="请选择软件分类" class="w-[361px]!" multiple>
|
||||
<el-option v-for="(item, index) in projectTypeList" :key="index" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label-width="110px"
|
||||
label="分类:"
|
||||
prop="source"
|
||||
:rules="{ required: true, message: '请选择作品来源', trigger: ['blur', 'change'] }"
|
||||
>
|
||||
<el-radio-group v-model="form.source">
|
||||
<el-radio :label="1">原创开发</el-radio>
|
||||
<el-radio :label="2">转载分享</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label-width="110px" label="标签:" prop="labels" :rules="{ required: true, message: '请选择标签', trigger: ['blur', 'change'] }">
|
||||
<el-form-item label-width="110px" label="标签:" prop="labels" :rules="{ required: false, message: '请选择标签', trigger: ['blur', 'change'] }">
|
||||
<el-select
|
||||
v-model="form.labels"
|
||||
:remote-method="remoteMethod"
|
||||
@ -26,7 +58,14 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="110px" label="金币:" prop="points" :rules="{ required: true, message: '请输入金币', trigger: ['blur', 'change'] }">
|
||||
<el-input-number v-model="form.points" :controls="false" :precision="0" :min="0" placeholder="请输入金币" class="w-[361px]! text-left!"></el-input-number>
|
||||
<el-input-number
|
||||
v-model="form.points"
|
||||
:controls="false"
|
||||
:precision="0"
|
||||
:min="0"
|
||||
placeholder="金币设置分销为0-15,设置0金币为专属资源可直接获利2-15金币"
|
||||
class="w-[361px]! text-left!"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
@ -50,7 +89,7 @@
|
||||
</KlUploader>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label-width="110px" label="上传附件:" prop="files" :rules="{ required: true, message: '请上传附件', trigger: ['blur', 'change'] }">
|
||||
<el-form-item label-width="110px" label="上传工具:" prop="files" :rules="{ required: true, message: '请上传工具', trigger: ['blur', 'change'] }">
|
||||
<KlUploader v-model:file-list="form.files" tips="请将系列文件分别压缩后上传,支持批量上传"> </KlUploader>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
@ -62,8 +101,8 @@
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
console.log(rule)
|
||||
if (value.length < 70) {
|
||||
callback(new Error('输入内容不能少于 70 字'))
|
||||
if (value.length < 30) {
|
||||
callback(new Error('输入内容不能少于 30 字'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
@ -72,13 +111,21 @@
|
||||
},
|
||||
]"
|
||||
>
|
||||
<el-input v-model="form.description" type="textarea" :rows="6" placeholder="请输入描述" class="w-[361px]!" minlength="70" show-word-limit></el-input>
|
||||
<el-input
|
||||
v-model="form.description"
|
||||
type="textarea"
|
||||
:rows="6"
|
||||
placeholder="限制30~200字,介绍工具使用用途场景等"
|
||||
class="w-[361px]!"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<!-- 添加预览和保存按钮 -->
|
||||
<el-form-item label-width="110px" label=" ">
|
||||
<div class="flex justify-start">
|
||||
<!-- <el-button @click="save" :loading="saveLoading" type="primary" class="btn">预览</el-button> -->
|
||||
<el-button :loading="saveLoading" type="primary" class="btn" @click="save">保存</el-button>
|
||||
<el-button :loading="saveLoading" type="primary" class="btn" @click="save">发布工具</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</div>
|
||||
<div class="ml-[25px] flex-1">
|
||||
<div class="text-[16px] text-[#333333] font-normal">{{ item.title }}</div>
|
||||
<div class="mt-[8px] text-[14px] text-[#999999] font-normal">{{ item.description }}</div>
|
||||
<div class="mt-[8px] text-[14px] text-[#999999] font-normal line-clamp-3">{{ item.description }}</div>
|
||||
<div class="mt-[10px] flex items-center justify-between">
|
||||
<div class="flex items-center">
|
||||
<div class="flex items-center text-[14px] text-[#666666] font-normal">
|
||||
|
||||
Reference in New Issue
Block a user