|
|
@ -5,6 +5,9 @@ |
|
|
--> |
|
|
--> |
|
|
<script lang='ts' setup> |
|
|
<script lang='ts' setup> |
|
|
import type { ComponentSize } from 'element-plus' |
|
|
import type { ComponentSize } from 'element-plus' |
|
|
|
|
|
import { gainFormPageListCont } from '@/api/DesignForm/requestapi' |
|
|
|
|
|
import FormPageCont from '@/components/DesignForm/tableListPage/formPageCont.vue' |
|
|
|
|
|
|
|
|
const props = defineProps({ |
|
|
const props = defineProps({ |
|
|
searchSend:{ |
|
|
searchSend:{ |
|
|
type:Object, |
|
|
type:Object, |
|
|
@ -18,6 +21,12 @@ const props = defineProps({ |
|
|
return {} |
|
|
return {} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
|
|
|
columnsFilter:{ |
|
|
|
|
|
type:Object, |
|
|
|
|
|
default(){ |
|
|
|
|
|
return {} |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
drawerWith:{ |
|
|
drawerWith:{ |
|
|
type:Number, |
|
|
type:Number, |
|
|
default:0 |
|
|
default:0 |
|
|
@ -77,14 +86,23 @@ const cardInfoBox = computed(() => { |
|
|
}) |
|
|
}) |
|
|
onMounted(()=>{ |
|
|
onMounted(()=>{ |
|
|
lineRanks.value = Math.round(24/props.viewSetup.form.ranks) |
|
|
lineRanks.value = Math.round(24/props.viewSetup.form.ranks) |
|
|
|
|
|
nextTick(()=>{ |
|
|
|
|
|
getCardList(props.searchSend) |
|
|
|
|
|
}) |
|
|
}) |
|
|
}) |
|
|
// const url = ref() |
|
|
// const url = ref() |
|
|
// const srcList = ref([]) |
|
|
// const srcList = ref([]) |
|
|
const handleSizeChange = (val: number) => { |
|
|
const handleSizeChange = (val: number) => { |
|
|
console.log(`${val} items per page`) |
|
|
// console.log(`${val} items per page`)\ |
|
|
|
|
|
props.searchSend.page = 1 |
|
|
|
|
|
props.searchSend.pagesize = val |
|
|
|
|
|
// console.log(props.searchSend.pagesize) |
|
|
|
|
|
getCardList(props.searchSend) |
|
|
} |
|
|
} |
|
|
const handleCurrentChange = (val: number) => { |
|
|
const handleCurrentChange = (val: number) => { |
|
|
console.log(`current page: ${val}`) |
|
|
// console.log(`current page: ${val}`) |
|
|
|
|
|
props.searchSend.page = val |
|
|
|
|
|
getCardList(props.searchSend) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const url = |
|
|
const url = |
|
|
@ -101,56 +119,114 @@ const srcList = (url:string) =>{ |
|
|
'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg', |
|
|
'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg', |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
|
|
|
const cardDataList = ref([]) // 表格行数据 |
|
|
|
|
|
const totalNum = ref(0) |
|
|
|
|
|
/** |
|
|
|
|
|
@ 作者: 秦东 |
|
|
|
|
|
@ 时间: 2024-07-19 09:32:11 |
|
|
|
|
|
@ 功能: 获取数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
const getCardList = (val:any) => { |
|
|
|
|
|
val.viewClass = { |
|
|
|
|
|
class:"card" |
|
|
|
|
|
} |
|
|
|
|
|
gainFormPageListCont(val) |
|
|
|
|
|
.then(({data})=>{ |
|
|
|
|
|
totalNum.value = data.total |
|
|
|
|
|
console.log("卡片获取数据--》",data) |
|
|
|
|
|
cardDataList.value = data.list |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
defineExpose({ |
|
|
|
|
|
getCardList |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
@ 作者: 秦东 |
|
|
|
|
|
@ 时间: 2024-07-19 10:03:53 |
|
|
|
|
|
@ 功能: 获取图片显示 |
|
|
|
|
|
*/ |
|
|
|
|
|
const imgSrcPath = (val:any) => { |
|
|
|
|
|
console.log("获取图片显示", val[props.viewSetup.form.imgWork]) |
|
|
|
|
|
if(val[props.viewSetup.form.imgWork]){ |
|
|
|
|
|
return val[props.viewSetup.form.imgWork] |
|
|
|
|
|
} |
|
|
|
|
|
return "" |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
|
|
|
@ 作者: 秦东 |
|
|
|
|
|
@ 时间: 2024-07-19 10:03:53 |
|
|
|
|
|
@ 功能: 获取图片数组显示 |
|
|
|
|
|
*/ |
|
|
|
|
|
const imgSrcAry = (val:any) => { |
|
|
|
|
|
if(val[props.viewSetup.form.imgWork]){ |
|
|
|
|
|
if (val[props.viewSetup.form.imgWork] != ""){ |
|
|
|
|
|
return [val[props.viewSetup.form.imgWork]] |
|
|
|
|
|
}else{ |
|
|
|
|
|
return [] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
return [] |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
|
|
|
@ 作者: 秦东 |
|
|
|
|
|
@ 时间: 2024-07-19 10:24:33 |
|
|
|
|
|
@ 功能: 获取内容 |
|
|
|
|
|
*/ |
|
|
|
|
|
const cardInfo = (val:any,cla:string) => { |
|
|
|
|
|
if(cla=="title"){ |
|
|
|
|
|
if(val[props.viewSetup.form.titleWork]){ |
|
|
|
|
|
return val[props.viewSetup.form.titleWork] |
|
|
|
|
|
} |
|
|
|
|
|
}else if(cla=="content"){ |
|
|
|
|
|
if(val[props.viewSetup.form.describe]){ |
|
|
|
|
|
return val[props.viewSetup.form.describe] |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return "" |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
|
|
|
@ 作者: 秦东 |
|
|
|
|
|
@ 时间: 2024-04-03 13:24:06 |
|
|
|
|
|
@ 功能: 查看详细内容 |
|
|
|
|
|
*/ |
|
|
|
|
|
const tablePageClass = ref(1) |
|
|
|
|
|
const lookPageInfoIsShow = ref(false) |
|
|
|
|
|
const pageInfoCont = ref<any>() |
|
|
|
|
|
const lookPageInfo = (val:any) => { |
|
|
|
|
|
tablePageClass.value = 4; |
|
|
|
|
|
pageInfoCont.value = val |
|
|
|
|
|
lookPageInfoIsShow.value = true; |
|
|
|
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
<template> |
|
|
<template> |
|
|
<div> |
|
|
<div> |
|
|
|
|
|
|
|
|
<el-row :gutter="20"> |
|
|
<el-row :gutter="20"> |
|
|
|
|
|
|
|
|
<el-col :span="lineRanks" class="cardBox"> |
|
|
<el-col v-for="item in cardDataList" :key="item.id" :span="lineRanks" class="cardBox"> |
|
|
|
|
|
|
|
|
<el-card > |
|
|
<el-card @click="lookPageInfo(item)"> |
|
|
<div class="cardContBox"> |
|
|
<div class="cardContBox"> |
|
|
<el-image |
|
|
<el-image |
|
|
:style="imgStyle" |
|
|
:style="imgStyle" |
|
|
:src="url" |
|
|
:src="imgSrcPath(item)" |
|
|
:zoom-rate="1.2" |
|
|
:zoom-rate="1.2" |
|
|
:max-scale="7" |
|
|
:max-scale="7" |
|
|
:min-scale="0.2" |
|
|
:min-scale="0.2" |
|
|
:preview-src-list="srcList(url)" |
|
|
:preview-src-list="imgSrcAry(item)" |
|
|
:initial-index="4" |
|
|
:initial-index="4" |
|
|
fit="cover" |
|
|
fit="cover" |
|
|
/> |
|
|
/> |
|
|
<div class="cardInfo" :style="'width: calc(100% - '+props.viewSetup.form.imgWidth+'px); height:'+props.viewSetup.form.imgHeight+'px; overflow: hidden;' "> |
|
|
<div class="cardInfo" :style="'width: calc(100% - '+props.viewSetup.form.imgWidth+'px); height:'+props.viewSetup.form.imgHeight+'px; overflow: hidden;' "> |
|
|
<div class="title">标题标题标题标题标题标题标题标题标题标题标题标题标题标题</div> |
|
|
<div class="title">{{ cardInfo(item,"title") }}</div> |
|
|
<div class="content">内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容</div> |
|
|
<div class="content">{{ cardInfo(item,"content") }}</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</el-card> |
|
|
</el-card> |
|
|
|
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="lineRanks" class="cardBox"> |
|
|
|
|
|
|
|
|
|
|
|
<el-card > |
|
|
|
|
|
<div class="cardContBox"> |
|
|
|
|
|
<el-image |
|
|
|
|
|
:style="imgStyle" |
|
|
|
|
|
:src="url" |
|
|
|
|
|
:zoom-rate="1.2" |
|
|
|
|
|
:max-scale="7" |
|
|
|
|
|
:min-scale="0.2" |
|
|
|
|
|
:preview-src-list="srcList(url)" |
|
|
|
|
|
:initial-index="4" |
|
|
|
|
|
fit="cover" |
|
|
|
|
|
/> |
|
|
|
|
|
<div class="cardInfo" :style="'width: calc(100% - '+props.viewSetup.form.imgWidth+'px); height:'+props.viewSetup.form.imgHeight+'px; overflow: hidden;' "> |
|
|
|
|
|
<div class="title">标题标题标题标题标题标题标题标题标题标题标题标题标题标题</div> |
|
|
|
|
|
<div class="content">内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
</el-row> |
|
|
@ -158,17 +234,17 @@ const srcList = (url:string) =>{ |
|
|
<el-pagination |
|
|
<el-pagination |
|
|
v-model:current-page="props.searchSend.page" |
|
|
v-model:current-page="props.searchSend.page" |
|
|
v-model:page-size="props.searchSend.pagesize" |
|
|
v-model:page-size="props.searchSend.pagesize" |
|
|
:page-sizes="[100, 200, 300, 400]" |
|
|
:page-sizes="[3, 9, 12, 30, 50, 100]" |
|
|
:size="size" |
|
|
:size="size" |
|
|
:background="true" |
|
|
:background="true" |
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
:total="400" |
|
|
:total="totalNum" |
|
|
@size-change="handleSizeChange" |
|
|
@size-change="handleSizeChange" |
|
|
@current-change="handleCurrentChange" |
|
|
@current-change="handleCurrentChange" |
|
|
class="page" |
|
|
class="page" |
|
|
/> |
|
|
/> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<FormPageCont v-model:is-show="lookPageInfoIsShow" :drawer-with="props.drawerWith" :page-info="pageInfoCont" :table-page-class="tablePageClass" :oper-state="operState" @getPageData="getPageData" /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</template> |
|
|
</template> |
|
|
|