feat:修改学员端面授学员签到二维码

This commit is contained in:
lixg
2023-01-09 15:55:11 +08:00
parent 07a474ecda
commit 1ee350895f
5 changed files with 92 additions and 32 deletions

View File

@@ -2,6 +2,8 @@ NODE_ENV=prod
VUE_APP_BASE=/manage
VUE_APP_BASE_API=/manageApi
VUE_APP_PROXY_URL=https://u.boe.com/
VUE_APP_LOGIN_URL=https://u.boe.com/web
VUE_APP_BOE_API_URL=https://u.boe.com

View File

@@ -1,6 +1,8 @@
NODE_ENV=release
VUE_APP_BASE=/manage-release
VUE_APP_BASE_API=/manageApi-release
VUE_APP_PROXY_URL=https://u-pre.boe.com/
VUE_APP_LOGIN_URL=https://u.boe.com/web-release
VUE_APP_BOE_API_URL=https://u.boe.com

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-01-07 16:53:23
* @LastEditTime: 2023-01-09 15:16:47
* @FilePath: /fe-manage/src/api/index1.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -176,4 +176,6 @@ export const batchUpdateStatus = (obj) => http.post('/admin/student/batchUpdateS
export const batchImportScore = (obj) =>
http.post('/admin/student/importHomeWork', obj, {
headers: { "Content-Type": "multipart/form-data" },
});
});
//数据导入状态
export const getImportStatus = (uuid) => http.get('/admin/student/getImportStatus', { params: { uuid: uuid } })

View File

@@ -28,12 +28,11 @@
<div style="height: 176px; margin-bottom: 20px">
<a-upload-dragger
v-model:fileList="fileList"
action="/admin/student/importHomeWork"
:action="importHomeWork"
name="file"
:multiple="true"
:before-upload="beforeUpload"
@change="handleChange"
@customRequest="handleUpload"
:showUploadList="false"
>
<p class="ant-upload-drag-icon">
<inbox-outlined></inbox-outlined>
@@ -48,7 +47,10 @@
<div class="tipz">支持扩展名.xls/.xlsx</div>
</div> -->
<div class="loadstate">
<div class="loadborder">
<div
class="loadborder"
v-if="uploadpercent < 100 && uploadpercent !== -1"
>
<div class="content">
<div class="img"></div>
<div class="timebox">
@@ -56,18 +58,19 @@
<div class="tit">京东方商业模型.xls</div>
<div class="stateloading">正在上传</div>
</div>
<div class="prog">
<a-progress :percent="uploadpercent" />
<!-- <div class="prog">
<div class="inprogloading"></div>
</div>
</div> -->
</div>
<div class="curloading">
<div class="cur">55%</div>
<!-- <div class="cancel" style="margin-left: 20px">暂停</div>
<div class="cancel" style="margin-left: 15px">取消</div> -->
<!-- <div class="cur">55%</div> -->
<div class="cancel" style="margin-left: 20px">暂停</div>
<div class="cancel" style="margin-left: 15px">取消</div>
</div>
</div>
</div>
<div class="loadborder">
<div class="loadborder" v-if="uploadErr">
<div class="content">
<div class="img"></div>
<div class="timebox">
@@ -75,12 +78,14 @@
<div class="tit">京东方商业模型.xls</div>
<div class="statedefeat">上传失败</div>
</div>
<div class="prog">
<a-progress :percent="uploadpercent" />
<!-- <div class="prog">
<div class="inprogdefeat"></div>
</div>
</div> -->
</div>
<div class="curloading">
<div class="cur">55%</div>
<!-- <div class="cur">55%</div> -->
<div
style="color: #387df7; margin-left: 20px; cursor: pointer"
>
@@ -99,7 +104,7 @@
</div>
</div>
</div>
<div class="loadborder">
<div class="loadborder" v-if="uploadpercent === 100">
<div class="content">
<div class="img"></div>
<div class="timebox">
@@ -107,13 +112,14 @@
<div class="tit">京东方商业模型.xls</div>
<div class="statesucce">上传成功</div>
</div>
<div class="prog">
<a-progress :percent="uploadpercent" />
<!-- <div class="prog">
<div class="inprogsucce"></div>
</div>
</div> -->
</div>
<div class="curloading">
<div class="cur">100%</div>
<!-- <div class="cancel" style="margin-left: 20px">删除</div> -->
<!-- <div class="cur">100%</div> -->
<div class="cancel" style="margin-left: 20px">删除</div>
</div>
</div>
</div>
@@ -153,6 +159,10 @@ export default {
setup(props, ctx) {
const state = reactive({
fileType: ["xls", "xlsx"],
importHomeWork:
process.env.VUE_APP_BASE_API + "admin/student/importHomeWork",
uploadpercent: -1,
uploadErr: false, //上传失败
});
const closeDrawer = () => {
ctx.emit("update:eScorevisible", false);
@@ -164,10 +174,16 @@ export default {
//上传文件
const handleChange = (info) => {
console.log("info", info, props.id);
setInterval(() => {
console.log("我是文件上传的进度---------->", info.file.percent);
}, 1000);
console.log("info11111", info);
state.uploadpercent = info.file.percent;
// let timer = setInterval(() => {
// state.uploadpercent = info.file.percent;
// if (state.uploadpercent === 100) {
// clearInterval(timer);
// }
// console.log("我是文件上传的进度---------->", info.file.percent);
// }, 1000);
console.log("我是文件上传的进度---------->", info.file.percent);
const status = info.file.status;
if (status !== "uploading") {
console.log(info.file, info.fileList);
@@ -177,14 +193,15 @@ export default {
formData.append("uploadFile", info.file);
// formData.append("offcoursePlanId", props.id);
console.log("info.file", info.file);
// api.batchImportScore(formData).then((res) => {
// // if (res.data.code === 200) {
// // console.log('上传成功')
// // }
// console.log("上传成绩", res);
// });
api.batchImportScore(formData).then((res) => {
if (res.data.code === 200) {
console.log("上传成功");
}
console.log("上传成绩", res);
});
message.success(`${info.file.name} file uploaded successfully.`);
} else if (status === "error") {
state.uploadErr = true;
message.error(`${info.file.name} file upload failed.`);
}
};
@@ -355,7 +372,7 @@ export default {
display: flex;
width: 262px;
justify-content: space-between;
margin-bottom: 8px;
// margin-bottom: 8px;
.tit {
font-size: 14px;
font-weight: 400;

View File

@@ -82,7 +82,11 @@
</div>
</div>
<div class="btnss" style="margin-top: 20px">
<div class="btn btn1" style="margin-right: 20px" @click="signQR">
<div
class="btn btn1"
style="margin-right: 20px"
@click="qrcodeVisible()"
>
<div class="wz">签到二维码</div>
</div>
<div class="btn btn1" style="margin-right: 20px" @click="showImpStu">
@@ -201,6 +205,15 @@
</div>
</div>
</a-modal>
<!-- 二维码弹窗 -->
<two-dimensional-code
v-model:codevisible="codevisible"
:codeInfo="codeInfo"
:index="codeIndex"
:type="codeType == 1 ? '课程二维码' : codeType == 2 ? '签到二维码' : ''"
/>
<!-- 二维码弹窗 -->
</template>
<script>
@@ -208,11 +221,13 @@ import { toRefs, reactive } from "vue";
import ImpStu from "../../../components/drawers/AddLevelImportStu";
import SignQR from "../SignQR.vue";
import * as api from "../../../api/index1";
import TwoDimensionalCode from "../../../components/TwoDimensionalCode";
export default {
name: "FaceManage",
components: {
ImpStu,
SignQR,
TwoDimensionalCode,
},
props: {
FSvisible: {
@@ -309,6 +324,10 @@ export default {
},
],
// selectOption: [],
codevisible: false, //二维码弹窗
codeType: null,
codeIndex: null,
codeInfo: null, //二维码内容
});
const afterVisibleChange = (bol) => {
if (bol == true) {
@@ -659,6 +678,23 @@ export default {
// console.log(err);
// });
}
//二维码
const qrcodeVisible = () => {
state.codevisible = true;
state.codeInfo = {
title: "【签到】二维码",
name: props.datasource?.name,
url:
process.env.VUE_APP_BOE_API_URL +
`/admin/student/studentSign?taskId=${
props.datasource.routerTaskId
}&type=${2}`,
};
console.log("codeInfo", state.codeInfo);
state.codeIndex = 1;
state.codeType = 2;
};
return {
...toRefs(state),
selectProjectName,
@@ -678,6 +714,7 @@ export default {
changePaginationStu,
exportTaskStu,
clearLine,
qrcodeVisible,
};
},
};