From bbae7dc30bc72b02eb1561520f9392344f337d73 Mon Sep 17 00:00:00 2001 From: jmal Date: Thu, 4 Jul 2024 18:26:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=8A=9F?= =?UTF-8?q?=E8=83=BD-=E5=9B=9E=E6=94=B6=E7=AB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/resource/font_2024484_fwthqwcsomd.js | 1 - public/resource/font_2024484_jfax4gppvg.js | 1 + src/api/file-api.js | 29 +++++ src/components/Icon/Icon.vue | 4 +- src/components/ShowFile/ShowFile.vue | 113 +++++++++++--------- src/views/setting/sys/logList.vue | 9 +- src/views/trash/index.vue | 72 +++++++++++++ 7 files changed, 171 insertions(+), 58 deletions(-) delete mode 100644 public/resource/font_2024484_fwthqwcsomd.js create mode 100644 public/resource/font_2024484_jfax4gppvg.js create mode 100644 src/views/trash/index.vue diff --git a/public/resource/font_2024484_fwthqwcsomd.js b/public/resource/font_2024484_fwthqwcsomd.js deleted file mode 100644 index 87cafdea..00000000 --- a/public/resource/font_2024484_fwthqwcsomd.js +++ /dev/null @@ -1 +0,0 @@ -window._iconfont_svg_string_2024484='',function(c){var l=(l=document.getElementsByTagName("script"))[l.length-1],a=l.getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,t,p,i,M,d=function(l,a){a.parentNode.insertBefore(l,a)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}h=function(){var l,a=document.createElement("div");a.innerHTML=c._iconfont_svg_string_2024484,(a=a.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",a=a,(l=document.body).firstChild?d(a,l.firstChild):l.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),h()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(p=h,i=c.document,M=!1,F(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,z())})}function z(){M||(M=!0,p())}function F(){try{i.documentElement.doScroll("left")}catch(l){return void setTimeout(F,50)}z()}}(window); diff --git a/public/resource/font_2024484_jfax4gppvg.js b/public/resource/font_2024484_jfax4gppvg.js new file mode 100644 index 00000000..9bb74346 --- /dev/null +++ b/public/resource/font_2024484_jfax4gppvg.js @@ -0,0 +1 @@ +window._iconfont_svg_string_2024484='',function(c){var l=(l=document.getElementsByTagName("script"))[l.length-1],a=l.getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,t,p,i,M,d=function(l,a){a.parentNode.insertBefore(l,a)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}h=function(){var l,a=document.createElement("div");a.innerHTML=c._iconfont_svg_string_2024484,(a=a.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",a=a,(l=document.body).firstChild?d(a,l.firstChild):l.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),h()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(p=h,i=c.document,M=!1,F(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,z())})}function z(){M||(M=!0,p())}function F(){try{i.documentElement.doScroll("left")}catch(l){return void setTimeout(F,50)}z()}}(window); diff --git a/src/api/file-api.js b/src/api/file-api.js index 9b59fed0..438399d7 100644 --- a/src/api/file-api.js +++ b/src/api/file-api.js @@ -100,6 +100,35 @@ export default { } }) }, + // 返回原处 + restore: function(params) { + return request({ + url: 'restore', + method: 'post', + params, + paramsSerializer: function(params) { + return qs.stringify(params, { arrayFormat: 'repeat' }) + } + }) + }, + // 彻底删除 + sweep: function(params) { + return request({ + url: 'sweep', + method: 'delete', + params, + paramsSerializer: function(params) { + return qs.stringify(params, { arrayFormat: 'repeat' }) + } + }) + }, + // 清空回收站 + clearTrash: function() { + return request({ + url: 'clear-trash', + method: 'delete' + }) + }, // 重名名 rename: function(params) { return request({ diff --git a/src/components/Icon/Icon.vue b/src/components/Icon/Icon.vue index dedbfc02..bb33a19a 100644 --- a/src/components/Icon/Icon.vue +++ b/src/components/Icon/Icon.vue @@ -5,7 +5,7 @@ import { Icon } from 'ant-design-vue' const IconFont = Icon.createFromIconfontCN({ - scriptUrl: document.location.protocol + '/resource/font_2024484_fwthqwcsomd.js' + scriptUrl: document.location.protocol + '/resource/font_2024484_jfax4gppvg.js' }) // 把此段代码贴到iconfont项目页面的控制台中, 以获取图标列表 @@ -15,7 +15,7 @@ const IconFont = Icon.createFromIconfontCN({ // console.log(iconNames.slice(80,160)) export const iconFonts = { - list: ['gengxinjindu', 'duigou', 'bars-solid', 'sort-amount-down-solid', 'sort-amount-up-alt-solid', 'tag2', 'guazai', 'duplicate', 'play1', "qrcode", "arrow1_left", "wulianwang-","zuji","disk-drive", "menu-fuzhi", "iso", "zuijinhuoyue","key", "shouquan", "sort", "grid", "list", "emoji-a", "emoji-bizui", "emoji-baiyan", "emoji-aixin", "emoji-dajing", "emoji-ziya", "emoji-daxiao", "emoji-esi", "emoji-fadai", "emoji-fankun", "emoji-ganga", "emoji-fennu", "emoji-hanyan", "emoji-jingkong", "emoji-haochi", "emoji-emo", "emoji-jingsong", "emoji-jingya", "emoji-kaixin", "emoji-lengku", "emoji-danao", "emoji-liukoushui", "emoji-liulei", "emoji-mengbi", "mianwubiaoqing", "nanguo", "shuizhuo", "taoyan", "tanchi", "siliao", "tiaopi", "xiaochulei", "wuliao", "xingxingyan", "xieyan", "xiasi", "xiaolian", "ku", "shengqi", "yousiliao", "en", "bushufu", "bianbian", "fankun1", "feiwen", "ganmao", "huaixiao", "liuhan", "outu", "keshui", "renzhe", "santiaoxian", "guaiwu", "shoushang", "tianshi", "shuai", "xianwen", "xiaodiaodaya", "xiong", "yiwen", "yun", "liubixie", "shimo", "dianzan", "biti", "fendou", "huqi", "heng", "kulou", "leng", "taoyan1", "shuixing", "aini", "aixin1", "zhadan", "xinsui", + list: ['huanyuan', 'huishouzhan', 'glb', 'gengxinjindu', 'duigou', 'bars-solid', 'sort-amount-down-solid', 'sort-amount-up-alt-solid', 'tag2', 'guazai', 'duplicate', 'play1', "qrcode", "arrow1_left", "wulianwang-","zuji","disk-drive", "menu-fuzhi", "iso", "zuijinhuoyue","key", "shouquan", "sort", "grid", "list", "emoji-a", "emoji-bizui", "emoji-baiyan", "emoji-aixin", "emoji-dajing", "emoji-ziya", "emoji-daxiao", "emoji-esi", "emoji-fadai", "emoji-fankun", "emoji-ganga", "emoji-fennu", "emoji-hanyan", "emoji-jingkong", "emoji-haochi", "emoji-emo", "emoji-jingsong", "emoji-jingya", "emoji-kaixin", "emoji-lengku", "emoji-danao", "emoji-liukoushui", "emoji-liulei", "emoji-mengbi", "mianwubiaoqing", "nanguo", "shuizhuo", "taoyan", "tanchi", "siliao", "tiaopi", "xiaochulei", "wuliao", "xingxingyan", "xieyan", "xiasi", "xiaolian", "ku", "shengqi", "yousiliao", "en", "bushufu", "bianbian", "fankun1", "feiwen", "ganmao", "huaixiao", "liuhan", "outu", "keshui", "renzhe", "santiaoxian", "guaiwu", "shoushang", "tianshi", "shuai", "xianwen", "xiaodiaodaya", "xiong", "yiwen", "yun", "liubixie", "shimo", "dianzan", "biti", "fendou", "huqi", "heng", "kulou", "leng", "taoyan1", "shuixing", "aini", "aixin1", "zhadan", "xinsui", "maren", "zhutou", "qie", "youling", "apple-fill", "attachment", "android-fill", "apple", "download", "arrow-up-circle", "arrow-right-circle", "arrow-down", "ashbin", "add", "file_music", "menu", "role", "jiaoseguanli", "yemianshezhi", "drop_down", "yuandian", "tag", "service-directory", "fabu", "wailian", "bianji-", "WEBSITE", "wangzhanguanli", "Up", "up", "fenlei", "guanlizhuanjiawenzhang", "pifu", "tuichudenglu", "shezhi", "wangzhan", "huaban", "yunshezhi", "UserSettings", "blogger", "biaoqian", "myself", "guidang", "quxiaoyulan1-copy", "yulan-copy", "quxiaoyulan1", "yulan"] } diff --git a/src/components/ShowFile/ShowFile.vue b/src/components/ShowFile/ShowFile.vue index e6b01bac..bfbc7702 100644 --- a/src/components/ShowFile/ShowFile.vue +++ b/src/components/ShowFile/ShowFile.vue @@ -434,15 +434,6 @@ align="center" header-align="center" > - - - - - - - - - - { - if (index === 4) { + if (index === 2) { node.style.borderRadius = '0 3px 3px 0' node.style.borderRight = '1px solid #409eff' node.firstChild.style.height = '44px' @@ -1962,8 +1886,7 @@ export default { }) dragingDivStyleTop = pos.y - _this.fileListScrollTop - 51.5 } else { - dragingDivStyleTop = - pos.y - _this.fileListScrollTop - pos.h / 2 + 10 + dragingDivStyleTop = pos.y - _this.fileListScrollTop - pos.h / 2 + 10 } dragingDiv.style.top = dragingDivStyleTop + 'px' if (index === 0) { @@ -3041,15 +2964,13 @@ export default { selectTotalSize += item.size }) const item_name = this.tableHead[2] - const item_more = this.tableHead[4] - const item_size = this.tableHead[5] - const item_date = this.tableHead[6] + const item_size = this.tableHead[3] + const item_date = this.tableHead[4] if (rows.length > 0) { const sumFileAndFolder = this.getShowSumFileAndFolder(rows) const sizeSum = this.getShowSumSize(selectTotalSize) item_name.label = sumFileAndFolder item_name.sortable = false - item_more.name = 'more' item_size.label = sizeSum item_size.sortable = false item_date.label = '' @@ -3057,17 +2978,12 @@ export default { } else { item_name.label = '名称' item_name.sortable = true - item_more.name = '' item_size.label = '大小' item_size.sortable = true item_date.label = '修改日期' item_date.sortable = true } - if (this.selectRowData.length === this.fileList.length) { - this.allChecked = true - } else { - this.allChecked = false - } + this.allChecked = this.selectRowData.length === this.fileList.length; }, // cell-style 通过返回值可以实现样式变换利用传递过来的数组index循环改变样式 rowStyle({ row, column, rowIndex, columnIndex }) { @@ -3085,7 +3001,7 @@ export default { borderBottom: '1px solid #409eff', } } - if (columnIndex === 5) { + if (columnIndex === 3) { return { backgroundColor: '#e0f3fc !important', borderRadius: '0 3px 3px 0', @@ -3114,45 +3030,6 @@ export default { const isFavorite = this.rowContextData.isFavorite this.highlightFavorite(isFavorite, false) }, - // 单元格hover进入时事件 - cellMouseEnter(row) { - if (this.draging === 1) { - return - } - if ( - this.$refs.contextShow.locals.menuType === 'moreClick' && - this.$refs.contextShow.locals.rowIndex !== row.index - ) { - this.$refs.contextShow.hideMenu() - } - if (this.editingIndex === -1 && !this.$refs.contextShow.ctxVisible) { - if (this.selectRowData.length <= 1) { - this.cellMouseIndex = row.index - } - } - }, - // 单元格hover退出时事件 - cellMouseLeave(row) { - if (this.draging === 1) { - return - } - if ( - this.$refs.contextShow.locals.menuType === 'moreClick' && - this.$refs.contextShow.locals.rowIndex !== row.index - ) { - this.$refs.contextShow.hideMenu() - this.$refs.contextShow.locals = {} - return - } - if ( - this.$refs.contextShow.ctxVisible && - this.$refs.contextShow.locals.menuType === 'moreClick' && - this.$refs.contextShow.locals.rowIndex === row.index - ) { - return - } - this.cellMouseIndex = -1 - }, //双击 dblclick(row) { this.fileClick(row) @@ -3374,15 +3251,6 @@ export default { } this.setMenusCopyDownLoadLinks(file) }, - // 更多操作(单选) - moreClick(row, event) { - this.menusIsMultiple = false - this.setMenus(row) - this.showOperationMenus(event, { - menuType: 'moreClick', - rowIndex: row.index, - }) - }, // 鼠标右击 rowContextmenu(row) { if (this.selectFile) { @@ -3413,26 +3281,6 @@ export default { this.$refs.contextShow.showMenu(e) this.cellMouseIndex = -1 }, - // 显示操作菜单 - showOperationMenus(event, menuData) { - let offsetY = event.pageY - if (event.target.clientHeight > 0) { - offsetY += event.target.clientHeight / 2 - event.offsetY - } - const e = {} - if (document.body.scrollHeight - offsetY > 400) { - this.menuTriangle = 'menu-triangle-top' - e.pageX = event.pageX - 78 - e.pageY = offsetY + 25 - } else { - this.menuTriangle = 'menu-triangle-bottom' - e.pageX = event.pageX - 78 - e.pageY = offsetY - this.menus.length * 38 - 36 - } - if (!this.isJustHideMenus) { - this.$refs.contextShow.showMenu(e, menuData) - } - }, menuFavoriteOver(index, isFavorite) { this.highlightFavorite(isFavorite, false) }, diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 43b7a3bf..7c23be06 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -209,9 +209,11 @@ export default { let data = new FormData() data.append('username',this.loginForm.username) data.append('password',this.loginForm.password) + this.loading = true initialization(data).then(()=>{ this.initialize = false this.$message.success('创建成功') + this.loading = false }) }else{ // 登录