Commit 798f2bc5 authored by zhengke's avatar zhengke

云盘 优化

parent 71493e12
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
<div class="row CloudDisk-L-inquire"> <div class="row CloudDisk-L-inquire">
<el-input v-model="GName" <el-input v-model="GName"
placeholder="搜索分组名称" @keyup.enter="querySearchGroup" placeholder="搜索分组名称" @keyup.enter="querySearchGroup"
@change="SearchGroup"> @input="SearchGroup">
</el-input> </el-input>
<el-button type="primary" @click="addEditGroup">添加</el-button> <el-button type="primary" @click="addEditGroup">添加</el-button>
</div> </div>
<div class="CloudDisk-L-Center fz14"> <div class="CloudDisk-L-Center fz14" v-loading="deleteLoading">
<div class="CloudDisk-L-Title row flex-between cusor-pointer" <div class="CloudDisk-L-Title row flex-between cusor-pointer"
v-for="(item,index) in GroupList" :key="index" @click.stop="Search(item)" v-for="(item,index) in GroupList" :key="index" @click.stop="Search(item)"
:class="[queryObj.CloudGroupId==item.Id?'active':'']"> :class="[queryObj.CloudGroupId==item.Id?'active':'']">
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<el-dropdown-item @click.stop="EditGroup(item)"> <el-dropdown-item @click.stop="EditGroup(item)">
<el-button type="default" link :icon="Edit" size="small">重命名</el-button> <el-button type="default" link :icon="Edit" size="small">重命名</el-button>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item @click.stop="deleteGroup(item)"> <el-dropdown-item v-if="!item.IsCanDelete" @click.stop="deleteGroup(item)">
<el-button type="default" link :icon="Delete" size="small">删除分组</el-button> <el-button type="default" link :icon="Delete" size="small">删除分组</el-button>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
</el-dropdown> </el-dropdown>
</template> </template>
<div v-else></div> <div v-else></div>
<span>{{item.RecordNum?item.RecordNum:''}} <span v-if="item.RecordNum>0">{{item.RecordNum?item.RecordNum:''}}
<template v-if="!item.RecordNum">&nbsp;</template> <!-- <template v-if="!item.RecordNum">&nbsp;</template> -->
</span> </span>
</div> </div>
...@@ -43,7 +43,8 @@ ...@@ -43,7 +43,8 @@
<div class="CloudDisk-R grow"> <div class="CloudDisk-R grow">
<div class="row CloudDisk-R-inquire"> <div class="row CloudDisk-R-inquire">
<el-input v-model="queryObj.FileName" <el-input v-model="queryObj.FileName"
placeholder="请输入图片名称搜索" @keyup.enter="Search"> placeholder="请输入图片名称搜索" @keyup.enter="Search"
@input="SearchImg">
</el-input> </el-input>
</div> </div>
<div ref="imgDiskRef" style="height: 420px;padding-top: 20px;"> <div ref="imgDiskRef" style="height: 420px;padding-top: 20px;">
...@@ -63,7 +64,7 @@ ...@@ -63,7 +64,7 @@
<div class="CloudDisk-R-Box cursor-pointer" <div class="CloudDisk-R-Box cursor-pointer"
:class="[ImgId==item.DetailsId?'active':'']" @click="setImg(item)"> :class="[ImgId==item.DetailsId?'active':'']" @click="setImg(item)">
<div class="CloudDisk-R-Img"> <div class="CloudDisk-R-Img">
<el-image :src="item.FilePath" style="width: 80px; height: 80px" <el-image :src="item.FilePath" style="width: 80px; height: 80px;"
fit="cover"/> fit="cover"/>
<!-- <el-image <!-- <el-image
style="width: 80px; height: 80px" style="width: 80px; height: 80px"
...@@ -80,7 +81,11 @@ ...@@ -80,7 +81,11 @@
<IconClose :size="10"></IconClose> <IconClose :size="10"></IconClose>
</span> </span>
</div> </div>
<span class="title block">{{item.FileName}}</span> <span class="title block">
<el-tooltip effect="dark" :content="item.FileName" placement="top">
{{item.FileName}}
</el-tooltip>
</span>
</div> </div>
</template> </template>
...@@ -130,6 +135,7 @@ import { getImageDataURL } from '@/utils/image' ...@@ -130,6 +135,7 @@ import { getImageDataURL } from '@/utils/image'
import AliyunUpload from '@/utils/upload/aliyun' import AliyunUpload from '@/utils/upload/aliyun'
import { useUserStore } from "@/store"; import { useUserStore } from "@/store";
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { ApiResult } from "@/configs/axios";
const { token, userInfo } = storeToRefs(useUserStore()) const { token, userInfo } = storeToRefs(useUserStore())
...@@ -157,12 +163,15 @@ const loading = ref(false) ...@@ -157,12 +163,15 @@ const loading = ref(false)
const GroupList = ref([] as any) const GroupList = ref([] as any)
const setLoading = ref(false) const setLoading = ref(false)
const deleteLoading = ref<any>(null) const deleteLoading = ref(false)
const deleteImgLoading = ref<any>(null)
const props = defineProps({ const props = defineProps({
active: '' as any, active: '' as any,
show: false as Boolean show: false as Boolean
}) })
const GroupObj = ref({} as any)
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'setImg'): void (event: 'setImg'): void
}>() }>()
...@@ -186,7 +195,7 @@ const insertImageElement = async (files: FileList) => { ...@@ -186,7 +195,7 @@ const insertImageElement = async (files: FileList) => {
let parms = { let parms = {
isppt: '1', isppt: '1',
uid: token.value, uid: token.value,
gid: GroupId.value gid: queryObj.CloudGroupId
} }
let filePath="tripImg/"; let filePath="tripImg/";
console.log("ssss"); console.log("ssss");
...@@ -199,8 +208,11 @@ const insertImageElement = async (files: FileList) => { ...@@ -199,8 +208,11 @@ const insertImageElement = async (files: FileList) => {
// 删除 // 删除
const deleteImg = (item:any) => { const deleteImg = (item:any) => {
let text
if(item.IsCanDelete) text = '删除此图会影响模板正常使用,将无法恢复,是否确定?'
else text = '此操作将删除该图,是否确定?'
ElMessageBox.confirm( ElMessageBox.confirm(
`此操作将删除该图,是否确定?`, `${text}`,
'提示', '提示',
{ {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -209,16 +221,12 @@ const deleteImg = (item:any) => { ...@@ -209,16 +221,12 @@ const deleteImg = (item:any) => {
} }
).then(async () => { ).then(async () => {
try { try {
deleteLoading.value = ElLoading.service({ loading.value = true
lock:true,
text:'正在处理'
})
let dataRes = await CloudDiskService.RemovePPTCloudInfo(item.DetailsId) let dataRes = await CloudDiskService.RemovePPTCloudInfo(item.DetailsId)
if (dataRes.data.resultCode == 1) { if (dataRes.data.resultCode==ApiResult.SUCCESS) {
querySearchHandler() querySearchHandler()
} }
deleteLoading.value.close() loading.value = false
deleteLoading.value = null
} catch (error) {} } catch (error) {}
}).catch(() => {}) }).catch(() => {})
...@@ -237,7 +245,7 @@ const setGroup = async () =>{ ...@@ -237,7 +245,7 @@ const setGroup = async () =>{
}) })
setLoading.value = true setLoading.value = true
let pageRes = await CloudDiskService.SetPPTCloudGroup(addEditMsg); let pageRes = await CloudDiskService.SetPPTCloudGroup(addEditMsg);
if (pageRes.data.resultCode == 1) { if (pageRes.data.resultCode==ApiResult.SUCCESS) {
dialogFormVisible.value = false dialogFormVisible.value = false
querySearchGroup() querySearchGroup()
} }
...@@ -274,16 +282,12 @@ const deleteGroup = (item:any) => { ...@@ -274,16 +282,12 @@ const deleteGroup = (item:any) => {
let queryMsg = { let queryMsg = {
TempId: item.TempId TempId: item.TempId
} }
deleteLoading.value = ElLoading.service({ deleteLoading.value = true
lock:true,
text:'正在处理'
})
let dataRes = await CloudDiskService.RemovePPTCloudGroup(item.Id) let dataRes = await CloudDiskService.RemovePPTCloudGroup(item.Id)
if (dataRes.data.resultCode == 1) { if (dataRes.data.resultCode == 1) {
querySearchGroup() querySearchGroup()
} }
deleteLoading.value.close() deleteLoading.value = false
deleteLoading.value = null
} catch (error) {} } catch (error) {}
}).catch(() => {}) }).catch(() => {})
...@@ -295,27 +299,26 @@ const SearchGroup = () => { ...@@ -295,27 +299,26 @@ const SearchGroup = () => {
const querySearchGroup = async () =>{ const querySearchGroup = async () =>{
try { try {
let datasRes = await CloudDiskService.GetPPTCloudList(GName.value); let datasRes = await CloudDiskService.GetPPTCloudList(GName.value);
if (datasRes.data.resultCode == 1) { if (datasRes.data.resultCode==ApiResult.SUCCESS) {
GroupList.value = datasRes.data.data GroupList.value = datasRes.data.data.list
let total = 0
console.log(datasRes.data.data.length)
for(let i=0;i<datasRes.data.data.length;i++){
total+=datasRes.data.data[i].RecordNum
}
GroupList.value.unshift({ GroupList.value.unshift({
Id: '', Id: '',
GName: '全部', GName: '全部',
RecordNum: 0 RecordNum: datasRes.data.data.TotalNum
}) })
querySearchHandler()
} }
} catch (error) { } catch (error) {
} }
} }
const SearchImg = () =>{
if(queryObj.FileName=='') Search()
}
const Search = (item:any) =>{ const Search = (item:any) =>{
if(item) queryObj.CloudGroupId = item.Id if(item) {
queryObj.CloudGroupId = item.Id
GroupObj.value = item
}
queryObj.pageIndex = 1 queryObj.pageIndex = 1
querySearchHandler() querySearchHandler()
} }
...@@ -325,7 +328,7 @@ const querySearchHandler = async () =>{ ...@@ -325,7 +328,7 @@ const querySearchHandler = async () =>{
try { try {
if(queryObj.pageIndex == 1) dataList.value =[] if(queryObj.pageIndex == 1) dataList.value =[]
let pageRes = await CloudDiskService.GetPPTCloudInfoPage(queryObj); let pageRes = await CloudDiskService.GetPPTCloudInfoPage(queryObj);
if (pageRes.data.resultCode == 1) { if (pageRes.data.resultCode==ApiResult.SUCCESS) {
let arrList = function(list){ let arrList = function(list){
list.forEach(x=>{ list.forEach(x=>{
x.checked = false x.checked = false
...@@ -335,7 +338,6 @@ const querySearchHandler = async () =>{ ...@@ -335,7 +338,6 @@ const querySearchHandler = async () =>{
dataList.value = pageRes.data.data.pageData //dataList.value.concat(pageRes.data.data.pageData); dataList.value = pageRes.data.data.pageData //dataList.value.concat(pageRes.data.data.pageData);
queryObj.pageCount = pageRes.data.data.pageCount; queryObj.pageCount = pageRes.data.data.pageCount;
queryObj.total = pageRes.data.data.count; queryObj.total = pageRes.data.data.count;
if(!GName.value&&!GroupList.value[0].RecordNum) GroupList.value[0].RecordNum = pageRes.data.data.count
} }
setTimeout(()=>{ setTimeout(()=>{
loading.value = false loading.value = false
...@@ -365,6 +367,7 @@ const handleCurrentChange = (val: number) => { ...@@ -365,6 +367,7 @@ const handleCurrentChange = (val: number) => {
} }
querySearchGroup() querySearchGroup()
querySearchHandler()
onMounted(()=>{ onMounted(()=>{
// imgDiskRef.value.addEventListener("scroll", scrollingHandler); // imgDiskRef.value.addEventListener("scroll", scrollingHandler);
}) })
...@@ -372,7 +375,7 @@ onMounted(()=>{ ...@@ -372,7 +375,7 @@ onMounted(()=>{
<style lang="scss" scoped> <style lang="scss" scoped>
.CloudDisk-L{ .CloudDisk-L{
border-right: 1px solid #E9E9E9; border-right: 1px solid #E9E9E9;
padding: 0 22px 22px 0; padding: 0 20px 22px 0;
} }
.CloudDisk-L-inquire{ .CloudDisk-L-inquire{
margin-bottom: 20px; margin-bottom: 20px;
...@@ -477,8 +480,9 @@ onMounted(()=>{ ...@@ -477,8 +480,9 @@ onMounted(()=>{
font-size: 14px; font-size: 14px;
color: #000000; color: #000000;
} }
.CloudDisk-L-Center,.CloudDisk-R-Center{ .CloudDisk-L-Center{
/* max-height: 100px; */ max-height: 420px;
overflow-y: scroll;
} }
.CloudDisk-R-Box.active .CloudDisk-R-Img{ .CloudDisk-R-Box.active .CloudDisk-R-Img{
width: 80px; width: 80px;
...@@ -491,9 +495,10 @@ onMounted(()=>{ ...@@ -491,9 +495,10 @@ onMounted(()=>{
.CloudDisk-R-Box .close-btn{ .CloudDisk-R-Box .close-btn{
position: absolute; position: absolute;
top: -10px; top: -10px;
right: -10px; right: -2px;
width: 20px; width: 20px;
height: 20px; height: 20px;
background: #fff;
border:1px solid #AFAFAF; border:1px solid #AFAFAF;
text-align: center; text-align: center;
color:#AFAFAF; color:#AFAFAF;
......
...@@ -55,13 +55,21 @@ ...@@ -55,13 +55,21 @@
<div class="MarketAdd MarketAddw140 pointer" @click="goToTemplate(showCurrentTemplate)">立即使用</div> <div class="MarketAdd MarketAddw140 pointer" @click="goToTemplate(showCurrentTemplate)">立即使用</div>
</div> </div>
</div> </div>
<template v-if="showCurrentTemplate.PageImageList.length>1"> <!-- <template v-if="showCurrentTemplate.PageImageList.length>1">
<div class="MarketDetaSw MarketDetaSwL" v-if="datas.currentImg!=0"> <div class="MarketDetaSw MarketDetaSwL" v-if="datas.currentImg!=0">
<div class="cursor-pointer" @click="ToggleImg('left')"></div> <div class="cursor-pointer" @click="ToggleImg('left')"></div>
</div> </div>
<div class="MarketDetaSw MarketDetaSwR" v-if="datas.currentImg<showCurrentTemplate.PageImageList.length-1"> <div class="MarketDetaSw MarketDetaSwR" v-if="datas.currentImg<showCurrentTemplate.PageImageList.length-1">
<div class="cursor-pointer" @click="ToggleImg('right')"></div> <div class="cursor-pointer" @click="ToggleImg('right')"></div>
</div> </div>
</template> -->
<template v-if="props.Total>0">
<div class="MarketDetaSw MarketDetaSwL" v-if="props.TemCurrent!=0">
<div class="cursor-pointer" @click="ToggleImg('left')"></div>
</div>
<div class="MarketDetaSw MarketDetaSwR" v-if="props.TemCurrent<props.Total-1">
<div class="cursor-pointer" @click="ToggleImg('right')"></div>
</div>
</template> </template>
</div> </div>
</el-dialog> </el-dialog>
...@@ -128,10 +136,20 @@ const props = defineProps({ ...@@ -128,10 +136,20 @@ const props = defineProps({
Details:{ Details:{
type: Object, type: Object,
default: {}, default: {},
} },
TemCurrent:{
type: Number,
default: 0,
},
Total:{
type: Number,
default: 0,
},
}) })
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'close'): void, (event: 'close'): void,
(event: 'previous'): void,
(event: 'next'): void,
}>() }>()
// 删除监听滚动 // 删除监听滚动
...@@ -142,16 +160,19 @@ const CloseDetails = () => { ...@@ -142,16 +160,19 @@ const CloseDetails = () => {
const ToggleImg = (text: String) => { const ToggleImg = (text: String) => {
if(text=='left'){ if(text=='left'){
if(datas.currentImg>0) { props.TemCurrent
datas.currentImg-- emit('previous')
scrollContainer.value.scrollTop = imgList.value[datas.currentImg].imgTop // if(datas.currentImg>0) {
} // datas.currentImg--
// scrollContainer.value.scrollTop = imgList.value[datas.currentImg].imgTop
// }
} }
if(text=='right'){ if(text=='right'){
if(datas.currentImg<imgList.value.length-1) { emit('next')
datas.currentImg++ // if(datas.currentImg<imgList.value.length-1) {
scrollContainer.value.scrollTop = imgList.value[datas.currentImg].imgTop // datas.currentImg++
} // scrollContainer.value.scrollTop = imgList.value[datas.currentImg].imgTop
// }
} }
} }
......
import { domainManager } from "../domainManager"; import { domainManager } from "../domainManager";
import { useUserStore } from "@/store";
import { storeToRefs } from 'pinia'
import { ElMessage } from "element-plus";
const { token } = storeToRefs(useUserStore())
class AliyunUpload { class AliyunUpload {
static UploadAsync = async (file: any, name: string) => { static UploadAsync = async (file: any, name: string) => {
try { try {
const formData = new FormData(); const formData = new FormData();
formData.append('file', file); formData.append('file', file);
let parms = {
istemp: 1,
isppt: 1,
uid: token.value
}
formData.append('parms', JSON.stringify(parms))
const response = await fetch(`${domainManager().UploadUrl}/Upload/UploadToALiOSS?filePath=${encodeURIComponent(name)}`, { const response = await fetch(`${domainManager().UploadUrl}/Upload/UploadToALiOSS?filePath=${encodeURIComponent(name)}`, {
method: 'POST', method: 'POST',
body: formData, body: formData,
...@@ -12,7 +22,13 @@ class AliyunUpload { ...@@ -12,7 +22,13 @@ class AliyunUpload {
if (response.ok) { if (response.ok) {
let result = await response.text() let result = await response.text()
let datas = JSON.parse(result) let datas = JSON.parse(result)
return 'https://im.oytour.com' + datas.FilePath if(datas.FilePath) return 'https://im.oytour.com' + datas.FilePath
else {
ElMessage.warning({
showClose: true,
message:datas.Message,
})
}
} }
return '' return ''
} catch (error) { } catch (error) {
...@@ -30,7 +46,7 @@ class AliyunUpload { ...@@ -30,7 +46,7 @@ class AliyunUpload {
if (response.ok) { if (response.ok) {
let result = await response.text() let result = await response.text()
let datas = JSON.parse(result) let datas = JSON.parse(result)
return `${domainManager().ViittoFileUrl}` + datas.FilePath return 'https://im.oytour.com' + datas.FilePath
} }
return '' return ''
} catch (error) { } catch (error) {
...@@ -49,7 +65,13 @@ class AliyunUpload { ...@@ -49,7 +65,13 @@ class AliyunUpload {
if (response.ok) { if (response.ok) {
let result = await response.text() let result = await response.text()
let datas = JSON.parse(result) let datas = JSON.parse(result)
return 'https://im.oytour.com' + datas.FilePath if(datas.FilePath) return 'https://im.oytour.com' + datas.FilePath
else {
ElMessage.warning({
showClose: true,
message:datas.Message,
})
}
} }
return '' return ''
} catch (error) { } catch (error) {
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="本地图" name="2"> <el-tab-pane label="本地图" name="2">
<FileInput @change="files => insertImageElement(files)"> <!-- <FileInput @change="files => insertImageElement(files)">
<div class="upload-box"> <div class="upload-box">
<img v-if="imgPath" :src="imgPath" style="height: 200px;"/> <img v-if="imgPath" :src="imgPath" style="height: 200px;"/>
<div v-else> <div v-else>
...@@ -68,8 +68,8 @@ ...@@ -68,8 +68,8 @@
<p><em>点击上传图片</em></p> <p><em>点击上传图片</em></p>
</div> </div>
</div> </div>
</FileInput> </FileInput> -->
<!-- <CloudDisk :show="showVisible" :active="activeName" @getImg="getImg"></CloudDisk> --> <CloudDisk :show="showVisible" :active="activeName" @getImg="getImg"></CloudDisk>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="图片地址" name="3"> <el-tab-pane label="图片地址" name="3">
<div class="row wrap q-mt-md"> <div class="row wrap q-mt-md">
......
...@@ -578,6 +578,13 @@ const getColorShade = async (newSlides:any) => { ...@@ -578,6 +578,13 @@ const getColorShade = async (newSlides:any) => {
x.elements = newElements x.elements = newElements
} }
} }
if(searchData.value.isTeamManage){
for(let i=0;i<newSlides.length;i++){
for(let j=0;j<newSlides[i].elements.length;j++){
if(newSlides[i].elements[j].layerName&&newSlides[i].elements[j].layerName.indexOf('logo')!=-1) newSlides[i].elements[j].lock = false
}
}
}
layoutsStore.setLayouts(JSON.parse(JSON.stringify(newSlides))) layoutsStore.setLayouts(JSON.parse(JSON.stringify(newSlides)))
if(searchData.value.sellId&&!searchData.value.TempId) return if(searchData.value.sellId&&!searchData.value.TempId) return
slidesStore.setSlides(newSlides) slidesStore.setSlides(newSlides)
......
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
</div> </div>
<div> <div>
<div class="MarketOpa2"></div> <div class="MarketOpa2"></div>
<el-icon size="23px" theme="filled" class="MarketIconAbsolute cusor-pointer" @click="getTemplate(item)"> <el-icon size="23px" theme="filled" class="MarketIconAbsolute cusor-pointer" @click="getTemplate(item,index)">
<View></View> <View></View>
</el-icon> </el-icon>
</div> </div>
...@@ -205,7 +205,13 @@ ...@@ -205,7 +205,13 @@
</div> </div>
<!-- 行程、广告图详情 --> <!-- 行程、广告图详情 -->
<temDetails :DetaTem="DetailsVisible" :Details="datas.TemDetails" @close="DetailsVisible=false"/> <temDetails :DetaTem="DetailsVisible"
:Details="datas.TemDetails"
:Total="dataList.length"
:TemCurrent="datas.currentImg"
@close="DetailsVisible=false"
@previous="previous"
@next="next"/>
<!-- vip购买提示 --> <!-- vip购买提示 -->
<vipFooter v-if="!userInfo.iv&&!userInfo.it&&!userInfo.OpenPrompt" @close="closeVip"></vipFooter> <vipFooter v-if="!userInfo.iv&&!userInfo.it&&!userInfo.OpenPrompt" @close="closeVip"></vipFooter>
</template> </template>
...@@ -372,10 +378,25 @@ const deleteTemplate = (item:any) => { ...@@ -372,10 +378,25 @@ const deleteTemplate = (item:any) => {
} }
const previous = () =>{
if(datas.currentImg>0){
datas.currentImg--
let item = dataList.value[datas.currentImg]
getTemplate(item,datas.currentImg)
}
}
const next = () =>{
if(datas.currentImg<dataList.value.length-1){
datas.currentImg++
let item = dataList.value[datas.currentImg]
getTemplate(item,datas.currentImg)
}
}
// 查看所有子模版 // 查看所有子模版
const getTemplate = (item:any) => { const getTemplate = (item:any,index:Number) => {
DetailsVisible.value = true DetailsVisible.value = true
datas.TemDetails = item datas.TemDetails = item
datas.currentImg = index
} }
/** /**
......
...@@ -106,7 +106,6 @@ import { PropType, inject, reactive, ref, watch } from "vue"; ...@@ -106,7 +106,6 @@ import { PropType, inject, reactive, ref, watch } from "vue";
import {createPlayLink, createSaleEditorLink, formatDateTimeToRead, query} from '@/utils/common' import {createPlayLink, createSaleEditorLink, formatDateTimeToRead, query} from '@/utils/common'
import breadPeeling from './components/breadPeeling.vue' import breadPeeling from './components/breadPeeling.vue'
import CopyFile from './components/CopyFile.vue' import CopyFile from './components/CopyFile.vue'
import { useScreenStore, useSellTemplateStore, useSlidesStore } from "@/store";
import { injectKeyTemplate } from "@/types/injectKey"; import { injectKeyTemplate } from "@/types/injectKey";
import FolderService from "@/services/FolderService"; import FolderService from "@/services/FolderService";
import { ArrowDown,ArrowUp } from "@element-plus/icons-vue"; import { ArrowDown,ArrowUp } from "@element-plus/icons-vue";
...@@ -167,28 +166,6 @@ const breadPeelingInquire = (FileId: number, index: number) => { ...@@ -167,28 +166,6 @@ const breadPeelingInquire = (FileId: number, index: number) => {
refreshHandler(); refreshHandler();
} }
const editorFileHandler = (item:any)=>{ const editorFileHandler = (item:any)=>{
let list:any = [{
id: "test-slide-1",
pageType: 0,
elements: [],
background: {
type: "solid",
color: "#ffffff",
},
}];
// const SalesEditorStore = useSellTemplateStore();
// useSlidesStore().setSlides(list);
// const marketStore = useScreenStore();
// searchData.value.sellId = item.FileId;
// searchData.value.sellTempId = item.TempId;
// searchData.value.TemplateType = item.FileType;
// searchData.value.ParentFileId = 0
// if(item.IsDownload==0) searchData.value.noExportPermission = true
// else searchData.value.noExportPermission = false
// if(item.IsView==0) searchData.value.noCopyPermission = true
// else searchData.value.noCopyPermission = false
// SalesEditorStore.setSalesEditor(2);
// marketStore.setMarket(false);
const cp = item.IsView==0?0:1 const cp = item.IsView==0?0:1
const ep = item.IsDownload==0?0:1 const ep = item.IsDownload==0?0:1
//@TODO:返回字段中缺少CreateBy, //@TODO:返回字段中缺少CreateBy,
......
...@@ -197,7 +197,13 @@ ...@@ -197,7 +197,13 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 行程、广告图详情 --> <!-- 行程、广告图详情 -->
<temDetails :DetaTem="DetailsVisible" :Details="datas.TemDetails" @close="DetailsVisible=false"/> <temDetails :DetaTem="DetailsVisible"
:Details="datas.TemDetails"
:Total="dataList.length"
:TemCurrent="datas.currentImg"
@close="DetailsVisible=false"
@previous="previous"
@next="next"/>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
...@@ -209,7 +215,7 @@ import { useSellTemplateStore,useSlidesStore } from '@/store' ...@@ -209,7 +215,7 @@ import { useSellTemplateStore,useSlidesStore } from '@/store'
import { useScreenStore } from "@/store/screen"; import { useScreenStore } from "@/store/screen";
import { storeToRefs } from "pinia"; import { storeToRefs } from "pinia";
import { injectKeyTemplate } from '@/types/injectKey' import { injectKeyTemplate } from '@/types/injectKey'
import { createOpEditorLink, createSaleCreateLink, managerTemplateLink } from '@/utils/common' import { createOpEditorLink, createSaleCreateLink, managerTemplateLink, noDataImg, openNewBlank } from '@/utils/common'
import { ElLoading, ElMessage, ElMessageBox } from "element-plus"; import { ElLoading, ElMessage, ElMessageBox } from "element-plus";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import UserCard from "@/components/User/UserCard.vue"; import UserCard from "@/components/User/UserCard.vue";
...@@ -217,7 +223,6 @@ import temDetails from "@/components/home/temDetails.vue"; ...@@ -217,7 +223,6 @@ import temDetails from "@/components/home/temDetails.vue";
import { Edit,Delete,View,Search } from '@element-plus/icons-vue'; import { Edit,Delete,View,Search } from '@element-plus/icons-vue';
import { VIEWPORT_SIZE, VIEWPORT_VER_SIZE } from '@/configs/canvas' import { VIEWPORT_SIZE, VIEWPORT_VER_SIZE } from '@/configs/canvas'
import { noDataImg } from "@/utils/common";
const slidesStore = useSlidesStore() const slidesStore = useSlidesStore()
...@@ -475,10 +480,25 @@ const handleScroll = (e) =>{ ...@@ -475,10 +480,25 @@ const handleScroll = (e) =>{
if(temp>=PageImageList[i].imgTop&&datas.currentImg!=i) datas.currentImg = i if(temp>=PageImageList[i].imgTop&&datas.currentImg!=i) datas.currentImg = i
} }
} }
const previous = () =>{
if(datas.currentImg>0){
datas.currentImg--
let item = dataList.value[datas.currentImg]
getTemplate(item,datas.currentImg)
}
}
const next = () =>{
if(datas.currentImg<dataList.value.length-1){
datas.currentImg++
let item = dataList.value[datas.currentImg]
getTemplate(item,datas.currentImg)
}
}
// 查看所有子模版 // 查看所有子模版
const getTemplate = async (item:any) => { const getTemplate = async (item:any) => {
DetailsVisible.value = true DetailsVisible.value = true
datas.TemDetails = item datas.TemDetails = item
datas.currentImg = index
} }
/** /**
...@@ -490,9 +510,10 @@ const goToTemplate = (item: any) => { ...@@ -490,9 +510,10 @@ const goToTemplate = (item: any) => {
let url = '' let url = ''
url = managerTemplateLink(item.TempId,item.TemplateType) url = managerTemplateLink(item.TempId,item.TemplateType)
if(url!='') { if(url!='') {
router.push({ openNewBlank(url)
path:url // router.push({
}) // path:url
// })
} }
} }
......
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