<template>
|
<el-dialog :close-on-click-modal="false" :visible.sync="islook" width="35rem" class="add-rule-set-dialog"
|
@close="shutdown">
|
<div slot="title" class="tac drawerHeader">规则设置</div>
|
<div class="dialog-content-box">
|
<el-form ref="form" class="form-box" :rules="rules" :model="form" :inline="true" label-width="150px"
|
label-position="right">
|
<el-form-item label="工作日加班规则:" prop="materialMatch">
|
<el-radio-group v-model="form.materialMatch">
|
<el-radio label="1">
|
不启用工作日加班
|
</el-radio>
|
<el-radio label="2">
|
超过
|
<el-input class="margin_left_10px margin_right_10px" style="width:120px" v-model.number="form.cycle"
|
placeholder="请输入"></el-input>
|
小时算加班
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="休息日加班规则:" prop="materialMatch">
|
<el-radio-group v-model="form.materialMatch">
|
<el-radio label="1">
|
不启用休息日加班
|
</el-radio>
|
<el-radio label="2">
|
超过
|
<el-input class="margin_left_10px margin_right_10px" style="width:120px" v-model.number="form.cycle"
|
placeholder="请输入"></el-input>
|
小时算加班
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div slot="footer" class="dialog-footer tac">
|
<el-button @click="shutdown">取消</el-button>
|
<el-button type="primary" @click="onSubmit(form)">确定</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { getMiniDictList, saveMiniDict } from "@/api/employeeSalary/attendanceStatistics.js" // 版本类型
|
export default {
|
props: {},
|
data() {
|
return {
|
islook: false,
|
form: {
|
warningDays: 3,
|
materialMatch: '1',
|
},
|
rules: {
|
cycle: [
|
{
|
required: true,
|
message: "请输入",
|
trigger: "blur",
|
},
|
{
|
validator: this.validatorNum,
|
trigger: "blur",
|
},
|
],
|
},
|
procedureIdsList: [],
|
};
|
},
|
mounted() {
|
// this.getMiniDictList();
|
},
|
watch: {
|
islook(newVal) {
|
if (newVal) {
|
this.getMiniDictList();
|
this.$nextTick(() => {
|
this.$refs["form"].resetFields();
|
});
|
}
|
},
|
},
|
methods: {
|
validatorNum(rule, value, callback) {
|
if (value) {
|
if (value == undefined || value == null) {
|
callback(new Error("请输入有效数字"));
|
} else {
|
var reg = /^\+?[0-9]\d*$/;
|
if (!reg.test(value)) {
|
callback(new Error("请填写不小于0的数字"));
|
} else {
|
callback();
|
}
|
}
|
} else {
|
callback();
|
}
|
},
|
async getMiniDictList() {
|
await getMiniDictList({ type: 3 }).then((res) => {
|
if (res.code == 200) {
|
if (res.data) {
|
for (let i in res.data) {
|
if (res.data[i].value == '预警天数') {
|
this.form.warningDays = parseInt(res.data[i].name);
|
} else if (res.data[i].value == '物料匹配条件') {
|
this.form.materialMatch = res.data[i].name ? res.data[i].name : '1';
|
}
|
}
|
}
|
}
|
});
|
},
|
onSubmit() {
|
this.$refs.form.validate((valid) => {
|
if (valid) {
|
console.log(this.form);
|
let params = {
|
list: [
|
{
|
name: "" + this.form.warningDays,
|
value: "预警天数"
|
},
|
{
|
name: "" + this.form.materialMatch,
|
value: "物料匹配条件"
|
},
|
],
|
type: 3,
|
};
|
|
saveMiniDict(params).then((res) => {
|
if (res.code == 200) {
|
this.$message({
|
message: "保存成功!",
|
type: "success",
|
});
|
// 保存
|
this.shutdown("save");
|
}
|
});
|
}
|
});
|
},
|
shutdown(val) {
|
this.islook = false;
|
this.$emit("closeClick", val);
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.add-rule-set-dialog {
|
.form-box {
|
::v-deep .el-form-item__content {
|
width: calc(100% - 150px);
|
}
|
|
.el-form-item {
|
width: 100%;
|
.el-radio{
|
height:40px;
|
line-height:40px;
|
}
|
}
|
}
|
}
|
|
|
::v-deep .el-input__inner {
|
font-size: 13px !important;
|
color: rgba(0, 0, 0, 0.9);
|
text-align: left;
|
}
|
</style>
|