<template>
|
<a-modal
|
title="考评"
|
:width="800"
|
:visible="visible"
|
:confirmLoading="confirmLoading"
|
@ok="handleSubmit"
|
@cancel="handleCancel"
|
cancelText="关闭"
|
style="top:20px;"
|
>
|
<a-spin :spinning="confirmLoading">
|
<a-form-model ref="form" :label-col="labelCol" :wrapper-col="wrapperCol" :model="model"
|
:rules="validatorRules">
|
<a-form-model-item label="考评系数(%)" prop="kpbl">
|
<a-input-number style="width: 400px" :min="0" :step="1" :max="200" placeholder="绩效考评,请输入0%-200%内数字" v-model="model.kpbl"
|
@change="changePart()" />
|
</a-form-model-item>
|
|
|
<a-form-model-item label="定额奖金">
|
<a-input disabled placeholder="0" v-model="model.yfje" />
|
</a-form-model-item>
|
<a-form-model-item label="核算奖金" prop="sfje">
|
<a-input disabled placeholder="0" v-model="model.sfje" />
|
</a-form-model-item>
|
|
</a-form-model>
|
</a-spin>
|
</a-modal>
|
</template>
|
|
<script>
|
import { changePassword } from '@/api/api'
|
import { httpAction, getAction, postAction } from '@/api/manage'
|
|
export default {
|
name: 'KpModal',
|
data() {
|
return {
|
visible: false,
|
confirmLoading: false,
|
confirmDirty: false,
|
validatorRules: {
|
kpbl: [
|
{ required: true, message: '请输入数字0-200内数字!', trigger: 'blur', pattern: /^\d+$|^\d*\.\d+$/g }
|
],
|
|
sfje: [
|
{ required: false, message: '请输入系数后计算奖金!', trigger: 'blur' }
|
]
|
},
|
|
model: {},
|
record: {},
|
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 5 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 16 }
|
},
|
form: this.$form.createForm(this),
|
url:{
|
edit:'/bon/item/edit',
|
}
|
}
|
},
|
created() {
|
},
|
|
methods: {
|
show(record) {
|
this.form.resetFields()
|
this.visible = true
|
this.model = Object.assign({ }, record)
|
|
},
|
close() {
|
this.$emit('close')
|
this.visible = false
|
this.disableSubmit = false
|
|
this.selectedRole = []
|
},
|
changePart() {
|
|
let part = Number(this.model.kpbl)
|
|
if (typeof part == 'number' && !isNaN(part) ) {
|
this.model.sfje = this.model.yfje * part/100
|
this.model.sfje = this.model.sfje.toFixed(2)
|
}
|
|
},
|
handleSubmit() {
|
// 触发表单验证
|
const that = this
|
|
|
// 触发表单验证
|
this.$refs.form.validate(valid => {
|
if (valid) {
|
that.confirmLoading = true
|
httpAction(this.url.edit, this.model, "put").then((res) => {
|
if (res.success) {
|
that.$message.success(res.message)
|
that.$emit('ok')
|
that.close()
|
} else {
|
that.$message.warning(res.message)
|
}
|
}).finally(() => {
|
that.confirmLoading = false
|
//that.close()
|
})
|
|
}
|
})
|
},
|
handleCancel() {
|
this.close()
|
}
|
|
}
|
}
|
</script>
|