.DraggableTable
a-spin(:spinning="loading")
table.drag-table(:class='bordered?"has-border-top-left":"no-border-top"', :boolean='bordered')
thead(:style='tHeadStyle')
tr.drag-thead-tr
th.drag-th.td.checkbox(v-if='rowSelect',:class='bordered?"has-border-bottom-right":"no-border-bottom"')
a-checkbox(v-model:checked="isAllCheck",@change="checkAll")
th.drag-th.td(v-for='item in columns',:key='item.key',
:class='{ellipsis: item.ellipsis}, bordered?"has-border-bottom-right":"no-border-bottom"',
:style='{"text-align": item.align || "left", "width": item.width || "auto", "flex": `${item.width ? "none" : 1}`}') {{item.title}}
Draggable(v-if='dragData.length !== 0',v-model='dragData',tag='tbody',@end="onDragEnd",item-key="uid")
template(#item="{ element,index }")
tr.drag-item.tr.cursor-move(:key='element.uid')
td.td.checkbox(v-if='rowSelect',:class='bordered?"has-border-bottom-right":"no-border-bottom"')
a-checkbox(v-model:checked="element.isChecked",@change="checkChange(element, index)")
template(v-for='col in columns',:key='col.dataIndex')
td.td(:class='{ellipsis: col.ellipsis}, bordered?"has-border-bottom-right":"no-border-bottom"'
:style='{"text-align": col.align || "left", "width": `${col.width} !important` || "auto", "flex": `${col.width ? "none" : 1}`}'
:title='col.slots ? "" : element[col.dataIndex]')
slot(v-if='col.slots',:name='col.slots.customRender',:record='element',:index='index')
span(v-else) {{element[col.dataIndex]}}
tbody(v-else)
tr
td.border-right-bottom(:colspan='columns.length + (rowSelect ? 1 : 0)')
a-empty(:image="simpleImage")