Browse Source

form:支持表头排序功能

qin_s3
han2015 2 months ago
parent
commit
bf7e54453c
  1. 43
      src/components/DesignForm/app/index.vue

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

@ -1151,11 +1151,19 @@ let asfQueryParams: any[] = [];
@ 功能: 获取数据
*/
const getPageData = () => {
// by han2015:
let arr:string[]=[];
columnSortData.forEach((value, key) => {
arr.push(`${key} ${value}`)
});
let sendData = {
formId: props.formId,
page: state.currentPage,
pagesize: state.pageSize,
searchData: json2string(props.searchData),
sortData: arr.join(", "),
};
// console.log("",sendData)
@ -1185,6 +1193,7 @@ const getPageData = () => {
break;
default:
state.loading = true;
//by han2015, 便
doGainFormPageListCont(sendData)
.then((datas) => {
@ -1782,6 +1791,32 @@ const lookPageInfoIsShow = ref(false);
const asflookPageInfoIsShow = ref(false);
const pageInfoCont = ref<any>();
//------------------ by han2015: ----------------------
const columnSortData = new Map();
const setHeaderClass=(params:any)=>{
if(columnSortData.has(params.column.property)){
if(columnSortData.get(params.column.property)=="DESC"){
params.column.order="descending"
return
}else{
params.column.order="ascending"
return
}
}
}
// by han2015:
const onUpdateSort = (data: { prop: string; order: "ascending" | "descending" | null }) => {
if (data.order === "descending") {
columnSortData.set(data.prop, "DESC");
} else if (data.order === "ascending") {
columnSortData.set(data.prop, "ASC");
} else {
columnSortData.delete(data.prop);
}
getPageData()
}
const lookPageInfo = (val: any) => {
console.log("查看详细内容--------------------------->");
console.log(val);
@ -2331,13 +2366,14 @@ const getNonValue = () => {
</el-col>
<el-col v-if="viewType == 1" :span="24" class="tableTdClass">
<el-table
v-bind="data.tableProps"
ref="table"
v-loading="state.loading"
:data="tableDataList"
table-layout="fixed"
@sort-change="onUpdateSort"
:header-cell-class-name="(params:any)=>{setHeaderClass(params)}"
border
@selection-change="selectionChange"
>
@ -2370,12 +2406,14 @@ const getNonValue = () => {
{{ writeListTitle(scope.row, viewPage.list) }}
</template>
</el-table-column>
<el-table-column
v-else-if="item.fieldClass == ''"
:prop="item.field"
:label="item.label"
:min-width="readerColumnSun(item)"
header-align="center"
sortable="custom"
align="center"
>
<template #default>
@ -2391,7 +2429,7 @@ const getNonValue = () => {
</template>
</el-table-column>
<el-table-column
v-else-if="item.fieldClass == '__control'"
:prop="item.field"
@ -2550,6 +2588,7 @@ const getNonValue = () => {
config=""
min-width="220"
header-align="center"
sortable="custom"
align="center"
>
<template v-if="item.help" #header="scope">

Loading…
Cancel
Save