|
|
@ -7,7 +7,7 @@ |
|
|
|
<div class="detail"> |
|
|
|
<div class="name-box flex items-center"> |
|
|
|
<div class="name truncate">{{ item.name }}</div> |
|
|
|
<div class="precent-num">50%</div> |
|
|
|
<!-- <div class="precent-num">50%</div> --> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="time">{{ dayjs(item.startTime).format('HH:mm:ss') }} 至 {{ dayjs(item.endTime).format('HH:mm:ss') }}</div> |
|
|
@ -22,11 +22,11 @@ |
|
|
|
<div class="two-box" v-if="item.show"> |
|
|
|
<div class="two-flex" v-for="(sonItem, sonIndex) in item.sonProjectList" :key="sonIndex"> |
|
|
|
<div class="two-level h-70 cursor-pointer flex items-center" @click="toDetail(sonItem)"> |
|
|
|
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> |
|
|
|
<div class="icon" @click.stop="showActionCard(item)"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> |
|
|
|
<div class="detail"> |
|
|
|
<div class="name-box flex items-center"> |
|
|
|
<div class="name truncate">{{ sonItem.name }}</div> |
|
|
|
<div class="precent-num">50%</div> |
|
|
|
<!-- <div class="precent-num">50%</div> --> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="time">{{ dayjs(sonItem.startTime).format('HH:mm:ss') }} 至 {{ dayjs(sonItem.endTime).format('HH:mm:ss') }}</div> |
|
|
@ -45,11 +45,11 @@ |
|
|
|
:key="thirdIndex" |
|
|
|
@click="toDetail(thirdItem)" |
|
|
|
> |
|
|
|
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> |
|
|
|
<div class="icon" @click.stop="showActionCard(item)"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> |
|
|
|
<div class="detail"> |
|
|
|
<div class="name-box flex items-center"> |
|
|
|
<div class="name truncate">{{ thirdItem.name }}</div> |
|
|
|
<div class="precent-num">50%</div> |
|
|
|
<!-- <div class="precent-num">50%</div> --> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="time"> |
|
|
@ -79,23 +79,40 @@ const store = useStore(); |
|
|
|
|
|
|
|
const visible = ref(false); |
|
|
|
const deleteId = ref(null); |
|
|
|
const projectId = sessionStorage.getItem('projectId'); |
|
|
|
|
|
|
|
const projectId = sessionStorage.getItem('projectId'); // 项目ID缓存 |
|
|
|
const sessionProject = sessionStorage.getItem('project'); // 项目信息缓存 |
|
|
|
const projectInfo = computed(() => store.state.projects.project); // 当前选择项目信息 |
|
|
|
const newProject = computed(() => store.state.projects.newProject); // 新建项目 |
|
|
|
|
|
|
|
const projects = computed(() => store.state.projects.projects); // 项目列表 |
|
|
|
const subProjectInfo = computed(() => store.state.task.subProjectInfo); // 子课题信息 |
|
|
|
|
|
|
|
const startTime = computed(() => store.state.layout.startTime); // 当前选择时间 |
|
|
|
const endTime = computed(() => store.state.layout.endTime); // 当前选择时间 |
|
|
|
let start = startTime.value ? startTime.value : dayjs().startOf('day').format('x'); |
|
|
|
let end = endTime.value ? endTime.value : dayjs().endOf('day').format('x'); |
|
|
|
|
|
|
|
watch([newProject, startTime, endTime, projectInfo, subProjectInfo], () => { |
|
|
|
start = startTime.value ? startTime.value : dayjs().startOf('day').format('x'); |
|
|
|
end = endTime.value ? endTime.value : dayjs().endOf('day').format('x'); |
|
|
|
getProjectsList(start, end); |
|
|
|
const refreshProjects = computed(() => store.state.layout.refreshProjects); // 刷新项目列表 |
|
|
|
|
|
|
|
// 如果有缓存,则将缓存信息放到store中,一般用于页面刷新 |
|
|
|
if (sessionProject) { |
|
|
|
if (!projectInfo.value.id) { |
|
|
|
const info = JSON.parse(sessionProject); |
|
|
|
store.commit('projects/setProject', info); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 判断时间是否存在,不存在则设置 |
|
|
|
if (!startTime.value) { |
|
|
|
const data = { |
|
|
|
startTime: dayjs().startOf('day').format('x'), |
|
|
|
endTime: dayjs().endOf('day').format('x'), |
|
|
|
}; |
|
|
|
store.commit('layout/setSelectTime', data); |
|
|
|
} |
|
|
|
|
|
|
|
watch([startTime, endTime, refreshProjects], () => { |
|
|
|
getProjectsList(); |
|
|
|
}); |
|
|
|
|
|
|
|
getProjectsList(start, end); |
|
|
|
getProjectsList(); |
|
|
|
|
|
|
|
// 点击操作面试显示隐藏 |
|
|
|
const showActionCard = item => { |
|
|
@ -104,10 +121,10 @@ const showActionCard = item => { |
|
|
|
}; |
|
|
|
|
|
|
|
// 获取项目列表 |
|
|
|
async function getProjectsList(startData, endData) { |
|
|
|
async function getProjectsList() { |
|
|
|
try { |
|
|
|
const data = await getProjects(startData, endData); |
|
|
|
// projectList.value = []; |
|
|
|
const data = await getProjects(startTime.value, endTime.value); |
|
|
|
|
|
|
|
data.forEach(item => { |
|
|
|
item.show = false; |
|
|
|
|
|
|
@ -126,7 +143,6 @@ async function getProjectsList(startData, endData) { |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
// projectList.value = [...data]; |
|
|
|
|
|
|
|
store.commit('projects/setProjects', data); |
|
|
|
} catch (error) { |
|
|
@ -154,7 +170,7 @@ function changeShow(item) { |
|
|
|
async function handleOk() { |
|
|
|
visible.value = false; |
|
|
|
await deleteProject(deleteId.value); |
|
|
|
getProjectsList(dayjs().startOf('day').format('x'), dayjs().endOf('day').format('x')); |
|
|
|
getProjectsList(); |
|
|
|
} |
|
|
|
|
|
|
|
// 删除项目 |
|
|
|