|
@@ -405,17 +405,36 @@ function judgeStepCompleted(val: unknown) {
|
|
|
return (!!val) || (typeof val === 'object' && !!(val?.value))
|
|
|
}
|
|
|
|
|
|
-function handleCompleteTask(gid: number, pid: number, cid: number, val?: unknown): Promise<any> {
|
|
|
+function handleCompleteTask(gid: number, pid: number, cid: number, val?: unknown, ext?: any): Promise<any> {
|
|
|
const _ykl_lc_ = JSON.parse(sessionStorage.getItem('ykl_lc')!)
|
|
|
_ykl_lc_.processList[gid][pid][cid] = val || 1
|
|
|
+ const reqData: any = {
|
|
|
+ ykl_id,
|
|
|
+ yk: {
|
|
|
+ ykl_lc: JSON.stringify(_ykl_lc_),
|
|
|
+ },
|
|
|
+ }
|
|
|
+ // 把ext上的属性合并到reqData上,考虑嵌套的情况
|
|
|
+ if (ext) {
|
|
|
+ Object.keys(ext).forEach((key) => {
|
|
|
+ if (typeof ext[key] === 'object') {
|
|
|
+ if (reqData[key]) {
|
|
|
+ reqData[key] = {
|
|
|
+ ...reqData[key],
|
|
|
+ ...ext[key],
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else { reqData[key] = ext[key] }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ reqData[key] = ext[key]
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
return request({
|
|
|
url: '/yzy/kmksyjlc/save',
|
|
|
- data: {
|
|
|
- ykl_id,
|
|
|
- yk: {
|
|
|
- ykl_lc: JSON.stringify(_ykl_lc_),
|
|
|
- },
|
|
|
- },
|
|
|
+ data: reqData,
|
|
|
}).then((res) => {
|
|
|
if (res.code === '1') {
|
|
|
ElMessage({
|
|
@@ -436,7 +455,7 @@ function handleCompleteTask(gid: number, pid: number, cid: number, val?: unknown
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-async function handleJumpTask(gid: number, pid: number, idy: number) {
|
|
|
+async function handleJumpTask(gid: number, pid: number, idy: number, ext?: object) {
|
|
|
// 验证任务是否完成
|
|
|
if (judgeStepCompleted(stepsReactiveMap[gid][pid][idy])) {
|
|
|
return ElMessage({
|
|
@@ -446,7 +465,7 @@ async function handleJumpTask(gid: number, pid: number, idy: number) {
|
|
|
})
|
|
|
}
|
|
|
// stepsReactiveMap[gid][pid][idy] = 1
|
|
|
- const res = await handleCompleteTask(gid, pid, idy)
|
|
|
+ const res = await handleCompleteTask(gid, pid, idy, 1, ext)
|
|
|
if (res.code === '1') {
|
|
|
if (pid !== stepsReactiveMap[gid].length - 1) {
|
|
|
const line = lineList[gid][pid][idy]
|
|
@@ -461,9 +480,9 @@ onBeforeRouteLeave(() => {
|
|
|
lineList.forEach(lines => lines.forEach(line => line.forEach(l => l?.hide('none'))))
|
|
|
})
|
|
|
|
|
|
-function handleCompleteTaskAuto() {
|
|
|
+function handleCompleteTaskAuto(ext?: object) {
|
|
|
const { gid, pid, cid } = JSON.parse(sessionStorage.getItem('StepId')!)
|
|
|
- return handleJumpTask(gid, pid, cid)
|
|
|
+ return handleJumpTask(gid, pid, cid, ext)
|
|
|
}
|
|
|
|
|
|
const TaskEventMap: { [key: string]: () => void } = {
|
|
@@ -498,10 +517,10 @@ const TaskEventMap: { [key: string]: () => void } = {
|
|
|
window.open(`BozeduYuejuan://${user.value.token},${ykl_lc.ze_id},${window.GLOBAL_CONFIG.yzy},upload_papers`, '_blank')
|
|
|
handleCompleteTaskAuto()
|
|
|
},
|
|
|
- '压缩包上传情况': () => {
|
|
|
+ '压缩包上传情况': async () => {
|
|
|
+ await handleCompleteTaskAuto()
|
|
|
// TODO: 需调整【压缩包】上传情况
|
|
|
routerPush(`/process/ysb/${ykl_lc.ykl_id}/${ykl_lc.ze_id}`)
|
|
|
- handleCompleteTaskAuto()
|
|
|
},
|
|
|
'答题卡二次扫描': () => {
|
|
|
window.open(`BozeduYuejuan://${user.value.token},${ykl_lc.ze_id},${window.GLOBAL_CONFIG.yzy},review_papers`, '_blank')
|
|
@@ -519,10 +538,10 @@ const TaskEventMap: { [key: string]: () => void } = {
|
|
|
'批阅任务分配': () => {
|
|
|
windowPushState(`${window.GLOBAL_CONFIG.base}/taskassignment-liankao.html`)
|
|
|
},
|
|
|
- '阅卷': () => {
|
|
|
+ '阅卷': async () => {
|
|
|
+ await handleCompleteTaskAuto()
|
|
|
// todo: 需调整【阅卷】
|
|
|
- // windowPushState(`${window.GLOBAL_CONFIG.base}/single-review-liankao.html?ze_id=${ykl_lc.ze_id}`)
|
|
|
- handleCompleteTaskAuto()
|
|
|
+ windowPushState(`${window.GLOBAL_CONFIG.base}/single-review-liankao.html?ze_id=${ykl_lc.ze_id}`)
|
|
|
},
|
|
|
'成绩发布': () => {
|
|
|
let loading = false
|
|
@@ -546,7 +565,7 @@ const TaskEventMap: { [key: string]: () => void } = {
|
|
|
})
|
|
|
if (res0.code !== '1')
|
|
|
throw new Error(res0.msg)
|
|
|
- const res1 = await handleCompleteTaskAuto()
|
|
|
+ const res1 = await handleCompleteTaskAuto({ force: 1 })
|
|
|
if (res1.code !== '1')
|
|
|
throw new Error(res1.msg)
|
|
|
ykl_lc.ykl_stat_ready = 2
|
|
@@ -563,18 +582,23 @@ const TaskEventMap: { [key: string]: () => void } = {
|
|
|
console.log('正常发布')
|
|
|
instance.cancelButtonLoading = loading = true
|
|
|
try {
|
|
|
- const res0 = await request({
|
|
|
- url: '/yzy/kmksyjlc/save',
|
|
|
- data: {
|
|
|
- ykl_id,
|
|
|
- yk: {
|
|
|
- ykl_sffbcj: 1,
|
|
|
- },
|
|
|
+ // const res0 = await request({
|
|
|
+ // url: '/yzy/kmksyjlc/save',
|
|
|
+ // data: {
|
|
|
+ // ykl_id,
|
|
|
+ // yk: {
|
|
|
+ // ykl_sffbcj: 1,
|
|
|
+ // },
|
|
|
+ // },
|
|
|
+ // })
|
|
|
+ // if (res0.code !== '1')
|
|
|
+ // throw new Error(res0.msg)
|
|
|
+ const res1 = await handleCompleteTaskAuto({
|
|
|
+ force: 1,
|
|
|
+ yk: {
|
|
|
+ ykl_sffbcj: 1,
|
|
|
},
|
|
|
})
|
|
|
- if (res0.code !== '1')
|
|
|
- throw new Error(res0.msg)
|
|
|
- const res1 = await handleCompleteTaskAuto()
|
|
|
if (res1.code !== '1')
|
|
|
throw new Error(res1.msg)
|
|
|
ykl_lc.ykl_stat_ready = 1
|