...
|
...
|
@@ -13,14 +13,16 @@ |
13
|
13
|
<template v-for="(item, optionIndex) in options" :key="item.flag">
|
14
|
14
|
<div :class="optionIndex >= 1 ? 'mt-4' : ''" class="flex">
|
15
|
15
|
<div class="ml-4 mr-4 flex items-center">
|
16
|
|
- <Checkbox v-model:checked="item.enabled">星期{{ item.flag }}</Checkbox>
|
|
16
|
+ <Checkbox v-model:checked="item.enabled" :disabled="modalStatus"
|
|
17
|
+ >星期{{ item.flag }}</Checkbox
|
|
18
|
+ >
|
17
|
19
|
</div>
|
18
|
20
|
<TimePicker
|
19
|
21
|
placeholder="开始时间"
|
20
|
22
|
v-model:value="item.startsOn"
|
21
|
23
|
value-format="x"
|
22
|
24
|
format="HH:mm"
|
23
|
|
- :disabled="!item.enabled"
|
|
25
|
+ :disabled="!item.enabled || modalStatus"
|
24
|
26
|
/>
|
25
|
27
|
<span class="ml-4 mr-4 flex items-center">~</span>
|
26
|
28
|
<TimePicker
|
...
|
...
|
@@ -29,7 +31,7 @@ |
29
|
31
|
v-model:value="item.endsOn"
|
30
|
32
|
value-format="x"
|
31
|
33
|
format="HH:mm"
|
32
|
|
- :disabled="!item.enabled"
|
|
34
|
+ :disabled="!item.enabled || modalStatus"
|
33
|
35
|
/>
|
34
|
36
|
</div>
|
35
|
37
|
</template>
|
...
|
...
|
@@ -40,6 +42,7 @@ |
40
|
42
|
v-model:value="timeState.startsOn"
|
41
|
43
|
value-format="x"
|
42
|
44
|
format="HH:mm"
|
|
45
|
+ :disabled="modalStatus"
|
43
|
46
|
/>
|
44
|
47
|
<span class="ml-4 mr-4">~</span>
|
45
|
48
|
<TimePicker
|
...
|
...
|
@@ -48,6 +51,7 @@ |
48
|
51
|
v-model:value="timeState.endsOn"
|
49
|
52
|
value-format="x"
|
50
|
53
|
format="HH:mm"
|
|
54
|
+ :disabled="modalStatus"
|
51
|
55
|
/>
|
52
|
56
|
</template>
|
53
|
57
|
</BasicForm>
|
...
|
...
|
@@ -55,7 +59,7 @@ |
55
|
59
|
</template>
|
56
|
60
|
|
57
|
61
|
<script lang="ts" setup>
|
58
|
|
- import { reactive, ref, watch, nextTick } from 'vue';
|
|
62
|
+ import { reactive, ref, watch, nextTick, unref } from 'vue';
|
59
|
63
|
import { useModalInner, BasicModal } from '/@/components/Modal';
|
60
|
64
|
import { BasicForm, useForm } from '/@/components/Form';
|
61
|
65
|
import { alarmScheduleSchemas } from '../config/config.data';
|
...
|
...
|
@@ -66,7 +70,7 @@ |
66
|
70
|
const title = ref('');
|
67
|
71
|
const isUpdateFlag = ref(false);
|
68
|
72
|
const { createMessage } = useMessage();
|
69
|
|
- const [registerForm, { setFieldsValue, getFieldsValue }] = useForm({
|
|
73
|
+ const [registerForm, { setFieldsValue, getFieldsValue, setProps }] = useForm({
|
70
|
74
|
showActionButtonGroup: false,
|
71
|
75
|
schemas: alarmScheduleSchemas,
|
72
|
76
|
});
|
...
|
...
|
@@ -143,7 +147,7 @@ |
143
|
147
|
nextTick(() => {
|
144
|
148
|
setModalProps({
|
145
|
149
|
okButtonProps: {
|
146
|
|
- disabled: flag,
|
|
150
|
+ disabled: flag || unref(modalStatus),
|
147
|
151
|
},
|
148
|
152
|
});
|
149
|
153
|
});
|
...
|
...
|
@@ -153,6 +157,7 @@ |
153
|
157
|
}
|
154
|
158
|
);
|
155
|
159
|
|
|
160
|
+ const modalStatus = ref(false);
|
156
|
161
|
const [registerModal, { closeModal, setModalProps }] = useModalInner((data) => {
|
157
|
162
|
watch([timeState, basicFormRef.value.formModel], ([timeState, formModel]) => {
|
158
|
163
|
setModalProps({
|
...
|
...
|
@@ -160,7 +165,8 @@ |
160
|
165
|
disabled:
|
161
|
166
|
timeState.startsOn === null ||
|
162
|
167
|
timeState.endsOn === null ||
|
163
|
|
- !formModel.daysOfWeek?.length,
|
|
168
|
+ !formModel.daysOfWeek?.length ||
|
|
169
|
+ unref(modalStatus),
|
164
|
170
|
},
|
165
|
171
|
});
|
166
|
172
|
watch(
|
...
|
...
|
@@ -171,7 +177,7 @@ |
171
|
177
|
}
|
172
|
178
|
);
|
173
|
179
|
});
|
174
|
|
- const { value, currentIndex, isUpdate, scheduleData } = data;
|
|
180
|
+ const { value, currentIndex, isUpdate, scheduleData, disabled } = data;
|
175
|
181
|
isUpdateFlag.value = isUpdate;
|
176
|
182
|
if (value === 'SPECIFIC_TIME') {
|
177
|
183
|
title.value = '定时启用';
|
...
|
...
|
@@ -179,6 +185,16 @@ |
179
|
185
|
title.value = '自定义启用';
|
180
|
186
|
}
|
181
|
187
|
|
|
188
|
+ if (disabled) {
|
|
189
|
+ modalStatus.value = disabled;
|
|
190
|
+ setProps({ disabled });
|
|
191
|
+ setModalProps({
|
|
192
|
+ okButtonProps: {
|
|
193
|
+ disabled,
|
|
194
|
+ },
|
|
195
|
+ });
|
|
196
|
+ }
|
|
197
|
+
|
182
|
198
|
index.value = currentIndex;
|
183
|
199
|
const dayZenoTime = Math.round(new Date(new Date().toLocaleDateString()).getTime());
|
184
|
200
|
// 编辑
|
...
|
...
|
|