Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/js/request.js
This commit is contained in:
妖姐 2024-03-14 15:20:49 +08:00
commit f9b83000ab
4 changed files with 178 additions and 143 deletions

View File

@ -72,58 +72,72 @@
<li> <li>
<a aria-current="page" class="text-gray-900 custom-link" href="/WorkLoad/PersonalInformation"> <a aria-current="page" class="text-gray-900 custom-link" href="/WorkLoad/PersonalInformation">
<div class="flex"> <div class="flex">
个人信息管理
<svg aria-hidden="true" class="w-5 h-5 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <svg aria-hidden="true" class="w-5 h-5 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M4 10h16M8 14h8m-4-7V4M7 7V4m10 3V4M5 20h14c.6 0 1-.4 1-1V7c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v12c0 .6.4 1 1 1Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> <path d="M4 10h16M8 14h8m-4-7V4M7 7V4m10 3V4M5 20h14c.6 0 1-.4 1-1V7c0-.6-.4-1-1-1H5a1 1 0 0 0-1 1v12c0 .6.4 1 1 1Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg> </svg>
个人信息管理
</div> </div>
</a> </a>
</li> </li>
<li> <li>
<a class="text-gray-900 custom-link" href="/WorkLoad/PersonalProject"> <a class="text-gray-900 custom-link" href="/WorkLoad/PersonalProject">
<div class="flex"> <div class="flex">
个人项目
<svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M16 19h4c.6 0 1-.4 1-1v-1a3 3 0 0 0-3-3h-2m-2.2-4A3 3 0 0 0 19 8a3 3 0 0 0-5.2-2M3 18v-1a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1Zm8-10a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" stroke="currentColor" stroke-linecap="round" stroke-width="2"/> <path d="M16 19h4c.6 0 1-.4 1-1v-1a3 3 0 0 0-3-3h-2m-2.2-4A3 3 0 0 0 19 8a3 3 0 0 0-5.2-2M3 18v-1a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1c0 .6-.4 1-1 1H4a1 1 0 0 1-1-1Zm8-10a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" stroke="currentColor" stroke-linecap="round" stroke-width="2"/>
</svg> </svg>
个人项目
</div> </div>
</a> </a>
</li> </li>
<li> <li>
<a class="text-gray-900 custom-link" href="/WorkLoad/PersonalBelongings"> <a class="text-gray-900 custom-link" href="/WorkLoad/PersonalBelongings">
<div class="flex"> <div class="flex">
个人财务
<svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 6c0 1.7-3.1 3-7 3S5 7.7 5 6m14 0c0-1.7-3.1-3-7-3S5 4.3 5 6m14 0v6M5 6v6m0 0c0 1.7 3.1 3 7 3s7-1.3 7-3M5 12v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> <path d="M19 6c0 1.7-3.1 3-7 3S5 7.7 5 6m14 0c0-1.7-3.1-3-7-3S5 4.3 5 6m14 0v6M5 6v6m0 0c0 1.7 3.1 3 7 3s7-1.3 7-3M5 12v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg> </svg>
个人财务
</div> </div>
</a> </a>
</li> </li>
<li> <li>
<a class="text-gray-900 custom-link" href="/WorkLoad/Message"> <a class="text-gray-900 custom-link" href="/WorkLoad/Message">
<div class="flex"> <div class="flex">
消息
<svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M16 10.5h0m-4 0h0m-4 0h0M5 5h14c.6 0 1 .4 1 1v9c0 .6-.4 1-1 1h-6.6a1 1 0 0 0-.7.3L8.8 19c-.3.3-.8 0-.8-.4V17c0-.6-.4-1-1-1H5a1 1 0 0 1-1-1V6c0-.6.4-1 1-1Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> <path d="M16 10.5h0m-4 0h0m-4 0h0M5 5h14c.6 0 1 .4 1 1v9c0 .6-.4 1-1 1h-6.6a1 1 0 0 0-.7.3L8.8 19c-.3.3-.8 0-.8-.4V17c0-.6-.4-1-1-1H5a1 1 0 0 1-1-1V6c0-.6.4-1 1-1Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg> </svg>
消息
</div> </div>
</a> </a>
</li> </li>
<li> <li>
<a class="text-gray-900 custom-link" href="/WorkLoad/DailyPaper"> <a class="text-gray-900 custom-link" href="/WorkLoad/DailyPaper">
<div class="flex"> <div class="flex">
日报
<svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M15 4h3c.6 0 1 .4 1 1v15c0 .6-.4 1-1 1H6a1 1 0 0 1-1-1V5c0-.6.4-1 1-1h3m0 3h6m-6 5h6m-6 4h6M10 3v4h4V3h-4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> <path d="M15 4h3c.6 0 1 .4 1 1v15c0 .6-.4 1-1 1H6a1 1 0 0 1-1-1V5c0-.6.4-1 1-1h3m0 3h6m-6 5h6m-6 4h6M10 3v4h4V3h-4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg> </svg>
日报
</div> </div>
</a> </a>
</li> </li>
<li> <li>
<a class="text-gray-900 custom-link" href="/WorkLoad/I_Manage">我管理的</a> <a class="text-gray-900 custom-link" href="/WorkLoad/I_Manage">
<div class="flex">
<svg aria-hidden="true" class="w-5 h-5 text-gray-700" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8 7H5a2 2 0 0 0-2 2v4m5-6h8M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m0 0h3a2 2 0 0 1 2 2v4m0 0v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-6m18 0s-4 2-9 2-9-2-9-2m9-2h.01" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg>
我管理的
</div>
</a>
</li> </li>
<li> <li>
<a class="text-gray-900 custom-link" href="/WorkLoad/I_Responsible">我负责的</a> <a class="text-gray-900 custom-link" href="/WorkLoad/I_Responsible">
<div class="flex">
<svg aria-hidden="true" class="w-5 h-5 text-gray-800 dark:text-white" fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M20 6H10m0 0a2 2 0 1 0-4 0m4 0a2 2 0 1 1-4 0m0 0H4m16 6h-2m0 0a2 2 0 1 0-4 0m4 0a2 2 0 1 1-4 0m0 0H4m16 6H10m0 0a2 2 0 1 0-4 0m4 0a2 2 0 1 1-4 0m0 0H4" stroke="currentColor" stroke-linecap="round" stroke-width="2"/>
</svg>
我负责的
</div>
</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -146,6 +160,7 @@
</style> </style>
<script> <script>
import NavBar from "@/components/HomeComponents/NavBar.vue"; import NavBar from "@/components/HomeComponents/NavBar.vue";
import colors from "tailwindcss/colors.js";
export default { export default {
components: {NavBar}, components: {NavBar},
@ -156,6 +171,9 @@ export default {
}; };
}, },
methods: { methods: {
colors() {
return colors
},
toggleDropdown() { toggleDropdown() {
this.isDropdownOpen = !this.isDropdownOpen; this.isDropdownOpen = !this.isDropdownOpen;
}, },

View File

@ -584,6 +584,7 @@ const getTagsProjectList
/** /**
* 得到tag列表 * 得到tag列表
* @param data
* @param token * @param token
* 获取项目的所有子系统 * 获取项目的所有子系统
*/ */
@ -659,5 +660,4 @@ export default {
messageGet, messageGet,
} }

View File

@ -20,15 +20,44 @@
<svg aria-hidden="true" class="rtl:rotate-180 w-3 h-3 text-gray-400 mx-1" fill="none" viewBox="0 0 6 10" xmlns="http://www.w3.org/2000/svg"> <svg aria-hidden="true" class="rtl:rotate-180 w-3 h-3 text-gray-400 mx-1" fill="none" viewBox="0 0 6 10" xmlns="http://www.w3.org/2000/svg">
<path d="m1 9 4-4-4-4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> <path d="m1 9 4-4-4-4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg> </svg>
<a class="ms-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ms-2 dark:text-gray-400 dark:hover:text-white" href="#"></a> <a class="ms-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ms-2 dark:text-gray-400 dark:hover:text-white" href="#">台管理系统</a>
</div> </div>
</li> </li>
</ol> </ol>
</nav> </nav>
<div class="flex absolute right-8 mt-6 space-x-4"> <div class="flex absolute right-8 mt-6 space-x-4">
<button class="rounded-lg bg-green-400 hover:bg-green-500 p-1.5 text-white">编辑</button> <button class="rounded-lg bg-green-400 hover:bg-green-500 p-1.5 text-white">编辑</button>
<button class="rounded-lg bg-red-500 hover:bg-red-600 p-1.5 text-white">新增子模块</button> <button class="rounded-lg bg-red-500 hover:bg-red-600 p-1.5 text-white" @click="showAddModal">新增子系统</button>
</div> </div>
<a-modal v-model:open="AddModule" :okButtonProps="{ style: { backgroundColor: '#347def',color: 'white'} }" cancel-text="取消" ok-text="确定" title="新增子系统">
<a-form>
<div class="flex space-x-5">
<a-form-item class="my-4" label="子系统名称:"><a-input class="h-8 w-36 border-gray-300 rounded-md"/></a-form-item>
<a-form-item class="my-4" label="状态:">
<a-select
ref="select"
style="width: 145px;margin-left: 1.7vw"
@focus="focus"
>
<a-select-option value="jack">进行中</a-select-option>
<a-select-option value="lucy">未开始</a-select-option>
<a-select-option value="disabled">已完成</a-select-option>
</a-select>
</a-form-item>
</div>
<div class="flex space-x-5">
<a-form-item class="my-4" label="周期:"><a-input class="ml-[43px] h-8 w-36 border-gray-300 rounded-md"/></a-form-item>
<a-form-item class="my-4" label="工作量:"><a-input class="ml-[15px] h-8 w-36 border-gray-300 rounded-md"/></a-form-item>
</div>
<div class="flex space-x-5">
<a-form-item class="my-4" label="负责人:"><a-input class="ml-[30px] h-8 w-36 border-gray-300 rounded-md"/></a-form-item>
<a-form-item class="my-4" label="系统描述:">
<a-textarea :rows="1" class="w-36 h-8" />
</a-form-item>
</div>
</a-form>
</a-modal >
</div> </div>
<div class="mt-12 ml-12 flex space-x-16 h-full"> <div class="mt-12 ml-12 flex space-x-16 h-full">
<div class="flex flex-col space-y-6 border-r border-gray-200 w-80 h-full p-8"> <div class="flex flex-col space-y-6 border-r border-gray-200 w-80 h-full p-8">
@ -123,4 +152,10 @@
</template> </template>
<script setup> <script setup>
import {CaretUpOutlined, CheckOutlined} from '@ant-design/icons-vue'; import {CaretUpOutlined, CheckOutlined} from '@ant-design/icons-vue';
import {ref} from 'vue';
const AddModule = ref(false)
function showAddModal(){
AddModule.value = true;
}
</script> </script>

View File

@ -1,140 +1,122 @@
<template> <template>
<div class="flex flex-col h-full bg-gray-50"> <div class="flex flex-col h-full bg-gray-50 w-full">
<nav aria-label="Breadcrumb" class="flex ml-12"> <a-breadcrumb class="mt-6 ml-6">
<div> <a-breadcrumb-item>我管理的</a-breadcrumb-item>
<ol class="mt-4 inline-flex items-center space-x-1 md:space-x-2 rtl:space-x-reverse"> <a-breadcrumb-item><a href="">梁溪区纪委大数据管理平台项目</a></a-breadcrumb-item>
<li class="inline-flex items-center"> </a-breadcrumb>
<a class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white" href="#"> <div class="flex space-x-[10vw] ml-96">
我管理的 <div class="inline-flex rounded-md ml-6" role="group">
</a> <button
</li>
<li> :class="buttonClass('DisableSelection')"
<div class="flex items-center"> class="w-16 h-8 flex justify-center items-center"
<svg aria-hidden="true" class="rtl:rotate-180 w-3 h-3 text-gray-400 mx-1" fill="none" viewBox="0 0 6 10" xmlns="http://www.w3.org/2000/svg"> type="button"
<path d="m1 9 4-4-4-4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/> @click="toggleSelectionDisabled"
</svg> >
<a class="ms-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ms-2 dark:text-gray-400 dark:hover:text-white" href="#">梁溪区纪委大数据管理平台项目</a> 全部
</div> </button>
</li> <button
</ol> :class="buttonClass('web')"
class="w-16 h-8 flex justify-center items-center"
type="button"
@click="toggleSelection('web')"
>
Web
</button>
<button
:class="buttonClass('Ai')"
class="w-16 h-8 flex justify-center items-center"
type="button"
@click="toggleSelection('Ai')"
>
Ai
</button>
<button
:class="buttonClass('App')"
class="w-16 h-8 flex justify-center items-center"
type="button"
@click="toggleSelection('App')"
>
App
</button>
<button
:class="buttonClass('大数据')"
class="w-20 h-8 flex justify-center items-center"
type="button"
@click="toggleSelection('大数据')"
>
大数据
</button>
</div> </div>
<div class="flex space-x-[450px] ml-20"> <div class="flex space-x-8">
<div class="inline-flex rounded-md ml-6 mt-6" role="group"> <label class="inline-flex items-center space-x-2 hover:text-blue-600">
<button <input
v-model="selectedStatus.weikaishi"
:class="buttonClass('DisableSelection')" class="form-checkbox h-5 w-5 text-red-400 rounded-lg focus:ring-white"
class="w-16 h-10 rounded-lg " type="checkbox"
type="button" />
@click="toggleSelectionDisabled" <span class="text-sm">未开始</span>
> </label>
全部 <label class="inline-flex items-center space-x-2 hover:text-blue-600">
</button> <input
<button v-model="selectedStatus.jinxingzhong"
:class="buttonClass('web')" class="form-checkbox h-5 w-5 text-blue-400 rounded-lg focus:ring-white"
class="w-16 h-10 rounded-lg" type="checkbox"
type="button" />
@click="toggleSelection('web')" <span class="text-sm">进行中</span>
> </label>
Web <label class="inline-flex items-center space-x-2 hover:text-blue-600">
</button> <input
<button v-model="selectedStatus.yiwancheng"
:class="buttonClass('Ai')" class="form-checkbox h-5 w-5 text-green-400 rounded-full focus:ring-white"
class="w-16 h-10 rounded-lg" type="checkbox"
type="button" />
@click="toggleSelection('Ai')" <span class="text-sm">已完成</span>
> </label>
Ai <label class="inline-flex items-center space-x-2 hover:text-blue-600">
</button> <input
<button v-model="selectedStatus.stop"
:class="buttonClass('App')" class="form-checkbox h-5 w-5 text-red-400 rounded-full focus:ring-white "
class="w-16 h-10 rounded-lg " type="checkbox"
type="button" />
@click="toggleSelection('App')" <span class="text-sm ">暂停</span>
> </label>
App </div>
</button> </div>
<button <div class="mt-12 ml-12 flex space-x-16 h-full">
:class="buttonClass('大数据')" <div class="flex flex-col space-y-6 border-r border-gray-200 w-80 h-full p-8">
class="w-18 h-10 rounded-lg " <p class="text-lg">项目名称梁溪区纪委大数据管理平台项目</p>
type="button" <p>项目周期3个月</p>
@click="toggleSelection('大数据')" <p>项目开始日期2024/3/2</p>
> <div class="space-y-2">
大数据 <p>技术选型</p>
</button> <p>前端vue3</p>
</div> <p>后端java,springboot</p>
<div class="flex space-x-12 mt-8 mb-4"> </div>
<label class="inline-flex items-center space-x-2 hover:text-blue-600"> <p>完成情况进行中</p>
<input <p>是否发布未发布</p>
v-model="selectedStatus.weikaishi" <p>负责人张三</p>
class="form-checkbox h-5 w-5 text-red-400 rounded-lg focus:ring-white" </div>
type="checkbox" <div class="flex space-x-9">
/> <a-card v-for="(ChildProject, index) in ChildProjects" :key="index" class="transition-transform transform-gpu hover:scale-105 relative w-96 h-64 rounded-none bg-cover bg-center bg-[url('@/assert/images/img23.jpg')]" @mouseleave="showButton[index]=false" @mouseover="showButton[index]=true">
<span class="text-sm">未开始</span> <div class="flex absolute left-0 bottom-0 min-h-[30%] w-full bg-white">
</label> <p class="ml-6 mt-4 text-2xl font-bold tracking-tight text-gray-900">{{ChildProject.name}}</p>
<div class="flex mt-7 space-x-3">
<label class="inline-flex items-center space-x-2 hover:text-blue-600"> <p class="ml-14 text-lg">剩余</p>
<input <p class="text-xl text-green-400 font-bold">10</p>
v-model="selectedStatus.jinxingzhong" </div>
class="form-checkbox h-5 w-5 text-blue-400 rounded-lg focus:ring-white" <div class="ml-auto mr-10">
type="checkbox" <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="$router.push('/WorkLoad/I_Manage/Back')">
/> <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">
<span class="text-sm">进行中</span> <path d="M1 5h12m0 0L9 1m4 4L9 9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</label> </svg>
</button>
<label class="inline-flex items-center space-x-2 hover:text-blue-600"> </div>
<input </div>
v-model="selectedStatus.yiwancheng" </a-card>
class="form-checkbox h-5 w-5 text-green-400 rounded-full focus:ring-white" </div>
type="checkbox"
/>
<span class="text-sm">已完成</span>
</label>
<label class="inline-flex items-center space-x-2 hover:text-blue-600">
<input
v-model="selectedStatus.stop"
class="form-checkbox h-5 w-5 text-red-400 rounded-full focus:ring-white "
type="checkbox"
/>
<span class="text-sm ">暂停</span>
</label>
</div>
</div>
</nav>
<div class="mt-12 ml-12 flex space-x-16 h-full">
<div class="flex flex-col space-y-6 border-r border-gray-200 w-80 h-full p-8">
<p class="text-lg">项目名称梁溪区纪委大数据管理平台项目</p>
<p>项目周期3个月</p>
<p>项目开始日期2024/3/2</p>
<div class="space-y-2">
<p>技术选型</p>
<p>前端vue3</p>
<p>后端java,springboot</p>
</div>
<p>完成情况进行中</p>
<p>是否发布未发布</p>
<p>负责人张三</p>
</div>
<div class="flex space-x-9">
<a-card v-for="(ChildProject, index) in ChildProjects" :key="index" class="transition-transform transform-gpu hover:scale-105 relative w-96 h-64 rounded-none bg-cover bg-center bg-[url('@/assert/images/img23.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-xl font-bold tracking-tight text-gray-900">{{ChildProject.name}}</p>
<div class="flex flex-col">
<p class="mt-2 ml-12 text-lg">剩余</p>
<p class=" ml-12 text-xl text-green-400 font-bold">10</p>
</div>
<div class="ml-auto mr-10">
<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="$router.push('/WorkLoad/I_Manage/Back')">
<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>
</button>
</div>
</div>
</a-card>
</div> </div>
</div> </div>
</div>
</template> </template>