获取项目信息1

This commit is contained in:
妖姐 2024-03-13 01:16:31 +08:00
parent 94a533eb75
commit 389fa279e4
7 changed files with 87 additions and 49 deletions

View File

@ -45,7 +45,7 @@
<div class="flex flex-col space-y-4">
<hr class="mb-2">
<span class="lg:hover:text-blue-700" @click="JumpPersonalBelonging"><UserOutlined class="mr-1.5"/>我的项目</span>
<span class="lg:hover:text-blue-700" @click="JumpPersonalProject"><UserOutlined class="mr-1.5"/>我的项目</span>
<span class="lg:hover:text-blue-700" @click="JumpMyManage"><ToolOutlined class="mr-1.5"/>我管理的</span>
<span v-if="role === true" class=" lg:hover:text-blue-700" @click="JumpMyResponsible" ><UserOutlined class="mr-1.5" />我负责的</span>
<hr>
@ -213,8 +213,8 @@ onMounted(() => {
})
//
function JumpPersonalBelonging (){
router.push("/WorkLoad/PersonalBelongings")
function JumpPersonalProject (){
router.push("/WorkLoad/PersonalProject")
}
function JumpMessage (){
router.push("/WorkLoad/Message")

View File

@ -0,0 +1,5 @@
<template>
<div>
项目基本情况
</div>
</template>

View File

@ -0,0 +1,5 @@
<template>
<div>
controbutors
</div>
</template>

View File

@ -0,0 +1,5 @@
<template>
<div class="w-[100vw] h-[40vh] bg-blue-100">
</div>
</template>

View File

@ -0,0 +1,5 @@
<template>
<div>
子系统
</div>
</template>

View File

@ -1,38 +1,18 @@
<template>
<NavBar class="h-[10vh]"></NavBar>
<div class=" flex flex-row">
<div class="flex flex-col w-[20vw] h-[90vh] bg-blue-100 border border-[2px] border-gray-400 border-t-0 border-b-0 border-l-0">
<span>子系统名称</span>
<span>子系统周期</span>
<span>项目开发时间</span>
<span>项目完成时间</span>
<span>工作量</span>
<span>完成情况</span>
<span>需求文档</span>
<button>子系统文档</button>
</div>
<TopProject></TopProject>
<BasicProject></BasicProject>
<ChildProject></ChildProject>
<Contributors></Contributors>
<Icp></Icp>
<div class="w-[80vw] ml-[5vw]">
<a-card class="w-[22vw] h-[30vh] bg-gradient-to-b from-blue-500 to-blue-300">
<div class="w-[22vw] h-[20vh] flex flex-col">
<span class="">登录注册模块</span>
负责人
剩余8天
</div>
<div class="flex flex-row w-[22vw] h-[5vh]">
<p class="w-3 h-3 rounded-full bg-blue-500"></p>进行中
<div>
<span>2</span>
<span>/</span>
</div>
</div>
</a-card>
</div>
</div>
</template>
<script setup>
import NavBar from "@/components/HomeComponents/NavBar.vue";
import Icp from "@/components/HomeComponents/Icp.vue";
import TopProject from "@/views/ProjectPage/MainMessage/TopProject.vue";
import ChildProject from "@/views/ProjectPage/MainMessage/childProject.vue";
import Contributors from "@/views/ProjectPage/MainMessage/Contributors.vue";
import BasicProject from "@/views/ProjectPage/MainMessage/BasicProject.vue";
</script>

View File

@ -50,8 +50,7 @@
<input
type="checkbox"
class="form-checkbox h-5 w-5 text-red-400 rounded-lg focus:ring-white"
value="0"
v-model="selectedStatus"
v-model="selectedStatus.weikaishi"
/>
<span class="text-sm">未开始</span>
</label>
@ -60,8 +59,7 @@
<input
type="checkbox"
class="form-checkbox h-5 w-5 text-blue-400 rounded-lg focus:ring-white"
value="2"
v-model="selectedStatus"
v-model="selectedStatus.jinxingzhong"
/>
<span class="text-sm">进行中</span>
</label>
@ -70,8 +68,7 @@
<input
type="checkbox"
class="form-checkbox h-5 w-5 text-green-400 rounded-full focus:ring-white"
value="1"
v-model="selectedStatus"
v-model="selectedStatus.yiwancheng"
/>
<span class="text-sm">已完成</span>
</label>
@ -80,20 +77,19 @@
<input
type="checkbox"
class="form-checkbox h-5 w-5 text-red-400 rounded-full focus:ring-white "
value="-1"
v-model="selectedStatus"
v-model="selectedStatus.stop"
/>
<span class="text-sm ">暂停</span>
</label>
</div>
</nav>
<div class="flex space-x-9 ml-16 mt-12 ">
<template v-for="(project, index) in projects" :key="index" class="w-[80vw] ">
<a-card class="transition-transform transform-gpu hover:scale-105 relative w-[300px] h-64 rounded-none bg-cover bg-center bg-[url('@/assert/images/img12.jpg')]" @mouseleave="LearnMore1=false" @mouseover="LearnMore1=true">
<div class="flex flex-wrap ml-16 mr-16 mt-5 w-[100vw]">
<template v-for="(project, index) in projects" :key="index">
<a-card class="transition-transform transform-gpu hover:scale-105 relative w-[300px] h-60 mb-4 ml-8 rounded-none bg-cover bg-center bg-[url('@/assert/images/img12.jpg')]" @mouseleave="showButton[index]=false" @mouseover="showButton[index]=true">
<div class="flex absolute left-0 bottom-0 min-h-[30%] w-full bg-white">
<p class="ml-6 mt-4 text-lg font-bold tracking-tight text-gray-900">{{ project.name }}</p>
<div class="ml-auto mr-10">
<button v-if="LearnMore1" class="mt-8 w-6 h-6 flex items-center justify-center bg-green-400 text-black rounded-full transition duration-300 ease-in-out transform hover:scale-105" @click="MainMessage">
<button v-if="showButton[index]" class="mt-8 w-6 h-6 flex items-center justify-center bg-green-400 text-black rounded-full transition duration-300 ease-in-out transform hover:scale-105" @click="MainMessage">
<svg aria-hidden="true" class="rtl:rotate-180 w-4 h-4 text-white" fill="none" viewBox="0 0 14 10" xmlns="http://www.w3.org/2000/svg">
<path d="M1 5h12m0 0L9 1m4 4L9 9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg>
@ -118,7 +114,11 @@ import {onMounted, reactive, ref, watch} from "vue";
import request from "@/js/request.js";
import router from "@/router/index.js";
const LearnMore1 = ref(false)
// const LearnMore= ref(false)
// function LearnMore(index=1){
// index++
// }
const showButton = reactive([]);
const projects = ref([]);
const id =ref(1)
const pageSize = ref(20);
@ -180,14 +180,26 @@ function MainMessage(){
router.push("/ProjectMessage")
}
// @click="selectedTags.web = !selectedTags.web"
//
const filteredProjects = ref([]);
//
const selectedButtons = ref(['web','ai','大数据']);
const selectionDisabled = ref('');
const selectedStatus = reactive([-1,0,1,2]); //
const selectedStatus = reactive({
weikaishi:true, //1
jinxingzhong:true, //2
yiwancheng:true, //0
stop:true //-1
}); //
const select = reactive({
})
const data = reactive({
tags:[],
isFinish:[]
})
const clickedButton= ref(null)
//
watch(() => selectedButtons.value, (clickedButton) => {
@ -197,4 +209,30 @@ watch(() => selectedButtons.value, (clickedButton) => {
});
</script>gj
watch(selectedStatus, async (newValue, oldValue) => {
if (newValue.stop === true) {
data.isFinish.push(-1)
}
if (newValue.jinxingzhong === true) {
data.isFinish.push(2)
}
if (newValue.weikaishi === true ) {
data.isFinish.push(1)
}
if (newValue.yiwancheng === true) {
data.isFinish.push(0)
}
request.projectGetCustom(data)
data.isFinish = []
})
</script>