parent
22f298529a
commit
d8783898f4
@ -0,0 +1,17 @@ |
||||
// | ------------------------------------------------------------
|
||||
// | @版本: version 0.1
|
||||
// | @创建人: 【Nie-x7129】
|
||||
// | @E-mail: x71291@outlook.com
|
||||
// | @所在项目: hoto-auth-vue3
|
||||
// | @文件描述: logger.js -
|
||||
// | @创建时间: 2024-07-10 18:08
|
||||
// | @更新时间: 2024-07-10 18:08
|
||||
// | @修改记录:
|
||||
// | -*-*-*- (时间--修改人--修改说明) -*-*-*-
|
||||
// | =
|
||||
// | ------------------------------------------------------------
|
||||
|
||||
export class initLogger{ |
||||
constructor() { |
||||
} |
||||
} |
@ -0,0 +1,77 @@ |
||||
<script setup name="EnvTable"> |
||||
import { computed, onMounted, ref } from 'vue'; |
||||
import { EnvTableColumnType } from '@/views/Auth/Env/DataModal.js'; |
||||
import PacmanLoading from '@/components/Custom/Framework/Pacman/index.vue'; |
||||
|
||||
defineOptions({ |
||||
name: 'EnvTable', |
||||
}); |
||||
onMounted(() => { |
||||
window.pino.info('@2 EnvTable Mounted!'); |
||||
}); |
||||
const props = defineProps({ |
||||
tableData: { |
||||
type: Object, |
||||
required: true, |
||||
}, |
||||
}); |
||||
const isLoading = ref(true); |
||||
// ! 表格列对象 |
||||
const tableColumnObject = new EnvTableColumnType(); |
||||
const tableColumns = computed(() => { |
||||
// ! 判断是否存在表格列参数 |
||||
setTableAuto(); |
||||
if (props.tableData.columnList && props.tableData.columnList.length > 0) { |
||||
// ! 过滤选择后的表格列参数 |
||||
const existColumn = props.tableData.columnList.filter((i) => i.status === true); |
||||
if (existColumn.length == 0) { |
||||
// ! 过滤后的列不存在,传默认的列 |
||||
return Object.keys(tableColumnObject).map((column) => tableColumnObject[column]); |
||||
} else { |
||||
// ! 传过滤后的列 |
||||
return existColumn.map((column) => tableColumnObject[column.key]); |
||||
} |
||||
} else { |
||||
// 传默认的列 |
||||
return Object.keys(tableColumnObject).map((column) => tableColumnObject[column]); |
||||
} |
||||
}); |
||||
function setTableAuto(){ |
||||
isLoading.value = false; |
||||
setTimeout(() => { |
||||
isLoading.value = true; |
||||
}, 100); |
||||
} |
||||
|
||||
function handleResizeColumn(w, col) { |
||||
col.width = w; |
||||
} |
||||
</script> |
||||
|
||||
<template> |
||||
<PacmanLoading v-if="!isLoading" loading="1"/> |
||||
<ATable |
||||
v-if="isLoading" |
||||
style="height: 100%" |
||||
:dataSource="props.tableData.dataSource" |
||||
:columns="tableColumns" |
||||
@change="props.tableData.methods.handleTableChange" |
||||
:pagination="false" |
||||
sticky |
||||
tableLayout="auto" |
||||
@resizeColumn="handleResizeColumn" |
||||
:row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)" |
||||
:scroll="{ scrollToFirstRowOnChange: true }" |
||||
> |
||||
<template #bodyCell="{ column, record }"> |
||||
<template v-if="column?.key === 'action'"> |
||||
<ASpace> |
||||
<TableRemoveButton :ackDelete="() => props.tableData.methods.handleRemoveAck(record)" /> |
||||
<TableUpdateButton @click="props.tableData.methods.handleUpdate(record)" /> |
||||
</ASpace> |
||||
</template> |
||||
</template> |
||||
</ATable> |
||||
</template> |
||||
|
||||
<style scoped></style> |
@ -0,0 +1,34 @@ |
||||
<script setup name="EnvTree"> |
||||
defineOptions({ |
||||
name: 'EnvTree', |
||||
}); |
||||
import { useBaseDataStore } from '@/stores/baseData.js'; |
||||
import { onMounted, reactive } from 'vue'; |
||||
const baseDataStore = useBaseDataStore(); |
||||
|
||||
|
||||
// ! 树字段重置 |
||||
const fieldNames = reactive({ |
||||
children:'children', title:'label', key:'id' |
||||
}); |
||||
|
||||
// 当页面加载时 |
||||
onMounted(() => { |
||||
window.pino.info('@4 EnvTree Mounted'); |
||||
// ! 检测获取字典列表 |
||||
if (baseDataStore.state.envList?.length == 0) { |
||||
baseDataStore.getEnvList(); |
||||
} |
||||
}); |
||||
</script> |
||||
|
||||
<template> |
||||
<ATree |
||||
:treeData="baseDataStore.state.envTree" |
||||
:show-line="true" |
||||
show-icon |
||||
:fieldNames="fieldNames" |
||||
/> |
||||
</template> |
||||
|
||||
<style scoped></style> |
Loading…
Reference in new issue