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