|
@@ -4,23 +4,26 @@
|
|
|
<a-form-item label="可选考试时段">
|
|
|
<a-button type="primary" @click="toAdd">添加</a-button>
|
|
|
</a-form-item>
|
|
|
- <a-form-item
|
|
|
- v-for="(time, index) in formData.times"
|
|
|
- :key="index"
|
|
|
- :field="`times[${index}].startTime`"
|
|
|
- :rules="rules"
|
|
|
- >
|
|
|
- <select-range-datetime
|
|
|
- v-model:startTime="formData.times[index].startTime"
|
|
|
- v-model:endTime="formData.times[index].endTime"
|
|
|
+ <div class="time-box">
|
|
|
+ <a-form-item
|
|
|
+ v-for="(time, index) in formData.times"
|
|
|
+ :key="index"
|
|
|
+ :field="`times[${index}].startTime`"
|
|
|
+ :rules="rules"
|
|
|
+ :label="index + 1 + ''"
|
|
|
>
|
|
|
- </select-range-datetime>
|
|
|
- <a-button class="ml-10" status="danger" @click="toDelete(index)">
|
|
|
- <template #icon>
|
|
|
- <svg-icon name="icon-delete"></svg-icon>
|
|
|
- </template>
|
|
|
- </a-button>
|
|
|
- </a-form-item>
|
|
|
+ <select-range-datetime
|
|
|
+ v-model:startTime="time.startTime"
|
|
|
+ v-model:endTime="time.endTime"
|
|
|
+ >
|
|
|
+ </select-range-datetime>
|
|
|
+ <a-button class="ml-10" status="danger" @click="toDelete(index)">
|
|
|
+ <template #icon>
|
|
|
+ <svg-icon name="icon-delete"></svg-icon>
|
|
|
+ </template>
|
|
|
+ </a-button>
|
|
|
+ </a-form-item>
|
|
|
+ </div>
|
|
|
</a-form>
|
|
|
</div>
|
|
|
|
|
@@ -86,8 +89,9 @@
|
|
|
formData.times.push(...times);
|
|
|
}
|
|
|
|
|
|
- function toDelete(index: number) {
|
|
|
+ async function toDelete(index: number) {
|
|
|
formData.times.splice(index, 1);
|
|
|
+ await formRef.value?.validate();
|
|
|
}
|
|
|
|
|
|
/* confirm */
|
|
@@ -119,3 +123,13 @@
|
|
|
initData();
|
|
|
});
|
|
|
</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+ .time-box {
|
|
|
+ height: 400px;
|
|
|
+ overflow: auto;
|
|
|
+ padding: 10px 0;
|
|
|
+ border-radius: var(--border-radius-small);
|
|
|
+ border: 1px solid var(--color-border);
|
|
|
+ }
|
|
|
+</style>
|