Browse Source

分组:支持配置单元格合并字段

qin_s5
han2015 4 weeks ago
parent
commit
ca779aa879
  1. 2
      src/components/DesignForm/app/cardPage.vue
  2. 2
      src/components/DesignForm/app/gannttPage.vue
  3. 25
      src/components/DesignForm/app/groupPage.vue
  4. 4
      src/components/DesignForm/app/index.vue
  5. 2
      src/components/DesignForm/app/mapPage.vue
  6. 2
      src/components/DesignForm/app/timeAxis.vue
  7. 2
      src/components/DesignForm/tableListPage/index.vue
  8. 16
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageList.vue

2
src/components/DesignForm/app/cardPage.vue

@ -290,7 +290,7 @@ const lookPageInfo = (val:any) => {
}
</script>
<template>
<div>
<div id="special-table-container">
<el-row :gutter="20">
<el-col v-for="item in cardDataList" :key="item.id" :span="lineRanks" class="cardBox">

2
src/components/DesignForm/app/gannttPage.vue

@ -24,7 +24,7 @@ const props = defineProps({
});
</script>
<template>
<div>
<div id="special-table-container">
{{viewSetup}}
</div>
</template>

25
src/components/DesignForm/app/groupPage.vue

@ -105,7 +105,7 @@ const spanMap = computed(() => {
return map
})
//
const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
const key = column.property
@ -153,6 +153,19 @@ const getPageData=async ()=>{
}
onMounted(()=>{
if(props.viewSetup.form.title&&props.viewSetup.form.title.length){
props.viewSetup.form.title.forEach(ele => {
if(props.viewSetup.form.sort==2){
columnSortData.set(ele, "");
}else{
columnSortData.set(ele,'DESC'); //asc
}
});
selectedMergeKeys.value=Array.from(columnSortData.keys())
}
nextTick(()=>{
getPageData()
})
@ -165,13 +178,11 @@ defineExpose({
</script>
<template>
<div>
<el-row :gutter="20">
<div id="special-table-container">
<el-row :gutter="20" >
<el-table
:data="tableDataList"
:span-method="objectSpanMethod"
@sort-change="onUpdateSort"
:header-cell-class-name="setHeaderClass"
border
>
<template v-for="item in columnsFilter" :key="item.id || item.label">
@ -210,7 +221,6 @@ defineExpose({
:label="item.label"
:min-width="(item.label?.length || 2) * 15 + 30"
header-align="center"
sortable="custom"
align="center"
>
<template #default="scope">
@ -246,7 +256,6 @@ defineExpose({
config=""
:min-width="(item.label?.length || 2) * 15 + 30"
header-align="center"
sortable="custom"
align="center"
>
<template v-if="item.fieldClass == 'associatedForms'" #default="scope">
@ -270,7 +279,7 @@ defineExpose({
<el-pagination
v-model:current-page="props.searchSend.page"
v-model:page-size="pageSize"
:page-sizes="[3, 9, 12, 30, 50, 100]"
:page-sizes="[30, 50, 100]"
:background="true"
layout="total, sizes, prev, pager, next, jumper"
:total="totalNum"

4
src/components/DesignForm/app/index.vue

@ -1734,7 +1734,9 @@ const recallSendMsg = (val: any) => {
//html
const enterFullScreen=()=>{
const docEl= document.getElementById("special-table-container");
if(docEl){
docEl.style.backgroundColor = '#ffffff';
//
if (docEl.requestFullscreen) {
docEl.requestFullscreen();
@ -2558,7 +2560,7 @@ const isObject = (obj: any) => {
:columns-filter="columnsFilter"
:body-hight="265"
:drawer-with="drawerWith"
:view-setup="viewPage.date"
:view-setup="viewPage.group"
/>
</el-col>
<el-col v-if="viewType == 2" :span="24">

2
src/components/DesignForm/app/mapPage.vue

@ -173,7 +173,7 @@ const currentChange = (current: number) => {
}
</script>
<template>
<div>
<div id="special-table-container">
<div id="pickMapView" :ref="mapId" class="openMapView"></div>
<div class="mapPage">
<el-pagination layout="prev, pager, next" :total="totalNum" @current-change="currentChange" />

2
src/components/DesignForm/app/timeAxis.vue

@ -217,7 +217,7 @@ const writeListTitle = (val:any) => {
}
</script>
<template>
<ul v-infinite-scroll="loadTimeLog" class="infinite-list" :infinite-scroll-disabled="timeDisabled">
<ul v-infinite-scroll="loadTimeLog" class="infinite-list" :infinite-scroll-disabled="timeDisabled" id="special-table-container">
<el-timeline :reverse="true" class="timeLineStyle" >

2
src/components/DesignForm/tableListPage/index.vue

@ -1878,7 +1878,7 @@ const isObject = (obj: any) => {
>
<el-button
size="small"
class="fa fa-table"
class="fa fa-list"
:color="
props.viewPage.group && props.viewPage.group.isClick ? '#a0cfff' : ''
"

16
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageList.vue

@ -41,6 +41,7 @@ import {
} from "@/api/displayboardapi/indexapi";
import Sortable from "sortablejs";
//
import PageListHeadTools from "@/views/sysworkflow/lowcodepage/pageListHeadToolsApp.vue";
import ControlSetup from "@/views/sysworkflow/lowcodepage/pageSetUpDialog/controlSetup.vue";
@ -172,6 +173,7 @@ const state = reactive({
isClick: false,
form: {
title: [],
sort: 1,
},
},
date: {
@ -321,6 +323,7 @@ const jieForm = () => {
*/
onMounted(() => {
jieForm();
nextTick(() => {
gainFormTableKeyWord(props.appPageKey.toString());
});
@ -2353,20 +2356,27 @@ const delAllPick = () => {
:model="state.view.group.form"
style="max-width: 600px"
>
<el-form-item label="标题字段">
<el-form-item label="排序分组字段">
<el-select
ref="groupsorter"
v-model="state.view.group.form.title"
multiple
placeholder="请选择标题字段"
placeholder="请选择分组字段"
>
<el-option
v-for="item in allKeyWords"
:key="item.value"
:key="item"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="排序方式">
<el-radio-group v-model="state.view.group.form.sort">
<el-radio :label="1">降序</el-radio>
<el-radio :label="2">升序</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</div>
</el-collapse-item>

Loading…
Cancel
Save