房屋详情,单元变更
This commit is contained in:
@@ -29,10 +29,22 @@
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务时间">
|
||||
<el-select v-model="form.taskTime" placeholder="选择任务时间段" style="width: 100%">
|
||||
<el-form-item label="任务时间段">
|
||||
<!-- <el-select v-model="form.taskTime" placeholder="选择任务时间段" style="width: 100%">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-select> -->
|
||||
<div v-for="(item, index) in taskTime" :key="index" style="display: flex; align-items: center; margin-top: 10px">
|
||||
<el-time-picker
|
||||
v-model="taskTime[index]"
|
||||
is-range
|
||||
range-separator="到"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
style="width: 100%"
|
||||
/>
|
||||
<el-button v-if="taskTime.length > 1" icon="Minus" circle style="margin-left: 10px" @click="removeTaskTime(index)"></el-button>
|
||||
<el-button v-if="taskTime.length === index + 1" icon="Plus" circle style="margin-left: 10px" @click="addTaskTime"></el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="提醒时间">
|
||||
@@ -75,7 +87,6 @@ import { getVillageByIdAPI } from '@/api/system/community';
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { com_inspection_remind_tiime } = toRefs<any>(proxy?.useDict('com_inspection_remind_tiime'));
|
||||
|
||||
com_inspection_remind_tiime;
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
@@ -94,6 +105,18 @@ const rules = ref({
|
||||
inspectorIds: [{ required: true, message: '请选择巡检人员', trigger: 'blur' }],
|
||||
routeIds: [{ required: true, message: '请选择路线', trigger: 'blur' }]
|
||||
});
|
||||
// 初始化 taskTime,确保至少有一个时间段
|
||||
const taskTime = ref<[string, string][]>([['', '']]);
|
||||
|
||||
// 新增时间段
|
||||
function addTaskTime() {
|
||||
taskTime.value.push(['', '']);
|
||||
}
|
||||
|
||||
// 删除时间段
|
||||
function removeTaskTime(index: number) {
|
||||
taskTime.value.splice(index, 1);
|
||||
}
|
||||
|
||||
// 选择周几
|
||||
const checkoutWeek = ref([]);
|
||||
@@ -142,6 +165,23 @@ async function init() {
|
||||
.map((item) => Number(item))
|
||||
.filter((item) => item);
|
||||
|
||||
// 2. 处理任务时间段的回显
|
||||
if (res.data.taskTime) {
|
||||
// 假设后端返回格式为 "09:00-11:00; 13:00-15:00"
|
||||
// 先按分号分割,再按横杠分割开始和结束时间
|
||||
taskTime.value = res.data.taskTime.split(';').map((timeRange: string) => {
|
||||
const times = timeRange.trim().split('-');
|
||||
// 确保返回的是 [start, end] 格式,如果解析失败则返回空字符串
|
||||
return times.length === 2 ? [times[0], times[1]] : ['', ''];
|
||||
});
|
||||
// 如果解析后为空,至少保留一个空项以便用户添加
|
||||
if (taskTime.value.length === 0) {
|
||||
taskTime.value = [['', '']];
|
||||
}
|
||||
} else {
|
||||
taskTime.value = [['', '']];
|
||||
}
|
||||
|
||||
handlChangeMap(res.data.routeIds);
|
||||
});
|
||||
}
|
||||
@@ -224,6 +264,12 @@ onMounted(async () => {
|
||||
});
|
||||
const formRef = ref();
|
||||
function submit() {
|
||||
// 将二维数组转换为字符串,例如 "09:00-11:00; 13:00-15:00"
|
||||
form.value.taskTime = taskTime.value
|
||||
.filter((t) => t[0] && t[1]) // 过滤掉未填写的
|
||||
.map((t) => `${t[0]}-${t[1]}`)
|
||||
.join('; ');
|
||||
|
||||
formRef.value?.validate(async (valid: boolean) => {
|
||||
if (valid) {
|
||||
if (editid.value) {
|
||||
|
||||
Reference in New Issue
Block a user