This commit is contained in:
ltx 2026-10-19 16:01:34 +08:00
commit 5c51ec85a4

View File

@ -52,7 +52,7 @@
<!-- 项目类型 -->
<el-form-item label="项目类型:" prop="projectType">
<el-select v-model="formData.projectType" placeholder="请选择项目类型" style="width: 100%">
<el-select v-model="formData.projectType" placeholder="请选择项目类型" style="width: 100%" @change="onProjectTypeChange">
<el-option label="个人速度" :value="1003"></el-option>
<el-option label="个人花样" :value="1004"></el-option>
<el-option label="团队速度" :value="1005"></el-option>
@ -142,8 +142,8 @@
</div>
</el-form-item>
<el-form-item label="计分规则:" prop="scoreRuleId">
<el-select v-model="formData.scoreRuleId" placeholder="请选择计分规则" style="width: 100%">
<el-form-item label="计分规则:" prop="scoreRuleId" :required="!isSpeedProject">
<el-select v-model="formData.scoreRuleId" placeholder="请选择计分规则" clearable style="width: 100%">
<el-option v-for="rule in scoreRules" :key="rule.id" :label="rule.ruleName" :value="rule.id" />
</el-select>
</el-form-item>
@ -257,7 +257,7 @@
</template>
<script setup name="project">
import { defineAsyncComponent, ref, reactive, onMounted } from 'vue';
import { computed, defineAsyncComponent, ref, reactive, onMounted } from 'vue';
import { ElMessage, ElForm } from 'element-plus';
import SysMenuApi from '/@/api/SysMenuApi';
import { auths } from '/@/utils/authFunction';
@ -322,6 +322,12 @@ const formData = ref({
],
});
const isSpeedProject = computed(() => [1003, 1005].includes(Number(formData.value.projectType)));
const onProjectTypeChange = () => {
formRef.value?.clearValidate('scoreRuleId');
};
// 模式切换处理
const onCompletionCountTypeChange = () => {
if (formData.value.completionCountType === 0) {