| | |
| | | <template> |
| | | <basic-container> |
| | | <template v-if="isResult"> |
| | | <avue-tabs :option="taskTypeList" @change="tabChange"></avue-tabs> |
| | | <avue-tabs ref="tabs" :option="taskTypeList" @change="tabChange"></avue-tabs> |
| | | <avue-crud :option="option" v-model:search="search" v-model:page="page" v-model="form" :table-loading="loading" |
| | | :data="data" :permission="permissionList" :before-open="beforeOpen" ref="crud" @row-update="rowUpdate" |
| | | @row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" |
| | |
| | | }, |
| | | changeIs(is) { |
| | | this.isResult = is |
| | | this.$nextTick(() => { |
| | | this.$refs.tabs.active = this.defaultTaskType.toString() |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | |
| | | <avue-tabs ref="tabs" :option="taskTypeList" @change="tabChange"></avue-tabs> |
| | | <avue-crud ref="crud" v-model="form" v-model:search="search" :option="!defaultTaskType ? option : deptOption" |
| | | :data="data" v-model:page="page" @search-change="searchChange" @search-reset="searchReset" |
| | | @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
| | | @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" |
| | | @tree-load="treeLoad" @on-load="onLoad"> |
| | | <template #menu="{ size, row, index }"> |
| | | <el-button type="primary" size="small" @click="handleWeight(row)"> |
| | | 考核权重 |
| | | </el-button> |
| | | </template> |
| | | <template #deptCategory="{ row }"> |
| | | <el-tag>{{ row.deptCategoryName }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | </template> |
| | |
| | | search: {}, |
| | | weightParams: {}, |
| | | data: [], |
| | | parentId: 0, |
| | | option: { |
| | | height: 'auto', |
| | | calcHeight: 32, |
| | |
| | | deptOption: { |
| | | height: 'auto', |
| | | calcHeight: 32, |
| | | tip: true, |
| | | tip: false, |
| | | tree: true, |
| | | lazy: true, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | |
| | | }, |
| | | { |
| | | label: '机构类型', |
| | | type: 'select', |
| | | dicUrl: '/blade-system/dict/dictionary?code=org_category', |
| | | props: { |
| | | label: 'dictValue', |
| | | value: 'dictKey', |
| | | }, |
| | | dataType: 'number', |
| | | width: 120, |
| | | prop: 'deptCategory', |
| | | type: 'input' |
| | | } |
| | | slot: true, |
| | | }, |
| | | ], |
| | | }, |
| | | page: { |
| | |
| | | this.loading = false; |
| | | }); |
| | | this.defaultTaskType && getLazyList(this.parentId, values).then(res => { |
| | | let deptRes = [] |
| | | // 扁平化 |
| | | res.data.data.forEach(item => { |
| | | deptRes.push(item) |
| | | if (item.children) { |
| | | deptRes = deptRes.concat(item.children) |
| | | delete item.children |
| | | } |
| | | }) |
| | | this.data = deptRes; |
| | | this.data = res.data.data; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | treeLoad(tree, treeNode, resolve) { |
| | | const parentId = tree.id; |
| | | getLazyList(parentId).then(res => { |
| | | resolve(res.data.data); |
| | | }); |
| | | }, |
| | | tabChange(value) { |
| | | this.defaultTaskType = value.prop |
| | | } |