From cd95b584fe7da1ea63476871eabf512213a31e69 Mon Sep 17 00:00:00 2001
From: 王恒 <318726284@qq.com>
Date: 星期五, 18 七月 2025 17:42:03 +0800
Subject: [PATCH] '计划管理模块开发完成'
---
src/api/system/manage.ts | 18 +++++++++
src/views/login.vue | 2
src/views/system/manage/index.vue | 79 ++++++++++++++++++++++++---------------
src/layout/components/Sidebar/Logo.vue | 4 +-
src/views/infomanger/infoLook/components/createQrcode.vue | 4 +-
index.html | 2
src/views/infomanger/companymanger/components/createQrcode.vue | 4 +-
package.json | 4 +-
8 files changed, 77 insertions(+), 40 deletions(-)
diff --git a/index.html b/index.html
index 3c2e529..7fac20b 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<!-- <link rel="icon" href="/logo.ico" /> -->
- <title>鎯犱紒鎵ф硶</title>
+ <title>瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴</title>
<script src='//webapi.amap.com/maps?v=2.0&key=a3472b04ae282cabb61670b13c7b90ab' type="text/javascript"></script>
<script src="//webapi.amap.com/ui/1.1/main.js"></script>
<!--[if lt IE 11
diff --git a/package.json b/package.json
index f725384..38aadb9 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
"name": "ruoyi",
"version": "3.8.5",
- "description": "鎯犱紒鎵ф硶",
- "author": "鎯犱紒鎵ф硶",
+ "description": "瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴",
+ "author": "瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴",
"scripts": {
"build:prod": "vite build",
"build:stage": "vite build --mode staging",
diff --git a/src/api/system/manage.ts b/src/api/system/manage.ts
index 52fca89..4dabcaf 100644
--- a/src/api/system/manage.ts
+++ b/src/api/system/manage.ts
@@ -42,3 +42,21 @@
method: "delete",
});
}
+
+// 涓嬭浇妯℃澘 /system/manage/exportTemplate
+export function exportTemplate(data: any) {
+ return request({
+ url: `/system/manage/exportTemplate`,
+ method: 'get',
+ params: data
+ })
+}
+
+// 瀵煎嚭璁″垝绠$悊 /system/manage/exportTemplate
+export function exportManage(data: any) {
+ return request({
+ url: `/system/manage/export `,
+ method: 'get',
+ params: data
+ })
+ }
diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue
index 47ef6a1..51c3d04 100644
--- a/src/layout/components/Sidebar/Logo.vue
+++ b/src/layout/components/Sidebar/Logo.vue
@@ -7,7 +7,7 @@
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/home">
<!-- <img v-if="logotxt" :src="logotxt" class="sidebar-logo-txt" /> -->
- 鎯犱紒鎵ф硶
+ 瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴
</router-link>
</transition>
</div>
@@ -26,7 +26,7 @@
},
});
-const title = ref("鎯犱紒鎵ф硶");
+const title = ref("瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴");
const settingsStore = useSettingsStore();
const sideTheme = computed(() => settingsStore.sideTheme);
</script>
diff --git a/src/views/infomanger/companymanger/components/createQrcode.vue b/src/views/infomanger/companymanger/components/createQrcode.vue
index fe492f9..cc08bd0 100644
--- a/src/views/infomanger/companymanger/components/createQrcode.vue
+++ b/src/views/infomanger/companymanger/components/createQrcode.vue
@@ -2,7 +2,7 @@
<el-dialog title="浜岀淮鐮�" v-model="dialogVisible" width="300px" @close="closeDialog">
<div class="text-center">
<vueQr ref="query" background="#fff" :text="info.companyCode"></vueQr>
- <div style="font-weight: bold;margin-bottom: 10px;">娌堜笜鎯犱紒鎵ф硶</div>
+ <div style="font-weight: bold;margin-bottom: 10px;">瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴</div>
<div>{{ info.companyName }}</div>
<div style="margin-top: 10px;">
<el-link @click="downImage" type="primary">涓嬭浇浼佷笟鐮�</el-link>
@@ -58,7 +58,7 @@
ctx.fillStyle = '#000';
// ctx.setFontWeight('bold')
ctx.font ='bold 20px Arial'
- wrapText(ctx, "娌堜笜鎯犱紒鎵ф硶", 180, 320, 350, 40)
+ wrapText(ctx, "瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴", 180, 320, 350, 40)
// ctx.setFontWeight('normal')
ctx.font ="20px Arial"
wrapText(ctx, text, 180, 350, 350, 20)
diff --git a/src/views/infomanger/infoLook/components/createQrcode.vue b/src/views/infomanger/infoLook/components/createQrcode.vue
index 87aa2da..16b4410 100644
--- a/src/views/infomanger/infoLook/components/createQrcode.vue
+++ b/src/views/infomanger/infoLook/components/createQrcode.vue
@@ -2,7 +2,7 @@
<el-dialog title="浜岀淮鐮�" v-model="dialogVisible" width="300px" @close="closeDialog">
<div class="text-center">
<vueQr ref="query" background="#fff" :text="info.companyCode"></vueQr>
- <div style="font-weight: bold;margin-bottom: 10px;">娌堜笜鎯犱紒鎵ф硶</div>
+ <div style="font-weight: bold;margin-bottom: 10px;">瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴</div>
<div>{{ info.companyName }}</div>
<div style="margin-top: 10px;">
@@ -59,7 +59,7 @@
ctx.fillStyle = '#000';
// ctx.setFontWeight('bold')
ctx.font ='bold 20px Arial'
- wrapText(ctx, "娌堜笜鎯犱紒鎵ф硶", 180, 320, 350, 40)
+ wrapText(ctx, "瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴", 180, 320, 350, 40)
// ctx.setFontWeight('normal')
ctx.font ="20px Arial"
wrapText(ctx, text, 180, 350, 350, 20)
diff --git a/src/views/login.vue b/src/views/login.vue
index c197700..2092eea 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -4,7 +4,7 @@
<Particles id="tsparticles" :particlesInit="particlesInit" :particlesLoaded="particlesLoaded" :options="options" />
<el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
- <h3 class="title">娌堜笜鎯犱紒鎵ф硶</h3>
+ <h3 class="title">瀵熷幙鎵爜鍏ヤ紒鐩戠潱骞冲彴</h3>
<el-form-item prop="username">
<el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="璐﹀彿">
<template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template>
diff --git a/src/views/system/manage/index.vue b/src/views/system/manage/index.vue
index eed9aa5..f11806b 100644
--- a/src/views/system/manage/index.vue
+++ b/src/views/system/manage/index.vue
@@ -29,21 +29,21 @@
<el-button type="primary" plain icon="Plus" @click="handleAdd()" v-hasPermi="['system:dept:add']">鏂板</el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="info" plain icon="Upload" @click="handleImport"
+ <el-button type="warning" plain icon="Upload" @click="handleImport"
v-hasPermi="['system:user:import']">瀵煎叆</el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="primary" plain icon="Download" @click="downLoadCode">瀵煎嚭</el-button>
+ <el-button type="success" plain icon="Download" @click="downLoadCode">瀵煎嚭</el-button>
</el-col>
<el-col :span="1.5">
- <el-button type="primary" plain icon="Download" @click="downLoadCode">鍙戣捣缁煎悎鏌ヤ竴娆�</el-button>
+ <el-button type="primary" plain icon="View" @click="downLoadCode">鍙戣捣缁煎悎鏌ヤ竴娆�</el-button>
</el-col>
</el-row>
+ <!-- @selection-change="handleSelectionChange" -->
<el-table v-if="refreshTable" v-loading="loading" :data="deptList" row-key="companyId"
- :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
- @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" align="center" />
+ :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+ <!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column prop="planNo" label="搴忓彿" width="55">
<template #default="scope">{{ scope.$index + 1 }}</template>
</el-table-column>
@@ -59,7 +59,7 @@
<el-table-column prop="planFrequency" label="璁″垝棰戞" width="180"></el-table-column>
<el-table-column prop="planMonth" label="璁″垝鏈堜唤" width="180"></el-table-column>
<el-table-column prop="planStatus" label="鐘舵��" width="180"></el-table-column>
- <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="240">
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="180">
<template #default="scope">
<el-link type="info" @click="handleView(scope.row)">鏌ョ湅</el-link>
<el-divider direction="vertical" />
@@ -232,11 +232,12 @@
<script setup name="Dept">
import { getToken } from "@/utils/auth";
-import { listCompany, addCompany, updStatus, delCompany, updateCompany, getCompany } from "@/api/system/company/company";
-import { listManage, addManage, getManage, updateManage, delManage } from "@/api/system/manage";
+import { listManage, addManage, getManage, updateManage, delManage, exportTemplate, exportManage } from "@/api/system/manage";
+
import { computed } from "vue";
import useSettingsStore from "@/store/modules/settings";
-import { download } from '@/utils/request'; // 涓嬭浇鏂囦欢
+// import { download } from '@/utils/request'; // 涓嬭浇鏂囦欢
+import { download as downloadHttp } from '@/utils/request'
const { proxy } = getCurrentInstance();
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
const deptList = ref([]);
@@ -287,9 +288,22 @@
// 璁剧疆涓婁紶鐨勮姹傚ご閮�
headers: { Authorization: "Bearer " + getToken() },
// 涓婁紶鐨勫湴鍧�
- url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData",
+ url: import.meta.env.VITE_APP_BASE_API + "/system/manage/importData",
});
-
+/**鏂囦欢涓婁紶涓鐞� */
+const handleFileUploadProgress = (event, file, fileList) => {
+ upload.isUploading = true;
+};
+/** 鏂囦欢涓婁紶鎴愬姛澶勭悊 */
+const handleFileSuccess = (response, file, fileList) => {
+ upload.open = false;
+ upload.isUploading = false;
+ proxy.$refs["uploadRef"].handleRemove(file);
+ proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", {
+ dangerouslyUseHTMLString: true,
+ });
+ getList();
+};
const { queryParams, form, rules } = toRefs(data);
/** 鏌ヨ璁″垝鍒楄〃 */
function getList() {
@@ -332,6 +346,10 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
function resetQuery() {
queryRef.value.resetFields();
+ queryParams.value = {
+ planNo: '', // 璁″垝缂栧彿
+ planName: '', // 璁″垝鍚嶇О
+ }
handleQuery();
}
function getDetails(id) {
@@ -409,29 +427,30 @@
/** 涓嬭浇妯℃澘鎿嶄綔 */
function importTemplate() {
- proxy.download("system/manage/exportTemplate", {}, `plan_template_${new Date().getTime()}.xlsx`);
-}
-
-// 淇敼浼佷笟淇℃伅
-function changeCompanyNews(row, event) {
- if (loading.value) {
- return
- }
- updStatus(row).then(val => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- getList();
+ exportTemplate().then(val => {
+ downloadHttp('/tool/file/download', {
+ fileName: val.msg,
+ delete: true
+ }, "璁″垝淇℃伅妯℃澘.xlsx")
})
}
-let valueArr = []
+
+// let valueArr = []
function downLoadCode() {
- download('/system/manage/export', {
- ids: valueArr.join()
- }, `plan_${new Date().getTime()}.xlsx`)
+ exportManage().then(val => {
+ downloadHttp('/tool/file/download', {
+ fileName: val.msg,
+ delete: true
+ }, "璁″垝淇℃伅.xlsx")
+ })
}
-function handleSelectionChange(e) {
- valueArr = e.map(item => item.id)
-}
+
+
+// function handleSelectionChange(e) {
+// valueArr = e.map(item => item.id)
+// }
+
getList();
function selectableFun(e) {
console.log(e)
--
Gitblit v1.9.1