获取项目信息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"> <div class="flex flex-col space-y-4">
<hr class="mb-2"> <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 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> <span v-if="role === true" class=" lg:hover:text-blue-700" @click="JumpMyResponsible" ><UserOutlined class="mr-1.5" />我负责的</span>
<hr> <hr>
@ -213,8 +213,8 @@ onMounted(() => {
}) })
// //
function JumpPersonalBelonging (){ function JumpPersonalProject (){
router.push("/WorkLoad/PersonalBelongings") router.push("/WorkLoad/PersonalProject")
} }
function JumpMessage (){ function JumpMessage (){
router.push("/WorkLoad/Message") 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> <template>
<NavBar class="h-[10vh]"></NavBar> <NavBar class="h-[10vh]"></NavBar>
<div class=" flex flex-row"> <TopProject></TopProject>
<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"> <BasicProject></BasicProject>
<span>子系统名称</span> <ChildProject></ChildProject>
<span>子系统周期</span> <Contributors></Contributors>
<span>项目开发时间</span> <Icp></Icp>
<span>项目完成时间</span>
<span>工作量</span>
<span>完成情况</span>
<span>需求文档</span>
<button>子系统文档</button>
</div>
<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> </template>
<script setup> <script setup>
import NavBar from "@/components/HomeComponents/NavBar.vue"; 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> </script>

View File

@ -50,8 +50,7 @@
<input <input
type="checkbox" type="checkbox"
class="form-checkbox h-5 w-5 text-red-400 rounded-lg focus:ring-white" class="form-checkbox h-5 w-5 text-red-400 rounded-lg focus:ring-white"
value="0" v-model="selectedStatus.weikaishi"
v-model="selectedStatus"
/> />
<span class="text-sm">未开始</span> <span class="text-sm">未开始</span>
</label> </label>
@ -60,8 +59,7 @@
<input <input
type="checkbox" type="checkbox"
class="form-checkbox h-5 w-5 text-blue-400 rounded-lg focus:ring-white" class="form-checkbox h-5 w-5 text-blue-400 rounded-lg focus:ring-white"
value="2" v-model="selectedStatus.jinxingzhong"
v-model="selectedStatus"
/> />
<span class="text-sm">进行中</span> <span class="text-sm">进行中</span>
</label> </label>
@ -70,8 +68,7 @@
<input <input
type="checkbox" type="checkbox"
class="form-checkbox h-5 w-5 text-green-400 rounded-full focus:ring-white" class="form-checkbox h-5 w-5 text-green-400 rounded-full focus:ring-white"
value="1" v-model="selectedStatus.yiwancheng"
v-model="selectedStatus"
/> />
<span class="text-sm">已完成</span> <span class="text-sm">已完成</span>
</label> </label>
@ -80,20 +77,19 @@
<input <input
type="checkbox" type="checkbox"
class="form-checkbox h-5 w-5 text-red-400 rounded-full focus:ring-white " class="form-checkbox h-5 w-5 text-red-400 rounded-full focus:ring-white "
value="-1" v-model="selectedStatus.stop"
v-model="selectedStatus"
/> />
<span class="text-sm ">暂停</span> <span class="text-sm ">暂停</span>
</label> </label>
</div> </div>
</nav> </nav>
<div class="flex space-x-9 ml-16 mt-12 "> <div class="flex flex-wrap ml-16 mr-16 mt-5 w-[100vw]">
<template v-for="(project, index) in projects" :key="index" class="w-[80vw] "> <template v-for="(project, index) in projects" :key="index">
<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"> <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"> <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> <p class="ml-6 mt-4 text-lg font-bold tracking-tight text-gray-900">{{ project.name }}</p>
<div class="ml-auto mr-10"> <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"> <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"/> <path d="M1 5h12m0 0L9 1m4 4L9 9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg> </svg>
@ -118,7 +114,11 @@ import {onMounted, reactive, ref, watch} from "vue";
import request from "@/js/request.js"; import request from "@/js/request.js";
import router from "@/router/index.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 projects = ref([]);
const id =ref(1) const id =ref(1)
const pageSize = ref(20); const pageSize = ref(20);
@ -180,14 +180,26 @@ function MainMessage(){
router.push("/ProjectMessage") router.push("/ProjectMessage")
} }
// @click="selectedTags.web = !selectedTags.web"
// //
const filteredProjects = ref([]); const filteredProjects = ref([]);
// //
const selectedButtons = ref(['web','ai','大数据']); const selectedButtons = ref(['web','ai','大数据']);
const selectionDisabled = ref(''); 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) const clickedButton= ref(null)
// //
watch(() => selectedButtons.value, (clickedButton) => { 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>