From 5da9eb401040cae0b893eaef558e45e99e132f74 Mon Sep 17 00:00:00 2001 From: zhufu <17863654727@163.com> Date: Tue, 17 Jun 2025 16:22:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=A6=96=E9=A1=B5-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8-=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/projecthome/active_project_del.png | Bin 0 -> 242 bytes public/projecthome/active_project_edit.png | Bin 0 -> 434 bytes src/api/demo/projecthome.ts | 23 ++++- .../ProjectList/AddProject/index.vue | 40 ++++++-- .../projecthome/ProjectList/index.vue | 96 +++++++++++++----- 5 files changed, 126 insertions(+), 33 deletions(-) create mode 100644 public/projecthome/active_project_del.png create mode 100644 public/projecthome/active_project_edit.png diff --git a/public/projecthome/active_project_del.png b/public/projecthome/active_project_del.png new file mode 100644 index 0000000000000000000000000000000000000000..09c78a603249cf99ea255d323032bf6a34787900 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaOAc)B=-Xapyx zBqSuHG&G%`Z{Pjt!-qFX2?-b4I}HsCZ2tcJUCtmaeLHf7ga>oX<@xsYk7mxCxmQwB z@^Avzzkh$D4<0z6aP-WXIqcWJ{QjP=E+#h3_Qb4-IR_K|{r?OF-b~GTj!Sccq?b5kht{W$}g8)rp?cgezL#ruTgSpD(g}% oIh&Oa&)?r)e>pND;u$kT9?!(q8IMXn0Nu^t>FVdQ&MBb@0PNspGynhq literal 0 HcmV?d00001 diff --git a/public/projecthome/active_project_edit.png b/public/projecthome/active_project_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..ab53b62b55c7949e29308d4506473c3ce25f9c30 GIT binary patch literal 434 zcmV;j0ZsmiP)Px$Y)M2xR47w@(lJOvK^O<{?|XNLC%%`};#O-z5-mY3IX2c>n?o(p(hvlJ;uhqV z5G_Ty6iv}CG}P)Q6b;!_gQ>&wJ@4+zgC1y_w;sR$|Icv<00?7_@B6b-$}0e<=JWZz zTrNizV7J>{;hejjPNx=+$KRt23u3X@Eh26iW7Ys5T__ZGP${*+7&|4R8WG(v#?CDI zZMX)2Pp$Pm=lnuzec(7w2Z?Cg7_-b6%l0=&DJ{rWDwVfPCUeTAgM zX1&;;R;xAbd0tg1wJC&n96-MB&qyiDwjlzIMkAR_ChxS?c?)dF0Mc3)jWM@Eh$nkF z3Jf74Dg{AMlv2L_1_HD_lBLGa;u-dFUZ|Dtg}V-#9#x7)kpP$H2?bIwbMn8q*+7ljZH05CBQ0RS0e c&KYC-KO7hCEN+WL>i_@%07*qoM6N<$f_~+<+W-In literal 0 HcmV?d00001 diff --git a/src/api/demo/projecthome.ts b/src/api/demo/projecthome.ts index 5f7fd39..eb3f52f 100644 --- a/src/api/demo/projecthome.ts +++ b/src/api/demo/projecthome.ts @@ -1,7 +1,10 @@ import { defHttp } from '@/utils/http/axios'; enum Api { GetUavList = '/api/Manage/GetUavList', - AddWorkspace = '/api/Manage/AddWorkspace' + AddWorkspace = '/api/Manage/AddWorkspace', + GetWorkspaceList = '/api/Manage/GetWorkspaceList', + GetWorkSpaceById = '/api/Manage/GetWorkSpaceById', + EditWorkspace = '/api/Manage/EditWorkspace', } export function GetUavList(params?) { @@ -15,4 +18,22 @@ export function AddWorkspace(params) { url: Api.AddWorkspace, params }); +} +export function EditWorkspace(params) { + return defHttp.post({ + url: Api.EditWorkspace, + params + }); +} +export function GetWorkspaceList(params?) { + return defHttp.get({ + url: Api.GetWorkspaceList, + params + }); +} +export function GetWorkSpaceById(params: { id: string }) { + return defHttp.get({ + url: Api.GetWorkSpaceById, + params + }); } \ No newline at end of file diff --git a/src/views/demo/workmanagement/projecthome/ProjectList/AddProject/index.vue b/src/views/demo/workmanagement/projecthome/ProjectList/AddProject/index.vue index cb53137..5cea3b4 100644 --- a/src/views/demo/workmanagement/projecthome/ProjectList/AddProject/index.vue +++ b/src/views/demo/workmanagement/projecthome/ProjectList/AddProject/index.vue @@ -189,7 +189,7 @@ import { ref, defineProps, defineEmits, onMounted, watch } from "vue" import { CaretDownOutlined } from '@ant-design/icons-vue' import { getAccountList } from '@/api/demo/system'; -import { AddWorkspace } from '@/api/demo/projecthome' +import { AddWorkspace, EditWorkspace } from '@/api/demo/projecthome' import RequestCode from './RequestCode/index.vue' import Weather from './Weather/index.vue' import Record from './Record/index.vue' @@ -202,9 +202,10 @@ import * as mars3d from "mars3d"; import * as Cesium from "mars3d-cesium" import cloneDeep from 'lodash/cloneDeep' import { message } from "ant-design-vue"; +import dayjs from "dayjs"; -const props = defineProps(['addModal', 'modalType','map']) -const emits = defineEmits(['update:addModal']) +const props = defineProps(['addModal', 'modalType','map', 'updateProject']) +const emits = defineEmits(['update:addModal', 'getProjectList']) let graphicLayer watch(() => props.map, (val) => { @@ -229,6 +230,18 @@ watch(() => props.addModal, (newValue) => { let user = userList.value.find(item => item.id == userId) project.value.userIds.push(user) } + }else if(newValue && props.modalType == 'update'){ + let userId = props.updateProject.users.map(item => item.id) + let userlist = userList.value.filter(item => userId.includes(item.id)) + let deviceId = props.updateProject.lasaDronePort.map(item => item.id) + let deviceArray = deviceList.value.filter(item => deviceId.includes(item.id)) + project.value = { + ...props.updateProject.workspace, + requestCodeCutOffTime: props.updateProject.workspace.requestCodeCutOffTime? dayjs(props.updateProject.workspace.requestCodeCutOffTime): '', + userIds: userlist, + lockfly: props.updateProject.lasaSpaceLockFlies, + deviceIds: deviceArray + } } }) @@ -427,12 +440,21 @@ const saveProject = () => { deviceIds: project.value.deviceIds.map(item => item.id), lockfly: project.value.lockfly } - AddWorkspace(result).then(res => { - console.log(res) - message.success('项目添加成功') - childSetting.value.open = false - emits('update:addModal',false) - }) + if(props.modalType == 'insert'){ + AddWorkspace(result).then(res => { + message.success('项目添加成功') + childSetting.value.open = false + emits('update:addModal',false) + emits('getProjectList') + }) + }else if(props.modalType == 'update'){ + EditWorkspace(result).then(res => { + message.success('项目编辑成功') + childSetting.value.open = false + emits('update:addModal',false) + emits('getProjectList') + }) + } } diff --git a/src/views/demo/workmanagement/projecthome/ProjectList/index.vue b/src/views/demo/workmanagement/projecthome/ProjectList/index.vue index 9eb6260..1d22498 100644 --- a/src/views/demo/workmanagement/projecthome/ProjectList/index.vue +++ b/src/views/demo/workmanagement/projecthome/ProjectList/index.vue @@ -9,46 +9,67 @@
-
-
-
-
临沂市兰山区某某某项目部
-
-
-
-
-
-
-
-
临沂市兰山区某某某项目部
-
-
-
-
-
-
-
-
临沂市兰山区某某某项目部
-
+
+
+
+
+
{{ item.WorkspaceName }}
+
+
+
+
+
+
+
- +
@@ -106,13 +127,16 @@ const addProject = () => { opacity: 0.2; } .list{ + user-select: none; .project-list-item{ position: relative; padding-left: 25px; + padding-right: 22px; width: 100%; height: 35px; display: flex; align-items: center; + justify-content: space-between; opacity: 0.7; .list-item-icon{ width: 6px; @@ -129,6 +153,32 @@ const addProject = () => { line-height: 33px; text-shadow: 0px 10px 30px rgba(0,0,6,0.15); } + .button-div{ + display: flex; + align-items: center; + .edit-button{ + width: 13px; + height: 13px; + background-image: url('/public/projecthome/active_project_edit.png'); + background-size: 100% 100%; + cursor: pointer; + } + .button-interval{ + width: 1px; + height: 13px; + background: #FFFFFF; + box-shadow: 0px 10px 30px 0px rgba(0,0,6,0.15); + opacity: 0.48; + margin: 0px 9px; + } + .del-button{ + width: 13px; + height: 13px; + background-image: url('/public/projecthome/active_project_del.png'); + background-size: 100% 100%; + cursor: pointer; + } + } } .active{ background: linear-gradient( 270deg, rgba(108,144,245,0) 0%, #3A57E8 100%); From 12164869a966197cb89741d68bfb0ecea37499e0 Mon Sep 17 00:00:00 2001 From: zhufu <17863654727@163.com> Date: Tue, 17 Jun 2025 16:58:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=A6=96=E9=A1=B5-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8-=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/demo/projecthome.ts | 7 ++++++ .../projecthome/ProjectList/index.vue | 23 ++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/api/demo/projecthome.ts b/src/api/demo/projecthome.ts index eb3f52f..5bbde2f 100644 --- a/src/api/demo/projecthome.ts +++ b/src/api/demo/projecthome.ts @@ -5,6 +5,7 @@ enum Api { GetWorkspaceList = '/api/Manage/GetWorkspaceList', GetWorkSpaceById = '/api/Manage/GetWorkSpaceById', EditWorkspace = '/api/Manage/EditWorkspace', + DeleteWorkspace = '/api/Manage/DeleteWorkspace', } export function GetUavList(params?) { @@ -25,6 +26,12 @@ export function EditWorkspace(params) { params }); } +export function DeleteWorkspace(params: { id: string }) { + return defHttp.post({ + url: `${Api.DeleteWorkspace}?id=${params.id}`, + params, + }); +} export function GetWorkspaceList(params?) { return defHttp.get({ url: Api.GetWorkspaceList, diff --git a/src/views/demo/workmanagement/projecthome/ProjectList/index.vue b/src/views/demo/workmanagement/projecthome/ProjectList/index.vue index 1d22498..58b743b 100644 --- a/src/views/demo/workmanagement/projecthome/ProjectList/index.vue +++ b/src/views/demo/workmanagement/projecthome/ProjectList/index.vue @@ -32,8 +32,10 @@