From 4f43d3941a248d79662ae16b2f6fe8d40745976c Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 30 十二月 2024 10:09:07 +0800 Subject: [PATCH] Revert "还原" --- src/views/index.vue | 377 ++++++++++++++++++++++++++++------------------------- 1 files changed, 197 insertions(+), 180 deletions(-) diff --git a/src/views/index.vue b/src/views/index.vue index ff23f78..d305215 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -22,15 +22,30 @@ <template #header> <el-row style="text-align: center"> <el-col style="display:flex;justify-content: center;align-items: center;min-height: calc(100vh - 160px)"> - <el-button - style="min-height: 5rem;min-width: 21rem;font-size: 2rem;border-radius: 40px" - type="primary" - plain - icon="Upload" - @click="handleFile" - v-if="isContains(useUserStore().permissions, 'system:oss:upload')" - >涓婁紶鏂囦欢</el-button - > + <div style="flex: 1;display: flex;flex-direction: column;justify-content: center;align-items: center" class="input-col"> + <el-input + v-model="input1" + placeholder="璇疯緭鍏ユ彁鍙栫爜" + style="min-height: 5rem;min-width: 21rem;font-size: 2rem;border-radius: 40px;max-width: 21rem;" + > + </el-input> + <el-button + style="min-height: 5rem;min-width: 21rem;font-size: 2rem;border-radius: 40px;margin-top: 2rem" + type="primary" + @click="downloadFile" + >涓嬭浇</el-button + > + </div> + <div style="flex: 1;margin-top: 6rem" v-if="isContains(useUserStore().permissions, 'system:oss:upload')"> + <el-button + style="min-height: 5rem;min-width: 21rem;font-size: 2rem;border-radius: 40px;flex: 1;margin-top: 2rem" + type="primary" + icon="Upload" + @click="handleFile" + v-if="isContains(useUserStore().permissions, 'system:oss:upload')" + >涓婁紶鏂囦欢</el-button + > + </div> </el-col> <!-- <el-col :span="1.5">--> @@ -132,63 +147,24 @@ </div> </template> </el-dialog> - - <!-- 杩涘害鏉� --> <el-dialog v-model="dialogVisible" title="" width="37%" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"> - <el-progress type="dashboard" :percentage="percentage2" style="display: flex;justify-content: center" :color="colors" /> + <span @closePopup1="lookPawsd1()"> + <el-progress type="dashboard" :percentage="percentage2" style="display: flex;justify-content: center" :color="colors" /> + </span> </el-dialog> </div> </template> <script setup name="Oss" lang="ts"> -import { listOss, delOss, createUser, examineIds } from '@/api/system/oss'; -import { OssForm, OssQuery, OssVO } from '@/api/system/oss/types'; -import { to as tos } from 'await-to-js'; -import useUserStore from '@/store/modules/user'; -import { getToken, setToken } from '@/utils/auth'; -import usePermissionStore from '@/store/modules/permission'; -import { isHttp } from '@/utils/validate'; +import { listOss, delOss, createUser, examineIds } from "@/api/system/oss"; +import { OssForm, OssQuery, OssVO } from "@/api/system/oss/types"; +import { to as tos } from "await-to-js"; +import useUserStore from "@/store/modules/user"; +import { getToken, setToken } from "@/utils/auth"; +import usePermissionStore from "@/store/modules/permission"; +import { isHttp } from "@/utils/validate"; import router from '@/router'; -import { onMounted, ref } from 'vue'; -import { Minus, Plus } from '@element-plus/icons-vue'; -import { ElMessageBox } from 'element-plus'; - -const dialogVisible = ref(false); - -const state = reactive({ - mytime: 0 //瀹氫箟瀹氭椂鍣� -}); -const percentage = ref(10); -const percentage2 = ref(0); - -const colors = [ - { color: '#f56c6c', percentage: 20 }, - { color: '#e6a23c', percentage: 40 }, - { color: '#5cb87a', percentage: 60 }, - { color: '#1989fa', percentage: 80 }, - { color: '#6f7ad3', percentage: 100 } -]; - -const increase = () => { - percentage.value += 10; - if (percentage.value > 100) { - percentage.value = 100; - } -}; -const decrease = () => { - percentage.value -= 10; - if (percentage.value < 0) { - percentage.value = 0; - } -}; -onMounted(() => {}); -watch(percentage2, (new1, new2) => { - console.log(new1, new2); - if (new1 == 95) { - clearInterval(state.mytime); - state.mytime = 0; - } -}); +import { ref } from "vue"; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const ossList = ref<OssVO[]>([]); @@ -204,28 +180,37 @@ const previewListResource = ref(true); const dateRangeCreateTime = ref<[DateModelType, DateModelType]>(['', '']); const visibleCode = ref(false); +const colors = [ + { color: '#f56c6c', percentage: 20 }, + { color: '#e6a23c', percentage: 40 }, + { color: '#5cb87a', percentage: 60 }, + { color: '#1989fa', percentage: 80 }, + { color: '#6f7ad3', percentage: 100 }, +] const dialog = reactive<DialogOption>({ visible: false, title: '' }); -const testtxt = ref<any>(); -const pasTxt = ref<any>(); -const titleDownload = ref<any>(); -const downIds = ref<any>(); -const inputRef = ref<any>(); -const inputSty = ref<any>(); -const currentIp = ref(''); -const childFile = ref<any>(); -const figType = ref<any>(); +const testtxt = ref<any>() +const pasTxt = ref<any>() +const titleDownload = ref<any>() +const downIds = ref<any>() +const inputRef = ref<any>() +const inputSty =ref<any>() +const currentIp = ref('') +const input1 = ref('') +const childFile = ref<any>() +const figType = ref<any>() // 榛樿鎺掑簭 const defaultSort = ref({ prop: 'createTime', order: 'ascending' }); const ossFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>(); - +const dialogVisible = ref(false) +const percentage2 = ref(0) const initFormData = { - file: undefined -}; + file: undefined, +} const data = reactive<PageData<OssForm, OssQuery>>({ form: { ...initFormData }, // 鏌ヨ鍙傛暟 @@ -241,28 +226,31 @@ isAsc: defaultSort.value.order }, rules: { - file: [{ required: true, message: '鏂囦欢涓嶈兘涓虹┖', trigger: 'blur' }] + file: [ + { required: true, message: "鏂囦欢涓嶈兘涓虹┖", trigger: "blur" } + ] } }); const { queryParams, form, rules } = toRefs(data); const sure = () => { - testtxt.value += 1; -}; + testtxt.value += 1 +} /** 鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃 */ const getList = async () => { + loading.value = true; - const res = await proxy?.getConfigKey(encodeURIComponent('sys.oss.previewListResource')); + const res = await proxy?.getConfigKey("sys.oss.previewListResource"); previewListResource.value = res?.data === undefined ? true : res.data === 'true'; - const response = await listOss(proxy?.addDateRange(queryParams.value, dateRangeCreateTime.value, 'CreateTime')); + const response = await listOss(proxy?.addDateRange(queryParams.value, dateRangeCreateTime.value, "CreateTime")); ossList.value = response.rows; total.value = response.total; loading.value = false; showTable.value = true; -}; +} function checkFileSuffix(fileSuffix: string[]) { - let arr = ['png', 'jpg', 'jpeg']; - return arr.some((type) => { + let arr = ["png", "jpg", "jpeg"]; + return arr.some(type => { return fileSuffix.indexOf(type) > -1; }); } @@ -292,18 +280,18 @@ } /** 閫夋嫨鏉℃暟 */ function handleSelectionChange(selection: OssVO[]) { - ids.value = selection.map((item) => item.ossId); + ids.value = selection.map(item => item.ossId); single.value = selection.length != 1; multiple.value = !selection.length; } /** 璁剧疆鍒楃殑鎺掑簭涓烘垜浠嚜瀹氫箟鐨勬帓搴� */ const handleHeaderClass = ({ column }: any): any => { - column.order = column.multiOrder; -}; + column.order = column.multiOrder +} /** 鐐瑰嚮琛ㄥご杩涜鎺掑簭 */ const handleHeaderCLick = (column: any) => { if (column.sortable !== 'custom') { - return; + return } switch (column.multiOrder) { case 'descending': @@ -316,20 +304,20 @@ column.multiOrder = 'descending'; break; } - handleOrderChange(column.property, column.multiOrder); -}; + handleOrderChange(column.property, column.multiOrder) +} const handleOrderChange = (prop: string, order: string) => { - let orderByArr = queryParams.value.orderByColumn ? queryParams.value.orderByColumn.split(',') : []; - let isAscArr = queryParams.value.isAsc ? queryParams.value.isAsc.split(',') : []; - let propIndex = orderByArr.indexOf(prop); + let orderByArr = queryParams.value.orderByColumn ? queryParams.value.orderByColumn.split(",") : []; + let isAscArr = queryParams.value.isAsc ? queryParams.value.isAsc.split(",") : []; + let propIndex = orderByArr.indexOf(prop) if (propIndex !== -1) { if (order) { //鎺掑簭閲屽凡瀛樺湪 鍙慨鏀规帓搴� isAscArr[propIndex] = order; } else { //濡傛灉order涓簄ull 鍒欏垹闄ゆ帓搴忓瓧娈靛拰灞炴�� - isAscArr.splice(propIndex, 1); //鍒犻櫎鎺掑簭 - orderByArr.splice(propIndex, 1); //鍒犻櫎灞炴�� + isAscArr.splice(propIndex, 1);//鍒犻櫎鎺掑簭 + orderByArr.splice(propIndex, 1);//鍒犻櫎灞炴�� } } else { //鎺掑簭閲屼笉瀛樺湪鍒欐柊澧炴帓搴� @@ -337,10 +325,10 @@ isAscArr.push(order); } //鍚堝苟鎺掑簭 - queryParams.value.orderByColumn = orderByArr.join(','); - queryParams.value.isAsc = isAscArr.join(','); + queryParams.value.orderByColumn = orderByArr.join(","); + queryParams.value.isAsc = isAscArr.join(","); getList(); -}; +} /** 浠诲姟鏃ュ織鍒楄〃鏌ヨ */ /** 鏂囦欢鎸夐挳鎿嶄綔 */ const handleFile = () => { @@ -348,119 +336,127 @@ reset(); type.value = 0; dialog.visible = true; - dialog.title = '涓婁紶鏂囦欢'; -}; + dialog.title = "涓婁紶鏂囦欢"; +} /** 鍥剧墖鎸夐挳鎿嶄綔 */ const handleImage = () => { reset(); type.value = 1; dialog.visible = true; - dialog.title = '涓婁紶鍥剧墖'; -}; -const handleVideo = () => { + dialog.title = "涓婁紶鍥剧墖"; +} +const handleVideo = ()=>{ reset(); type.value = 2; dialog.visible = true; - dialog.title = '涓婁紶瑙嗛'; -}; + dialog.title = "涓婁紶瑙嗛"; +} /** 鎻愪氦鎸夐挳 */ const submitForm = async () => { - const number = await childFile.value.handleCilck(); - if (number > 0) { - dialog.visible = false; + await childFile.value.handleCilck() + dialog.visible = false; +} +const state = reactive({ + mytime:0,//瀹氫箟瀹氭椂鍣� +}) +watch(percentage2, (new1,new2) => { + console.log(new1,new2) + if(new1 == 95){ + clearInterval(state.mytime); + state.mytime = 0; + } +}) +const lookPawsd1 = async () => { + dialogVisible.value = true; +} +const lookPawsd = async (row: any) => { + console.log(row, row.ossId); + console.log("寰楀埌涓婁紶鍚庣殑淇℃伅",row); + clearInterval(state.mytime); + state.mytime = 0; + if(row == '123123'){ dialogVisible.value = true; state.mytime = setInterval(() => { - percentage2.value = (percentage2.value % 100) + 5; - }, 500); + percentage2.value = (percentage2.value % 100) + 5 + }, 500) } -}; -const lookPawsd = async (row: any) => { - console.log(row); - // row.msg = ':/"123456' + else{ + dialogVisible.value = false; + clearInterval(state.mytime); + state.mytime = 0; + testtxt.value = row.data.password; + titleDownload.value = '鏌ョ湅鎻愬彇鐮�' + pasTxt.value = '' + visibleCode.value = true + } - clearInterval(state.mytime); - state.mytime = 0; - // if(row == '123123'){ - // dialogVisible.value = true; - // state.mytime = setInterval(() => { - // percentage2.value = (percentage2.value % 100) + 5 - // }, 500) - // } - // else{ - dialogVisible.value = false; - clearInterval(state.mytime); - state.mytime = 0; - testtxt.value = row.msg; - // testtxt.value = row.msg.slice(2); - titleDownload.value = '鏌ョ湅鎻愬彇鐮�'; - pasTxt.value = ''; - visibleCode.value = true; - // } -}; +} const handleCode = async (row: OssVO) => { console.log(row, row.ossId); - await examineIds(row.ossId).then((res) => { + await examineIds(row.ossId).then(res => { console.log(res); if (res.code == 200) { - testtxt.value = res.msg; - titleDownload.value = '鏌ョ湅鎻愬彇鐮�'; - pasTxt.value = ''; + testtxt.value = res.data.password + titleDownload.value = '鏌ョ湅鎻愬彇鐮�' + pasTxt.value = '' // inputSty.value ={ // border: '1px solid blue' // } - visibleCode.value = true; + visibleCode.value = true + } else { const message = res.msg; proxy?.$modal.msgSuccess(message); + } - }); -}; + }) +} /** 涓嬭浇鎸夐挳鎿嶄綔 */ const handleDownload = (row: OssVO) => { - titleDownload.value = '杈撳叆鎻愬彇鐮�'; - pasTxt.value = ''; - inputSty.value = { + titleDownload.value = '杈撳叆鎻愬彇鐮�' + pasTxt.value = '' + inputSty.value ={ border: '1px solid blue', borderRadius: '5px' - }; - visibleCode.value = true; - downIds.value = ref(row.ossId); + } + visibleCode.value = true + downIds.value = ref(row.ossId) console.log(toRaw(downIds.value.value)); -}; -const delFile = async () => { - let oss = figType.value + '/' + pasTxt.value; - await delOss(oss).finally(() => (loading.value = false)); +} +const delFile=async () => { + let oss = figType.value+'/'+ pasTxt.value; + await delOss(oss).finally(() => loading.value = false); await getList(); - proxy?.$modal.msgSuccess('鍒犻櫎鎴愬姛'); - visibleCode.value = false; -}; -const handleDownloadFile = () => { + proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + visibleCode.value = false +} +const handleDownloadFile = ()=>{ console.log(downIds.value); - if (pasTxt.value) { - proxy?.$download.ossDown(downIds.value.value, pasTxt.value); - } else { + if (pasTxt.value){ + proxy?.$download.ossDown(downIds.value.value,pasTxt.value) + }else { console.log(inputRef.value); - inputSty.value = { + inputSty.value ={ border: '1px solid red' - }; + } // inputRef.value.style.border = '1px solid red' } - visibleCode.value = false; -}; + visibleCode.value=false +} /** 鐢ㄦ埛鐘舵�佷慨鏀� */ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ const handleDelete = async (row?: OssVO) => { let ossIds = row?.ossId || ids.value; - titleDownload.value = '璇疯緭鍏ユ彁鍙栫爜'; - pasTxt.value = ''; - inputSty.value = { + titleDownload.value = '璇疯緭鍏ユ彁鍙栫爜' + pasTxt.value = '' + inputSty.value ={ border: '1px solid blue', borderRadius: '5px' - }; - visibleCode.value = true; - figType.value = ossIds; + } + visibleCode.value = true + figType.value = ossIds console.log(figType); // await proxy?.$modal.confirm('鏄惁纭鍒犻櫎OSS瀵硅薄瀛樺偍缂栧彿涓�"' + ossIds + '"鐨勬暟鎹」?'); // loading.value = true; @@ -468,10 +464,10 @@ // await delOss(ossIds).finally(() => loading.value = false); // await getList(); // proxy?.$modal.msgSuccess("鍒犻櫎鎴愬姛"); -}; +} const refreshPage = async () => { const accessRoutes = await usePermissionStore().generateRoutes(); - console.log(accessRoutes, 'accessRoutes', router); + console.log(accessRoutes,'accessRoutes',router); // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛� accessRoutes.forEach((route) => { if (!isHttp(route.path)) { @@ -481,27 +477,26 @@ // location.reload(); }; const isContains = (arr: string | any[], value: any) => { - // return arr.includes(value); - return true; + return arr.includes(value); }; const setAddUser = async (val: any | number | (string | number)[]) => { console.log(val); - const res = await createUser(val); + const res = await createUser(val) console.log(res); - if (res.code == 200) { + if (res.code==200){ const data = res.data; setToken(data.access_token); const [err] = await tos(useUserStore().getInfo()); - console.log('useUserStore', useUserStore, err); - await getList(); + console.log('useUserStore', useUserStore,err); + await getList() // await refreshPage() - console.log('permissions', useUserStore().permissions, 'system:oss:upload'); + console.log('permissions', useUserStore().permissions,'system:oss:upload'); // token.value = data.access_token; } -}; +} // watch(() => value.value, (newValue) => { // if (newValue) { // showValue.value = true; @@ -509,8 +504,8 @@ // showValue.value = false; // } // }); -onBeforeMount(async () => { - console.log('绗竴', useUserStore().permissions); +onBeforeMount( async () => { + console.log('绗竴',useUserStore().permissions); // try { // // 浣跨敤fetch API鑾峰彇褰撳墠IP鍦板潃 // await fetch('https://api.ipify.org/?format=json') @@ -528,19 +523,41 @@ // } catch (error) { // console.log(error); // } -}); + +}) +const downloadFile = ()=>{ + console.log(input1.value); + if (input1.value){ + proxy?.$download.ossDown("12345678",input1.value) + }else { + inputSty.value ={ + border: '1px solid red' + } + // inputRef.value.style.border = '1px solid red' + } + visibleCode.value=false +} onMounted(async () => { - console.log('绗簩aaaaaaa', useUserStore().permissions); + console.log('绗簩aaaaaaa',useUserStore().permissions); // 绛夊緟 useUserStore() 鏂规硶鐨� getInfo() 鏂规硶杩斿洖缁撴灉骞惰祴鍊肩粰 err 鍙橀噺 // const [err] = await tos(useUserStore().getInfo()); - if (getToken()) { + if (getToken()){ console.log('鏈塼oken'); await getList(); - } else { + }else { console.log('鏃爐oken'); - router.push('/login'); + router.push('/login') } // 璋冪敤 getList() 鏂规硶 -}); + +}) </script> +<style lang="scss" scoped> +.input-col{ + :deep(.el-input__wrapper) { + border-radius: 40px!important; + padding-left: 3rem; + } +} +</style> -- Gitblit v1.8.0