Browse Source

form:支持表头排序功能

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

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

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

Loading…
Cancel
Save