This commit is contained in:
jiangyouyi 2023-08-10 18:05:35 +08:00
parent 392006ad66
commit a8ebb37b22
2 changed files with 69 additions and 39 deletions

View File

@ -8,21 +8,15 @@
@confirm="handleSubmit" @confirm="handleSubmit"
@close="handleClose" @close="handleClose"
> >
<el-form class="formdata" ref="formRef" :model="formData" label-width="120px"> <el-form class="formdata" :model="detailsdt" label-width="120px">
<el-form-item required label="时间日程范围"> <el-form-item class="datatime" label="时间日程范围">
<el-date-picker <el-input v-model="detailsdt.start_time" />
v-model="datetime"
type="datetimerange"
range-separator="至"
start-placeholder="开始时间"
end-placeholder="结束时间"
/>
</el-form-item> </el-form-item>
<el-form-item required label="日程内容"> <el-form-item label="日程内容">
<el-input v-model="content"/> <el-input v-model="detailsdt.task_info.content"/>
</el-form-item> </el-form-item>
<el-form-item required label="日程描述"> <el-form-item label="日程描述">
<el-input type="textarea" v-model="content"/> <el-input type="textarea" v-model="detailsdt.task_info.title"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -35,7 +29,7 @@ import type { FormInstance } from "element-plus";
import Popup from "@/components/popup/index.vue"; import Popup from "@/components/popup/index.vue";
import { apiTaskCreat, apiTaskView } from "@/api/task"; import { apiTaskCreat, apiTaskView } from "@/api/task";
import { timeFormat } from "@/utils/util"; import { timeFormat } from "@/utils/util";
import { reactive, onMounted, type PropType } from "vue"; import { reactive,onUpdated , type PropType } from "vue";
import DialogIndexMan from "./dialog_index_man.vue"; import DialogIndexMan from "./dialog_index_man.vue";
const props = defineProps({ const props = defineProps({
dictData: { dictData: {
@ -57,14 +51,17 @@ const popupRef = shallowRef<InstanceType<typeof Popup>>();
const mode = ref("add"); const mode = ref("add");
const datetime = ref(null); const datetime = ref(null);
const detailsdt = ref({}); const detailsdt = ref({});
const defaultTime = ref({
starttime:"",
endtime:""
});
// //
// const popupTitle = computed(() => { // const popupTitle = computed(() => {
// return mode.value == "edit" ? "" : ""; // return mode.value == "edit" ? "" : "";
// }); // });
onMounted(() => { onUpdated(() => {
// props.detailsdata?.toDateString()? (detailsdt = props.detailsdata):null; detailsdt.value=props.detailsdata
}); });
const priorityList = reactive([ const priorityList = reactive([
@ -163,12 +160,12 @@ function customEventManThe(data: any) {
} }
// //
const handleSubmit = async () => { // const handleSubmit = async () => {
const data = { ...formData }; // const data = { ...formData };
mode.value == "edit" ? await apiTaskCreat(data) : await apiTaskCreat(data); // mode.value == "edit" ? await apiTaskCreat(data) : await apiTaskCreat(data);
popupRef.value?.close(); // popupRef.value?.close();
emit("success"); // emit("success");
}; // };
// //
const open = (type = "add") => { const open = (type = "add") => {

View File

@ -18,7 +18,7 @@
{{ data.day.split("-").slice(1).join("-") }} {{ data.day.split("-").slice(1).join("-") }}
<!-- {{ data.isSelected ? '✔️' : '' }} --> <!-- {{ data.isSelected ? '✔️' : '' }} -->
</p> </p>
<div>{{dateNow(data.day)}}</div> <div>{{ dateNow(data.day) }}</div>
<div <div
class="task" class="task"
:class="{ :class="{
@ -48,7 +48,6 @@
@success="loadTask" @success="loadTask"
@close="showEdit = false" @close="showEdit = false"
/> />
</div> </div>
</template> </template>
@ -60,18 +59,53 @@ import feedback from "@/utils/feedback";
// import { getRoutePath } from "router"; // import { getRoutePath } from "router";
import EditPopup from "./edit.vue"; import EditPopup from "./edit.vue";
import { reactive, watch } from "vue"; import { reactive, watch } from "vue";
import { apiTaskList ,apiTaskDetails} from '@/api/task' import { apiTaskList, apiTaskDetails } from "@/api/task";
const dateValue = ref(new Date()); const dateValue = ref(new Date());
watch(() => dateValue, async(newValue, oldValue) => { const detailsdata = reactive({
editRef.value?.open("add"); create_time: "",
create_user_id: 0,
delete_time: "",
end_time: "",
extend: "",
id: "",
scheduling_id: "",
sn: "",
start_time: "",
status: "",
task_id: "",
task_info: {
admin_id: 0,
content: "",
create_time: "",
delete_time: "",
id: 0,
money: "",
status: 0,
title: "",
type: 0,
type_name: "",
update_time: "",
},
template_id: 0,
update_time: "",
});
watch(
() => dateValue,
async (newValue, oldValue) => {
const id = taskList.value.find((item) =>item.start_time.split(" ")[0] == timeFormat(newValue.value.getTime()))?.id;
if(id){
const res = await apiTaskDetails({ id });
Object.keys(detailsdata).forEach((key) => {
res[key] ? (detailsdata[key] = res[key]) : null;
});
editRef.value?.open("add");
initShowDate(timeFormat(newValue.value.getTime())); initShowDate(timeFormat(newValue.value.getTime()));
const id=taskList.value.find((item)=>item.start_time.split(' ')[0]==timeFormat(newValue.value.getTime())).template_id }
const detailsdata = await apiTaskDetails({id})
}, },
{ deep: true } { deep: true }
); );
// //
const loading = ref(true); const loading = ref(true);
@ -93,9 +127,9 @@ const taskList = ref<any>([]);
const loadTask = async () => { const loadTask = async () => {
// let res: any = await apiTaskIndex(queryParams); // let res: any = await apiTaskIndex(queryParams);
// taskList.value = res.lists; // taskList.value = res.lists;
apiTaskList(queryParams).then((res)=>{ apiTaskList(queryParams).then((res) => {
taskList.value = res.lists taskList.value = res.lists;
}) });
loading.value = false; loading.value = false;
}; };
@ -124,10 +158,10 @@ const initShowDate = (dateStr = "") => {
} }
}; };
initShowDate(); initShowDate();
const dateNow = (day)=>{ const dateNow = (day) => {
return taskList.value.find((item)=>item.start_time.split(' ')[0]==day)?.template_name; return taskList.value.find((item) => item.start_time.split(" ")[0] == day)
} ?.template_name;
};
// //
// const { dictData } = useDictData(""); // const { dictData } = useDictData("");
@ -147,7 +181,6 @@ const handleAdd = async () => {
// editRef.value?.setFormData(data); // editRef.value?.setFormData(data);
// }; // };
// //
// const handleDelete = async (id: number | any[]) => { // const handleDelete = async (id: number | any[]) => {
// await feedback.confirm(""); // await feedback.confirm("");