5 files modified
1 files deleted
| | |
| | | }, |
| | | { |
| | | label: "截止时间", |
| | | prop: "candidateCutoffTimeEnd", |
| | | prop: "evaluateCutoffTimeEnd", |
| | | minWidth: '200px' |
| | | } |
| | | ] |
| | |
| | | <el-button type="primary" icon="el-icon-view" text @click="handleTaskResult(row)"> |
| | | 考核结果 |
| | | </el-button> |
| | | <el-button type="danger" icon="el-icon-delete" text @click="rowDel(row)"> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </template> |
| | |
| | | <div class="number">{{ item.peopleNum }}</div> |
| | | <div class="tool"> |
| | | <el-button type="primary" icon="el-icon-view" text |
| | | @click="viewEcCandidateHandler(item)">查看详情</el-button> |
| | | @click="viewEcCandidateHandler(item)">查看类别候选人</el-button> |
| | | </div> |
| | | </li> |
| | | </ul> |
| | |
| | | <template> |
| | | <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" @current-change="currentChange" |
| | | @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
| | | <template #menu-left> |
| | | <!-- <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button> --> |
| | | </template> |
| | | </avue-crud> |
| | | <template v-if="!type()"> |
| | | <ul class="type-list"> |
| | | <li class="type-item"> |
| | | <div class="title">类别</div> |
| | | <div class="introduction">认定标准</div> |
| | | <div class="number">名额</div> |
| | | <div class="tool">操作</div> |
| | | </li> |
| | | <li class="type-item" v-for="(item, index) in data" :key="index"> |
| | | <div class="title">{{ item.category.categoryName }}</div> |
| | | <el-tooltip effect="dark" placement="top"> |
| | | <template #content> |
| | | <p style="max-width: 500px;">{{ item.category.standard }}</p> |
| | | </template> |
| | | <div class="introduction"> |
| | | {{ item.category.standard }} |
| | | </div> |
| | | </el-tooltip> |
| | | |
| | | <div class="number">{{ item.category.peopleNum }}人</div> |
| | | <div class="tool"> |
| | | <el-button type="primary" text icon="el-icon-view" @click="view(item)">查看最终结果</el-button> |
| | | </div> |
| | | </li> |
| | | </ul> |
| | | <el-dialog v-model="dialogParams.visible" :title="dialogParams.title"> |
| | | <avue-crud :option="dialogOption" :table-loading="dialogLoading" :data="dialogParams.data" @on-load="onLoad"> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | </template> |
| | | <template v-else> |
| | | <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" |
| | | @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
| | | <template #menu-left> |
| | | <el-button type="success" plain icon="el-icon-download" @click="handleExport">导出</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </template> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | dialogLoading: true, |
| | | query: {}, |
| | | page: { |
| | | pageSize: 10, |
| | |
| | | menuWidth: 150, |
| | | menu: false, |
| | | dialogClickModal: false, |
| | | column: [] |
| | | column: [ |
| | | { |
| | | label: '部门', |
| | | prop: 'user_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '票数', |
| | | prop: 'voteNum', |
| | | type: 'input' |
| | | } |
| | | ] |
| | | }, |
| | | defaultColumn: [ |
| | | { |
| | | label: '姓名', |
| | | prop: 'user_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '部门', |
| | | prop: 'user_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '职位', |
| | | prop: 'dept_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '票数', |
| | | prop: 'voteNum', |
| | | type: 'input' |
| | | }, |
| | | ], |
| | | sectionColumn: [ |
| | | { |
| | | label: '部门', |
| | | prop: 'user_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '票数', |
| | | prop: 'voteNum', |
| | | type: 'input' |
| | | }, |
| | | ], |
| | | dialogOption: { |
| | | height: '400', |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | border: true, |
| | | index: true, |
| | | viewBtn: false, |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | viewBtn: false, |
| | | header: false, |
| | | menuWidth: 150, |
| | | menu: false, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | label: '姓名', |
| | | prop: 'user_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '部门', |
| | | prop: 'user_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '职位', |
| | | prop: 'dept_name', |
| | | type: 'input' |
| | | }, |
| | | { |
| | | label: '票数', |
| | | prop: 'voteNum', |
| | | type: 'input' |
| | | } |
| | | ] |
| | | }, |
| | | dialogParams: { |
| | | visible: false, |
| | | title: '', |
| | | data: {} |
| | | }, |
| | | data: [] |
| | | } |
| | | }, |
| | |
| | | }; |
| | | getFinallyResult(page.currentPage, page.pageSize, id).then(res => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total || ''; |
| | | this.data = data.records || []; |
| | | this.data = data || []; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | view(result) { |
| | | const { category, resultList } = result |
| | | this.dialogParams = { |
| | | visible: true, |
| | | title: `最终结果(${category.categoryName })`, |
| | | data: resultList |
| | | } |
| | | this.dialogLoading = false |
| | | } |
| | | }, |
| | | watch: { |
| | | 'params.data': { |
| | | handler(value) { |
| | | this.onLoad(this.page) |
| | | this.option.column = (this.type() ? this.sectionColumn : this.defaultColumn) |
| | | }, |
| | | deep: true |
| | | } |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped></style> |
| | | <style lang="scss" scoped> |
| | | $borderColor: var(--el-border-color); |
| | | |
| | | .type-list { |
| | | margin: 0; |
| | | padding: 0; |
| | | list-style-type: none; |
| | | width: 100%; |
| | | border: 1px solid $borderColor; |
| | | border-radius: var(--el-border-radius-base); |
| | | box-sizing: border-box; |
| | | |
| | | .type-item { |
| | | display: flex; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | text-align: center; |
| | | |
| | | div { |
| | | border-bottom: 1px solid $borderColor; |
| | | flex-shrink: 0; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | } |
| | | |
| | | .title { |
| | | flex: 2; |
| | | } |
| | | |
| | | .introduction { |
| | | flex: 5; |
| | | flex-shrink: 0; |
| | | |
| | | border: { |
| | | right: 1px solid $borderColor; |
| | | left: 1px solid $borderColor; |
| | | } |
| | | } |
| | | |
| | | .number { |
| | | flex: 1; |
| | | } |
| | | |
| | | .tool { |
| | | flex: 2; |
| | | border-left: 1px solid $borderColor; |
| | | } |
| | | |
| | | &:last-child { |
| | | div { |
| | | border-bottom: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | collapseParams.activeNames = !type() ? ['1'] : ['3'] |
| | | } |
| | | |
| | | onMounted(() => { |
| | | console.log(1); |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |