Commit 9fc6bea7 authored by 罗超's avatar 罗超

分享

parent ac2f6e32
......@@ -7,11 +7,10 @@ page {
sans-serif;
}
/* .0123456789+-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz导入设计文件基础数据绑定模板预览选择、上传图片地创作分享置 */
/* 在线链接服务仅供平台体验和调试使用,平台不承诺服务的稳定性,企业客户需下载字体包自行发布使用并做好备份。 */
/* .0123456789+-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz导入设计文件基础数据绑定模板预览选择、上传图片地创作分享置夹建修改新 */
@font-face {
font-family: "alifont";src: url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/OXJDKjyyUbMp.woff2") format("woff2"),
url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/iy1cOOTdKN6P.woff") format("woff");
font-family: "alifont";src: url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/L514hmGnjb2E.woff2") format("woff2"),
url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/idFuggDsYh7v.woff") format("woff");
font-display: swap;
}
......@@ -182,6 +181,9 @@ page {
.q-ml-sm{
margin-left: 5px;
}
.q-mt-sm{
margin-top: 5px;
}
.q-mb-sm{
margin-bottom: 5px;
}
......
import Api,{ HttpResponse, Result } from './../utils/request';
class FolderService{
static async SetFolderAsync(FolderId:number,FolderName:string,ParendFolderId:number):Promise<HttpResponse>{
let msg = {
FolderId,
FolderName,
ParendFolderId
}
return Api.Post("triptemplate_SetTripFolder",msg)
}
}
export default FolderService;
\ No newline at end of file
......@@ -76,7 +76,7 @@
</div>
</div>
<div class="col">
<div class="q-px-md q-pt-lg">
<!-- <div class="q-px-md q-pt-lg">
<div class="q-pl-lg row q-pb-sm">
<h5 class="q-pl-md">
<template v-if="!currentMenu">最近</template>
......@@ -94,7 +94,7 @@
</el-icon>
</div>
</div>
</div>
</div> -->
<!-- <Example></Example> -->
<journeyAds v-if="currentMenu==3||currentMenu==4"></journeyAds>
</div>
......@@ -117,12 +117,12 @@ import { useSellTemplateStore, useScreenStore, useSlidesStore } from '@/store'
const {userInfo} = storeToRefs(userStore())
const currentMenu = ref<number>(0)
const datas = reactive({
journeyAds:{
RefreshLoading: false
}
})
provide('journeyAds',datas.journeyAds)
// const datas = reactive({
// journeyAds:{
// RefreshLoading: false
// }
// })
// provide('journeyAds',datas.journeyAds)
const searchData = ref({} as any)
searchData.value = inject(injectKeyTemplate)
......
......@@ -91,7 +91,7 @@
SellDatas:{
currentMenu: 3,
},
pdfImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_558.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',
})
let TemplateType = 0
......
<template>
<el-dialog v-model="show" v-loading="loading" :show-close="false" :close-on-press-escape="false" :close-on-click-modal="false" style="max-width:400px;">
<template #header>
<div class="text-title">{{folderId==0?'新建':'修改'}}文件夹</div>
</template>
<div>
<el-input v-model="name" placeholder="请输入文件夹名称" class="full-width" />
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="()=>closedhandler()">取消</el-button>
<el-button type="primary" @click="()=>saveFolder()"> {{folderId==0?'立即创建':'保存修改'}} </el-button>
</span>
</template>
</el-dialog>
</template>
<script setup lang="ts">
import { ApiResult } from '@/configs/axios';
import FolderService from '@/services/FolderService';
import { ElMessage } from 'element-plus';
import { ref } from 'vue';
//FolderType 文件夹类型(1-行程,2-广告)
const props = defineProps({
folderId:{
type:Number,
default:0
},
parentId:{
type:Number,
default:0
},
folderName:{
type:String,
default:''
},
})
const emit = defineEmits<{
(event: 'close'): void,
(event: 'success'): void
}>()
const show=ref(true)
const loading = ref(false)
const name = ref(props.folderName)
const closedhandler=()=>{
emit('close')
}
const saveFolder=async ()=>{
let errmsg = ''
if(name.value=='') errmsg='请输入文件夹名称'
if(errmsg==''){
try {
let response = await FolderService.SetFolderAsync(props.folderId,name.value,props.parentId)
if(response.data.resultCode==ApiResult.SUCCESS){
ElMessage.success({
message:'操作成功'
})
} else errmsg='操作失败,请重试'
} catch (error) {
errmsg = '操作失败,请重试'
}
}
if(errmsg!='') {
ElMessage.error({
message:errmsg
})
}
loading.value=false
}
</script>
\ No newline at end of file
......@@ -15,7 +15,7 @@
<div class="search-result-block">
<div class="text-h6 text-left text-bolder q-mx-md q-mb-sm">行程文档</div>
<div class="items row items-center q-pa-md">
<img class="biao" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_558.png" />
<img class="biao" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708337830000_43.png" />
<div class="right col text-left q-pb-md">
<div class="file-name" truncated>2024-03-12 摩洛哥、突尼斯北非系列2024-03-12 摩洛哥、突尼斯<span class="text-waring">北非系</span>列2024-03-12 摩洛哥、突尼斯北非系列</div>
<div class="text-small q-mt-sm row items-center text-info">
......@@ -26,7 +26,7 @@
</div>
</div>
<div class="items row items-center q-pa-md">
<img class="biao" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_558.png" />
<img class="biao" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708337830000_43.png" />
<div class="right col text-left q-pb-md">
<div class="file-name" truncated>2024-03-12 摩洛哥、<span class="text-waring">突尼斯</span>北非系列</div>
<div class="text-small q-mt-sm row items-center text-info">
......@@ -37,7 +37,7 @@
</div>
</div>
<div class="items row items-center q-pa-md">
<img class="biao" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_558.png" />
<img class="biao" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708337830000_43.png" />
<div class="right col text-left q-pb-md">
<div class="file-name" truncated>2024-03-12 <span class="text-waring">摩洛哥</span>、突尼斯北非系列2024-03-12 摩洛哥、突尼斯北非系列</div>
<div class="text-small q-mt-sm row items-center text-info">
......
......@@ -33,7 +33,7 @@
<el-select v-model="selectedPermission" style="width: 150px;" collapse-tags multiple placeholder="请选择权限">
<el-option :label="x.label" :value="x.value" v-for="x in permissions" />
</el-select>
<el-button class="q-ml-md" v-loading="saveLoading" @click="saveShareHandler">添加</el-button>
<el-button class="q-ml-md" @click="saveShareHandler">添加</el-button>
</div>
<el-scrollbar height="300px" class="q-mt-lg">
<div class="row items-center q-mb-md">
......@@ -131,8 +131,8 @@
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="()=>closedhandler()">取消</el-button>
<el-button type="primary" @click="()=>closedhandler()"> 保存分享配置 </el-button>
<el-button @click="()=>closedhandler()">关闭</el-button>
<!-- <el-button type="primary" @click="()=>closedhandler()"> 保存分享配置 </el-button> -->
</span>
</template>
</el-dialog>
......@@ -163,7 +163,6 @@ const show=ref(true)
const shareTypeItems = ref<{label:string,value:number}[]>([])
const permissions = ref<{label:string,value:number}[]>([])
const loading = ref(true)
const saveLoading = ref(false)
const selectedDepartment = ref<any[]>([])
const selectedCompnays=ref<number[]>([])
const selectedPeoples=ref<number[]>([])
......@@ -217,8 +216,8 @@ const getAllPeople = async ()=>{
})
}
const saveShareHandler = async ()=>{
if(saveLoading.value) return
saveLoading.value=true
if(loading.value) return
loading.value=true
let errmsg=''
if(currentType.value==1 && selectedCompnays.value.length==0)errmsg='请选择公司'
else if(currentType.value==2 && selectedDepartment.value.length==0)errmsg='请选择部门'
......@@ -253,7 +252,7 @@ const saveShareHandler = async ()=>{
message:errmsg
})
}
saveLoading.value=false
loading.value=false
}
getDepartments()
getAllBranch()
......
<template>
<div class="q-px-md q-pt-lg">
<div class="q-pl-lg row q-mb-lg">
<div class="col row items-center q-pl-md">
<h5>
<template v-if="currentMenu==3">行程文档</template>
<template v-else-if="currentMenu==4">广告图</template>
</h5>
<div class="select-btn q-pl-lg pointer q-mt-sm">
<el-icon>
<RefreshRight v-if="!datas.journeyAds.RefreshLoading"
@click="()=>refreshHandler()"/>
<Refresh v-else />
</el-icon>
</div>
</div>
<div>
<el-dropdown trigger="click">
<el-button>新建</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="()=>operaFolder(0,'')">新建文件夹</el-dropdown-item>
<el-dropdown-item @click="searchData.TemplateType=1,sellAdd(1)" v-if="currentMenu==3">新建行程</el-dropdown-item>
<el-dropdown-item @click="searchData.TemplateType=2,sellAdd(3)" v-if="currentMenu==4">建广告图</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</div>
</div>
<div ref="SellTemplateRef" class="journeyAds-container" style="height: 100%;overflow: auto;">
<el-scrollbar @scroll="scrollingHandler" height="100%" class="q-px-md">
<pre style="min-width:700px;">
<div style="min-width:700px;">
<table class="text-small" style="width: 100%">
<tr>
<th class="text-left" style="width: 20px;"><el-checkbox size="sm" v-model="datas.selectAll"
......@@ -36,7 +65,7 @@
</tr>
</template>
</table>
</pre>
</div>
<div v-if="dataList.length == 0 && !loading" class="q-mt-lg bg-white rounded"
style="padding: 30px 10px 30px 10px;">
<el-empty description="暂无数据" />
......@@ -48,6 +77,7 @@
</el-scrollbar>
</div>
<ShareForm :id="shareId" v-if="shareId>0" @close="()=>shareId=0"></ShareForm>
<Folder :folder-id="folderObj?.id" :folder-name="folderObj?.name" :parent-id="folderObj.parentId" v-if="folderObj.id>-1" @close="()=>folderObj.id=-1"></Folder>
</template>
<script setup lang="ts">
import { ref, reactive, provide, watch, inject, onMounted } from 'vue'
......@@ -58,9 +88,16 @@
import { getDaysBetween } from '@/utils/common'
import { useSellTemplateStore, useScreenStore, useSlidesStore } from '@/store'
import ShareForm from './ShareForm.vue';
import Folder from './Folder.vue';
const SalesEditorStore = useSellTemplateStore()
const marketStore = useScreenStore()
const props = defineProps({
currentMenu:{
type:Number,
default:3
}
})
const PopoverVisibleControls = ref(false)
......@@ -72,10 +109,11 @@
const datas = reactive({
selectedDatas: [] as Array,
selectAll: false as any,
journeyAds:{} as any,
pdfImg: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1708250377000_558.png',
journeyAds:{RefreshLoading:false} as any,
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',
})
const folderObj = ref<{id:number,name:string,parentId:number}>({id:-1,name:'',parentId:0})
let TemplateType = 0
if(searchData.value.SellTemplateType) TemplateType = searchData.value.SellTemplateType
// if(searchData.value.journeyAds) {
......@@ -89,7 +127,7 @@
pageCount: 0, //总页数
TemplateType: TemplateType,
})
datas.journeyAds = inject('journeyAds')
//datas.journeyAds = inject('journeyAds')
const loading = ref(false as any)
const SellTemplateRef = ref<any>()
......@@ -238,6 +276,15 @@
}
}
const refreshHandler = ()=>{
datas.journeyAds.RefreshLoading=true
queryObj.pageIndex = 1
querySearchHandler()
}
const operaFolder = (id:number,name:string)=>{
folderObj.value.id=id
folderObj.value.name=name
}
watch(() => searchData.value.SellTemplateType, (n,o) => {
isIndeterminate.value = false
......
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