bonus-ui/src/views/dataCenter/evaluate/child/addEvaluateDetails.vue

129 lines
4.2 KiB
Vue

<template>
<div>
<el-dialog :title="title" :visible.sync="isOpen" width="500px" append-to-body @close="cancel"
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="正样本数" prop="justSqmple">
<el-input v-model="form.justSqmple" maxlength="10" placeholder="请输入正样本数"/>
</el-form-item>
<el-form-item label="负样本数" prop="loseSample">
<el-input v-model="form.loseSample" maxlength="10" placeholder="请输入负样本数"/>
</el-form-item>
<el-form-item label="TP数量" prop="tpNum">
<el-input v-model="form.tpNum" maxlength="10" placeholder="请输入TP数量"/>
</el-form-item>
<el-form-item label="TN数量" prop="tnNum">
<el-input v-model="form.tnNum" maxlength="10" placeholder="请输入TN数量"/>
</el-form-item>
<el-form-item label="FP数量" prop="fpNum">
<el-input v-model="form.fpNum" maxlength="10" placeholder="请输入FP数量"/>
</el-form-item>
<el-form-item label="FN数量" prop="fnNum">
<el-input v-model="form.fnNum" maxlength="10" placeholder="请输入FN数量"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getDetails, addDetails, updateDetails } from '@/api/dataCenter/evaluateDetails'
export default {
props: {
open: { type: Boolean, required: true },
getList: { type: Function, required: true },
title: { type: String, required: true },
evaluateId: { type: [Number, null], default: 0 },
evaluateDetailId: { type: [Number, null], default: 0 }
},
computed: {
isOpen: {
get() {
return this.open
},
set(value) {
this.$emit('dialog-cancel')
}
}
},
data() {
return {
form: {},
rules: {
justSqmple: [
{ required: true, message: '请输入正样本数', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'blur' }
],
loseSample: [
{ required: true, message: '请输入负样本数', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'blur' }
],
tpNum: [
{ required: true, message: '请输入TP数量', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'blur' }
],
tnNum: [{ required: true, message: '请输入TN数量', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'blur' }
],
fpNum: [{ required: true, message: '请输入FP数量', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'blur' }
],
fnNum: [{ required: true, message: '请输入FN数量', trigger: 'blur' },
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'blur' }
]
}
}
},
watch: {
isOpen(newVal) {
if (newVal && this.evaluateDetailId) {
getDetails(this.evaluateDetailId).then(res => {
this.form = res.data
})
}
}
},
methods: {
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDetails(this.form).then(res => {
this.$modal.msgSuccess('修改成功')
this.isOpen = false
this.getList()
})
} else {
this.form.evaluateId = this.evaluateId
console.log(this.form)
addDetails(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.isOpen = false
this.getList()
})
}
}
})
},
cancel() {
this.isOpen = false
this.resetForm()
},
resetForm() {
this.form = {}
}
}
}
</script>
<style scoped lang="scss"></style>