From b1251e3bc50a5064a4959da4e3b72690e536bcaf Mon Sep 17 00:00:00 2001 From: rdpnr_hemingxia Date: Wed, 23 Apr 2025 15:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=84=E4=BB=B6=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/file.png | Bin 0 -> 241 bytes src/assets/images/image.png | Bin 0 -> 338 bytes src/assets/images/zip.png | Bin 0 -> 352 bytes src/components/SelectUser.vue | 54 +++- src/utils/api.js | 19 +- .../components/MainContentTable.vue | 251 +++++++++++++++--- src/views/project/detail.vue | 176 +++++++++++- src/views/worklog/components/leftMonth.vue | 20 ++ src/views/worklog/components/rightTable.vue | 223 +++++++++++++++- 9 files changed, 684 insertions(+), 59 deletions(-) create mode 100644 src/assets/images/file.png create mode 100644 src/assets/images/image.png create mode 100644 src/assets/images/zip.png diff --git a/src/assets/images/file.png b/src/assets/images/file.png new file mode 100644 index 0000000000000000000000000000000000000000..c55ea495bfc55b338f0b5389b0f2ed14ef0d6132 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|&H|6fVg?3oVGw3ym^DWND9BhG zD#>Ss=ht)&ec>m0F>*DAa<x}saW>OFr3Vg=9)F-*JGfI7(8A5T-G@yGywoW%v0I` literal 0 HcmV?d00001 diff --git a/src/assets/images/image.png b/src/assets/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..3a02e04c7b7de4c1401ba78c2494c7b11499d487 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|&H|6fVg?3oVGw3ym^DWND9BhG z4UpYTQkqm#n#4=Et(>fn&&s*3hD~dk=zPVI z-7z@i!m~?qSFTLYD9L%HY|%acz{R5%W6yiau=vM_eA(mp(IL=(`}Oa0uQ>kc-T%Dy z-yWO#x9acB8M{sYO_H3a#Cz~6)9nA}^tobUMK>`{JJ)w(zk;)B@OSl?`*rQX{vWRC zc%8CYc4gKH$4qr?&)@Hwxz}?4?Rwz4DL$6b_ zjBlr@d8OXT*)u$qY}UBEXu2q
+
+ +
+ 查询 + 重置 +
+
+ true, }, + userIdList: { + type: Array, + default: () => [], + }, }, data() { return { @@ -133,6 +153,9 @@ export default { userData: [], isInternalChange: false, selectAllData: [], + searchForm: { + nickName: "", + }, }; }, emits: ["close", "confirm"], @@ -196,11 +219,10 @@ export default { } }, selectAll(arr) { - let filterArr = this.selectAllData.filter((ele) => - !arr.some((item) => item.userId == ele.userId) + let filterArr = this.selectAllData.filter( + (ele) => !arr.some((item) => item.userId == ele.userId) ); - console.log(filterArr,11); - + arr.forEach((ele) => { if ( !this.selectedUsers.filter((item) => item.userId == ele.userId).length @@ -208,20 +230,29 @@ export default { this.selectRow({ row: ele }); }); filterArr.forEach((ele) => { - - this.selectRow({ row: ele}); + this.selectRow({ row: ele }); }); - - }, fetchUserList: async function () { const response = await systemApi.getUserList({ pageNum: this.currentPage, pageSize: this.pageSize, deptId: this.currentDepartment, + ...this.searchForm, + userIdList:this.userIdList, }); this.userData = response.rows; this.total = response.total; + if (!this.multiSelect) { + this.userData.forEach((ele) => { + if (ele.userId == this.selectedUsers[0]?.userId) + this.$refs.customTableRef?.setCurrentRow(ele); + }); + } + }, + resetTable() { + this.searchForm.nickName = ""; + this.fetchUserList(); }, fetchTreeData: async function () { const response = await systemApi.getDeptTree(); @@ -305,6 +336,13 @@ export default { immediate: true, deep: true, }, + userIdList: { + handler(newVal) { + this.fetchUserList(); + }, + immediate: true, + deep: true, + }, }, mounted() { this.fetchTreeData(); diff --git a/src/utils/api.js b/src/utils/api.js index 322cc46..c69d810 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -1,6 +1,6 @@ import request from '@/utils/request' -// 登录板块api +// 公用板块 // 项目板块 export const projectApi = { @@ -92,6 +92,7 @@ export const workLogApi = { method: 'delete', }), + } // 项目看板 @@ -133,6 +134,18 @@ export const systemApi = { url: '/system/user/deptTree', method: 'get', }), + fileUpload: '/common/upload', + downFile: (data) => request({ + url: '/common/download', + method: 'get', + params: data, + }), + delFile: (id) => request({ + url: `/business/project/file/${id}`, + method: 'delete', + + }), + } // 任务考核板块 @@ -237,6 +250,10 @@ export const demandApi = { url: `/demand/${data}`, method: 'delete', }), + getDemandDetail:(id) => request({ + url: `/demand/${id}`, + method: 'get', + }), delDemandBatch: (data) => request({ url: `/demand/remove/batch/${data}`, method: 'delete', diff --git a/src/views/project/demandManage/components/MainContentTable.vue b/src/views/project/demandManage/components/MainContentTable.vue index 8cc9036..3865b22 100644 --- a/src/views/project/demandManage/components/MainContentTable.vue +++ b/src/views/project/demandManage/components/MainContentTable.vue @@ -74,6 +74,7 @@ style="width: 100%" @selection-change="handleSelectionChange" class="tableBox" + :cell-class-name="setRowClass" > @@ -223,11 +224,12 @@ :currentSelectedUser="currentSelectedUser" @confirm="handleUserConfirm" @close="handleUserClose" + :userIdList="projectUserList" /> @@ -321,7 +324,7 @@ v-model="editData.createTime" type="date" placeholder="选择日期" - style="width: 240px" + style="width: 200px" value-format="yyyy-MM-dd 00:00:00" :picker-options="{ disabledDate: setDateRange, @@ -335,13 +338,53 @@ type="date" placeholder="选择日期" value-format="yyyy-MM-dd 23:59:59" - style="width: 240px" + style="width: 200px" :picker-options="{ disabledDate: setDateRange, }" > + +
+ +
+ 上传附件 +
单个附件限制100M
+
+
+
+
+
+ + + +
{{ item.fileName }}
+
+
×
+
+
+
+