|
|
|
@ -269,6 +269,13 @@
|
|
|
|
<el-checkbox v-for="d in weekOptions" :key="d" :label="d" :value="d" />
|
|
|
|
<el-checkbox v-for="d in weekOptions" :key="d" :label="d" :value="d" />
|
|
|
|
</el-checkbox-group>
|
|
|
|
</el-checkbox-group>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div style="display: flex; align-items: center; margin-bottom: 8px;">
|
|
|
|
|
|
|
|
<span style="width: 80px; font-weight: 500;">排班资源</span>
|
|
|
|
|
|
|
|
<el-select v-model="rule.resources_id" placeholder="不限(规则跳过)" clearable style="width: 300px;">
|
|
|
|
|
|
|
|
<el-option v-for="r in relatedResources" :key="r.id" :label="r.department_resources_name + (r.department_name ? '(' + r.department_name + ')' : '')" :value="r.id" />
|
|
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
|
|
<span style="margin-left: 8px; color: #999; font-size: 12px;">为空时规则跳过,不生效</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div style="display: flex; align-items: center;">
|
|
|
|
<div style="display: flex; align-items: center;">
|
|
|
|
<span style="width: 80px; font-weight: 500;">允许时段</span>
|
|
|
|
<span style="width: 80px; font-weight: 500;">允许时段</span>
|
|
|
|
<el-time-select v-model="rule.start_time" :max-time="rule.end_time"
|
|
|
|
<el-time-select v-model="rule.start_time" :max-time="rule.end_time"
|
|
|
|
@ -312,7 +319,8 @@
|
|
|
|
UpdateHisItemClass,
|
|
|
|
UpdateHisItemClass,
|
|
|
|
updateHisCheckItem,
|
|
|
|
updateHisCheckItem,
|
|
|
|
GetCheckItemRules,
|
|
|
|
GetCheckItemRules,
|
|
|
|
SaveCheckItemRules
|
|
|
|
SaveCheckItemRules,
|
|
|
|
|
|
|
|
GetItemRelatedResources
|
|
|
|
} from '@/api/api.js'
|
|
|
|
} from '@/api/api.js'
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
ElMessage,
|
|
|
|
ElMessage,
|
|
|
|
@ -894,19 +902,27 @@
|
|
|
|
let RuleLoading = ref(false);
|
|
|
|
let RuleLoading = ref(false);
|
|
|
|
let RuleItemInfo = ref({ id: null, item_name: '' });
|
|
|
|
let RuleItemInfo = ref({ id: null, item_name: '' });
|
|
|
|
let RuleList = ref([]);
|
|
|
|
let RuleList = ref([]);
|
|
|
|
|
|
|
|
let relatedResources = ref([]);
|
|
|
|
const weekOptions = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
|
|
|
|
const weekOptions = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
|
|
|
|
|
|
|
|
|
|
|
|
const OpenRuleDialog = (row) => {
|
|
|
|
const OpenRuleDialog = (row) => {
|
|
|
|
RuleItemInfo.value = { id: row.id, item_name: row.item_name };
|
|
|
|
RuleItemInfo.value = { id: row.id, item_name: row.item_name };
|
|
|
|
RuleDialogVisible.value = true;
|
|
|
|
RuleDialogVisible.value = true;
|
|
|
|
RuleLoading.value = true;
|
|
|
|
RuleLoading.value = true;
|
|
|
|
|
|
|
|
// 加载排班资源列表
|
|
|
|
|
|
|
|
GetItemRelatedResources({ item_id: row.id }).then(res => {
|
|
|
|
|
|
|
|
if (res.status) {
|
|
|
|
|
|
|
|
relatedResources.value = res.data;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
GetCheckItemRules({ item_id: row.id }).then(res => {
|
|
|
|
GetCheckItemRules({ item_id: row.id }).then(res => {
|
|
|
|
RuleLoading.value = false;
|
|
|
|
RuleLoading.value = false;
|
|
|
|
if (res.status) {
|
|
|
|
if (res.status) {
|
|
|
|
RuleList.value = (res.data || []).map(r => ({
|
|
|
|
RuleList.value = (res.data || []).map(r => ({
|
|
|
|
days: r.rule_value.days || [],
|
|
|
|
days: r.rule_value.days || [],
|
|
|
|
start_time: r.rule_value.start_time || '',
|
|
|
|
start_time: r.rule_value.start_time || '',
|
|
|
|
end_time: r.rule_value.end_time || ''
|
|
|
|
end_time: r.rule_value.end_time || '',
|
|
|
|
|
|
|
|
resources_id: r.rule_value.resources_id || ''
|
|
|
|
}));
|
|
|
|
}));
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
ElMessage.error(res.msg);
|
|
|
|
ElMessage.error(res.msg);
|
|
|
|
@ -915,7 +931,7 @@
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const AddRuleRow = () => {
|
|
|
|
const AddRuleRow = () => {
|
|
|
|
RuleList.value.push({ days: [], start_time: '', end_time: '' });
|
|
|
|
RuleList.value.push({ days: [], start_time: '', end_time: '', resources_id: '' });
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const RemoveRuleRow = (index) => {
|
|
|
|
const RemoveRuleRow = (index) => {
|
|
|
|
@ -939,7 +955,8 @@
|
|
|
|
rule_value: {
|
|
|
|
rule_value: {
|
|
|
|
days: rule.days,
|
|
|
|
days: rule.days,
|
|
|
|
start_time: rule.start_time,
|
|
|
|
start_time: rule.start_time,
|
|
|
|
end_time: rule.end_time
|
|
|
|
end_time: rule.end_time,
|
|
|
|
|
|
|
|
resources_id: rule.resources_id || ''
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}));
|
|
|
|
}));
|
|
|
|
RuleLoading.value = true;
|
|
|
|
RuleLoading.value = true;
|
|
|
|
|