Commit 8ecaba8c authored by zhengke's avatar zhengke

文件夹

parent c8ddf84c
...@@ -120,6 +120,9 @@ page { ...@@ -120,6 +120,9 @@ page {
.flex-end{ .flex-end{
justify-content: end; justify-content: end;
} }
.flex-center{
justify-content: center;
}
.text-primary{ .text-primary{
color:#0b40fe; color:#0b40fe;
} }
......
...@@ -57,6 +57,7 @@ const saveFolder=async ()=>{ ...@@ -57,6 +57,7 @@ const saveFolder=async ()=>{
try { try {
let response = await FolderService.SetFolderAsync(props.folderId,name.value,props.parentId,props.folderType) let response = await FolderService.SetFolderAsync(props.folderId,name.value,props.parentId,props.folderType)
if(response.data.resultCode==ApiResult.SUCCESS){ if(response.data.resultCode==ApiResult.SUCCESS){
emit('close')
emit('success') emit('success')
ElMessage.success({ ElMessage.success({
message:'操作成功' message:'操作成功'
......
...@@ -2,19 +2,9 @@ ...@@ -2,19 +2,9 @@
<div class="q-px-md q-pt-lg"> <div class="q-px-md q-pt-lg">
<div class="q-pl-lg row q-mb-lg"> <div class="q-pl-lg row q-mb-lg">
<div class="col row items-center q-pl-md"> <div class="col row items-center q-pl-md">
<h5 class="row items-center"> <h5>
<span class="pointer" @click="()=>{queryObj.FileId=0;refreshHandler()}"><el-icon class="q-pt-md" v-if="queryObj.FileId>0" size="20"><ArrowLeft /></el-icon></span>
<span v-if="queryObj.FileId==0" class="q-pl-md">
<template v-if="currentMenu==3">行程文档</template> <template v-if="currentMenu==3">行程文档</template>
<template v-else-if="currentMenu==4">广告图</template> <template v-else-if="currentMenu==4">广告图</template>
</span>
<span v-else class="q-pl-md row items-center">
<span>
<template v-if="currentMenu==3">行程文档</template>
<template v-else-if="currentMenu==4">广告图</template>
</span>
<span>/{{Navigation.FileName}}</span>
</span>
</h5> </h5>
<div class="select-btn q-pl-lg pointer q-mt-sm"> <div class="select-btn q-pl-lg pointer q-mt-sm">
<el-icon> <el-icon>
...@@ -47,47 +37,48 @@ ...@@ -47,47 +37,48 @@
@click="clickSelectAll" @click="clickSelectAll"
:indeterminate="isIndeterminate"/></th> :indeterminate="isIndeterminate"/></th>
<th colspan="2" class="text-light"><div class="text-left q-pl-md">文档名称</div></th> <th colspan="2" class="text-light"><div class="text-left q-pl-md">文档名称</div></th>
<th class="text-light" style="min-width: 150px;width: 150px;">最近修改</th> <th class="text-light" style="min-width: 100px;width: 110px;">最近修改</th>
<th class="text-light" style="min-width: 100px;width: 100px;">创建者</th> <th class="text-light" style="min-width: 100px;width: 100px;">创建者</th>
<th class="text-light" style="min-width: 120px;width: 120px;">操作</th> <th class="text-light" style="min-width: 120px;width: 120px;">操作</th>
</tr> </tr>
<template v-for="(item,index) in dataList"> <template v-for="(item,index) in dataList">
<tr class="text-5B5D62 journeyAdsple-table pointer"> <tr class="text-5B5D62 journeyAdsple-table pointer" v-on:click.right="handleRightClick(item)">
<td @click.stop="OffEdit"><div class="row items-center hoverShow" <td @click.stop="OffEdit"><div class="row items-center hoverShow"
:style="{'opacity':item.singleChoice?1:''}"> :style="{'opacity':item.singleChoice?1:''}">
<el-checkbox size="sm" class="SelectAllBox" v-model="item.singleChoice" <el-checkbox size="sm" class="SelectAllBox" v-model="item.singleChoice"
@click="singleChoice(item)"/></div></td> @click="singleChoice(item)"/></div></td>
<td style="width: 30px;" @click.stop="OffEdit"> <td style="width: 30px;" @click.stop="OffEdit">
<img v-if="item.FileType" class="q-px-md" :src="item.FileType==1?datas.pdfImg:datas.adsImg" <img v-if="item.TemplateType" class="q-px-md" :src="item.TemplateType==1?datas.pdfImg:datas.adsImg"
style="height: 25px;" /> style="height: 25px;" />
<img v-else @click.stop="editDelete(item,2)" class="q-px-md" :src="datas.adsImg" <img v-else class="q-px-md" :src="datas.folderImg"
style="height: 25px;" /> style="height: 25px;" />
</td> </td>
<td class="journeyAds-title wrap row"> <td class="journeyAds-title wrap row">
<div v-if="!item.editTitle" class="col" @click.stop="item.FileType?OffEdit():editDelete(item,2)"> <div class="col" v-if="!item.editTitle" @click.stop="OffEdit">
<div class="row flex-center">
<el-tooltip <el-tooltip
class="box-item"
effect="dark" effect="dark"
placement="top"> placement="top-start">
<template #content><div style="max-width: 600px;">{{item.FileName}}</div></template> <template #content><div style="max-width: 600px;">{{item.Title}}</div></template>
<div class="journeyAds-TitleCenter">{{item.FileName}} <div class="journeyAds-TitleCenter">{{item.Title}}
<span v-if="item.FileName.length>70">...</span> <span v-if="item.Title.length>70">...</span>
</div> </div>
</el-tooltip> </el-tooltip>
</div> </div>
</div>
<el-input <el-input
class="journeyAds-Input" class="journeyAds-Input"
v-model="item.FileName" v-model="item.Title"
autosize autosize
type="textarea" type="textarea"
placeholder="Please input" placeholder="Please input"
maxlength="500" maxlength="500"
size="small" size="small"
v-if="item.editTitle" v-if="item.editTitle"
@blur="handleUpdateTitle(item)"/> @blur="handleUpdateTitle(item)"
</td> /></td>
<td class="text-center" @click.stop="item.FileType?OffEdit():editDelete(item,2)"><span>{{item.Day?item.Day+'天前':item.UpdateTime}}</span></td> <td class="text-center" @click.stop="OffEdit"><span>{{item.Day?item.Day+'天前':item.UpdateTime}}</span></td>
<td class="text-center" @click.stop="item.FileType?OffEdit():editDelete(item,2)"><span>{{item.CreateName}}</span></td> <td class="text-center" @click.stop="OffEdit"><span>{{item.CreateByName}}</span></td>
<td class="text-center"> <td class="text-center">
<div class="hoverShow row items-center just-center q-pt-sm"> <div class="hoverShow row items-center just-center q-pt-sm">
<el-button type="primary" :icon="Edit" size="small" @click.stop="editDelete(item)">编辑</el-button> <el-button type="primary" :icon="Edit" size="small" @click.stop="editDelete(item)">编辑</el-button>
...@@ -95,15 +86,14 @@ ...@@ -95,15 +86,14 @@
<el-icon size="16" color="#b1b7cf"><MoreFilled /></el-icon> <el-icon size="16" color="#b1b7cf"><MoreFilled /></el-icon>
<template #dropdown> <template #dropdown>
<el-dropdown-menu class="q-pa-md" @click.stop="OffEdit"> <el-dropdown-menu class="q-pa-md" @click.stop="OffEdit">
<el-dropdown-item v-if="item.FileType" icon="EditPen" @click.stop="startEditTitle(item)">重命名</el-dropdown-item> <el-dropdown-item icon="EditPen" @click.stop="startEditTitle(item)">重命名</el-dropdown-item>
<el-dropdown-item v-if="item.FileType" icon="Clock" @click.stop="history(item)">历史版本</el-dropdown-item> <el-dropdown-item icon="Clock" @click.stop="history(item)">历史版本</el-dropdown-item>
<el-dropdown-item v-if="item.FileType" icon="Position" @click="()=>shareId=item.FileId">分享</el-dropdown-item> <el-dropdown-item icon="Position" @click="()=>shareId=item.Id">分享</el-dropdown-item>
<el-dropdown-item icon="Delete" @click="editDelete(item,1)">删除</el-dropdown-item> <el-dropdown-item icon="Delete" @click="editDelete(item,1)">删除</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
</div> </div></td>
</td>
</tr> </tr>
</template> </template>
</table> </table>
...@@ -119,27 +109,20 @@ ...@@ -119,27 +109,20 @@
</el-scrollbar> </el-scrollbar>
</div> </div>
<ShareForm :id="shareId" v-if="shareId>0" @close="()=>shareId=0"></ShareForm> <ShareForm :id="shareId" v-if="shareId>0" @close="()=>shareId=0"></ShareForm>
<Folder :folder-id="folderObj?.id" :folder-name="folderObj?.name" <Folder :folder-id="folderObj?.id" :folder-name="folderObj?.name" :parent-id="folderObj.parentId" v-if="folderObj.id>-1" @close="()=>folderObj.id=-1" @success="refreshHandler()"></Folder>
:parent-id="folderObj.parentId" :folder-type="folderObj?.type" v-if="folderObj.id>-1" <HistoricalVersion :details="journeyAdsDetails" v-if="journeyAdsDetails.Id>0" @close="()=>journeyAdsDetails={}"></HistoricalVersion>
@close="()=>folderObj.id=-1" @success="()=>{folderObj.id=-1;refreshHandler()}"></Folder>
<HistoricalVersion :details="journeyAdsDetails"
v-if="journeyAdsDetails.FileId>0"
@close="()=>journeyAdsDetails={}"></HistoricalVersion>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, provide, watch, inject, onMounted } from 'vue' import { ref, reactive, provide, watch, inject, onMounted } from 'vue'
import { ElLoading, ElMessage, ElMessageBox } from "element-plus"; import { ElLoading, ElMessage, ElMessageBox } from "element-plus";
import { MoreFilled,Edit,ArrowLeft } from '@element-plus/icons-vue' import { MoreFilled,Edit } from '@element-plus/icons-vue'
import ConfigService from '@/services/ConfigService' import ConfigService from '@/services/ConfigService'
import FolderService from '@/services/FolderService';
import { injectKeyTemplate } from '@/types/injectKey' import { injectKeyTemplate } from '@/types/injectKey'
import { getDaysBetween } from '@/utils/common' import { getDaysBetween } from '@/utils/common'
import { useSellTemplateStore, useScreenStore, useSlidesStore } from '@/store' import { useSellTemplateStore, useScreenStore, useSlidesStore } from '@/store'
import ShareForm from './ShareForm.vue'; import ShareForm from './ShareForm.vue';
import Folder from './Folder.vue'; import Folder from './Folder.vue';
import HistoricalVersion from './HistoricalVersion.vue'; import HistoricalVersion from './HistoricalVersion.vue';
import Draggable from 'vuedraggable'
const SalesEditorStore = useSellTemplateStore() const SalesEditorStore = useSellTemplateStore()
const marketStore = useScreenStore() const marketStore = useScreenStore()
...@@ -154,85 +137,108 @@ ...@@ -154,85 +137,108 @@
const PopoverVisibleControls = ref(false) const PopoverVisibleControls = ref(false)
const shareId = ref(0) const shareId = ref(0)
const journeyAdsDetails = ref({}) const journeyAdsDetails = ref({})
const Navigation = ref({})
const showHistory = ref(true) const showHistory = ref(true)
const isIndeterminate = ref(false) const isIndeterminate = ref(false)
const dataList = ref([] as Array < any > ) const dataList = ref([] as Array < any > )
const searchData = ref({} as any) const searchData = ref({} as any)
searchData.value = inject(injectKeyTemplate) searchData.value = inject(injectKeyTemplate)
const deleteLoading = ref<any>(null)
const datas = reactive({ const datas = reactive({
selectedDatas: [] as Array, selectedDatas: [] as Array,
selectAll: false as any, selectAll: false as any,
journeyAds:{RefreshLoading:false} as any, journeyAds:{RefreshLoading:false} as any,
pdfImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708337830000_43.png', pdfImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708337830000_43.png',
adsImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_777.png', adsImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_777.png',
folderImg: '', folderImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_777.png',
}) })
const folderObj = ref<{id:number,name:string,parentId:number,type:number}>({id:-1,name:'',parentId:0,number:1}) const folderObj = ref<{id:number,name:string,parentId:number}>({id:-1,name:'',parentId:0})
let TemplateType = 0 let TemplateType = 0
if(searchData.value.SellTemplateType) TemplateType = searchData.value.SellTemplateType if(searchData.value.SellTemplateType) TemplateType = searchData.value.SellTemplateType
const queryObj = reactive({ const queryObj = reactive({
Title: '',
pageIndex: 1, pageIndex: 1,
pageSize: 20, pageSize: 20,
pageCount: 0, //总页数 pageCount: 0, //总页数
FileType: TemplateType, TemplateType: TemplateType,
FileId: 0
}) })
const editObj = reactive({}) const editObj = reactive({})
//datas.journeyAds = inject('journeyAds') //datas.journeyAds = inject('journeyAds')
const loading = ref(false as any) const loading = ref(false as any)
const SellTemplateRef = ref<any>() const SellTemplateRef = ref<any>()
// 长按鼠标
const handleFileDrop = (event) => {
event.preventDefault();
const files = event.dataTransfer.files;
this.uploadFiles(files);
}
const uploadFiles = (files:any) => {
console.log(files,'=====files')
}
const LongPressMouse = (row:any) => {
// console.log(row,'-----')
}
// 历史版本
const history = (row:any) => { const history = (row:any) => {
journeyAdsDetails.value = row journeyAdsDetails.value = row
} }
//
const handleRightClick = () =>{
}
// 重命名 // 重命名
const OffEdit = () => { const OffEdit = () => {
for(let i=0;i<dataList.value.length;i++){ for(let i=0;i<dataList.value.length;i++){
dataList.value[i].editTitle = false dataList.value[i].editTitle = false
if(editObj.value&&editObj.value.FileId if(editObj.value&&editObj.value.Id
&&dataList.value[i].FileId==editObj.value.FileId) { &&dataList.value[i].Id==editObj.value.Id) {
dataList.value[i].FileName = editObj.value.FileName dataList.value[i].Title = editObj.value.Title
} }
} }
} }
const handleUpdateTitle = (row:any) => { const handleUpdateTitle = (row:any) => {
if(!row.FileName) row.FileName = editObj.value.FileName if(!row.Title) return ElMessage({
showClose: true,
message: '文档名称不能为空',
type: 'warning',
})
row.editTitle = false row.editTitle = false
if(row.FileName!=editObj.value.FileName) { if(row.Title!=editObj.value.Title) {
editObj.value.FileName = row.FileName editObj.value.Title = row.Title
SetSellTemplate(row) SetSellTemplate(row)
} }
} }
const startEditTitle = (row:any) => { const startEditTitle = (row:any) => {
for(let i=0;i<dataList.value.length;i++){
dataList.value[i].editTitle = false
if(dataList.value[i].Id==row.Id) {
row.editTitle = true row.editTitle = true
editObj.value = JSON.parse(JSON.stringify(row)) sellGetTripTemplate(row)
}
} }
}
// 销售模版数据
const sellGetTripTemplate = async (row:any) =>{
try {
let queryMsg = {
Id: row.Id
}
let dataRes = await ConfigService.sellGetTemplateDetails(queryMsg);
if (dataRes.data.resultCode == 1) {
editObj.value = dataRes.data.data
}
} catch (error) {
}
}
// 保存重命名 // 保存重命名
const SetSellTemplate = async (row:any) => { const SetSellTemplate = async (row:any) => {
try { try {
let TempId = row.TempId
let Id = row.Id
let queryMsg = { let queryMsg = {
FileId: row.FileId, Id: Id,
Title: editObj.value.FileName TempId: TempId,
} TempData: editObj.value.TempData,
let TemplateRes = await ConfigService.ReNameTripOther(queryMsg); Title: editObj.value.Title,
OWidth: 0,
OHeight: 0,
}
if(editObj.value.TemplateType==2){
queryMsg.OWidth = editObj.value.Width
queryMsg.OHeight = editObj.value.Height
}
let TemplateRes = await ConfigService.sellSetTemplate(queryMsg);
if (TemplateRes.data.resultCode == 1) { if (TemplateRes.data.resultCode == 1) {
ElMessage({ ElMessage({
showClose: true, showClose: true,
...@@ -253,7 +259,7 @@ ...@@ -253,7 +259,7 @@
const clickSelectAll = () => { const clickSelectAll = () => {
if(datas.selectAll) { if(datas.selectAll) {
datas.selectedDatas = dataList.value.map(x=>{ datas.selectedDatas = dataList.value.map(x=>{
return x.FileId return x.Id
}) })
}else { }else {
datas.selectedDatas = [] datas.selectedDatas = []
...@@ -269,11 +275,11 @@ ...@@ -269,11 +275,11 @@
} }
const singleChoice = (row:any) => { const singleChoice = (row:any) => {
if(!row.singleChoice){ if(!row.singleChoice){
datas.selectedDatas.push(row.FileId) datas.selectedDatas.push(row.Id)
}else { }else {
let index let index
for(let i=0;i<datas.selectedDatas.length;i++){ for(let i=0;i<datas.selectedDatas.length;i++){
if(datas.selectedDatas[i] == row.FileId) index = i if(datas.selectedDatas[i] == row.Id) index = i
} }
datas.selectedDatas.splice(index,1) datas.selectedDatas.splice(index,1)
} }
...@@ -292,47 +298,11 @@ ...@@ -292,47 +298,11 @@
if(datasList==0&&checkedCount==0) datas.selectAll = '' if(datasList==0&&checkedCount==0) datas.selectAll = ''
} }
const setTemplateType = (Id:number) => {
const DeleteFile = async (item:any) => { queryObj.pageIndex = 1
ElMessageBox.confirm( queryObj.TemplateType = Id
'此操作将删除该文件夹,是否确定?', querySearchHandler()
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(async () => {
try {
let queryMsg = {
FolderId: item.FileId
}
deleteLoading.value = ElLoading.service({
lock:true,
text:'正在处理'
})
let pageRes = await FolderService.RemoveTripFolder(queryMsg);
if (pageRes.data.resultCode == 1) {
ElMessage({
showClose: true,
message: `删除${queryObj.FileType==2?'广告':'行程'}文件夹成功`,
type: 'success',
})
refreshHandler()
}else {
ElMessage({
showClose: true,
message: `删除${queryObj.FileType==2?'广告':'行程'}文件夹失败`,
type: 'warning',
})
}
deleteLoading.value.close()
deleteLoading.value = null
} catch (error) {}
}).catch(() => {})
} }
const DeleteTemplate = async (item:any) => { const DeleteTemplate = async (item:any) => {
ElMessageBox.confirm( ElMessageBox.confirm(
'此操作将删除该模版,是否确定?', '此操作将删除该模版,是否确定?',
...@@ -345,7 +315,7 @@ ...@@ -345,7 +315,7 @@
).then(async () => { ).then(async () => {
try { try {
let queryMsg = { let queryMsg = {
Id: item.FileId Id: item.Id
} }
deleteLoading.value = ElLoading.service({ deleteLoading.value = ElLoading.service({
lock:true, lock:true,
...@@ -353,16 +323,17 @@ ...@@ -353,16 +323,17 @@
}) })
let pageRes = await ConfigService.sellSetRemoveTemplate(queryMsg); let pageRes = await ConfigService.sellSetRemoveTemplate(queryMsg);
if (pageRes.data.resultCode == 1) { if (pageRes.data.resultCode == 1) {
queryObj.pageIndex = 1
ElMessage({ ElMessage({
showClose: true, showClose: true,
message: `删除${queryObj.FileType==2?'广告':'行程'}成功`, message: `删除${item.TemplateType==2?'广告':'行程'}成功`,
type: 'success', type: 'success',
}) })
refreshHandler() querySearchHandler()
}else { }else {
ElMessage({ ElMessage({
showClose: true, showClose: true,
message: `删除${queryObj.FileType==2?'广告':'行程'}失败`, message: `删除${item.TemplateType==2?'广告':'行程'}失败`,
type: 'warning', type: 'warning',
}) })
} }
...@@ -374,10 +345,8 @@ ...@@ -374,10 +345,8 @@
} }
const editDelete = async (row:any,type:Number) => { const editDelete = async (row:any,type:Number) => {
if(type==1){ if(type==1){
if(row.FileType) DeleteTemplate(row) DeleteTemplate(row)
else DeleteFile(row)
}else{ }else{
if(row.FileType){
let list = [ let list = [
{ {
id: 'test-slide-1', id: 'test-slide-1',
...@@ -390,31 +359,18 @@ ...@@ -390,31 +359,18 @@
} }
] ]
useSlidesStore().setSlides(list) useSlidesStore().setSlides(list)
searchData.value.sellId = row.FileId searchData.value.sellId = row.Id
searchData.value.sellTempId = row.TempId searchData.value.sellTempId = row.TempId
searchData.value.TemplateType = row.FileType searchData.value.TemplateType = row.TemplateType
SalesEditorStore.setSalesEditor(2) SalesEditorStore.setSalesEditor(2)
marketStore.setMarket(false) marketStore.setMarket(false)
}else {
// 2文件夹详情
if(type==2){
queryObj.FileId = row.FileId
Navigation.value = row
refreshHandler()
}else{
folderObj.value.FileId=row.FileId
folderObj.value.name=row.FileName
folderObj.value.type=row.FileType
}
}
} }
} }
const querySearchHandler = async () => { const querySearchHandler = async () => {
loading.value = true loading.value = true
try { try {
if(queryObj.pageIndex == 1) dataList.value =[] if(queryObj.pageIndex == 1) dataList.value =[]
let pageRes = await FolderService.GetMyTripFolderPage(queryObj); let pageRes = await ConfigService.sellGetTripOtherPage(queryObj);
if (pageRes.data.resultCode == 1) { if (pageRes.data.resultCode == 1) {
let arrList = function(list){ let arrList = function(list){
list.forEach(x => { list.forEach(x => {
...@@ -422,8 +378,8 @@ ...@@ -422,8 +378,8 @@
x.singleChoice = false x.singleChoice = false
if(datas.selectAll) { if(datas.selectAll) {
x.singleChoice = true x.singleChoice = true
datas.selectedDatas.push(x.FileId) datas.selectedDatas.push(x.Id)
}else if(datas.selectedDatas.length>0&&datas.selectedDatas.indexOf(x.FileId)!=-1) x.singleChoice = true }else if(datas.selectedDatas.length>0&&datas.selectedDatas.indexOf(x.Id)!=-1) x.singleChoice = true
const date1 = new Date(); const date1 = new Date();
const date2 = new Date(x.UpdateTime); const date2 = new Date(x.UpdateTime);
x.Day = getDaysBetween(date1, date2) x.Day = getDaysBetween(date1, date2)
...@@ -457,19 +413,15 @@ ...@@ -457,19 +413,15 @@
querySearchHandler() querySearchHandler()
} }
const operaFolder = (id:number,name:string)=>{ const operaFolder = (id:number,name:string)=>{
folderObj.value.FileId=id folderObj.value.id=id
folderObj.value.name=name folderObj.value.name=name
folderObj.value.type=queryObj.FileType
console.log(folderObj.value)
} }
watch(() => searchData.value.SellTemplateType, (n,o) => { watch(() => searchData.value.SellTemplateType, (n,o) => {
isIndeterminate.value = false isIndeterminate.value = false
datas.selectAll = false datas.selectAll = false
datas.selectedDatas = [] datas.selectedDatas = []
queryObj.FileType = n setTemplateType(n)
queryObj.FileId = 0
refreshHandler()
}) })
onMounted(()=>{ onMounted(()=>{
...@@ -489,7 +441,8 @@ ...@@ -489,7 +441,8 @@
} }
.journeyAds-TitleCenter{ .journeyAds-TitleCenter{
width: 100%; width: 100%;
height: 21px; height: 18px;
padding-bottom: 21px;
overflow: hidden; /* 隐藏超出部分 */ overflow: hidden; /* 隐藏超出部分 */
text-overflow: ellipsis; /* 显示省略号 */ text-overflow: ellipsis; /* 显示省略号 */
white-space: wrap; /* 不换行 */ white-space: wrap; /* 不换行 */
...@@ -504,7 +457,7 @@ ...@@ -504,7 +457,7 @@
.journeyAds-Input{ .journeyAds-Input{
padding-right: 20px; padding-right: 20px;
position: relative; position: relative;
margin-bottom: 2px; margin-bottom: 0px;
::v-deep(.el-textarea__inner){ ::v-deep(.el-textarea__inner){
padding: 5px; padding: 5px;
background: #f5f5f5; background: #f5f5f5;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment