Px#1am@3R0s$N2z&@+hyVZrg-Jv~RA_GU{QL(
z(V;`p28Ubv4|FKF3X1d(>Cn2kcIevmTv9cNOV>LgIEfBoJPTJew0G~%rEhtw#q=(B
zmk9UW0+;X!PsmFy#9NCyAa-z4a%jW#F@}g=SO;g1BzHirEB$WN?!So^k9wRdLUm}|puL$@V{c~FxbyR)9A&P=2)$9~N(G_!
z=Uh$qx%H_<|2#iZN2t_XOxT(A*aO1>;Cyb;U&noB2t5KU5G(*2O^-Vf!}-#pv*SJ&
zgdPKJL1@o;>_fsKf|EN!%Y?uh18WoUwOt@o1wvIIR0Tp+AXEiHRUlLaLRBDC6M~Sm
z4#-_FkLBh%02rrt*E|55yxnSpr42#tToL+%)BBGd-fWqeifl015M*VIpkWvAR?E7-
zy#J~a9@PxU*uPVHmD?XiMgYK^#|HpV4TEYe4CdL*H40a(zy~N^ai3l7)+N3n7;Wn$y})*^e&p~
zGS7?k!OW@&`P!a<3WVzaK@ejd61xDh`Exez6K=WOE)i@7QakQrBUH04n*eMOYyw6)
z?h_;Qnl4++upwXrFvo(>OEOpL2vwZ9GDGMMn=2QD-bHiej!@}y{RVo{IZ+793qSw>
N002ovPDHLkV1kumL5KhV
literal 0
HcmV?d00001
diff --git a/src/views/largeScreen/components/ProgressComponent.vue b/src/views/largeScreen/components/ProgressComponent.vue
new file mode 100644
index 0000000..8620b37
--- /dev/null
+++ b/src/views/largeScreen/components/ProgressComponent.vue
@@ -0,0 +1,120 @@
+
+
+
+ {{ title }}
+ {{ percentageChange }}
+
+
+ {{ value }}
+ {{ unit }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/largeScreen/components/TitleComponent.vue b/src/views/largeScreen/components/TitleComponent.vue
new file mode 100644
index 0000000..46ed988
--- /dev/null
+++ b/src/views/largeScreen/components/TitleComponent.vue
@@ -0,0 +1,56 @@
+
+
+
+

+
{{ title }}
+
+

+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/largeScreen/components/leftPage.vue b/src/views/largeScreen/components/leftPage.vue
index 4638875..804ea76 100644
--- a/src/views/largeScreen/components/leftPage.vue
+++ b/src/views/largeScreen/components/leftPage.vue
@@ -1,13 +1,37 @@
- 左边
+
-
+
-
From aab67593ebb8d9116738d0d867a6119ba61615c8 Mon Sep 17 00:00:00 2001
From: ljx <15723110242@139.com>
Date: Thu, 21 Aug 2025 17:32:10 +0800
Subject: [PATCH 3/8] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 2 +-
package.json | 1 +
src/api/tender/index.ts | 44 ++
src/components/EchartBox/index.vue | 169 ++++++
src/views/contract/division/index.vue | 11 +-
.../largeScreen/components/optionList.ts | 169 ++++--
.../largeScreen/components/rightPage.vue | 62 ++-
src/views/tender/bidd/index.vue | 279 ++++++++++
src/views/tender/plan/index.vue | 481 +++++++++++++++++-
9 files changed, 1154 insertions(+), 64 deletions(-)
create mode 100644 src/api/tender/index.ts
create mode 100644 src/components/EchartBox/index.vue
create mode 100644 src/views/tender/bidd/index.vue
diff --git a/.env.development b/.env.development
index 8849f99..6e07116 100644
--- a/.env.development
+++ b/.env.development
@@ -5,7 +5,7 @@ VITE_APP_TITLE = 煤科建管平台
VITE_APP_ENV = 'development'
# 开发环境
-VITE_APP_BASE_API = 'http://192.168.110.213:8899'
+VITE_APP_BASE_API = 'http://192.168.110.149:8899'
# 无人机接口地址
diff --git a/package.json b/package.json
index 7053b13..67291cb 100644
--- a/package.json
+++ b/package.json
@@ -34,6 +34,7 @@
"diagram-js": "12.3.0",
"didi": "9.0.2",
"echarts": "5.5.0",
+ "echarts-gl": "^2.0.9",
"element-plus": "2.8.8",
"esbuild": "^0.25.0",
"ezuikit-js": "^8.1.10",
diff --git a/src/api/tender/index.ts b/src/api/tender/index.ts
new file mode 100644
index 0000000..2ebb22b
--- /dev/null
+++ b/src/api/tender/index.ts
@@ -0,0 +1,44 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+
+//获取版本
+export const obtainAllVersionNumbers = (query: any): AxiosPromise => {
+ return request({
+ url: '/tender/tenderPlanLimitList/obtainAllVersionNumbers',
+ method: 'get',
+ params: query
+ });
+};
+//获取sheet
+export const sheetList = (query: any): AxiosPromise => {
+ return request({
+ url: '/tender/tenderPlanLimitList/sheetList',
+ method: 'get',
+ params: query
+ });
+};
+//获取表格数据
+export const getTableList = (query: any): AxiosPromise => {
+ return request({
+ url: '/tender/tenderPlanLimitList/list',
+ method: 'get',
+ params: query
+ });
+};
+//修改单价数据
+export const updatePrice = (query: any): AxiosPromise => {
+ return request({
+ url: '/tender/tenderPlanLimitList',
+ method: 'put',
+ data: query
+ });
+};
+//导入
+export const importExcelFile = (query: any, data: any): AxiosPromise => {
+ return request({
+ url: '/tender/tenderPlanLimitList/importExcelFile',
+ method: 'post',
+ params: query,
+ data
+ });
+};
diff --git a/src/components/EchartBox/index.vue b/src/components/EchartBox/index.vue
new file mode 100644
index 0000000..1725eac
--- /dev/null
+++ b/src/components/EchartBox/index.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
diff --git a/src/views/contract/division/index.vue b/src/views/contract/division/index.vue
index d5ae5b2..bb6c8d0 100644
--- a/src/views/contract/division/index.vue
+++ b/src/views/contract/division/index.vue
@@ -463,7 +463,16 @@ const getDetails = (row: any) => {
}
});
};
-
+//监听项目id刷新数据
+const listeningProject = watch(
+ () => currentProject.value?.id,
+ (nid, oid) => {
+ getTabsList();
+ }
+);
+onUnmounted(() => {
+ listeningProject();
+});
onMounted(() => {
getTabsList();
});
diff --git a/src/views/largeScreen/components/optionList.ts b/src/views/largeScreen/components/optionList.ts
index 7d9486f..b0ba838 100644
--- a/src/views/largeScreen/components/optionList.ts
+++ b/src/views/largeScreen/components/optionList.ts
@@ -249,9 +249,10 @@ export const getOption2 = (data: any) => {
};
return option;
};
-//食堂周报图
+//z折线
export const getLineOption = (lineData: any) => {
- const maxData = Math.ceil(Math.max(...lineData.line1));
+ const maxData = Math.max(...lineData.line1.flat());
+
const option = {
backgroundColor: '',
tooltip: {
@@ -263,37 +264,41 @@ export const getLineOption = (lineData: any) => {
},
borderColor: '#7ec7ff'
},
- // legend: {
- // align: 'left',
- // right: '5%',
- // top: '1%',
- // type: 'plain',
- // textStyle: {
- // color: '#fff',
- // fontSize: 12
- // },
- // // icon:'rect',
- // itemGap: 15,
- // itemWidth: 18,
- // data: [
- // {
- // name: '上周销售量'
- // },
- // {
- // name: '本周销售量'
- // }
- // ]
- // },
+ legend: {
+ align: 'left',
+ right: '5%',
+ top: '1%',
+ type: 'plain',
+ textStyle: {
+ color: '#fff',
+ fontSize: 12
+ },
+ // icon:'rect',
+ itemGap: 15,
+ itemWidth: 18,
+ data: [
+ {
+ name: '收款金额'
+ },
+ {
+ name: '付款金额'
+ },
+ {
+ name: '净现金流'
+ }
+ ]
+ },
grid: {
top: '12%',
left: '1%',
right: '3%',
- bottom: '12%',
+ bottom: '5%',
containLabel: true
},
xAxis: {
type: 'category',
data: lineData.xLabel,
+ boundaryGap: false,
axisLine: {
show: false
},
@@ -318,21 +323,21 @@ export const getLineOption = (lineData: any) => {
}
}
},
- dataZoom: [
- {
- // show: true,
- start: 0,
- end: 30,
- bottom: 2, // 下滑块距离x轴底部的距离
- height: 23
- },
- {
- type: 'inside'
- }
- ],
+ // dataZoom: [
+ // {
+ // // show: true,
+ // start: 0,
+ // end: 30,
+ // bottom: 2, // 下滑块距离x轴底部的距离
+ // height: 23
+ // },
+ // {
+ // type: 'inside'
+ // }
+ // ],
series: [
{
- name: '逆变器功率',
+ name: '收款金额',
type: 'line',
symbol: 'circle', // 默认是空心圆(中间是白色的),改成实心圆
showAllSymbol: false,
@@ -373,7 +378,95 @@ export const getLineOption = (lineData: any) => {
shadowColor: 'rgba(25,163,223, 0.5)', //阴影颜色
shadowBlur: 20 //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
},
- data: lineData.line1
+ data: lineData.line1[0]
+ },
+ {
+ name: '付款金额',
+ type: 'line',
+ symbol: 'none', // 默认是空心圆(中间是白色的),改成实心圆
+ showAllSymbol: false,
+ symbolSize: 0,
+ smooth: true,
+ lineStyle: {
+ width: 1,
+ color: 'rgba(255, 224, 179, 1)', // 线条颜色
+ borderColor: 'rgba(0,0,0,.4)'
+ },
+ itemStyle: {
+ color: 'rgba(255, 224, 179, 1)',
+ borderWidth: 2,
+ show: true
+ },
+ tooltip: {
+ show: true
+ },
+ areaStyle: {
+ //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
+ color: new echarts.graphic.LinearGradient(
+ 0,
+ 0,
+ 0,
+ 1,
+ [
+ {
+ offset: 0,
+ color: 'rgba(255, 224, 179, 0.4)'
+ },
+ {
+ offset: 1,
+ color: 'rgba(255, 224, 179, 0)'
+ }
+ ],
+ false
+ ),
+ shadowColor: 'rgba(255, 224, 179, 0.6)', //阴影颜色
+ shadowBlur: 20 //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
+ },
+ data: lineData.line1[1]
+ },
+ {
+ name: '净现金流',
+ type: 'line',
+ symbol: 'none', // 默认是空心圆(中间是白色的),改成实心圆
+ showAllSymbol: false,
+ symbolSize: 0,
+ smooth: true,
+ lineStyle: {
+ width: 1,
+ color: 'rgba(39, 255, 252, 1)', // 线条颜色
+ borderColor: 'rgba(0,0,0,.4)'
+ },
+ itemStyle: {
+ color: 'rgba(39, 255, 252, 1)',
+ borderWidth: 2,
+ show: false
+ },
+ tooltip: {
+ show: true
+ },
+ areaStyle: {
+ //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
+ color: new echarts.graphic.LinearGradient(
+ 0,
+ 0,
+ 0,
+ 1,
+ [
+ {
+ offset: 0,
+ color: 'rgba(39, 255, 252, 0.4)'
+ },
+ {
+ offset: 1,
+ color: 'rgba(39, 255, 252, 0)'
+ }
+ ],
+ false
+ ),
+ shadowColor: 'rgba(39, 255, 252, 0.5)', //阴影颜色
+ shadowBlur: 20 //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
+ },
+ data: lineData.line1[2]
}
]
};
diff --git a/src/views/largeScreen/components/rightPage.vue b/src/views/largeScreen/components/rightPage.vue
index d96e850..a87ed17 100644
--- a/src/views/largeScreen/components/rightPage.vue
+++ b/src/views/largeScreen/components/rightPage.vue
@@ -1,31 +1,71 @@
-
+
diff --git a/src/views/tender/bidd/index.vue b/src/views/tender/bidd/index.vue
new file mode 100644
index 0000000..e32016c
--- /dev/null
+++ b/src/views/tender/bidd/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 一键展开
+
+
+ 一键收起
+
+
+
+
+ 导入excel
+
+
+
+
+ 导出excel
+
+
+
+
+
+
+
+
+
+
+
+
+ (scope.row.unitPrice = val)"
+ :precision="2"
+ :step="0.1"
+ :controls="false"
+ v-if="scope.row.quantity && scope.row.quantity != 0"
+ />
+
+
+
+
+ {{ scope.row.price }}
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/tender/plan/index.vue b/src/views/tender/plan/index.vue
index 0a6ec44..806a616 100644
--- a/src/views/tender/plan/index.vue
+++ b/src/views/tender/plan/index.vue
@@ -1,27 +1,482 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+ 新增
+
+
+
+
+
+
+ {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+ 修改
+ 删除
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 一键展开
+
+
+ 一键收起
+
+
+
+
+
+
+
+
+
+
+
+ {
+ scope.row.selectNum = val;
+ handleNumberChange(scope.row);
+ }
+ "
+ :precision="2"
+ :step="1"
+ :controls="false"
+ :max="Math.floor(scope.row.quantity)"
+ v-if="scope.row.quantity && scope.row.quantity != 0"
+ />
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.price }}
+
+
+
+
-
+
From 48a30fd50879c76f87ed2814f0451f7c6a2f1bf7 Mon Sep 17 00:00:00 2001
From: fengsen <2548667232@qq.com>
Date: Thu, 21 Aug 2025 17:34:02 +0800
Subject: [PATCH 4/8] =?UTF-8?q?=E8=B5=84=E9=87=91=E7=9C=8B=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 2 +-
.../components/ProgressComponent.vue | 2 +-
src/views/largeScreen/components/leftPage.vue | 38 +++++++++++++++----
3 files changed, 33 insertions(+), 9 deletions(-)
diff --git a/.env.development b/.env.development
index 8849f99..b59befd 100644
--- a/.env.development
+++ b/.env.development
@@ -5,7 +5,7 @@ VITE_APP_TITLE = 煤科建管平台
VITE_APP_ENV = 'development'
# 开发环境
-VITE_APP_BASE_API = 'http://192.168.110.213:8899'
+VITE_APP_BASE_API = 'http://192.168.110.180:8899'
# 无人机接口地址
diff --git a/src/views/largeScreen/components/ProgressComponent.vue b/src/views/largeScreen/components/ProgressComponent.vue
index 8620b37..2d7ec49 100644
--- a/src/views/largeScreen/components/ProgressComponent.vue
+++ b/src/views/largeScreen/components/ProgressComponent.vue
@@ -72,7 +72,7 @@ const percentageClass = computed(() => {
.progress_component {
width: 100%;
height: 100%;
-
+ margin-bottom: 10px;
:deep(.el-progress-bar__outer) {
background-color: transparent;
}
diff --git a/src/views/largeScreen/components/leftPage.vue b/src/views/largeScreen/components/leftPage.vue
index 804ea76..c664040 100644
--- a/src/views/largeScreen/components/leftPage.vue
+++ b/src/views/largeScreen/components/leftPage.vue
@@ -2,22 +2,45 @@
@@ -26,12 +49,13 @@ import ProgressComponent from './ProgressComponent.vue';
.leftPage {
width: 100%;
height: 100%;
- background: #0c1e35;
-
- .kpi_box {
+ .kpi_box{
+ margin-bottom: 10px;
+ }
+ .kpi_box,.contract_box {
padding: 10px;
box-sizing: border-box;
+ border: 1px solid rgba(29, 214, 255, 0.3);
}
-
}
From 15a724a5fe76a1880f3bf03ac8db1b8dd412af43 Mon Sep 17 00:00:00 2001
From: fengsen <2548667232@qq.com>
Date: Thu, 21 Aug 2025 18:45:51 +0800
Subject: [PATCH 5/8] =?UTF-8?q?=E8=B5=84=E9=87=91=E7=9C=8B=E6=9D=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 4 --
src/views/largeScreen/components/leftPage.vue | 16 ++++-
.../largeScreen/components/optionList.ts | 68 +++++++++++++++++--
3 files changed, 78 insertions(+), 10 deletions(-)
diff --git a/.env.development b/.env.development
index ad65c33..b59befd 100644
--- a/.env.development
+++ b/.env.development
@@ -5,11 +5,7 @@ VITE_APP_TITLE = 煤科建管平台
VITE_APP_ENV = 'development'
# 开发环境
-<<<<<<< HEAD
VITE_APP_BASE_API = 'http://192.168.110.180:8899'
-=======
-VITE_APP_BASE_API = 'http://192.168.110.149:8899'
->>>>>>> aab67593ebb8d9116738d0d867a6119ba61615c8
# 无人机接口地址
diff --git a/src/views/largeScreen/components/leftPage.vue b/src/views/largeScreen/components/leftPage.vue
index c664040..683c9a3 100644
--- a/src/views/largeScreen/components/leftPage.vue
+++ b/src/views/largeScreen/components/leftPage.vue
@@ -33,16 +33,25 @@
/>
-
+
diff --git a/src/views/tender/plan/index.vue b/src/views/tender/plan/index.vue
index 806a616..a7d5883 100644
--- a/src/views/tender/plan/index.vue
+++ b/src/views/tender/plan/index.vue
@@ -64,6 +64,11 @@
+
+
+
+
+
@@ -146,7 +151,16 @@ import { useUserStoreHook } from '@/store/modules/user';
import { getDicts } from '@/api/system/dict/data';
import { Plus } from '@element-plus/icons-vue';
import { FormInstance } from 'element-plus';
-import { treeList, sheetList, segmentedIndicatorPlanning, getPlanningList, updatePlanning, delPlanning, getDetailsList } from '@/api/contract/index';
+import {
+ sheetList,
+ tenderPlanList,
+ addTenderPlan,
+ delTenderPlan,
+ updateTenderPlan,
+ treeList,
+ getTenderPlanDetail,
+ obtainAllVersionNumbers
+} from '@/api/tender/index';
const userStore = useUserStoreHook();
const currentProject = computed(() => userStore.selectedProject);
@@ -175,6 +189,9 @@ const rules = ref({
content: [{ required: true, message: '请输入内容', trigger: 'blur' }]
});
const loading = ref(false);
+const planType = computed(() => {
+ return activeTab.value == '2' ? '3' : '2';
+});
//字典获取数据
const getTabsList = async () => {
@@ -198,9 +215,10 @@ const getList = async () => {
projectId: currentProject.value?.id,
...queryParams.value,
...queryForm.value,
- dictName: activeTab.value
+ dictName: activeTab.value,
+ type: planType.value
};
- const res = await getPlanningList(params);
+ const res = await tenderPlanList(params);
if (res.code == 200) {
tableData.value = res.rows;
total.value = res.total;
@@ -234,7 +252,7 @@ const resetQuery = () => {
const openDialog = () => {
dialogVisible.value = true;
- getSheetName();
+ getVersionNums();
};
const closeDialog = () => {
dialogVisible.value = false;
@@ -246,19 +264,50 @@ const closeDialog = () => {
};
const treeData = ref([]);
const treeForm = ref({
- sheet: ''
+ sheet: '',
+ versions: ''
});
const sheets = ref([]);
const treeTableRef = ref();
const isExpandAll = ref(false);
const treeLoading = ref(false);
const selectionData = ref([]);
+const options = ref([]);
+//切换版本
+const changeVersions = () => {
+ getSheetName();
+};
+//获取版本号
+const getVersionNums = async () => {
+ try {
+ const params = {
+ projectId: currentProject.value?.id,
+ workOrderType: planType.value,
+ pageSize: 1000,
+ pageNum: 1
+ };
+
+ const res = await obtainAllVersionNumbers(params);
+ if (res.code == 200) {
+ options.value = res.data;
+ if (res.data.length > 0) {
+ treeForm.value.versions = res.data[0].versions;
+ getSheetName();
+ } else {
+ treeForm.value.versions = '';
+ getSheetName();
+ }
+ }
+ } catch (error) {
+ console.log(error);
+ }
+};
//获取表名
const getSheetName = async () => {
try {
const params = {
- projectId: currentProject.value?.id
- // versions: queryForm.value.versions
+ projectId: currentProject.value?.id,
+ versions: treeForm.value.versions
};
const res = await sheetList(params);
if (res.code == 200) {
@@ -333,7 +382,9 @@ const getTreeList = async () => {
treeLoading.value = true;
const params = {
projectId: currentProject.value?.id,
- sheet: treeForm.value.sheet
+ sheet: treeForm.value.sheet,
+ versions: treeForm.value.versions,
+ type: planType.value
};
const res = await treeList(params);
if (res.code == 200) {
@@ -381,10 +432,10 @@ const submitForm = async (formEl: FormInstance | undefined) => {
...form.value,
dictName: activeTab.value,
limitListBos,
- type: activeTab.value == '2' ? '3' : '2'
+ type: planType.value
};
- return;
- const res = await segmentedIndicatorPlanning(params);
+
+ const res = await addTenderPlan(params);
if (res.code == 200) {
ElMessage({
message: '新增成功',
@@ -411,7 +462,7 @@ const handleSave = (row: any) => {
});
return;
}
- updatePlanning(row).then((res) => {
+ updateTenderPlan({ ...row, type: planType.value }).then((res) => {
if (res.code == 200) {
ElMessage({
message: '修改成功',
@@ -432,7 +483,7 @@ const handleSave = (row: any) => {
const delHandle = (row: any) => {
try {
const params = { ids: row.id };
- delPlanning(params).then((res) => {
+ delTenderPlan(params).then((res) => {
if (res.code == 200) {
ElMessage({
message: '删除成功',
@@ -459,7 +510,7 @@ const handleDetail = (row: any) => {
getDetails(row);
};
const getDetails = (row: any) => {
- getDetailsList({ id: row.id }).then((res) => {
+ getTenderPlanDetail({ id: row.id }).then((res) => {
if (res.code == 200) {
detailData.value = res.data;
}
From 5870c66161f716cfc672c7de9ddcc4125d0c7f92 Mon Sep 17 00:00:00 2001
From: tcy <1193318383@qq.com>
Date: Thu, 21 Aug 2025 20:21:03 +0800
Subject: [PATCH 7/8] =?UTF-8?q?refactor(largeScreen):=20=E9=87=8D=E6=9E=84?=
=?UTF-8?q?=E5=A4=A7=E5=B1=8F=E5=B1=95=E7=A4=BA=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 修改 ProgressComponent 组件,增加 isShowPrice 属性控制是否显示价格
- 更新 rightPage 组件,添加新的 ProgressComponent 实例
- 优化 tender/plan/index.vue 页面结构,简化代码
---
.../components/ProgressComponent.vue | 21 +-
.../largeScreen/components/rightPage.vue | 23 +-
src/views/tender/plan/index.vue | 789 ++----------------
3 files changed, 105 insertions(+), 728 deletions(-)
diff --git a/src/views/largeScreen/components/ProgressComponent.vue b/src/views/largeScreen/components/ProgressComponent.vue
index 2d7ec49..da1b86c 100644
--- a/src/views/largeScreen/components/ProgressComponent.vue
+++ b/src/views/largeScreen/components/ProgressComponent.vue
@@ -4,16 +4,12 @@
{{ title }}
{{ percentageChange }}
-
+
{{ value }}
{{ unit }}
-
+
@@ -56,14 +52,19 @@ const props = defineProps({
progressColor: {
type: String,
default: 'rgba(255, 77, 79, 1)'
+ },
+ // 是否显示价格
+ isShowPrice: {
+ type: Boolean,
+ default: true
}
});
// 计算百分比变化的样式类(红色或绿色)
const percentageClass = computed(() => {
// 检查变化值是否为正数
- const isPositive = props.percentageChange.startsWith('+') ||
- (!props.percentageChange.startsWith('-') && props.percentageChange !== '0.00%');
+ const isPositive = props.percentageChange.startsWith('+') ||
+ (!props.percentageChange.startsWith('-') && props.percentageChange !== '0.00%');
return isPositive ? 'green' : 'red';
});
@@ -73,6 +74,7 @@ const percentageClass = computed(() => {
width: 100%;
height: 100%;
margin-bottom: 10px;
+
:deep(.el-progress-bar__outer) {
background-color: transparent;
}
@@ -116,5 +118,4 @@ const percentageClass = computed(() => {
color: rgba(0, 227, 150, 1);
}
}
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/views/largeScreen/components/rightPage.vue b/src/views/largeScreen/components/rightPage.vue
index 0df2f6d..8ffd7cd 100644
--- a/src/views/largeScreen/components/rightPage.vue
+++ b/src/views/largeScreen/components/rightPage.vue
@@ -29,10 +29,12 @@
@@ -42,6 +44,7 @@
import TitleComponent from './TitleComponent.vue';
import EchartBox from '@/components/EchartBox/index.vue';
import { getLineOption, getBarOptions } from './optionList';
+import ProgressComponent from './ProgressComponent.vue';
const lineOption = ref();
const barOption = ref();
@@ -94,6 +97,7 @@ onMounted(() => {
box-sizing: border-box;
// padding: 5px;
}
+
.funds {
width: 100%;
// height: 40%;
@@ -101,11 +105,13 @@ onMounted(() => {
box-sizing: border-box;
padding: 10px 5px;
}
+
.funds_echarts {
width: 100%;
height: 25vh;
padding: 10px 0 0 0;
}
+
.cashFlow {
width: 100%;
// height: 50%;
@@ -114,6 +120,7 @@ onMounted(() => {
padding: 10px 5px;
margin-top: 20px;
}
+
.inflowData {
width: 100%;
height: 12vh;
@@ -122,6 +129,7 @@ onMounted(() => {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 10px;
+
.inflow {
width: 100%;
height: 100%;
@@ -141,12 +149,14 @@ onMounted(() => {
color: #fff;
padding-bottom: 10px;
}
+
.number {
font-size: 24px;
// font-weight: 500;
color: #fff;
padding-bottom: 10px;
}
+
.unit {
font-size: 12px;
// font-weight: 500;
@@ -154,12 +164,21 @@ onMounted(() => {
}
}
}
+
.inflow_echarts {
width: 100%;
height: 25vh;
margin-top: 20px;
}
+
.progress {
width: 100%;
+ margin-top: 20px;
+}
+
+:deep(.progress_text) {
+ .roboto {
+ color: #fff;
+ }
}
diff --git a/src/views/tender/plan/index.vue b/src/views/tender/plan/index.vue
index bb7f880..75c3732 100644
--- a/src/views/tender/plan/index.vue
+++ b/src/views/tender/plan/index.vue
@@ -1,230 +1,22 @@
- <<<<<<< HEAD
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+ 搜索
+ 重置
+ 新增
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- =======
-
-
-
-
-
-
-
-
-
- >>>>>>> aab67593ebb8d9116738d0d867a6119ba61615c8
-
-
- 搜索
- 重置
- <<<<<<< HEAD
-
-
-
-
-
-
-
-
-
- 修改
-
-
-
- 上传文件
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.plannedBiddingTime, '{y}-{m}-{d}') }}
-
-
-
-
- {{
- ['1', 1].includes(scope.row.plannedBiddingMethod)
- ? '公招'
- : ['2', 2].includes(scope.row.plannedBiddingMethod)
- ? '邀标'
- : scope.row.plannedBiddingMethod || '-'
- }}
-
-
-
-
-
-
-
-
- 查看
-
-
-
-
- 查看
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 点击或拖拽文件到此处上传
-
- 支持上传多个文件,格式不限,单个文件大小不超过10MB
-
-
-
-
- 取消
- 确认上传
-
-
-
-
-
-
-
-
-
-
- 已自动关联当前选中项目
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.originalName || '查看文件' }}
-
-
-
-
-
-
- 关闭
-
-
- =======
- 新增
-
-
+
@@ -251,63 +43,8 @@
-<<<<<<< HEAD
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 一键展开
-
-
- 一键收起
-
-
-
-
-
-
-
-
-
-
-
- {
- scope.row.selectNum = val;
- handleNumberChange(scope.row);
- }
- " :precision="2" :step="1" :controls="false" :max="Math.floor(scope.row.quantity)"
- v-if="scope.row.quantity && scope.row.quantity != 0" />
-
-
-
-
- {
- scope.row.selectNum = val;
- handleNumberChange(scope.row);
- }
- "
- :precision="2"
- :step="1"
- :controls="false"
- :max="Math.floor(scope.row.quantity)"
- v-if="scope.row.quantity && scope.row.quantity != 0"
- />
+ {
+ scope.row.selectNum = val;
+ handleNumberChange(scope.row);
+ }
+ " :precision="2" :step="1" :controls="false" :max="Math.floor(scope.row.quantity)"
+ v-if="scope.row.quantity && scope.row.quantity != 0" />
-
-
-
-
- 取消
- 确定
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.price }}
-
-
- >>>>>>> aab67593ebb8d9116738d0d867a6119ba61615c8
-
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.price }}
+
+
+
+
-
-
\ No newline at end of file
+
From 40cb0589f886127e42932016421971e716c1e068 Mon Sep 17 00:00:00 2001
From: fengsen <2548667232@qq.com>
Date: Thu, 21 Aug 2025 21:37:32 +0800
Subject: [PATCH 8/8] =?UTF-8?q?=E8=B5=84=E9=87=91=E7=9C=8B=E6=9D=BF-?=
=?UTF-8?q?=E5=AE=8C=E5=96=84-=E6=95=B0=E6=8D=AE=E6=9A=82=E6=97=B6?=
=?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=AF=B9=E6=8E=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env.development | 2 +-
src/assets/large/down.png | Bin 0 -> 438 bytes
src/assets/large/top1.png | Bin 0 -> 1571 bytes
src/assets/large/top2.png | Bin 0 -> 1565 bytes
src/assets/large/top3.png | Bin 0 -> 1900 bytes
src/assets/large/top4.png | Bin 0 -> 2048 bytes
src/assets/large/up.png | Bin 0 -> 386 bytes
.../components/RevenueContractCard.vue | 167 ++++++++++++++++++
.../components/bottomboxconpoent.vue | 45 +++++
.../largeScreen/components/centerPage.vue | 54 +++++-
.../largeScreen/components/rightPage.vue | 5 +-
11 files changed, 268 insertions(+), 5 deletions(-)
create mode 100644 src/assets/large/down.png
create mode 100644 src/assets/large/top1.png
create mode 100644 src/assets/large/top2.png
create mode 100644 src/assets/large/top3.png
create mode 100644 src/assets/large/top4.png
create mode 100644 src/assets/large/up.png
create mode 100644 src/views/largeScreen/components/RevenueContractCard.vue
create mode 100644 src/views/largeScreen/components/bottomboxconpoent.vue
diff --git a/.env.development b/.env.development
index 6e07116..b59befd 100644
--- a/.env.development
+++ b/.env.development
@@ -5,7 +5,7 @@ VITE_APP_TITLE = 煤科建管平台
VITE_APP_ENV = 'development'
# 开发环境
-VITE_APP_BASE_API = 'http://192.168.110.149:8899'
+VITE_APP_BASE_API = 'http://192.168.110.180:8899'
# 无人机接口地址
diff --git a/src/assets/large/down.png b/src/assets/large/down.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd2f40010791055944d801d1e00db95a473838e6
GIT binary patch
literal 438
zcmV;n0ZIOeP)Px#1am@3R0s$N2z&@+hyVZqU`a$lR9J=Wm_c&FFbqY%Jlw0!K7`&V$&E^3PkOPc
ziv*W|9m}!0yJv6J%h-!F99Y3aPw}rYhmE1&Myc)qy4f0XLR4{hEtv
z)~9AZ`bA(5P5QyyKN-wBHM|?glfZ&wEVu@(47NB|7k9Ijz@mdbx-b?76FCpj7F!5R
zY=y+DbtYJnH%r?0m0-zcG5HZ95lrP?RWBn#FtwdlKi5RSvi!Xo3J8K_FC1A=SGny3
g0G+@45;@;ae+_55eN&C}WB>pF07*qoM6N<$f-A|d`~Uy|
literal 0
HcmV?d00001
diff --git a/src/assets/large/top1.png b/src/assets/large/top1.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5b82686c55b49c3eac41fe65d0574265d4bf1fc
GIT binary patch
literal 1571
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
M(3ep)CT@5B2I|M<%>V!Z
literal 0
HcmV?d00001
diff --git a/src/assets/large/top3.png b/src/assets/large/top3.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a67e61c7241bf8bd1d116ce5ff024be5c61f892
GIT binary patch
literal 1900
zcmb7F`#%#3AD-p1=3s3#mqjBL7`~@e10$2?U000#1Y;hNN
zk@4>Z$?jfLiqYUMNCjUcU;*X)gP(SZbTHP=1++W2L6kTEKn`w)vvOf%iL!YC?`IYo`n6yQf9Xn3YFy~VP_qud5H(E
zdbB#=)W`nNK&QU8Ut6*4~z9qXIrfL6sTv+^U>-C!3E4y7kI9&73JEew^wKgtjMM2-jf3c#19=?
zlQi~}J!wHhngN+$UD)}auK(0Z=M`S!7BYpe$>i_P;IFyI(ZyqARp%4Dmp|g#l*WcK
z9S>x9X)Gf3MPX&W*YG7d8%q--MME$dzZ)pugs$pEWVYz(CC@}#M|R__vTA2zbVj3`
z)C;32y{Y3|Iy3ve;7u`G<2$mk-hh=6_D#H;L~1}vNZD^3G(GlpKPH~1FUQ6JhsK?A
z(^M3Lk}iiSJlHn>N`h52lm~rd6mz6yqxbMpP1eFGPCyB5fv2>it5Bty7|Q4e8bscC
z7ci{C4M#UC0GRxo&A4(6Bbri;^x5s5hqzOUnRP5TsAwCtx1#g27jdcX&R&>=jv!KL
zp-`_}dI=LthN
zm%%a+Go!@kJJx4vApf-`4;=KwqV^d@TYi16!5URsBXw52XW2zTYTpjVQ$X5=sM1i`rf~qN{=5iRiRk4#cO})gXk(F2=6%?!?cgREr`W!P
zXl81hTk&B4+1%u6kf1Bg(|gqCS&MwCYvEM}@~#1FbIj^J3<1-k%X`8p6UTp^y%`}i
znMh8v(u`uTcaF6V*fd4G{@EO
zh7h^S*L{BLY#FMdQ=H_Q^qd3X3tcg$;{i(LQDdq!aek#PpS00iKm}Nz>g`*iIK}4t
zE%f^izMj$&N~yB^Q~6wRq09XBfJ6T5m-=Ai_AuXXkjv3R6NOS;X-9p_Zl#wpeR@=L
zbO1q?W^K_R4LySG{(4auWcqa4k9DBZ3aErG*XxEafS6{5i>~x6Gis%wAk)7`R$(Ab
zVutKaRqJq$5}eUHzHO>t&8>hMm3Q`%nnA1=f)B8p7V$dm=y*y?*A_C6J@r!
zB!iIF_XI<@>ul2eihWAi59Hq+4QEs;Y7Qfbp2Uw`XnO+db`mlF(n?>Q7-H|=nNEt7
zJCz15WJP}f{>qRT3}{9WBE}-~_*bJK*#*XIX9pH%_?V+2Lj(7ndA7pug{^M0`f)@dBd!aLH6
zrxQ13>K%}|B`!QyvaJ4U>d^1Hl_u!>Rx$WG_1(0T+-_Jw?MJjHu3Mzc+^i}~iSI~U
zZ~mUo9w|zkUhe+McY%Xz8Z>t4ANP_U__96g(LQV=5o10`+LA^tP%SPU3~z{WX|4|L
zQPXm*aP%a-GWVOG4!M@w^kelo78=0}6pHf;Yvwr)Su0F6G
zlth|4Oc?W*ex#B+JXO;!bNq$uJui##4nz7}{XI7o1ERnopXw6chiHyzofW9#b|y-u
zuD~s2yz`h?sKBUaTMM&*{V-!CpEGHr%?zz*bL0)FRm}^0f4GNC^|%g}&7Mmdj>g@(
zD?eFxe>6Sz&5PL4beu24;|r}n6}h>$HZV_1VIp~8t*~U${nd|Kxq&NnbkE-1#st{m
Kop9w?67wHKe2Oms
literal 0
HcmV?d00001
diff --git a/src/assets/large/top4.png b/src/assets/large/top4.png
new file mode 100644
index 0000000000000000000000000000000000000000..1cbe562131b88876e6f51ee3de32329c14930b33
GIT binary patch
literal 2048
zcma)7c{me}8(-TnmFD<5S4m1zm}9J3jyYEd@#xT+YZ1zvbKhrmSe}BLCdEWPZKF|BUf4qNuKA&`ZJ1dF3N_znSfCR?c+)>zx
z|0G0ISkHJGyc4!PL5@~vK*O7Z%R&GSLSvjD!ia)+rU3wAH5hYKCt~s16Gq?%YsmrH
z;S#BPI(F@jXNb`sW^0_bzINV!ZbVf22p0^^ABSv^&VNWfSu#l!XMVU$a6b!JJihIKMPmPuPvk4t60wNTiE
zs7YiFXdT{R{QZT<>S~o^YjcKGcWZTmTY%2f6OwMZ;yvQs%GiY{Uaohutukz1)Y$4a
zcQU$-=Eslk3H8p5ylQDRh0AVA{i&}@gWw6tcM&)ZxS7ic!b-hJyv7+|&l0qr;cgm^NX?3jqFVificdBBd&4cVN{T0JMPw99Z#p=?9md3V
z+o0~}Rn*JL#62XEmeT0?s=({n5Wh1=8~-;zjD$e254ttuie{+Ky2HSKy1XgFDRX?j
z#kA$>g=1PDD8Kp+(P`72&w9Jnp=!i2$>L8X0u^jw51X>KT`6Z`o6Re`^8*b_Hd|109^r|DiikBH(mts^5RJQY`
zQW3z{g$m2x9waK4CeJpaaVcF{KU`+BpMg3$*8==y2B6IS(JO2U0ig1|!<^6h=V-1V^3YGbjo%XU|Oyk=3E$(`gsOvxkZ+}sQ&K%`jkU$WfF7^Id2yBk8_xWIrG;g9xuf}O@m5JCqQi{*q}zgggM&P
zTWNMVkg@}2^N&LP4Y9Z*rw(NRNnY-LLH=1?Hh8yWIz>8?zffcI4bB^S>2(%UCr3Q5
zJ+X#-hozSNg%I}!Vn_NmuEZ??wN)bzg)BCa4L0E;_5e6hr4h%T=hNDqg14G*{n8>RX-sp`cTQD6!3pA{Q$?`0K{Ob&^Cije6G`ic7nc1y=i^}uR&x(=fnNjU^p``M?R8gN=G7QhYh_2%Ph$O&
z=_Ufkue-vP?d476`9;h4iC_X9jX14UY%`;<)Ndv0nasvh^HjG)uGFP0Lmy6Q=6)Qy
zU%Uw4$E;ba2Q+rcyHJ0$bf=_)^fj4NmzWSv{hO*2}2^i@x)DGYZ>*0d*Z~xlsqbD=y|!
z*6~pi*>>!5`4{{-zq^?X683mt;Xx{WC^pK$2lGPm)`)@m6jUhK!~JD9U#axO1bpYp00eK0=bWEs-)^O?*+|;$
zmb@qJ1weKi{SuSh(-F>qfONiTI|pJR<68q@t1`_!1Z39-Nu_TU{s^q~_efV<$Rfvt
ztBG6Wjq8T^4j3204v22B3^78jZrPPD#R^b}X&$DSKej=khj_0lz%U&fgLL
z+*Hga(4pqL&|n%Z8-sQbnEd(;VxpNEK}MVDTA~M@MqVX}r=});nUlHUS=n(hHi4f(
zn*|MbYW2Mfp0zqJfO*S27_@&c!G{nL-#$D}jZVjc5*lp%g2hYM`Ohf=sS!t;;r
zHZq|qCdkREFmgjXzwUUzXe8${E})~+r>9}`OMC5_nG&YsDCoyqCN
zlq*{SACi2xMX22gWv$<=2E7sj(7eeQflrbPiS)!Rih7N{i_SRRfNV
x1hP!_punkGJ#;I$4^BVyJ2$q{IIKZq7kU;8AVBcDD?%3sU@Yv+8_>9f{{rmL;SB%)
literal 0
HcmV?d00001
diff --git a/src/assets/large/up.png b/src/assets/large/up.png
new file mode 100644
index 0000000000000000000000000000000000000000..6cabc105c4c5be4d4718413991c5df2de729edcb
GIT binary patch
literal 386
zcmV-|0e$|7P)Px#1am@3R0s$N2z&@+hyVZqEJ;K`R9J=W*wKxHFc1XL!MZl+#VLntf?O4pb51Q3
z!hIMvLIHbrZ70%+`Ql^ac`^zy=}?+^8so*{fi3`epdUiXl3h7yxgRWhD}mWjryyC{
z46~uKAX(l7)1zpRRH$J(lo}*8Dj1J4gQSXvaj0UD)KRcJsv1Ztv#>O(I!J1huya&1
zkW`<-j#14)Qhx}0MZFCqgcsNz^>&ajcCaVvV<4dj%o#y}oMGnHEWem1A5rtr^2eQKEX>(*ng9R*07*qoM6N<$f&qb{6#xJL
literal 0
HcmV?d00001
diff --git a/src/views/largeScreen/components/RevenueContractCard.vue b/src/views/largeScreen/components/RevenueContractCard.vue
new file mode 100644
index 0000000..14154dc
--- /dev/null
+++ b/src/views/largeScreen/components/RevenueContractCard.vue
@@ -0,0 +1,167 @@
+
+
+
+
{{ title }}
+
+
+
+ {{ formattedValue }}
+ {{ unit }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/largeScreen/components/bottomboxconpoent.vue b/src/views/largeScreen/components/bottomboxconpoent.vue
new file mode 100644
index 0000000..6735331
--- /dev/null
+++ b/src/views/largeScreen/components/bottomboxconpoent.vue
@@ -0,0 +1,45 @@
+
+
+
收入合同
+
+ 205,805.17
+ 万元
+
+
+
+
+
+ 成本率
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/largeScreen/components/centerPage.vue b/src/views/largeScreen/components/centerPage.vue
index d250de8..aee49f0 100644
--- a/src/views/largeScreen/components/centerPage.vue
+++ b/src/views/largeScreen/components/centerPage.vue
@@ -1,8 +1,55 @@
@@ -10,6 +57,8 @@
// import { getPowerStationOverview } from '@/api/large';
import * as echarts from 'echarts';
import china from '@/assets/china.json';
+import RevenueContractCard from './RevenueContractCard.vue';
+import bottomboxconpoent from './bottomboxconpoent.vue';
const data = ref({});
// 地图容器引用
@@ -168,9 +217,12 @@ onUnmounted(() => {
padding: 0 10px 10px 10px;
box-sizing: border-box;
+
.centerPage_map {
width: 100%;
- height: 100%;
+ height: 60%;
}
+
+
}
diff --git a/src/views/largeScreen/components/rightPage.vue b/src/views/largeScreen/components/rightPage.vue
index 8ffd7cd..bcde746 100644
--- a/src/views/largeScreen/components/rightPage.vue
+++ b/src/views/largeScreen/components/rightPage.vue
@@ -93,7 +93,6 @@ onMounted(() => {
.rightPage {
width: 100%;
height: 100%;
- background: #0c1e35;
box-sizing: border-box;
// padding: 5px;
}
@@ -118,7 +117,7 @@ onMounted(() => {
border: 1px solid rgba(29, 214, 255, 0.3);
box-sizing: border-box;
padding: 10px 5px;
- margin-top: 20px;
+ margin-top: 10px;
}
.inflowData {
@@ -173,7 +172,7 @@ onMounted(() => {
.progress {
width: 100%;
- margin-top: 20px;
+ margin-top: 10px;
}
:deep(.progress_text) {