From 8d7736b3fcbafa7224a4ff67e0f00a05f620b8f0 Mon Sep 17 00:00:00 2001
From: Teo <2642673902@qq.com>
Date: Tue, 26 Aug 2025 09:33:53 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=90=88=E5=B9=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../progress/progressCategorySystemTemplate/index.vue | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/views/progress/progressCategorySystemTemplate/index.vue b/src/views/progress/progressCategorySystemTemplate/index.vue
index 12bcd3b..6a17a41 100644
--- a/src/views/progress/progressCategorySystemTemplate/index.vue
+++ b/src/views/progress/progressCategorySystemTemplate/index.vue
@@ -21,8 +21,8 @@
-
-
+
+
@@ -156,7 +156,7 @@ const buttonLoading = ref(false);
const showSearch = ref(true);
const isExpandAll = ref(true);
const loading = ref(false);
-
+const tabList = ref([]);
const queryFormRef = ref();
const progressCategoryTemplateFormRef = ref();
const progressCategoryTemplateTableRef = ref();
@@ -314,6 +314,7 @@ onMounted(() => {
getList();
getTabList().then((res) => {
console.log('tabList', res.data);
+ tabList.value = res.data;
});
});
From cec48c13afe4e5443128b421d07500d64086c7b4 Mon Sep 17 00:00:00 2001
From: Teo <2642673902@qq.com>
Date: Tue, 26 Aug 2025 20:38:35 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=9B=E5=BA=A6?=
=?UTF-8?q?=E7=AE=A1=E7=90=86bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 4 +-
src/api/progress/progressCategory/index.ts | 34 +-
src/api/progress/progressCategory/types.ts | 2 +
.../progressCategoryTemplate/index.ts | 16 +-
.../progressCategoryTemplate/types.ts | 9 +-
src/components/FileUpload/index.vue | 7 +
src/layout/components/notice/index.vue | 3 +-
src/utils/sse.ts | 7 +-
src/views/design/prelimScheme/index.vue | 9 +-
src/views/design/prelimScheme/indexEdit.vue | 11 +-
src/views/design/scheme/indexEdit.vue | 8 +-
src/views/progress/plan/index.vue | 412 ++++++++++--------
src/views/progress/progressCategory/index.vue | 276 +++++++-----
.../progressCategorySystemTemplate/index.vue | 34 +-
.../progressCategoryTemplate/index.vue | 139 +++---
src/views/system/user/profile/userAvatar.vue | 1 +
16 files changed, 587 insertions(+), 385 deletions(-)
diff --git a/.env.development b/.env.development
index 0181823..500d6b0 100644
--- a/.env.development
+++ b/.env.development
@@ -6,13 +6,13 @@ VITE_APP_ENV = 'development'
# 开发环境
# 李陈杰 209
-VITE_APP_BASE_API = 'http://192.168.110.149:8899'
+VITE_APP_BASE_API = 'http://192.168.110.209:8899'
# 曾涛
# VITE_APP_BASE_API = 'http://192.168.110.180:8899'
# 罗成
# VITE_APP_BASE_API = 'http://192.168.110.213:8899'
# 朱银
-VITE_APP_BASE_API = 'http://192.168.110.149:8899'
+# VITE_APP_BASE_API = 'http://192.168.110.149:8899'
#曾涛
# VITE_APP_BASE_API = 'http://192.168.110.171:8899'
diff --git a/src/api/progress/progressCategory/index.ts b/src/api/progress/progressCategory/index.ts
index ed4bb07..1f593bb 100644
--- a/src/api/progress/progressCategory/index.ts
+++ b/src/api/progress/progressCategory/index.ts
@@ -8,11 +8,10 @@ import { ProgressCategoryVO, ProgressCategoryForm, ProgressCategoryQuery } from
* @returns {*}
*/
-export const listProgressCategory = (query?: ProgressCategoryQuery): AxiosPromise => {
+export const listProgressCategory = (id?: string | number): AxiosPromise => {
return request({
- url: '/progress/progressCategory/list',
- method: 'get',
- params: query
+ url: '/progress/progressCategory/listByParent/' + id,
+ method: 'get'
});
};
@@ -70,3 +69,30 @@ export const downloadProgressCategory = (data) => {
data
});
};
+
+/**
+ * 查询分项工程单价下拉树结构
+ * @param query
+ * @returns {*}
+ */
+export const getCategoryTabList = (id?: string | number): AxiosPromise => {
+ return request({
+ url: '/progress/progressCategory/listTopBySubProjectId/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 查询分项工程单价外层结构
+ * @param query
+ * @returns {*}
+ */
+export const getCategoryList = (id?: string | number): AxiosPromise => {
+ return request({
+ url: '/progress/progressCategory/list',
+ method: 'get',
+ params: {
+ parentId: id
+ }
+ });
+};
diff --git a/src/api/progress/progressCategory/types.ts b/src/api/progress/progressCategory/types.ts
index c24a173..07aaa4f 100644
--- a/src/api/progress/progressCategory/types.ts
+++ b/src/api/progress/progressCategory/types.ts
@@ -97,6 +97,8 @@ export interface ProgressCategoryForm extends BaseEntity {
id?: string | number;
constructionPrice?: string | number;
ownerPrice?: string | number;
+ relevancyStructure?: string;
+
/**
* 父类别id
*/
diff --git a/src/api/progress/progressCategoryTemplate/index.ts b/src/api/progress/progressCategoryTemplate/index.ts
index 5743b83..86e86e1 100644
--- a/src/api/progress/progressCategoryTemplate/index.ts
+++ b/src/api/progress/progressCategoryTemplate/index.ts
@@ -66,9 +66,21 @@ export const delProgressCategoryTemplate = (id: string | number | Array {
+export const getTabList = (id: string) => {
return request({
- url: '/progress/progressCategoryTemplate/listSystemTop',
+ url: '/progress/progressCategoryTemplate/listSystemTop/' + id,
+ method: 'get'
+ });
+};
+
+/**
+ * 筛选查询进度类别模版列表
+ * @param parentId
+ * @returns {*}
+ */
+export const listProgressCategoryTemplateByParent = (parentId: string | number): AxiosPromise => {
+ return request({
+ url: '/progress/progressCategoryTemplate/listByParent/' + parentId,
method: 'get'
});
};
diff --git a/src/api/progress/progressCategoryTemplate/types.ts b/src/api/progress/progressCategoryTemplate/types.ts
index 66ee461..1d6a507 100644
--- a/src/api/progress/progressCategoryTemplate/types.ts
+++ b/src/api/progress/progressCategoryTemplate/types.ts
@@ -12,7 +12,7 @@ export interface ProgressCategoryTemplateVO {
* 计量方式(0无 1数量 2百分比)
*/
unitType: string;
-
+ parentId?: string | number;
/**
* 工作类型
*/
@@ -39,7 +39,9 @@ export interface ProgressCategoryTemplateForm extends BaseEntity {
* 主键id
*/
id?: string | number;
-
+ parentId?: string | number;
+ constructionType?: string;
+ relevancyStructure?: string;
/**
* 父类别id
*/
@@ -76,7 +78,8 @@ export interface ProgressCategoryTemplateQuery {
* 父类别id
*/
pid?: string | number;
-
+ parentId?: string | number;
+ constructionType?: string;
/**
* 类别名称
*/
diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue
index b2580ea..265c016 100644
--- a/src/components/FileUpload/index.vue
+++ b/src/components/FileUpload/index.vue
@@ -11,6 +11,7 @@
:on-exceed="handleExceed"
:on-success="handleUploadSuccess"
:show-file-list="showFileList"
+ :on-preview="handlePreview"
:headers="headers"
class="upload-file-uploader"
:list-type="isConstruction ? 'picture-card' : 'text'"
@@ -308,6 +309,12 @@ const handleRemove = (file: any, fileList: any) => {
emit('handleRemove', file, fileList);
};
+const handlePreview = (file: any) => {
+ if (file.url) {
+ window.open(file.url);
+ }
+};
+
// 删除文件
const handleDelete = async (index: string | number, type?: string) => {
await proxy?.$modal.confirm('是否确认删除此文件?').finally();
diff --git a/src/layout/components/notice/index.vue b/src/layout/components/notice/index.vue
index 78ca0c8..3d6afc9 100644
--- a/src/layout/components/notice/index.vue
+++ b/src/layout/components/notice/index.vue
@@ -51,11 +51,12 @@ const getTableData = async () => {
//点击消息,写入已读
const onNewsClick = (item: any) => {
newsList.value[item].read = true;
+ console.log('🚀 ~ onNewsClick ~ newsList.value[item]:', newsList.value[item]);
//并且写入pinia
noticeStore.state.value.notices = newsList.value;
//如果有formPath,就前往
if (newsList.value[item].route) {
- proxy?.$tab.openPage('/' + newsList.value[item].route, '', { id: newsList.value[item].detailId, type: 'view' });
+ proxy?.$tab.openPage(newsList.value[item].route, '', { id: newsList.value[item].detailId, type: 'view' });
}
};
diff --git a/src/utils/sse.ts b/src/utils/sse.ts
index 464727c..04103f7 100644
--- a/src/utils/sse.ts
+++ b/src/utils/sse.ts
@@ -25,15 +25,16 @@ export const initSSE = (url: any) => {
});
watch(data, () => {
+ console.log('🚀 ~ initSSE ~ data:', JSON.parse(data.value));
let label = '';
let route1 = '';
let detailId = '';
try {
if (JSON.parse(data.value)) {
const obj = JSON.parse(data.value);
- route1 = obj.route;
- label = obj.message;
- detailId = obj.detailId;
+ route1 = obj.type;
+ label = obj.content;
+ // detailId = obj.detailId;
data.value = null;
}
} catch (error) {
diff --git a/src/views/design/prelimScheme/index.vue b/src/views/design/prelimScheme/index.vue
index 609aaf4..685eec3 100644
--- a/src/views/design/prelimScheme/index.vue
+++ b/src/views/design/prelimScheme/index.vue
@@ -48,7 +48,7 @@
v-if="scope.row.status !== 'draft'"
icon="Edit"
@click="handleView(scope.row)"
- v-hasPermi="['design:PrelimScheme:query']"
+ v-hasPermi="['design:prelimScheme:query']"
>查看流程
修改
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ row.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.name }}
+
+ {{ row.name }}
+
+
+
+
+
+
+
+
+
+ {{ row.isDelay == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.completed + '/' + row.total }}
+
+
+
+
+
-
- {{ row.name }}
-
-
-
-
-
-
-
-
-
- {{ row.isDelay == '1' ? '是' : '否' }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ row.completed + '/' + row.total }}
-
-
-
-
-
-
- 导入表格
-
-
- 计划
-
-
- 日报
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 导入表格
+
+
+ 计划
+
+
+ 日报
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.name }}
+
+ {{ row.name }}
+
+
+
+
+
+
+
+
+
+ {{ row.isDelay == '1' ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.completed + '/' + row.total }}
+
+
+
+
+
+ 导入表格
+
+
+ 计划
+
+
+ 日报
+
+
+
+
+
+
+
@@ -191,14 +237,7 @@
diff --git a/src/views/progress/progressCategoryTemplate/index.vue b/src/views/progress/progressCategoryTemplate/index.vue
index 0b29e10..5d4257b 100644
--- a/src/views/progress/progressCategoryTemplate/index.vue
+++ b/src/views/progress/progressCategoryTemplate/index.vue
@@ -20,60 +20,70 @@
+
+
+
+
+
+
+ 新增
+
+
+ 展开/折叠
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.relevancyStructure == '1' ? '子项目' : '方阵' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- 新增
-
-
- 展开/折叠
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -100,6 +110,12 @@
+
+
+
+
+
+
@@ -119,7 +135,9 @@ import {
addProgressCategoryTemplate,
delProgressCategoryTemplate,
getProgressCategoryTemplate,
+ getTabList,
listProgressCategoryTemplate,
+ listProgressCategoryTemplateByParent,
updateProgressCategoryTemplate
} from '@/api/progress/progressCategoryTemplate';
import {
@@ -135,6 +153,8 @@ type ProgressCategoryTemplateOption = {
name: string;
children?: ProgressCategoryTemplateOption[];
};
+const activeTab = ref('0');
+const tabList = ref([]);
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -186,7 +206,8 @@ const data = reactive {
loading.value = true;
- const res = await listProgressCategoryTemplate(queryParams.value);
+ const res = await listProgressCategoryTemplateByParent(activeTab.value);
const data = proxy?.handleTree(res.data, 'id', 'parentId');
if (data) {
progressCategoryTemplateList.value = data;
@@ -205,7 +226,7 @@ const getList = async () => {
/** 查询进度类别模版下拉树结构 */
const getTreeselect = async () => {
- const res = await listProgressCategoryTemplate();
+ const res = await listProgressCategoryTemplate({ projectId: queryParams.value.projectId });
progressCategoryTemplateOptions.value = [];
const data: ProgressCategoryTemplateOption = { id: 0, name: '顶级节点', children: [] };
data.children = proxy?.handleTree(res.data, 'id', 'parentId');
@@ -310,7 +331,11 @@ const getSubProjectList = async () => {
const res = await getChildProject(currentProject.value?.id);
projectSon.value = res.data;
queryParams.value.projectId = projectSon.value[0]?.id;
- getList();
+ getTabList(queryParams.value.projectId as string).then((res) => {
+ tabList.value = res.data;
+ activeTab.value = res.data[0]?.id;
+ getList();
+ });
};
onMounted(() => {
diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue
index 32b6f5c..6b18169 100644
--- a/src/views/system/user/profile/userAvatar.vue
+++ b/src/views/system/user/profile/userAvatar.vue
@@ -94,6 +94,7 @@ const options = reactive({
previews: {},
visible: false
});
+console.log('🚀 ~ userStore.avatar:', userStore.avatar);
/** 编辑头像 */
const editCropper = () => {