123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920 |
- <template>
- <div class="f_box">
- <div class="f_box_top2" :style="{maxWidth:fold ? 'calc(100% - 10px)' : 'calc(100% - 320px)'}">
- <folderFileBoxVue
- :pid="pid"
- :userid="userid"
- :typeArray="typeArray"
- :folderid="folderid"
- :moFolderid="moFolderid"
- :data="data"
- @goCheckType="goCheckType"
- ></folderFileBoxVue>
- </div>
- <div class="f_box_top" v-loading="isLoading" v-show="!fold">
- <div class="f_b_foldBtn">
- <div @click="fold = true">
- <img src="../../../assets/icon/fold.svg">
- </div>
- </div>
- <div class="t_title">
- <div class="t_title">
- <img style="width: 20px;margin-right: 5px;" src="../../../assets/listfolder2.svg" alt="">
- <el-tooltip class="item" effect="dark" :content="data.name" placement="top">
- <div class="perName">{{ data.name }}</div>
- </el-tooltip>
- </div>
- <div style="margin-left: 6px;cursor: pointer;" @click="openCanEdit" v-if="userid == data.userid && data.isMo == '2'">
- <img style="width: 11px;" src="../../../assets/xiugai.svg" alt="">
- </div>
- </div>
- <div class="t_btn" v-if="userid == data.userid && data.isMo == '2'">
- <div v-if="userid == data.userid && data.isMo == '2'" @click="copyFolder">
- <img style="height: 14px; margin-right: 8px;" src="../../../assets/copyFlieG2.svg" alt="">
- {{lang.copy}}
- </div>
- <div v-if="userid == data.userid && data.isMo == '2'" @click="deleteFile(pid.split('/')[1])">
- <img style="width: 16px;margin-right: 8px;transform: scale(.9);" src="../../../assets/delFlieG.svg" alt="">
- {{lang.delete}}
- </div>
- </div>
- <div class="detail">
- <div class="detail_box">
- {{ !data.detail ? lang.noDesc : data.detail }}
- </div>
- </div>
- <div
- style="height: 1px;border-bottom: 1px #E8EBF0 solid; margin: 16px 0;"
- v-if="check1.length || check2.length || check3.length"
- ></div>
- <div
- style="font-size: 12px;font-family: PingFang;color: #111824;margin-bottom: 12px;font-weight: 600;"
- v-if="check1.length || check2.length || check3.length"
- >{{ lang.tag }}</div>
- <!-- data.userid == userid && -->
- <div class="tag_box" v-if="data.isMo == '2'">
- <div class="tag" v-loading="tagLoading1">
- <div class="tags" v-if="check1.length || check2.length || check3.length">
- <div v-for="(item,index) in tagData1" :key="index+'a'">
- <span style="background: #F0F4FF;color: #3370FF;" v-if="check1.includes(item.id)">{{ TagList(item) }}</span>
- </div>
- <div v-for="(item,index) in tagData2" :key="index+'b'">
- <span style="background: #EDFBF3;color: #039855;" v-if="check2.includes(item.id)">{{ TagList2(item) }}</span>
- </div>
- <div v-for="(item,index) in tagData3" :key="index+'c'">
- <span style="background: #FFFAEB;color: #DC6803;" v-if="check3.includes(item.name)">{{ TagList3(item) }}</span>
- </div>
- </div>
- <!-- <div class="tags" v-if="check2.length">
- </div>
- <div class="tags" v-if="check3.length">
- </div> -->
- </div>
- <div style="height: 1;border-bottom: 1px #E8EBF0 solid;margin: 16px 0;"></div>
- <div style="font-size: 12px;font-family: PingFang;color: #111824;margin-bottom: 12px;font-weight: 600;">
- {{lang.permissions}}
- </div>
- <div class="flieTag">
- <div v-if="data.juri == 1">
- <img src="../../../assets/siyou1.svg" alt="">
- <span>{{lang.private}}</span>
- </div>
- <div v-if="data.juri == 2">
- <img src="../../../assets/siyou3.svg" alt="">
- <span>{{lang.organization}}</span>
- </div>
- <div v-if="data.juri == 3">
- <img src="../../../assets/siyou2.svg" alt="">
- <span>{{lang.public}}</span>
- </div>
- </div>
- </div>
- <!-- data.isMo == '2' -->
- <div class="tag_box" v-else-if="false">
- <div class="tag_check">
- <div class="tag_check_box" v-if="this.check1.length">
- <span>{{lang.subject}}:</span>
- <span>{{ getTagName(1) }}</span>
- </div>
- <div class="tag_check_box" v-if="this.check2.length">
- <span>{{lang.grade}}:</span>
- <span>{{ getTagName(2) }}</span>
- </div>
- <div class="tag_check_box" v-if="this.check3.length">
- <span>{{lang.customize}}:</span>
- <span>{{ getTagName(3) }}</span>
- </div>
- </div>
- </div>
- </div>
- <div class="f_b_foldArea" v-show="fold">
- <div @click="fold = false">
- <img src="../../../assets/icon/fold.svg">
- </div>
- </div>
- <el-dialog
- :visible.sync="canEdit"
- width="30%"
- title=""
- class="canEditCss"
- :before-close="handleClose">
- <div class="canEditTit" slot="title">
- <img src="../../../assets/listfolder2.svg" alt="">
- <span>{{ lang.edit }}</span>
- </div>
- <div class="canEditFileName">{{lang.fileName}}</div>
- <el-input v-model="fileDetail.name" :placeholder=lang.inputName></el-input>
- <div class="canEditFileName">{{lang.description}}</div>
- <el-input
- type="textarea"
- :autosize="{ minRows: 2, maxRows: 4}"
- :placeholder=lang.inputDesc
- v-model="fileDetail.detail">
- </el-input>
- <div class="canEditFileName">{{lang.subjectTag}}</div>
- <selectTag
- v-loading="tagLoading1"
- v-model="fileDetailCheck1"
- :options="tagData1"
- :placeholder=lang.seTagType
- style="width: 65%"
- />
- <!-- @change="updateFolder()" -->
- <div class="canEditFileName">{{lang.gradeTag}}</div>
- <selectTag
- v-loading="tagLoading2"
- v-model="fileDetailCheck2"
- :options="tagData2"
- :placeholder=lang.seGradeTag
- style="width: 65%; "
- clearable
- />
- <!-- @change="updateFolder()" -->
- <div class="canEditFileName">{{lang.customTag}}:</div>
- <selectTag2
- v-loading="tagLoading3"
- v-model="fileDetailCheck3"
- :options="tagData3"
- :placeholder=lang.customTag
- style="width: 65%;"
- allow-create
- filterable
- clearable
- @change="handleTagChange"
- @deleteTag="deleteTag"
- />
- <!-- @change="handleTagChange" -->
- <div class="canEditFileName" style="margin-bottom: 9px;">{{ lang.permissions }}</div>
- <div class="tag" >
- <div class="tag_check">
- <el-radio-group v-model="fileDetail.juri" >
- <el-radio label="1">{{lang.private}}</el-radio>
- <el-radio label="2">{{lang.organization}}</el-radio>
- <el-radio label="3">{{lang.public}}</el-radio>
- </el-radio-group>
- </div>
- </div>
- <!-- disabled @change="updateFolder()" -->
- <span slot="footer" class="dialog-footer">
- <el-button @click="canEdit = false">{{lang.cancel}}</el-button>
- <el-button type="primary" @click="modifyDetail">{{lang.confirm}}</el-button>
- </span>
- </el-dialog>
- </div>
- </template>
- <script>
- import selectTag from "./components/selectTag.vue";
- import selectTag2 from "./components/selectTag2.vue";
- import folderFileBoxVue from "./folderFileBox.vue";
- export default {
- props: {
- pid: {
- type: String
- },
- userid: {
- type: String
- },
- typeArray: {
- type: Array
- },
- folderid: {
- String: String
- },
- moFolderid: {
- String: String
- }
- },
- components: {
- folderFileBoxVue,
- selectTag,
- selectTag2
- },
- data() {
- return {
- data: {},
- fileDetail:{},
- fileDetailCheck1:[],
- fileDetailCheck2:[],
- fileDetailCheck3:[],
- isLoading: false,
- canEdit: false,
- tagLoading1: false,
- tagLoading2: false,
- tagLoading3: false,
- tagData1: [],
- tagData2: [],
- tagData3: [],
- check1: [],
- check2: [],
- check3: [],
- fold:false,
- };
- },
- watch: {
- pid(newValue, oldValue) {
- this.data = {};
- this.getData();
- this.getTag(1); // 获取标签
- this.getTag(2); // 获取标签
- this.getTag(3); // 获取标签
- }
- },
- computed: {
- TagList(){
- return function(val) {
- if (this.check1.includes(val.id)) {
- for (let index = 0; index < this.check1.length; index++) {
- if (this.check1[index] == val.id) {
- return val.name
- }
- }
- }
- };
- },
- TagList2(){
- return function(val) {
- if (this.check2.includes(val.id)) {
- for (let index = 0; index < this.check2.length; index++) {
- if (this.check2[index] == val.id) {
- return val.name
- }
- }
- }
- };
- },
- TagList3(){
- return function(val) {
- if (this.check3.includes(val.name)) {
- for (let index = 0; index < this.check3.length; index++) {
- if (this.check3[index] == val.name) {
- return val.name
- }
- }
- }
- };
- },
- getTagName() {
- return function(type) {
- const tagDataMap = {
- 1: { data: this.tagData1, check: this.check1, key: "id" },
- 2: { data: this.tagData2, check: this.check2, key: "id" },
- 3: { data: this.tagData3, check: this.check3, key: "name" }
- };
- const { data, check, key } = tagDataMap[type] || {};
- return data
- ? data
- .filter(item => check.includes(item[key]))
- .map(item => item.name)
- .join(",")
- : "";
- };
- }
- },
- directives: {
- autoHeight: {
- update(el, binding) {
- const { value } = binding;
- if (value && typeof value === "number") {
- el.style.height = `${value}px`;
- } else {
- el.style.height = "auto";
- }
- },
- componentUpdated(el) {
- el.style.height = `${el.scrollHeight + 10}px`;
- }
- }
- },
- mounted() {
- this.getTag(1); // 获取标签
- this.getTag(2); // 获取标签
- this.getTag(3); // 获取标签
- this.getData();
- },
- methods: {
- openCanEdit(){
- this.canEdit = true;
- this.fileDetail = JSON.parse(JSON.stringify(this.data))
- this.fileDetailCheck1 = JSON.parse(JSON.stringify(this.check1))
- this.fileDetailCheck2 = JSON.parse(JSON.stringify(this.check2))
- this.fileDetailCheck3 = JSON.parse(JSON.stringify(this.check3))
- },
- modifyDetail(){
- if (!this.fileDetail.name.trim()) {
- this.$message.error(this.lang.folderNameMust);
- return;
- }
- let type = this.pid.split("/");
- let params = {
- id: type[1],
- n: this.fileDetail.name,
- d: this.fileDetail.detail,
- st: this.fileDetailCheck1.join(","),
- ct: this.fileDetailCheck2.join(","),
- t: this.fileDetailCheck3.join(","),
- j: this.fileDetail.juri,
- folderid: this.folderid
- };
- // t: this.fileDetailCheck3.join(","),
- // return console.log('params2',params);
- this.ajax
- .post(this.$store.state.fileApi + "updateFolder", [params])
- .then(res => {
- this.$message.success(this.lang.updateSuccess);
- this.canEdit=false
- this.getData();
- })
- .catch(err => {
- console.error(err);
- });
- // this.updateFolder()
- // this.handleTagChange()
- },
- handleClose(done) {
- done();
- },
- getData() {
- this.isLoading = true;
- let type = this.pid.split("/");
- let params = {
- id: type[1]
- };
- this.ajax
- .post(this.$store.state.api + "getKnowledgeDetail", [params])
- .then(res => {
- this.isLoading = false;
- this.data = res.data[0][0];
- this.fileDetail = JSON.parse(JSON.stringify(res.data[0][0]));
- this.fileDetailCheck1 = res.data[0][0].sub_tag
- ? res.data[0][0].sub_tag.split(",")
- : [];
- this.fileDetailCheck2 = res.data[0][0].class_tag
- ? res.data[0][0].class_tag.split(",")
- : [];
- this.fileDetailCheck3 = res.data[0][0].tag ? res.data[0][0].tag.split(",") : [];
- this.check1 = res.data[0][0].sub_tag
- ? res.data[0][0].sub_tag.split(",")
- : [];
- this.check2 = res.data[0][0].class_tag
- ? res.data[0][0].class_tag.split(",")
- : [];
- this.check3 = res.data[0][0].tag ? res.data[0][0].tag.split(",") : [];
- })
- .catch(err => {
- this.isLoading = false;
- console.error(err);
- });
- },
- getTag(type) {
- const tagLoadings = [
- this.tagLoading1,
- this.tagLoading2,
- this.tagLoading3
- ];
- tagLoadings[type - 1] = true;
- let params = {
- type: type,
- uid: this.userid
- };
- this.ajax
- .post(this.$store.state.api + "getKnowledgeTag", [params])
- .then(res => {
- tagLoadings[type - 1] = false;
- let _data = res.data[0];
- _data.forEach(i=>{
- if(this.lang.lang == "en" && i.com){
- i.name = i.com;
- }else if(this.lang.lang == "hk" && i.hk){
- i.name = i.hk;
- }
- })
- this[`tagData${type}`] = _data
- const checkKey = `check${type}`;
- if (type == 3) {
- this[checkKey] = this[checkKey].filter(tag =>
- this[`tagData${type}`].some(item => item.name === tag)
- );
- } else {
- this[checkKey] = this[checkKey].filter(tag =>
- this[`tagData${type}`].some(item => item.id === tag)
- );
- }
- })
- .catch(err => {
- tagLoadings[type - 1] = false;
- console.error(err);
- });
- },
- deleteFile(id) {
- this.$confirm(this.lang.confirmDelete, this.lang.prompt, {
- confirmButtonText: this.lang.confirm,
- cancelButtonText: this.lang.cancel,
- type: "warning"
- })
- .then(() => {
- let params = [{ ids: id, folderids: this.folderid }];
- this.ajax
- .post(this.$store.state.fileApi + "deleteFolder", params)
- .then(res => {
- this.$message({
- message: this.lang.deleteSuccess,
- type: "success"
- });
- this.$emit("checkType", this.pid.split("/")[0]);
- })
- .catch(err => {
- this.$message.error(this.lang.deleteFail);
- console.error(err);
- });
- })
- .catch(() => {});
- },
- goCheckType(val){
- this.$emit("checkType", val);
- },
- copyFolder() {
- this.isLoading = true;
- let params = [
- {
- n: this.data.name,
- fd: this.data.detail,
- uid: this.userid,
- folderid: this.folderid,
- }
- ];
- this.ajax
- .post(this.$store.state.fileApi + "copyFolder", params)
- .then(res => {
- this.isLoading = false;
- this.$message({
- message: this.lang.copySuccess,
- type: "success"
- });
- this.$emit("checkType", this.pid.split("/")[0]);
- })
- .catch(err => {
- this.isLoading = false;
- this.$message.error(this.lang.copyFail);
- console.error(err);
- });
- },
- editConfirm() {
- if (!this.canEdit) {
- this.canEdit = true;
- this.data.detail += "*1*/123/";
- this.$nextTick(() => {
- this.data.detail = this.data.detail.replace("*1*/123/", "");
- this.$refs.binfo_textarea.focus();
- });
- } else {
- this.canEdit = false;
- this.updateFolder();
- }
- },
- updateFolder() {
- if (!this.data.name.trim()) {
- this.$message.error(this.lang.folderNameMust);
- this.canEdit = true;
- return;
- }
- let type = this.pid.split("/");
- let params = {
- id: type[1],
- n: this.data.name,
- d: this.data.detail,
- st: this.check1.join(","),
- ct: this.check2.join(","),
- t: this.check3.join(","),
- j: this.data.juri,
- folderid: this.folderid
- };
- // return console.log('params',params);
- this.ajax
- .post(this.$store.state.fileApi + "updateFolder", [params])
- .then(res => {
- this.$message.success(this.lang.updateSuccess);
- this.getData();
- })
- .catch(err => {
- console.error(err);
- });
- },
- handleTagChange(value) {
- // console.log('value',value);
- const tagArray = this.tagData3;
- const selectedTags = value.flatMap(tag =>
- tag.split(/[,,]/).map(t => t.trim())
- );
- // 去掉选中反而选中不带逗号的值
- const uniqueTags = [
- ...new Set(selectedTags.map(tag => tag.replace(/[,,].*/, "").trim()))
- ];
- const missingTags = uniqueTags.filter(
- selectedTag => !tagArray.some(tag => tag.name === selectedTag)
- );
- // console.log("Selected tags:", uniqueTags);
- // console.log("Missing tags:", missingTags);
- this.fileDetailCheck3 = uniqueTags;
- missingTags.forEach(tag => this.addTag(tag));
- // this.updateFolder();
- },
- addTag(name) {
- let params = {
- n: name,
- uid: this.userid,
- type: 3,
- j: 3
- };
- this.ajax
- .post(this.$store.state.api + "addTag", [params])
- .then(res => {
- this.getTag(3);
- })
- .catch(err => {
- console.error(err);
- });
- },
- deleteTag(id, n) {
- this.$confirm(this.lang.confirmDeTag, this.lang.prompt, {
- confirmButtonText: this.lang.confirm,
- cancelButtonText: this.lang.cancel,
- type: "warning"
- })
- .then(() => {
- this.check3 = this.check3.filter(t => t != n);
- this.updateFolder();
- let params = {
- id: id
- };
- this.ajax
- .post(this.$store.state.api + "deleteTag", [params])
- .then(res => {
- this.$message.success(this.lang.deleteSuccess);
- this.getTag(3);
- })
- .catch(err => {
- console.error(err);
- });
- })
- .catch(() => {});
- }
- }
- };
- </script>
- <style scoped>
- .f_box {
- width: 100%;
- height: 100%;
- position: relative;
- border-radius: 8px;
- box-sizing: border-box;
- display: flex;
- gap: 16px;
- }
- .f_box_top {
- padding: 10px;
- width: 272px;
- padding: 16px 24px 24px 24px;
- flex-shrink: 0;
- box-sizing: border-box;
- height: calc(100% - 24px);
- border-radius: 8px;
- background-color: #fff;
- box-sizing: border-box;
- }
- .f_b_foldBtn{
- width: 100%;
- height: 20px;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- }
- .f_b_foldArea{
- width: auto;
- height: auto;
- position: absolute;
- right: -10px;
- top: 5px;
- display: flex;
- }
- .f_b_foldArea>div{
- width: 30px;
- height: 30px;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 15px 0 0 15px;
- background-color: #fff;
- cursor: pointer;
- box-sizing: border-box;
- border: 1px #E8EBF0 solid;
- border-right: none;
- }
- .f_b_foldArea>div>img{
- width: 20px;
- height: 20px;
- }
- .f_b_foldBtn>div{
- width: 20px;
- height: 20px;
- cursor: pointer;
- }
- .f_b_foldBtn>div>img{
- width: 100%;
- height: 100%;
- transform: rotate(180deg);
- }
- .f_box_top2{
- height: calc(100% - 48px);
- flex: 1;
- max-width: calc(100% - 320px);
- display: flex;
- flex-direction: column !important;
- background-color: #fff;
- border-radius: 8px;
- padding: 0 0 24px;
- }
- .t_title{
- display: flex;
- font-weight: 600;
- font-size: 16px;
- /* width: 180px; */
- color: #111842;
- }
- /* .t_title p{
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- } */
- .t_btn{
- display: flex;
- gap: 10px;
- color: #485264;
- padding-top: 8px;
- /* margin: 10px 0; */
- }
- .t_btn div{
- padding: 6px 12px;
- background: #f4f4f7;
- border-radius: 6px;
- box-sizing: border-box;
- border: 1 #e8ebf0 solid;
- font-size: 12.8px;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- border: 1px #E8EBF0 solid;
- }
- .detail_box{
- font-size: 12.8px;
- color: #667085;
- padding-top: 12px;
- font-family: PingFang;
- -webkit-line-clamp: 5;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- .tags{
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- font-family: PingFang;
- }
- .tags div {
- margin-bottom: 10px;
- }
- .tags >>> span{
- height: 24.38px;
- line-height: 24.38px;
- padding: 4px 10px;
- border-radius: 6px;
- border: none;
- box-sizing: border-box;
- font-size: 12.8px;
- margin-right: 8px;
- }
- .flieTag{
- font-size: 12px;
- font-family: PingFang SC;
- /* margin-top: 8px; */
- color: #667085;
- background-color: #F4F4F7;
- height: 55px;
- padding: 6px;
- border-radius: 8px;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 12.8px;
- box-sizing: border-box;
- }
- .flieTag div{
- display: flex;
- align-items: center;
- }
- .flieTag img{
- width: 14px;
- margin-right: 5px;
- }
- .tag_box > .tag > .tag_title {
- /* margin-top: 10px; */
- display: flex;
- /* flex-direction: column; */
- flex-wrap: wrap;
- }
- .tag_title div{
- display: flex;
- width: 100%;
- flex-wrap: wrap;
- }
- .tag_box > .tag > .tag_check {
- display: flex;
- }
- /* .selectBox {
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
- } */
- /* .controlsBox {
- display: flex;
- align-items: center;
- width: auto;
- height: 100%;
- display: flex;
- }
- .delSelect {
- width: 16px;
- height: 16px;
- align-items: center;
- justify-content: center;
- background: url("../../../assets/icon/classroomObservation/del.svg") no-repeat;
- background-size: 100% 100%;
- box-sizing: border-box;
- } */
- /* .tag_check_box {
- width: 100%;
- display: flex;
- margin: 0 0 10px;
- flex-shrink: 0;
- }
- .tag_check_box > span:nth-child(1) {
- min-width: 65px;
- text-align-last: justify;
- }
- .tag_check_box > span:nth-child(2) {
- word-break: break-all;
- } */
- .canEditCss >>> .el-dialog{
- border-radius: 8px;
- width: 500px !important;
- }
- .canEditCss >>> .el-dialog__body{
- padding-top: 0;
- padding-bottom: 10px !important;
- }
- .canEditCss >>> .el-dialog__header{
- background-color: rgb(251, 251, 252);
- border-radius: 8px 8px 0 0;
- font-family: Pingfang;
- border-bottom: .5px rgb(244, 246, 248) solid;
- }
- .canEditTit{
- display: flex;
- justify-content: flex-start;
- align-items: center;
- }
- .canEditTit img{
- width: 25px;
- margin-right: 10px;
- }
- .canEditFileName{
- font-size: 14px;
- color: #111824;
- font-family: PingFang;
- height: 21px;
- line-height: 21px;
- padding-top: 16px;
- margin-bottom: 4px;
- }
- .perName{
- flex-shrink: 0;
- min-width: 50px;
- max-width: 120px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- </style>
|