多选优化,可以全选了
This commit is contained in:
		| @@ -10,8 +10,11 @@ | ||||
|       </template> | ||||
|     </ai-search-bar> | ||||
|     <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :colConfigs="columns" | ||||
|               :size.sync="page.size" border @getList="getTableData" tableSize="mini" height="430px"> | ||||
|               :size.sync="page.size" border @getList="getTableData" tableSize="mini"> | ||||
|       <el-table-column slot="chb" width="100px"> | ||||
|         <template #header> | ||||
|           <el-checkbox v-if="multiple" v-model="selectAll" @change="handleCheckAll"/> | ||||
|         </template> | ||||
|         <template slot-scope="{row}"> | ||||
|           <el-checkbox v-model="row.checked" @change="handleCheck(row)"/> | ||||
|         </template> | ||||
| @@ -37,6 +40,7 @@ export default { | ||||
|       default: () => [ | ||||
|         {prop: 'label', label: "应用名称"}, | ||||
|         {prop: 'project', label: "项目/框架"}, | ||||
|         {prop: 'category', label: "分类"}, | ||||
|         {prop: 'name', label: "模块名"}, | ||||
|       ] | ||||
|     }, | ||||
| @@ -49,6 +53,7 @@ export default { | ||||
|       page: {total: 0, current: 1, size: 10}, | ||||
|       search: {}, | ||||
|       tableData: [], | ||||
|       selectAll: false | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
| @@ -75,6 +80,7 @@ export default { | ||||
|         if (res?.data) { | ||||
|           const list = res.data.records || res.data || [] | ||||
|           list.map(e => { | ||||
|             e.category = e.libPath.replace(/^\/[^\/]+\/([^\/]+)\/.+/, '$1') | ||||
|             if (/\/project\//.test(e.libPath)) { | ||||
|               e.project = e.libPath.replace(/.*project\/([^\/]+)\/.+/, '$1') | ||||
|             } else if (/\/core\//.test(e.libPath)) { | ||||
| @@ -99,6 +105,14 @@ export default { | ||||
|       } else { | ||||
|         this.$emit("change", row.checked ? row[nodeKey] : '') | ||||
|       } | ||||
|     }, | ||||
|     handleCheckAll(v) { | ||||
|       const {nodeKey} = this | ||||
|       let selected = this.tableData.map(e => { | ||||
|         e.checked = v | ||||
|         return e | ||||
|       }).filter(e => e.checked)?.map(e => e[nodeKey]) || [] | ||||
|       this.$emit("change", selected) | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user