赛事管理信息部分修改

This commit is contained in:
马梓彭 2026-04-23 09:37:06 +08:00
parent d6f3960860
commit da1071aa20

View File

@ -52,9 +52,9 @@
<el-form-item label="报名方式" prop="registrationType">
<el-radio-group v-model="localFormData.registrationType" :disabled="readonly">
<el-radio :label="0">只允许个人报名</el-radio>
<el-radio :label="1">只允许团队报名</el-radio>
<el-radio :label="2">两者都有</el-radio>
<el-radio :label="0">个人报名</el-radio>
<el-radio :label="1">团队报名</el-radio>
<el-radio :label="2">个人\团队报名</el-radio>
</el-radio-group>
</el-form-item>
@ -109,7 +109,10 @@
</el-form-item>
<el-form-item label="赛事简介" prop="eventIntroduction">
<el-input v-model="localFormData.eventIntroduction" type="textarea" :rows="3" placeholder="请输入赛事简介" :disabled="readonly" />
<!-- 只读模式下展示富文本内容 -->
<div v-if="readonly" class="rich-text-preview" v-html="localFormData.eventIntroduction"></div>
<!-- 编辑模式下使用富文本编辑器 -->
<wngEditor v-else :disable="readonly" placeholder="请输入赛事简介" height="310px" v-model:getHtml="localFormData.eventIntroduction" />
</el-form-item>
</el-form>
</template>
@ -120,6 +123,7 @@ import { Plus } from '@element-plus/icons-vue';
import { pointsrulePageGet } from '/@/api/match/pointsrule';
import { regionProvincesGet, regionCitiesbyprovinceGet, regionDistrictsbycityGet } from '/@/api/match/area';
import PreviewImage from '/@/components/PreviewImage/index.vue';
import wngEditor from '/@/components/editor/index.vue';
import 'dayjs/locale/zh-cn'
const props = defineProps({
modelValue: { type: Object, required: true },
@ -429,4 +433,41 @@ defineExpose({ validate });
height: 145px;
text-align: center;
}
.rich-text-preview {
width: 100%;
min-height: 100px;
padding: 12px 15px;
border: 1px solid var(--el-border-color-light);
border-radius: 4px;
background-color: var(--el-fill-color-lighter);
word-wrap: break-word;
line-height: 1.6;
}
.rich-text-preview :deep(p) {
margin: 8px 0;
}
.rich-text-preview :deep(h1),
.rich-text-preview :deep(h2),
.rich-text-preview :deep(h3) {
margin: 12px 0 8px 0;
font-weight: 600;
}
.rich-text-preview :deep(ul),
.rich-text-preview :deep(ol) {
margin: 8px 0;
padding-left: 24px;
}
.rich-text-preview :deep(li) {
margin: 4px 0;
}
.rich-text-preview :deep(a) {
color: var(--el-color-primary);
text-decoration: underline;
}
</style>