diff --git a/src/assets/images/file.png b/src/assets/images/file.png new file mode 100644 index 0000000..c55ea49 Binary files /dev/null and b/src/assets/images/file.png differ diff --git a/src/assets/images/image.png b/src/assets/images/image.png new file mode 100644 index 0000000..3a02e04 Binary files /dev/null and b/src/assets/images/image.png differ diff --git a/src/assets/images/zip.png b/src/assets/images/zip.png new file mode 100644 index 0000000..6688733 Binary files /dev/null and b/src/assets/images/zip.png differ diff --git a/src/components/SelectUser.vue b/src/components/SelectUser.vue index 77d8f53..1f279c4 100644 --- a/src/components/SelectUser.vue +++ b/src/components/SelectUser.vue @@ -15,6 +15,22 @@ />
+
+ +
+ 查询 + 重置 +
+
+ 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 }}
+
+
×
+
+
+
+