123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927 |
- <template>
- <!-- <TopTabs></TopTabs> -->
- <div class="page">
- <el-collapse v-model="activeNames" @change="handleChange">
- <div v-if="isList">
- <el-collapse-item name="folder" class="collapse_Item">
- <template #title>
- <span class="collapseItem_title">文件夹</span>
- </template>
- <!-- 表格 -->
- <el-table
- :data="tableFolderData"
- style="width: 100%"
- height="42.5vh"
- :scrollbar-always-on="true"
- @row-click="changeFile"
- >
- <el-table-column fixed prop="date" label="名称" width="500">
- <template #default="scope">
- <div>
- <img
- class="table_icon"
- src="@/assets/images/fileBox.png"
- alt=""
- style=""
- />
- <span class="shouzhi">{{ scope.row.dirName }}</span>
- </div>
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="时间" width="200" />
- <el-table-column prop="state" label="类型" width="180"
- >文件夹</el-table-column
- >
- <!-- <el-table-column prop="city" label="大小" width="160" /> -->
- </el-table>
- </el-collapse-item>
- <el-collapse-item name="file" class="collapse_Item">
- <template #title>
- <span class="collapseItem_title">文件</span>
- </template>
- <!-- 表格 -->
- <el-table
- :data="tableFileData"
- style="width: 100%"
- height="40vh"
- :scrollbar-always-on="true"
- @row-contextmenu="handleRowClick"
- >
- <el-table-column fixed prop="date" label="名称" width="500">
- <template #default="scope">
- <div>
- <img
- class="table_icon"
- :src="setIcon(scope.row==null ? '':scope.row.fileType)"
- alt=""
- style=""
- />
- <span class="shouzhi"> {{ scope.row==null ? '': scope.row.fileName }}</span>
- </div>
- <!-- <span
- style="
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- "
- >
- <el-icon
- v-if="scope.row.isFavorite == 'N' || !scope.row.isFavorite"
- @click.stop="collectByStar(scope.row, false)"
- >
- <Star />
- </el-icon>
- <img
- v-else
- @click.stop="delCollect(scope.row, false)"
- src="../../../assets/images/yellowstar.png"
- alt=""
- />
- <img
- :src="setIcon(scope.row.fileType)"
- class="table_icon"
- alt=""
- />
- <el-tooltip
- class="box-item"
- effect="dark"
- :content="scope.row.fileName"
- placement="top"
- :show-after="1000"
- >
- {{ scope.row.fileName }}
- </el-tooltip>
- </span> -->
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="时间" width="200" />
- <el-table-column prop="fileType" label="类型" width="180" />
- <el-table-column label="大小">
- <template #default="scope">
- <span>
- {{ formatFileSize(scope.row==null?'':scope.row.fileSize) }}
- </span>
- </template>
- </el-table-column>
- </el-table>
- </el-collapse-item>
- <div
- class="setCli"
- v-if="cliCC"
- :style="{ left: xz + 'px', top: yz + 'px' }"
- >
- <template v-for="(item, index) in filterMouseCli()" :key="index">
- <p @click="chooseSet(item, index, 1)" class="chooseSet shouzhi" style="margin: 0;">
- <img :src="item.img" alt="" />
- {{ item.name }}
- <span
- v-if="
- item.name == '在线编辑' || item.name == '协作' ? true : false
- "
- style="color: #7084b4; float: right; position: relative"
- class="arrow"
- >></span
- >
- </p>
- </template>
- </div>
- <div
- class="setCli1"
- v-if="anyP"
- :style="{ left: xz + 155 + 'px', top: yz + 'px' }"
- >
- <p @click="chooseSet1(0)" class="chooseSet">
- <img src="../../../assets/images/user.png" alt="" />
- 选择人员
- </p>
- <p class="chooseSet" @click="goLock">
- <img src="../../../assets/images/archiveTray.png" alt="" />
- 归档
- </p>
- </div>
- </div>
- <div v-else>
- <el-collapse-item name="folder">
- <template #title>
- <span class="collapseItem_title">文件夹</span>
- </template>
- <!-- 平铺 -->
- <el-scrollbar height="360px">
- <div class="tile_box">
- <div class="file_box" v-for="item in tableData" :key="item">
- <img
- class="big_file_img"
- src="@/assets/images/fileBox.png"
- alt=""
- />
- <span>Inceptos</span>
- </div>
- </div>
- </el-scrollbar>
- </el-collapse-item>
- <el-collapse-item name="file">
- <template #title>
- <span class="collapseItem_title">文件</span>
- </template>
- <!-- 平铺 -->
- <el-scrollbar height="360px">
- <div class="tile_box">
- <div class="file_box" v-for="item in 20" :key="item">
- <img
- class="big_file_img"
- src="@/assets/images/fileType//file_DOC.png"
- alt=""
- />
- <span>Inceptos</span>
- </div>
- </div>
- </el-scrollbar>
- </el-collapse-item>
- </div>
- </el-collapse>
- <div>
- <FileTree
- v-if="fileTrees"
- :fileTrees="fileTrees"
- :newSpaceId="newSpaceId"
- :fileId="clickRowId"
- @getChildren="getChildren"
- :copyOrMove="copyOrMove"
- ></FileTree>
- </div>
- <ImgPreview
- :previewData="previewData"
- :copyFileType="copyFileType"
- :showPreview="showPreview"
- @closeImgPreview="closeImgPreview"
- ></ImgPreview>
- <div
- v-loading.fullscreen="loadingPreview"
- v-if="loadingPreview"
- class="lodingBox"
- ></div>
- <!-- 文件收藏 -->
- <div>
- <FileCollect
- v-if="collects"
- :collects="collects"
- @getCollects="getCollects"
- :copyFileName="copyFileName"
- :copyFileId="copyFileId"
- @refreshFile="refreshFile"
- :isFolder="isFolder"
- :clickRow="clickRow"
- ></FileCollect>
- </div>
- </div>
- </template>
- <script setup>
- import { onMounted, ref, toRaw, inject } from "vue";
- // import TopTabs from "@/components/TopTabs/index.vue"
- import { listRecent, getRecent } from "@/api/biz/recent";
- import { getInfo, getInfoByDirId } from "@/api/biz/info";
- import { getSpace } from "@/api/biz/space";
- import { getDir } from "@/api/biz/dir";
- import documents from "@/api/document/document";
- import ImgFile from "@/views/myfile/jsComponents/ImgFile";
- import FileTree from "@/views/myfile/components/FileTree.vue";
- import FileCollect from "@/views/myfile/modalComponebts/FileCollect.vue";
- import myfile from "@/api/myfile/myfile";
- import { getLeveldetail } from "@/api/level/level";
- import { canPreviewFile, rightMenuRole } from "@/utils/index.js";
- import { preview } from "@/api/common/common.js";
- import { delFavorite } from "@/api/biz/favorite.js";
- import ImgPreview from "@/components/ImgPreview/ImgPreview.vue";
- const activeNames = ref(["folder", "file"]);
- const isList = ref(true); //控制显示方式
- const tableFolderData = ref([]);
- const tableFileData = ref([]);
- const thisFolder = ref(); //当前文件夹
- const newDirId = ref();
- const newSpaceId = ref();
- const cliCC = ref(false); //文件右键菜单
- const clickRow = ref(); //当前右键的文件
- let xz = ref(0);
- let yz = ref(0);
- let anyP = ref(false);
- const thisFolderRole = ref(); //文件夹权限
- const workOrEdit = ref();
- const thanks = ref();
- const selectedIndex = ref();
- const editOnline = ref();
- const isFolder = ref();
- const copyRow = ref();
- const clickRowId = ref();
- const copyDirId = ref();
- const copySpaceId = ref();
- const copyFileId = ref();
- const copyFileSize = ref();
- const copyFileType = ref();
- const copyParentId = ref();
- const copyFileName = ref();
- const loadingPreview = ref(false);
- const onlyView = ref(false);
- const showPreview = ref(false);
- const previewData = ref();
- const fileTrees = ref(false);
- const copyOrMove = ref();
- const backFolder = ref();
- const copyFolderName = ref();
- const addFolderAdd = inject("addFolderAdd");
- const addFileTab = inject("addFileTab");
- let collects = ref(false);
- const spacePath = ref();
- let menuList = ref([
- {
- name: "我的空间",
- choose: "我的空间",
- },
- ]);
- let nameForm = ref({
- name: "",
- });
- let mouseCli = ref([
- {
- img: ImgFile.previewIcon,
- name: "预览",
- },
- {
- img: ImgFile.downLoad,
- name: "下载",
- },
- {
- img: ImgFile.addolder,
- name: "打开文件所在位置",
- },
- ]);
- const addTab = inject("addTab");
- //----引入图片----
- import file_DOC from "../../../assets/images/fileType/file_DOC.png";
- import file_pdf from "../../../assets/images/fileType/file_pdf.png";
- import file_PPT from "../../../assets/images/fileType/file_PPT.png";
- import file_TXT from "../../../assets/images/fileType/file_TXT.png";
- import file_XLSX from "../../../assets/images/fileType/file_XLSX.png";
- import file_pic from "../../../assets/images/fileType/file_pic.png";
- import file_audio from "../../../assets/images/fileType/file_audio.png";
- import file_video from "../../../assets/images/fileType/file_video.png";
- import file_zip from "../../../assets/images/fileType/file_zip.png";
- // -------
- onMounted(() => {
- getList();
- window.addEventListener("click", closeRMenu, true);
- });
- const getList = async () => {
- const resY = await listRecent({ isFolder: "Y" });
- const resN = await listRecent({ isFolder: "N" });
- if (resY.code === 200) {
- var arr = [];
- resY.rows.map(async (item) => {
- const detail = await getDir(item.relaId);
- if(detail.data!=null) tableFolderData.value.push(JSON.parse(JSON.stringify(detail.data)));
- });
- console.log("resYarr", arr);
- // tableFolderData.value = resY.rows;
- console.log("tableData.value = ", toRaw(tableFolderData.value));
- }
- if (resN.code === 200) {
- var arr = [];
- resN.rows.map(async (item) => {
- const detail = await getInfo(item.relaId);
- tableFileData.value.push(detail.data);
- });
- console.log("resNarr", arr);
- // tableFileData.value = resN.rows;
- console.log("tableFileData.value = ", tableFileData.value);
- }
- };
- const getFileDetail = () => {};
- const handleChange = (val) => {
- // console.log(val);
- };
- function changeFile(row, num) {
- row = toRaw(row);
- if (row) {
- backFolder.value = thisFolder.value;
- thisFolder.value = row;
- } else {
- row = thisFolder.value;
- }
- thisFolder.value = row;
- console.log("changeFilerow2", row);
- if (row.isEncrypt === "Y") {
- getLeveldetailFn(row.encryptLevel);
- } else {
- thisFolderRole.value = null;
- }
- copyParentId.value = row.parentId;
- newDirId.value = row.dirId;
- newSpaceId.value = row.spaceId;
- documents
- .getALLdocument({ parentId: row.dirId - 0, spaceId: row.spaceId - 0 })
- .then((res) => {
- tableFolderData.value = res.data;
- // if (res.code === 200) {
- if (res.data.length === 0) {
- myfile
- .getById(newDirId.value)
- .then((res) => {
- if (res.code === 200) {
- tableFileData.value = res.rows;
- }
- })
- .catch((error) => {
- console.error("myfile.getAllFileMenu 调用失败:", error);
- });
- } else {
- myfile
- .getById(row.dirId - 0)
- .then((res) => {
- if (res.code === 200) {
- tableFileData.value = res.rows;
- }
- })
- .catch((error) => {
- console.error("myfile.getAllFileMenu 调用失败:", error);
- });
- }
- // }
- });
- selectedIndex.value = num;
- const newItem = {
- name: row.dirName,
- choose: row.dirName,
- dirIds: row.dirId,
- spaceIds: row.spaceId,
- };
- // 检查 newItem 是否已存在于 menuList 中
- const isItemExist = menuList.value.some(
- (item) => item.choose === newItem.choose
- );
- // 如果不存在,则添加它
- if (!isItemExist) {
- menuList.value.push(newItem);
- }
- }
- // 文件名表格每一行点击事件
- function handleRowClick(row, col, e) {
- console.log("row", row);
- isFolder.value = "N";
- clickRow.value = row;
- e.preventDefault();
- e.stopPropagation();
- xz.value = e.pageX;
- yz.value = e.pageY;
- copyRow.value = row;
- clickRowId.value = row.docId;
- copyDirId.value = row.dirId;
- copySpaceId.value = row.spaceId;
- copyFileId.value = row.fileId;
- copyFileSize.value = row.fileSize;
- copyFileType.value = row.fileType;
- nameForm.value.name = row.fileName;
- copyFileName.value = row.fileName;
- if (cliCC.value === true) {
- cliCC.value = false;
- } else {
- cliCC.value = true;
- }
- }
- //mouse弹框
- async function chooseSet(row, index, num) {
- // 权限控制
- // if (thisFolderRole.value && thisFolderRole.value.roles) {
- // if (thisFolderRole.value.roles.l0600) {
- // const passArr = localStorage.getItem("passArr");
- // const passArrObj = JSON.parse(passArr);
- // if (
- // !passArrObj ||
- // !passArrObj.some((item) => item === clickRow.value.docId)
- // ) {
- // chooseRow.value = row;
- // chooseNum.value = num;
- // showInputPassword.value = true;
- // return;
- // }
- // // console.log('needc');
- // }
- // }
- console.log("chooseSetrow", row);
- console.log("chooseSetnum", num);
- if (row.name === "打开文件所在位置") {
- const dirData = await getDir(clickRow.value.dirId);
- const spaceData = await getSpace(clickRow.value.spaceId);
- console.log("getInfoByDirId", dirData.data);
- console.log("spaceData", spaceData.data);
- if (spaceData.data.spaceType == "3") {
- spacePath.value = "/myfile";
- } else if (spaceData.data.spaceType == "1") {
- spacePath.value = "/publicment";
- } else {
- spacePath.value = "/department";
- }
- const addData = {
- path: spacePath.value + dirData.data.dirId,
- name: dirData.data.dirName,
- clickRowId: toRaw(dirData.data),
- };
- console.log("addData", addData);
- addFolderAdd(addData);
- }
- if (row.name === "下载") {
- // location.href = `${import.meta.env.VITE_APP_BASE_API}/biz/info/download/${copyFileId.value}`;
- downLoadfile();
- }
- if (row.name === "预览") {
- loadingPreview.value = true;
- const filePreview = canPreviewFile(copyFileType.value);
- if (filePreview) {
- loadingPreview.value = false;
- // addTab(clickRow.value);
- addFileTab(clickRow.value,0);
- onlyView.value = true;
- // editOnline.value = false
- cliCC.value = false;
- } else {
- const res = await preview(copyRow.value.docId);
- showPreview.value = true;
- previewData.value = URL.createObjectURL(res);
- }
- loadingPreview.value = false;
- console.log("filePreview", filePreview);
- // // console.log('res',res);
- // const res = await preview(copyFileId.value)
- // showPreview.value = true
- // previewData.value = URL.createObjectURL(res)
- }
- }
- function chooseSet1(num) {
- workOrEdit.value = num;
- thanks.value = true;
- anyP.value = false;
- }
- function formatFileSize(fileSize) {
- if (fileSize >= 1024 * 1024 * 1024) {
- // 大于等于1GB,显示GB
- return (fileSize / (1024 * 1024 * 1024)).toFixed(2) + "GB";
- } else if (fileSize >= 1024 * 1024) {
- // 大于等于1MB,显示MB
- return (fileSize / (1024 * 1024)).toFixed(2) + "MB";
- } else if (fileSize >= 1024) {
- // 大于等于1KB,显示KB
- return (fileSize / 1024).toFixed(2) + "KB";
- } else {
- // 小于1KB,显示字节
- return fileSize + "B";
- }
- }
- const setIcon = (fileType) => {
- switch (fileType) {
- case ".docx":
- return file_DOC;
- break;
- case ".pdf":
- return file_pdf;
- break;
- case ".ppt":
- return file_PPT;
- break;
- case ".txt":
- return file_TXT;
- break;
- case ".xlsx":
- return file_XLSX;
- break;
- case ".csv":
- return file_XLSX;
- break;
- case ".png":
- return file_pic;
- break;
- case ".mp3":
- return file_audio;
- break;
- case ".mp4":
- return file_video;
- break;
- case ".zip":
- return file_zip;
- break;
- default:
- return file_DOC;
- break;
- }
- };
- //对mouseCli数组进行筛选,实现菜单的区分显示
- const filterMouseCli = () => {
- const canPreviewArray = [
- ".doc",
- ".wps",
- ".docm",
- ".docx",
- ".dot",
- ".dotm",
- ".dotx",
- ".epub",
- ".fodt",
- ".htm",
- ".html",
- ".mht",
- ".odt",
- ".ott",
- ".pdf",
- ".rtf",
- ".txt",
- ".djvu",
- ".xps",
- ".csv",
- ".fods",
- ".ods",
- ".ots",
- ".xls",
- ".xlsm",
- ".xlsx",
- ".xlt",
- ".xltm",
- ".xltx",
- ".fodp",
- ".odp",
- ".otp",
- ".pot",
- ".potm",
- ".potx",
- ".pps",
- ".ppsm",
- ".ppsx",
- ".ppt",
- ".pptm",
- ".pptx",
- ];
- const typeArr = [".png", ".jpg", ".jpeg", ".JPG", ".mp3", ".mp4"];
- const imgTypeArr = [".png", ".jpg", ".jpeg", ".JPG"];
- const canEditArr = [
- ".doc",
- ".docm",
- ".docx",
- ".dot",
- ".dotm",
- ".dotx",
- ".txt",
- ".djvu",
- ".xps",
- ".csv",
- ".fods",
- ".ods",
- ".ots",
- ".xls",
- ".xlsm",
- ".xlsx",
- ".xlt",
- ".xltm",
- ".xltx",
- ".fodp",
- ".odp",
- ".otp",
- ".doc",
- ".docm",
- ".docx",
- ".dot",
- ".dotm",
- ".dotx",
- ".epub",
- ".fodt",
- ".htm",
- ".html",
- ".mht",
- ".odt",
- ".ott",
- ".rtf",
- ".txt",
- ".djvu",
- ".xps",
- ".wps",
- ".pptx",
- ];
- let arr = [];
- if (
- !(
- typeArr.includes(copyFileType.value) ||
- canPreviewArray.includes(copyFileType.value)
- )
- ) {
- arr = mouseCli.value.filter((item) => item.name !== "预览");
- } else {
- arr = toRaw(mouseCli.value);
- }
- if (!canEditArr.includes(copyFileType.value)) {
- arr = arr.filter(
- (item) =>
- item.name !== "在线编辑" &&
- item.name !== "协作" &&
- item.name !== "历史版本"
- );
- }
- if (!imgTypeArr.includes(copyFileType.value)) {
- arr = arr.filter((item) => item.name !== "文字识别");
- }
- // console.log('arr',arr);
- // if (thisFolderRole.value) {
- // arr = rightMenuRole(toRaw(thisFolderRole.value), arr);
- // }
- return arr;
- };
- // 关闭文件夹右键菜单
- const closeRMenu = () => {
- // console.log("close");
- cliCC.value = false;
- };
- //关闭图片预览事件
- const closeImgPreview = () => {
- // console.log('close');
- showPreview.value = false;
- };
- function getChildren(data) {
- fileTrees.value = data;
- refreshFile();
- }
- function getCollects(data) {
- collects.value = data;
- }
- //star收藏事件
- const collectByStar = (row, isfolder) => {
- console.log("row", row);
- if (isfolder) {
- let thisRow = toRaw(row);
- isFolder.value = "Y";
- clickRow.value = thisRow;
- copyFolderName.value = row.dirName;
- copyFileName.value = clickRow.value.dirName;
- } else {
- isFolder.value = "N";
- clickRow.value = row;
- copyRow.value = row;
- clickRowId.value = row.docId;
- copyDirId.value = row.dirId;
- copyFileName.value = row.fileName;
- }
- collects.value = true;
- };
- // 取消文件收藏
- const delCollect = async (row, isfolder) => {
- const thisRow = toRaw(row);
- console.log("thisRow", thisRow);
- let query = {};
- if (isfolder) {
- query = {
- isFolder: "Y",
- relaId: thisRow.dirId,
- };
- } else {
- query = {
- isFolder: "N",
- relaId: thisRow.docId,
- };
- }
- const res = await delFavorite(query);
- //TODO 之后需要重新获取数据 并message提示
- console.log("res", res);
- refreshFile();
- };
- //刷新文件
- const refreshFile = () => {
- // console.log('ref',toRaw(thisFolder.value));
- if (toRaw(thisFolder.value) && toRaw(thisFolder.value).isFavorite) {
- //如果点开了文件夹
- // console.log(111);
- folderClick();
- } else {
- // console.log(222);
- getList();
- }
- };
- //获取权限详情
- const getLeveldetailFn = async (data) => {
- const res = await getLeveldetail(data);
- // console.log('getLeveldetailFn',res);
- if (res.code === 200) {
- thisFolderRole.value = res.data;
- }
- // console.log('thisFolderRole',thisFolderRole.value);
- };
- // 文件下载
- const downLoadfile = () => {
- myfile.fileDown(clickRow.value.docId).then((res) => {
- var reader = new FileReader();
- reader.onloadend = function (event) {
- //event 就是你要的返回内容
- //因为返回的报错格式是字符串,手动转换成对象,转换成功表示请求失败
- //转换失败就意味着你拿到的result是文件流,那么直接手动下载就好
- try {
- let data = JSON.parse(event.target.result);
- } catch (err) {
- const link = document.createElement("a"); // 创建a标签
- let blob = new Blob([res]);
- link.style.display = "none";
- link.href = URL.createObjectURL(blob); // 创建下载的链接
- link.setAttribute("download", clickRow.value.fileName); // 给下载后的文件命名
- document.body.appendChild(link);
- link.click(); // 点击下载
- document.body.removeChild(link); // 完成移除元素
- window.URL.revokeObjectURL(link.href); // 释放blob对象
- }
- };
- reader.readAsText(res);
- });
- };
- </script>
- <style lang="scss" scoped>
- @import "@/assets/styles/my-common.scss";
- .page {
- height: 100%;
- height: 100%;
- background-color: #fff;
- }
- .table_icon {
- height: 27px;
- width: 27px;
- vertical-align: middle;
- }
- .collapse_Item {
- height: 50%;
- }
- .setCli {
- width: 156px;
- max-height: auto;
- position: absolute;
- top: -70px;
- left: 300px;
- flex-wrap: 400;
- background-color: white;
- border: 1px solid gray;
- border-radius: 4px;
- z-index: 3;
- overflow-y: auto;
- // font-size: 16px;
- }
- .setCli1 {
- width: 156px;
- height: auto;
- position: absolute;
- background-color: white;
- border: 1px solid gray;
- border-radius: 4px;
- z-index: 100;
- overflow-y: auto;
- }
- .chooseSet {
- width: 140px;
- height: 30px;
- line-height: 30px;
- margin: 5px auto;
- font-size: 13px;
- // display: flex;
- // align-items: center;
- // position: relative;
- img {
- margin-right: 4px;
- vertical-align: middle;
- }
- }
- .chooseSet:hover {
- width: 140px;
- height: 30px;
- line-height: 30px;
- margin: 5px auto;
- font-size: 13px;
- background-color: #f5f7f9;
- /* color: white; */
- }
- ::v-deep .el-collapse-item__content {
- padding-bottom: 0;
- height: 50% !important;
- }
- ::v-deep .el-collapse-item__header {
- background-color: #ebeff6 !important;
- width: 100% !important;
- height: 24px !important;
- }
- ::v-deep .el-collapse-item__arrow {
- position: relative;
- color: #2e6bc8;
- right: 97%;
- }
- ::v-deep .el-table td.el-table__cell {
- border: none;
- font-size: 14px !important;
- font-weight: 400 !important;
- color: #000 !important;
- }
- ::v-deep .el-table__row {
- height: 35px !important;
- }
- ::v-deep .el-table .el-table__header-wrapper th {
- border-bottom: none;
- border-right: 1px solid #c1cce3;
- background-color: #fff !important;
- color: #505870;
- font-size: 14px;
- }
- .collapseItem_title {
- position: relative;
- left: 40px;
- color: #2e6bc8;
- font-family: Inter-Medium;
- font-size: 12px;
- }
- // 表格右边3个靠右对齐
- ::v-deep .el-table__header thead tr th {
- font-family: Inter-Medium;
- font-size: 14px;
- color: #505870;
- text-align: right;
- &:nth-child(1) {
- text-align: left;
- }
- }
- ::v-deep .el-table__body tbody [class*="column_"] {
- text-align: right;
- &:nth-child(4n + 1) {
- text-align: left;
- }
- }
- //平铺
- .tile_box {
- width: 100%;
- height: 300px;
- display: flex;
- flex-wrap: wrap;
- .file_box {
- width: 116px;
- min-height: 138px;
- // border: 1px solid #000;
- display: flex;
- flex-direction: column;
- align-items: center;
- .big_file_img {
- width: 100px;
- height: 100px;
- }
- span {
- font-size: 14px;
- font-weight: 400;
- line-height: 22px;
- }
- }
- }
- .shouzhi{
- margin-left: 5px;
- }
- </style>
|