| | |
| | | :disabled="operationType === 'view'" /> |
| | | </el-form-item> --> |
| | | <!-- 打卡范围 --> |
| | | <el-form-item label="班次" |
| | | prop="shift"> |
| | | <el-select v-model="form.shift" |
| | | placeholder="请选择班次" |
| | | :disabled="operationType === 'view'" |
| | | style="width: 100%"> |
| | | <el-option v-for="item in shifts_list" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="打卡范围(m)" |
| | | prop="radius"> |
| | | <el-input-number v-model="form.radius" |
| | |
| | | import { Position } from "@element-plus/icons-vue"; |
| | | import { deptTreeSelect } from "@/api/system/user.js"; |
| | | import { addAttendanceRule } from "@/api/personnelManagement/attendanceRules.js"; |
| | | import { useDict } from "@/utils/dict"; |
| | | |
| | | const props = defineProps({ |
| | | modelValue: { |
| | |
| | | return "查看班次"; |
| | | }); |
| | | |
| | | // 获取班次字典值 |
| | | const { shifts_list } = useDict("shifts_list"); |
| | | |
| | | // 表单数据 |
| | | const formRef = ref(); |
| | | const form = reactive({ |
| | |
| | | radius: 100, |
| | | startAt: "09:00", |
| | | endAt: "18:00", |
| | | shift: "", |
| | | }); |
| | | |
| | | // 表单验证规则 |
| | |
| | | ], |
| | | longitude: [{ required: true, message: "请选择打卡位置", trigger: "blur" }], |
| | | latitude: [{ required: true, message: "请选择打卡位置", trigger: "blur" }], |
| | | shift: [{ required: true, message: "请选择班次", trigger: "change" }], |
| | | radius: [{ required: true, message: "请输入打卡范围", trigger: "blur" }], |
| | | startAt: [{ required: true, message: "请选择上班时间", trigger: "change" }], |
| | | endAt: [ |
| | |
| | | radius: 100, |
| | | startAt: "09:00", |
| | | endAt: "18:00", |
| | | shift: "", |
| | | }); |
| | | |
| | | // 如果是编辑或查看,填充数据 |