赛事分配修复及实验报告且或

dev_202412
yujialong 10 months ago
parent b61162f633
commit 85486b3a33
  1. 1
      src/api/index.js
  2. 2
      src/layouts/header/index.vue
  3. 16
      src/pages/match/details/index.vue
  4. 934
      src/pages/match/list/index.vue
  5. 44
      src/pages/record/show/index.vue
  6. 6
      src/setting.js

@ -156,7 +156,6 @@ export default {
cCompetitionStageFileDel: `competition/cCompetitionStageFile/batchDeletion`,
viewEventAllocationInformation: `competition/competitionAutomaticAllocationRecord/viewEventAllocationInformation`,
checkTeamStatus: `competition/teamAbnormalInformation/checkTeamStatus`,
competitionTeamAutomaticAllocationRecordSave: `competition/competitionTeamAutomaticAllocationRecord/save`,
teamAssignmentButtonDisplay: `competition/competitionTeamAutomaticAllocationRecord/teamAssignmentButtonDisplay`,
assignedPlayer: `competition/competition/automaticAllocation/assignedPlayer`,
competitionTeamAutomaticAllocationRecordSave: `competition/competitionTeamAutomaticAllocationRecord/saveOrUpdate`,

@ -98,7 +98,7 @@ export default {
])
},
mounted () {
if (this.token) {
if (util.local.get(Setting.tokenKey)) {
this.getSystemDetail();
this.getUserInfo();
this.getNotice()

@ -260,8 +260,9 @@
<th>竞赛阶段</th>
<td>
<div v-if="showButton" class="m-b-10 text-right">
<el-button type="primary" :disabled="status > 3" @click="automaticAllocationMember">{{
assignRecord.assignOrNot && status < 3 ? '取消' : '' }}自动分配阶段成员</el-button>
<el-button type="primary" :disabled="status > 3" :loading="allocating"
@click="automaticAllocationMember">{{
assignRecord.assignOrNot && status < 3 ? '取消' : '' }}自动分配阶段成员</el-button>
</div>
<table class="table tc">
<tr>
@ -654,6 +655,7 @@ export default {
stageTips: [],
showButton: false,
assignRecord: {},
allocating: false,
};
},
computed: {
@ -1145,6 +1147,7 @@ export default {
const res = await this.$post(`${this.api.teamAssignmentButtonDisplay}?competitionId=${this.id}&teamId=${this.info.teamId}`)
this.showButton = res.showButton //
this.assignRecord = res.teamRecord || {} // or
this.allocating = false
},
//
async removePar (e, stage) {
@ -1319,7 +1322,7 @@ export default {
},
//
afterCreateTeam () {
//
//
if (this.allocated) {
Util.successMsg('团队创建成功,系统将自动帮您分配阶段参赛成员,您也可以到参数信息进行指定')
} else {
@ -1331,9 +1334,7 @@ export default {
closeOnClickModal: false,
}).then(() => {
this.automaticAllocation(1)
}).catch(() => {
this.automaticAllocation(0)
})
}).catch(() => { })
}
},
//
@ -1353,6 +1354,7 @@ export default {
type: 'success',
closeOnClickModal: false,
}).then(async () => {
this.allocating = true
//
if (this.status < 3) {
await this.$post(this.api.competitionTeamAutomaticAllocationRecordSave, {
@ -1571,7 +1573,7 @@ export default {
type: 'success',
closeOnClickModal: false
}).then(() => {
this.$post(`${this.api.cancelRegistration}?competitionId = ${this.id} `).then(res => {
this.$post(`${this.api.cancelRegistration}?competitionId=${this.id}`).then(res => {
this.status = 2
this.$message.success('取消报名成功')
this.getData()

File diff suppressed because it is too large Load Diff

@ -86,22 +86,22 @@
</template>
</el-table-column>
<el-table-column prop="judgmentName" label="判分点" width="200" align="center"></el-table-column>
<el-table-column v-if="IsLc" prop="judgmentName" label="考核点" align="center" :key="2" width="150">
<el-table-column v-if="isLc" prop="judgmentName" label="考核点" align="center" :key="2" width="150">
<template slot-scope="scope">
<div v-for="(item, index) in scope.row.lcRuleRecords" :key="index">
<span>
<span>{{ index + 1 }}. </span>{{ item.name }}
</span>
<div v-for="(item, i) in scope.row.lcRuleRecords" :key="i" class="rule-line">
<span>{{ item.index }}. </span>{{ item.name }}
<p v-if="item.ruleOperation === '或'" class="m-t-5 m-b-5">
{{ item.ruleOperation === '或' ? '或' : '' }}</p>
</div>
</template>
</el-table-column>
<el-table-column prop="ruleAnswer" label="参考答案" :key="3" style='word-wrap: break-word'>
<template slot-scope="scope">
<div v-if="scope.row.lcRuleRecords">
<div v-for="(item, index) in scope.row.lcRuleRecords" :key="index">
<span>
<span>{{ index + 1 }}. </span>{{ item.ruleAnswer }}
</span>
<div v-for="(item, i) in scope.row.lcRuleRecords" :key="i" class="rule-line">
<span>{{ item.index }}. </span>{{ item.ruleAnswer }}
<p v-if="item.ruleOperation === '或'" class="p-l-10 m-t-5 m-b-5">
{{ item.ruleOperation === '或' ? '或' : '' }}</p>
</div>
</div>
<div v-else v-html="scope.row.referenceAnswer"></div>
@ -109,15 +109,15 @@
</el-table-column>
<el-table-column prop="userAnswer" :key="4" label="学生答案">
<template slot-scope="scope">
<div v-if="scope.row.lcRuleRecords">
<div v-for="(item, index) in scope.row.lcRuleRecords" :key="index">
{{ index + 1 }}. {{ item.userAnswer || '未填写' }}
<div v-if="scope.row.lcStudentAnswer">
<div v-for="(item, i) in scope.row.lcStudentAnswer" :key="i" class="rule-line">
{{ i + 1 }}. {{ item.userAnswer || '未填写' }}
</div>
</div>
<div v-else v-html="scope.row.answer" style="white-space: pre-wrap"></div>
</template>
</el-table-column>
<el-table-column v-if="!IsLc" prop="runResult" label="学生运行结果" :key="5" align="center">
<el-table-column v-if="!isLc" prop="runResult" label="学生运行结果" :key="5" align="center">
<template slot-scope="scope">
<div class="m-b-20" v-html="scope.row.runResult" style="white-space: pre-wrap"></div>
<template v-if="scope.row.runThePictureList">
@ -168,7 +168,7 @@ export default {
editing: false,
loadIns: null,
loading: false,
IsLc: false,
isLc: false,
userScores: [],
quills: [],
quillIndex1: 0,
@ -254,13 +254,21 @@ export default {
},
//
handleList (list) {
this.IsLc = list.find(e => e.lcRuleRecords) // lcRuleRecords
if (this.IsLc) {
this.isLc = list.find(e => e.lcRuleRecords) // lcRuleRecords
if (this.isLc) {
list.map(e => {
e.assessmentPoint = ''
e.referenceAnswer = ''
e.answer = ''
let index = 1
e.lcRuleRecords.map((n, i) => {
n.index = index
if (n.ruleOperation === '或') {
index = 1
} else {
index++
}
e.assessmentPoint += `${i + 1}.${n.name}`
e.referenceAnswer += `${i + 1}.${n.ruleAnswer}`
if (!n.userAnswer) n.userAnswer = '未填写'
@ -298,7 +306,7 @@ export default {
// if (form[i] && typeof form[i] === 'string') form[i] = form[i].replace(/<[^>]+>/g, '')
// }
form.purpose = form.purpose.replace(/<[^>]+>/g, '')
this.$post(this.IsLc ? this.api.exportBankExperimentReport : this.api.exportLabReport, {
this.$post(this.isLc ? this.api.exportBankExperimentReport : this.api.exportLabReport, {
...form,
experimentalData: list
}).then(res => {
@ -351,7 +359,7 @@ export default {
},
editReport () { //
if (this.editing) {
this.$post(`${this.api.updateReport}`, this.infoData).then(res => {
this.$post(this.api.updateReport, this.infoData).then(res => {
this.editing = false;
util.successMsg("修改成功");
}).catch(err => { });

@ -16,17 +16,13 @@ let sandPath = `${location.origin}/sandbox` // 沙盘地址
let host = `${location.origin}/`
// let host = `https://izhixinyun.com/`
let uploadURL = `${location.origin}/`
// let uploadURL = `https://izhixinyun.com/`
let title = isZxy ?
'智信云' :
(isHh || isCH) ?
'学生端' :
'职站'
if (isPro) {
// 职站生产
uploadURL = `https://www.huorantech.cn/`
} else if (isDev) {
if (isDev) {
// 本地
systemPath = `http://${location.hostname}:8093`
sandPath = `http://${location.hostname}:9520`

Loading…
Cancel
Save