From 47af3e1ce3bdce626f3dfc8432a29aeaadc747bd Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Sat, 29 Nov 2025 14:57:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/employee/index.js | 56 ++++ src/views/dashboard/index.vue | 15 +- src/views/employee/components/addEmployee.vue | 242 ++++++++++++++++++ src/views/employee/index.vue | 216 ++++++++++++++++ src/views/statistics/index.vue | 35 ++- src/views/student/schoolmateCompany.vue | 115 ++++++++- 6 files changed, 652 insertions(+), 27 deletions(-) create mode 100644 src/api/employee/index.js create mode 100644 src/views/employee/components/addEmployee.vue create mode 100644 src/views/employee/index.vue diff --git a/src/api/employee/index.js b/src/api/employee/index.js new file mode 100644 index 0000000..8f050e7 --- /dev/null +++ b/src/api/employee/index.js @@ -0,0 +1,56 @@ +import request from "@/utils/request"; +function customParamsSerializer(params) { + let result = ''; + for (let key in params) { + if (params.hasOwnProperty(key)) { + if (Array.isArray(params[key])) { + params[key].forEach((item, index) => { + if (item.key) { + result += `${key}[${index}][key]=${item.key}&${key}[${index}][op]=${item.op}&${key}[${index}][value]=${item.value}&`; + + } else { + result += `${key}[${index}]=${item}&` + } + }); + } else { + result += `${key}=${params[key]}&`; + } + } + } + return result.slice(0, -1); +} + +export function index(params, isLoading = false) { + return request({ + method: "get", + url: "/api/admin/employee-participations/index", + params, + paramsSerializer: customParamsSerializer, + isLoading + }) +} + +export function show(params, isLoading = true) { + return request({ + method: "get", + url: "/api/admin/employee-participations/show", + params, + isLoading + }) +} + +export function save(data) { + return request({ + method: "post", + url: "/api/admin/employee-participations/save", + data + }) +} + +export function destroy(params) { + return request({ + method: "get", + url: "/api/admin/employee-participations/destroy", + params + }) +} diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index a8a3953..98e9869 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -62,7 +62,7 @@
- {{ item.current }}{{ item.unit }} + {{ item.current }}{{ item.unit }} {{ getProgressPercent(item) }}%
{{ getProgressPercent(item) }}%
@@ -105,10 +105,10 @@
- +
- +
苏州
全国
+
校友分布
@@ -212,7 +213,7 @@ @mouseleave="hoveredArea = null" >
- 校友数: {{ item.value }} + {{ item.value }}人
@@ -357,10 +358,10 @@ export default { '姑苏区': { labelLeft: '47.12%', labelTop: '28.68%', focusLeft: '45.88%', focusTop: '36.04%', focusWidth: '10.49%' }, // 工业园区 - 实际位置: x: 265, y: 164, 宽: 81 // center: (305.5, 201) → 57.21%, 45.27% - '工业园区': { labelLeft: '63.21%', labelTop: '33.27%', focusLeft: '49.63%', focusTop: '36.94%', focusWidth: '15.17%' }, + '工业园区': { labelLeft: '60.21%', labelTop: '33.27%', focusLeft: '49.63%', focusTop: '36.94%', focusWidth: '15.17%' }, // 昆山市 - 实际位置: x: 285, y: 133, 宽: 170 // center: (370, 211) → 69.29%, 47.52% - '昆山市': { labelLeft: '78.29%', labelTop: '30.52%', focusLeft: '51.37%', focusTop: '29.95%', focusWidth: '31.84%' }, + '昆山市': { labelLeft: '75.29%', labelTop: '30.52%', focusLeft: '51.37%', focusTop: '29.95%', focusWidth: '31.84%' }, // 吴中区 - 实际位置: x: 75, y: 175, 宽: 238 // center: (194, 244.5) → 36.33%, 55.07% '吴中区': { labelLeft: '32.33%', labelTop: '40.07%', focusLeft: '13.04%', focusTop: '39.41%', focusWidth: '44.57%' }, @@ -1433,7 +1434,7 @@ export default { white-space: nowrap; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35); position: absolute; - right: 0px; + right: -2.1vw; z-index: 1; } diff --git a/src/views/employee/components/addEmployee.vue b/src/views/employee/components/addEmployee.vue new file mode 100644 index 0000000..81661a2 --- /dev/null +++ b/src/views/employee/components/addEmployee.vue @@ -0,0 +1,242 @@ + + + + + + diff --git a/src/views/employee/index.vue b/src/views/employee/index.vue new file mode 100644 index 0000000..0db4f06 --- /dev/null +++ b/src/views/employee/index.vue @@ -0,0 +1,216 @@ + + + + + + diff --git a/src/views/statistics/index.vue b/src/views/statistics/index.vue index 16ad5a5..0ed6fc7 100644 --- a/src/views/statistics/index.vue +++ b/src/views/statistics/index.vue @@ -304,20 +304,20 @@ export default { label: '上市公司数', cardClass: 'student-card-1' }, - { - key: 'company_market_after_enrollment_total', - icon: 'el-icon-s-marketing', - value: '0', - label: '入学后上市公司数', - cardClass: 'student-card-2' - }, - { - key: 'company_market_year_total', - icon: 'el-icon-s-finance', - value: '0', - label: '今年上市公司数', - cardClass: 'student-card-3' - } + // { + // key: 'company_market_after_enrollment_total', + // icon: 'el-icon-s-marketing', + // value: '0', + // label: '入学后上市公司数', + // cardClass: 'student-card-2' + // }, + // { + // key: 'company_market_year_total', + // icon: 'el-icon-s-finance', + // value: '0', + // label: '今年上市公司数', + // cardClass: 'student-card-3' + // } ] }, { @@ -337,6 +337,13 @@ export default { value: '0', label: '入学后被投企业数', cardClass: 'student-card-2' + }, + { + key: 'company_invested_year_total', + icon: 'el-icon-s-flag', + value: '0', + label: '今年被投企业数', + cardClass: 'student-card-3' } ] }, diff --git a/src/views/student/schoolmateCompany.vue b/src/views/student/schoolmateCompany.vue index 38c4fd2..97c592d 100644 --- a/src/views/student/schoolmateCompany.vue +++ b/src/views/student/schoolmateCompany.vue @@ -1,5 +1,20 @@