107107 <el-input
108108 type =" textarea"
109109 :rows =" 10"
110- v-model =" code "
110+ v-model =" detail.source "
111111 class =" rt-input"
112- :disabled = " true "
112+ readonly
113113 :autosize =" { minRows: 10 }" >
114114 </el-input >
115+ <div v-for =" data in detail.data" v-bind:key =" data.id"
116+ style =" box-shadow : 0 2px 4px rgba (0 , 0 , 0 , .12 ), 0 0 6px rgba (0 , 0 , 0 , .04 ); border-radius : 4px ; padding : 10px 10px 10px 10px " >
117+ <h1 >{{ data.id }}</h1 >
118+ <p >
119+ Time: {{ data.timeConsumed }}ms &emsp ;
120+ memory: {{ data.memoryConsumed }}KB &emsp ;
121+ exitCode: {{ data.exitCode }}
122+ <br >
123+ Verdict: {{ data.verdict }}
124+ </p >
125+ <el-form label-position =" left" >
126+ <el-form-item label =" Input" >
127+ <el-input type =" textarea" :autosize =" { minRows: 0 }" readonly
128+ v-model =" data.input" ></el-input >
129+ </el-form-item >
130+ <el-form-item label =" Output" >
131+ <el-input type =" textarea" :autosize =" { minRows: 0 }" readonly
132+ v-model =" data.output" ></el-input >
133+ </el-form-item >
134+ <el-form-item label =" Answer" >
135+ <el-input type =" textarea" :autosize =" { minRows: 0 }" readonly
136+ v-model =" data.answer" ></el-input >
137+ </el-form-item >
138+ <el-form-item label =" comment" >
139+ <el-input type =" textarea" :autosize =" { minRows: 0 }" readonly
140+ v-model =" data.checkerStdoutAndStderr" ></el-input >
141+ </el-form-item >
142+ </el-form >
143+ </div >
115144 <span slot =" footer" class =" dialog-footer" >
116145 <el-button type =" primary" @click =" submissionDialog = false" >关 闭</el-button >
117146 </span >
123152import {timeCycle } from ' @/static/js/time'
124153
125154let copy = require (' ../static/js/copy' )
155+ let common = require (' ../static/crawler/common' )
126156let submission = require (' ../static/crawler/submission' )
127157
128158export default {
@@ -142,7 +172,7 @@ export default {
142172 curSubmission: ' ' ,
143173 onGetSubmission: false ,
144174 submissionDialog: false ,
145- code : ' ' ,
175+ detail : {} ,
146176 timeOut: null
147177 }
148178 },
@@ -211,18 +241,54 @@ export default {
211241 },
212242
213243 openSubmit (index ) {
214- this .code = ' '
215244 this .submissionDialog = true
216245 this .curSubmission = this .submits [index].id
217246 this .onGetSubmission = true
218- submission .getSubmission (this .submits [index].contestId , this .submits [index].id , (e , r ) => {
219- this .onGetSubmission = false
220- if (e) {
221- console .log (r)
222- this .$message .error (' 拉取出错' )
223- return
224- }
225- this .code = r
247+ // submission.getSubmission(this.submits[index].contestId, this.submits[index].id, (e, r) => {
248+ // this.onGetSubmission = false
249+ // if (e) {
250+ // console.log(r)
251+ // this.$message.error('拉取出错')
252+ // return
253+ // }
254+ // this.code = r
255+ // })
256+ this .detail = {}
257+ common .getXCsrfToken ((e , x ) => {
258+ submission .getSubmissionDetail (x, this .submits [index].id , (e , r ) => {
259+ this .onGetSubmission = false
260+ if (e) {
261+ console .log (r)
262+ this .$message .error (r)
263+ return
264+ }
265+ r = JSON .parse (r)
266+ this .detail = {
267+ source: r .source ,
268+ contestName: r .contestName ,
269+ problemName: r .problemName ,
270+ partyName: r .partyName ,
271+ verdict: r .verdict ,
272+ nextId: r .nextId ,
273+ prevId: r .prevId ,
274+ data: []
275+ }
276+ console .log (this .detail )
277+ for (let i = r[' testCount' ]; i >= 1 ; -- i) {
278+ this .detail .data .push ({
279+ id: i,
280+ timeConsumed: r[' timeConsumed#' + i],
281+ memoryConsumed: parseInt (r[' memoryConsumed#' + i]) / 1024 ,
282+ exitCode: r[' exitCode#' + i],
283+ verdict: r[' verdict#' + i],
284+ input: r[' input#' + i],
285+ output: r[' output#' + i],
286+ answer: r[' answer#' + i],
287+ checkerStdoutAndStderr: r[' checkerStdoutAndStderr#' + i]
288+ })
289+ }
290+ console .log (this .detail )
291+ })
226292 })
227293 },
228294
@@ -236,7 +302,7 @@ export default {
236302 },
237303
238304 copyCode () {
239- copy .copy (this .code )
305+ copy .copy (this .detail . source )
240306 this .$notify ({
241307 title: ' 成功' ,
242308 message: ' 拷贝成功' ,
0 commit comments