From 0082b347d40f29d9b95a003cd589960079f47584 Mon Sep 17 00:00:00 2001
From: 王恒 <318726284@qq.com>
Date: 星期五, 18 七月 2025 14:25:29 +0800
Subject: [PATCH] '新增导入功能'
---
src/views/system/manage/index.vue | 79 ++++++++++++++++++++++++++++-----------
1 files changed, 56 insertions(+), 23 deletions(-)
diff --git a/src/views/system/manage/index.vue b/src/views/system/manage/index.vue
index bffe1b9..6223798 100644
--- a/src/views/system/manage/index.vue
+++ b/src/views/system/manage/index.vue
@@ -29,8 +29,8 @@
<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="primary" plain icon="Upload" @click="exportExcel"
- v-hasPermi="['system:dept:add']">瀵煎叆</el-button>
+ <el-button type="info" 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>
@@ -138,20 +138,39 @@
</div>
</template>
</el-dialog>
- <exportExcelCom ref="exporttem" @resList="resList"></exportExcelCom>
<exportRecord ref="exportRecordCom" :recordRow="recordRow" @uploadList="getList"></exportRecord>
<judgeCom ref="judgeComRef" @upload="getList"></judgeCom>
<createQrcode ref="createQrcodeRef"></createQrcode>
+
+ <!-- 璁″垝瀵煎叆瀵硅瘽妗� -->
+ <el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body>
+ <el-upload ref="uploadRef" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
+ :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
+ :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
+ <el-icon class="el-icon--upload"><upload-filled /></el-icon>
+ <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+ <template #tip>
+ <div class="el-upload__tip text-center">
+ <div class="el-upload__tip"><el-checkbox v-model="upload.updateSupport" />鏄惁鏇存柊宸茬粡瀛樺湪鐨勮鍒掓暟鎹�</div>
+ <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
+ <el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
+ @click="importTemplate">涓嬭浇妯℃澘</el-link>
+ </div>
+ </template>
+ </el-upload>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button>
+ <el-button @click="upload.open = false">鍙� 娑�</el-button>
+ </div>
+ </template>
+ </el-dialog>
</div>
</template>
<script setup name="Dept">
-// import FileUpload from '@/components/ImageUpload/index'
-// import exportRecord from './components/exportRecord'
-// import createQrcode from './components/createQrcode'
-// import judgeCom from './components/judge'
+import { getToken } from "@/utils/auth";
import { listCompany, addCompany, updStatus, delCompany, updateCompany, getCompany } from "@/api/system/company/company";
-// import exportExcelCom from './components/export'
import { listManage } from "@/api/system/manage";
import { computed } from "vue";
import { judgeStatus, companyStatus, scopeList } from '@/utils/mapList/index.ts'
@@ -205,6 +224,22 @@
planFrequency: [{ required: true, message: "璁″垝棰戞涓嶈兘涓虹┖", trigger: "blur" }],
planMonth: [{ required: true, message: "璁″垝鏈堜唤涓嶈兘涓虹┖", trigger: "blur" }],
},
+});
+
+/*** 璁″垝瀵煎叆鍙傛暟 */
+const upload = reactive({
+ // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
+ open: false,
+ // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
+ title: "",
+ // 鏄惁绂佺敤涓婁紶
+ isUploading: false,
+ // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+ updateSupport: 0,
+ // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+ headers: { Authorization: "Bearer " + getToken() },
+ // 涓婁紶鐨勫湴鍧�
+ url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData",
});
const { queryParams, form, rules } = toRefs(data);
@@ -304,6 +339,18 @@
})
.catch(() => { });
}
+
+/** 瀵煎叆鎸夐挳鎿嶄綔 */
+function handleImport() {
+ upload.title = "璁″垝瀵煎叆";
+ upload.open = true;
+}
+
+/** 鎻愪氦涓婁紶鏂囦欢 */
+function submitFileForm() {
+ proxy.$refs["uploadRef"].submit();
+}
+
// 淇敼浼佷笟淇℃伅
function changeCompanyNews(row, event) {
if (loading.value) {
@@ -314,21 +361,7 @@
getList();
})
}
-// 瀵煎叆妯℃澘
-function exportExcel() {
- exporttem.value.openDialog()
-}
-// 瀵煎叆璁板綍
-function exportRecordComOpen() {
- exportRecordCom.value.openDialog()
-}
-function resList(row) {
- recordRow.value = row
- exportRecordCom.value.openDialog()
-}
-function checkJudge(row) {
- judgeComRef.value.openDialog(row)
-}
+
function createQrcodeHandler(row) {
createQrcodeRef.value.openDialog(row)
}
--
Gitblit v1.9.1