parent
121b50bc31
commit
edacc49466
15 changed files with 508 additions and 136 deletions
@ -0,0 +1,53 @@ |
||||
<template> |
||||
<div class="wrap"> |
||||
<div class="modal"> |
||||
<el-steps :space="200" :active="4" finish-status="success"> |
||||
<el-step title="大赛信息填写"></el-step> |
||||
<el-step title="赛程与规则设置"></el-step> |
||||
<el-step title="比赛内容设置"></el-step> |
||||
<el-step title="发布"></el-step> |
||||
</el-steps> |
||||
<h1>大赛已发布!</h1> |
||||
<div class="btns"> |
||||
<el-button type="primary" @click="back">确定</el-button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
|
||||
}; |
||||
}, |
||||
mounted() { |
||||
|
||||
}, |
||||
methods: { |
||||
back() { |
||||
this.$router.push(`/match?page=${this.$store.state.matchPage}`) |
||||
} |
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style scoped lang="scss"> |
||||
.wrap { |
||||
height: calc(100vh - 300px); |
||||
background-color: #fefefe; |
||||
} |
||||
.modal { |
||||
width: 500px; |
||||
padding-top: 150px; |
||||
margin: 0 auto ; |
||||
h1 { |
||||
margin: 20px; |
||||
text-align: center; |
||||
} |
||||
.btns { |
||||
text-align: center; |
||||
} |
||||
} |
||||
</style> |
@ -0,0 +1,118 @@ |
||||
<template> |
||||
<!-- 报名人员 --> |
||||
<div class="page-content" style="padding: 24px"> |
||||
<el-collapse v-model="curStep" accordion> |
||||
<el-collapse-item title="一致性 Consistency" :name="1"> |
||||
<div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div> |
||||
<div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="反馈 Feedback" :name="2"> |
||||
<div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div> |
||||
<div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="效率 Efficiency" :name="3"> |
||||
<div>简化流程:设计简洁直观的操作流程;</div> |
||||
<div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div> |
||||
<div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div> |
||||
</el-collapse-item> |
||||
</el-collapse> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import util from "@/libs/util"; |
||||
import axios from 'axios' |
||||
|
||||
export default { |
||||
name: "matchArch", |
||||
data() { |
||||
return { |
||||
curStep: 1 |
||||
}; |
||||
}, |
||||
watch: { |
||||
keyword: function(val) { |
||||
clearTimeout(this.searchTimer); |
||||
this.searchTimer = setTimeout(() => { |
||||
this.getData(); |
||||
}, 500); |
||||
} |
||||
}, |
||||
mounted() { |
||||
// this.getData(); |
||||
}, |
||||
methods: { |
||||
getData() { |
||||
this.$post(this.api.queryApplicantByCondition, { |
||||
pageNum: this.page, |
||||
pageSize: this.pageSize, |
||||
contestId: this.id, |
||||
keyWord: this.keyword, |
||||
}).then(({ data }) => { |
||||
this.listData = data.records; |
||||
this.totals = data.total; |
||||
this.$refs.table.clearSelection(); |
||||
}).catch(res => { |
||||
}); |
||||
}, |
||||
handleSelectionChange(val) { |
||||
this.multipleSelection = val; |
||||
}, |
||||
handleCurrentChange(val) { |
||||
this.page = val; |
||||
this.getData(); |
||||
}, |
||||
switchOff(val, row, index) { |
||||
this.$put(`${this.api.disableApplicant}/${row.id}/${val}`) |
||||
.then(res => { |
||||
}) |
||||
.catch(err => { |
||||
}); |
||||
}, |
||||
disalbeAllData() { |
||||
if (this.multipleSelection.length != "") { |
||||
let newArr = this.multipleSelection; |
||||
let delList = newArr.map(item => { |
||||
return item.id; |
||||
}); |
||||
|
||||
this.$confirm("确定要禁用吗?", "提示", { |
||||
type: "warning" |
||||
}) |
||||
.then(() => { |
||||
this.$put(`${this.api.disableContests}?ids=${delList.join(",")}`).then(res => { |
||||
this.multipleSelection = []; |
||||
util.successMsg("禁用成功"); |
||||
this.getData(); |
||||
}).catch(res => { |
||||
}); |
||||
}) |
||||
.catch(() => { |
||||
}); |
||||
} else { |
||||
util.errorMsg("请先选择数据 !"); |
||||
} |
||||
}, |
||||
exportAll() { |
||||
const data = this.multipleSelection |
||||
if (data.length) { |
||||
data.map((e, i) => e.id = i + 1) |
||||
axios.post(this.api.exportDataInBatches, data, { |
||||
headers: { |
||||
token: this.token |
||||
}, |
||||
responseType: 'blob' |
||||
}).then((res) => { |
||||
util.downloadFileDirect(`报名人员.xls`, new Blob([res.data])) |
||||
}).catch(res => {}) |
||||
} else { |
||||
location.href = `${this.api.excelExport}?contestId=${this.id}` |
||||
} |
||||
} |
||||
} |
||||
}; |
||||
</script> |
||||
|
||||
<style scoped> |
||||
|
||||
</style> |
Loading…
Reference in new issue