<template>
|
<FYForm :form-info="formInfo" :rules="rules" :showButtons="!readonly" @submit="submit">
|
<template #form-item="{ fyFormInfo }">
|
<el-form-item label="名称" prop="itemname">
|
<el-input v-model="formInfo.itemname" :disabled="readonly"></el-input>
|
</el-form-item>
|
<el-form-item label="描述" prop="itemdescription">
|
<el-input
|
type="textarea"
|
v-model="formInfo.itemdescription"
|
:disabled="readonly"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="最高分" prop="maxscore">
|
<el-input-number v-model="formInfo.maxscore" :disabled="readonly"></el-input-number>
|
</el-form-item>
|
<el-form-item label="最低分" prop="minscore">
|
<el-input-number v-model="formInfo.minscore" :disabled="readonly"></el-input-number>
|
</el-form-item>
|
<el-form-item label="默认值" prop="defaultvalue">
|
<el-input-number v-model="formInfo.defaultvalue" :disabled="readonly"></el-input-number>
|
</el-form-item>
|
<el-form-item label="评分规则类型" prop="ertype">
|
<el-select v-model="formInfo.ertype" placeholder="请选择" :disabled="readonly">
|
<el-option
|
v-for="item in subRuleTypeOptions"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
:disabled="item.disabled"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="评分类型" prop="extension1">
|
<el-select v-model="formInfo.extension1" placeholder="请选择" :disabled="readonly">
|
<el-option
|
v-for="item in score1Types"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="得分模式" prop="extension2">
|
<el-select v-model="formInfo.extension2" placeholder="请选择" :disabled="readonly">
|
<el-option
|
v-for="item in score2Types"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="选择模式" prop="extension3">
|
<el-select v-model="formInfo.extension3" placeholder="请选择" :disabled="readonly">
|
<el-option
|
v-for="item in score3Types"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="备注" prop="remark">
|
<el-input type="textarea" v-model="formInfo.remark" :disabled="readonly"></el-input>
|
</el-form-item>
|
</template>
|
</FYForm>
|
</template>
|
<script>
|
import { ElMessage } from 'element-plus';
|
import evaluateApi from '@/api/fysp/evaluateApi';
|
import { useCloned } from '@vueuse/core';
|
export default {
|
props: {
|
readonly: {
|
type: Boolean,
|
default: false
|
},
|
evalutionSubRule: {
|
type: Object,
|
default: {}
|
}
|
},
|
mounted() {
|
this.formInfo = useCloned(this.evalutionSubRule).cloned.value;
|
},
|
methods: {
|
updateEvalutionSubRule() {
|
return evaluateApi.updateSubRule(this.formInfo);
|
},
|
submit(formObj, success, fail) {
|
return new Promise((reslove, reject) => {
|
setTimeout(() => {
|
this.$emit('updated', true);
|
this.updateEvalutionSubRule().then((res) => {
|
if (res != 1) {
|
fail();
|
reslove();
|
}
|
success();
|
});
|
reslove();
|
}, 1000);
|
});
|
}
|
},
|
data() {
|
return {
|
rules: {},
|
formInfo: {},
|
subRuleTypeOptions: [
|
{ label: '规范考核项', value: 1, disabled: true },
|
{ label: '评分大项', value: 2 },
|
{ label: '评分小项', value: 3 },
|
{ label: '最小评分项', value: 4 }
|
],
|
score1Types: [
|
{ label: '基础分', value: 'basic_score' },
|
{ label: '附加分', value: 'addition_score' }
|
],
|
score2Types: [
|
{ label: '减分模式', value: 'minus_mode' },
|
{ label: '加分模式', value: 'add_mode' }
|
],
|
score3Types: [
|
{ label: '单选模式', value: 'single_mode' },
|
{ label: '多选模式', value: 'multi_mode' }
|
]
|
};
|
}
|
};
|
</script>
|
<style scoped></style>
|