|
@@ -1,8 +1,8 @@
|
|
|
<script setup lang='ts'>
|
|
|
-import { useRouter, RouteLocationRaw } from 'vue-router'
|
|
|
-import type { FormInstance, FormRules } from 'element-plus'
|
|
|
-import { ref, reactive } from 'vue'
|
|
|
import { Plus } from '@element-plus/icons-vue'
|
|
|
+import type { FormInstance, FormRules } from 'element-plus'
|
|
|
+import { reactive, ref } from 'vue'
|
|
|
+import { RouteLocationRaw, useRouter } from 'vue-router'
|
|
|
import { Grade, Subject } from '~/store/info'
|
|
|
import user from '~/store/user'
|
|
|
const token = user.token
|
|
@@ -43,8 +43,8 @@ await request({
|
|
|
if (res.code === "1") {
|
|
|
const detail = res.data.one_info
|
|
|
Object.keys(ruleForm).forEach(key => {
|
|
|
- if(key === 'dc_files'){
|
|
|
- ruleForm[key] = detail[key].split(';').map((p_url: string) => {
|
|
|
+ if (key === 'dc_files') {
|
|
|
+ ruleForm[key] = !detail[key] ? [] : detail[key].split(';').map((p_url: string) => {
|
|
|
return {
|
|
|
name: p_url,
|
|
|
url: window.GLOBAL_CONFIG.oss + p_url,
|
|
@@ -60,10 +60,10 @@ await request({
|
|
|
)
|
|
|
|
|
|
const rules = reactive<FormRules>({
|
|
|
- dc_title: [{ required: true, message: '标题不能为空', trigger: 'blur', }],
|
|
|
+ dc_title: [{ required: true, message: '标题不能为空', trigger: 'blur', }, { max: 20, message: '长度在 20 个字符以内', trigger: ['change', 'blur'], }],
|
|
|
dc_grade_id: [{ required: true, message: '年级不能为空', trigger: 'blur', }],
|
|
|
dc_subject_id: [{ required: true, message: '科目不能为空', trigger: 'blur', }],
|
|
|
- dc_keyword: [{ required: true, message: '关键字不能为空', trigger: 'blur', }],
|
|
|
+ dc_keyword: [{ required: true, message: '关键字不能为空', trigger: 'blur', }, { max: 10, message: '长度在 10 个字符以内', trigger: ['change', 'blur'], }],
|
|
|
})
|
|
|
|
|
|
const submit_loading = ref(false)
|
|
@@ -79,6 +79,8 @@ const submitForm = async (formEl: FormInstance | undefined) => {
|
|
|
dc_subject_name: Subject.find((item) => item.subject_id === ruleForm.dc_subject_id)?.subject_name,
|
|
|
dc_files: ruleForm.dc_files.map((item) => item.p_url).join(';'),
|
|
|
create_user_realname: user.user_realname,
|
|
|
+ dc_check: '0',
|
|
|
+ dc_check_desc: '',
|
|
|
})
|
|
|
|
|
|
request({
|
|
@@ -153,7 +155,7 @@ function translateString(str: string) {
|
|
|
|
|
|
<el-form class="mt-8" ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px" size="large" status-icon>
|
|
|
<el-form-item label="标题" prop="dc_title">
|
|
|
- <el-input v-model="ruleForm.dc_title" maxlength="20" show-word-limit />
|
|
|
+ <el-input v-model="ruleForm.dc_title" clearable show-word-limit />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="年级" prop="dc_grade_id">
|
|
|
<el-select clearable v-model="ruleForm.dc_grade_id">
|
|
@@ -167,7 +169,7 @@ function translateString(str: string) {
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="关键字" prop="dc_keyword">
|
|
|
- <el-input v-model="ruleForm.dc_keyword" maxlength="10" show-word-limit />
|
|
|
+ <el-input v-model="ruleForm.dc_keyword" clearable show-word-limit />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="内容" prop="dc_content">
|
|
|
<el-input v-model="ruleForm.dc_content" type="textarea" :autosize="{ minRows: 3, maxRows: 4 }" />
|