mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-07 18:06:46 +08:00
feat:修改学员端面授学员签到二维码
This commit is contained in:
@@ -2,6 +2,8 @@ NODE_ENV=prod
|
|||||||
VUE_APP_BASE=/manage
|
VUE_APP_BASE=/manage
|
||||||
VUE_APP_BASE_API=/manageApi
|
VUE_APP_BASE_API=/manageApi
|
||||||
|
|
||||||
|
VUE_APP_PROXY_URL=https://u.boe.com/
|
||||||
|
|
||||||
VUE_APP_LOGIN_URL=https://u.boe.com/web
|
VUE_APP_LOGIN_URL=https://u.boe.com/web
|
||||||
|
|
||||||
VUE_APP_BOE_API_URL=https://u.boe.com
|
VUE_APP_BOE_API_URL=https://u.boe.com
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
NODE_ENV=release
|
NODE_ENV=release
|
||||||
VUE_APP_BASE=/manage-release
|
VUE_APP_BASE=/manage-release
|
||||||
VUE_APP_BASE_API=/manageApi-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_LOGIN_URL=https://u.boe.com/web-release
|
||||||
|
|
||||||
VUE_APP_BOE_API_URL=https://u.boe.com
|
VUE_APP_BOE_API_URL=https://u.boe.com
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-11-04 22:45:31
|
* @Date: 2022-11-04 22:45:31
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @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
|
* @FilePath: /fe-manage/src/api/index1.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @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) =>
|
export const batchImportScore = (obj) =>
|
||||||
http.post('/admin/student/importHomeWork', obj, {
|
http.post('/admin/student/importHomeWork', obj, {
|
||||||
headers: { "Content-Type": "multipart/form-data" },
|
headers: { "Content-Type": "multipart/form-data" },
|
||||||
});
|
});
|
||||||
|
//数据导入状态
|
||||||
|
export const getImportStatus = (uuid) => http.get('/admin/student/getImportStatus', { params: { uuid: uuid } })
|
||||||
@@ -28,12 +28,11 @@
|
|||||||
<div style="height: 176px; margin-bottom: 20px">
|
<div style="height: 176px; margin-bottom: 20px">
|
||||||
<a-upload-dragger
|
<a-upload-dragger
|
||||||
v-model:fileList="fileList"
|
v-model:fileList="fileList"
|
||||||
action="/admin/student/importHomeWork"
|
:action="importHomeWork"
|
||||||
name="file"
|
name="file"
|
||||||
:multiple="true"
|
:multiple="true"
|
||||||
:before-upload="beforeUpload"
|
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
@customRequest="handleUpload"
|
:showUploadList="false"
|
||||||
>
|
>
|
||||||
<p class="ant-upload-drag-icon">
|
<p class="ant-upload-drag-icon">
|
||||||
<inbox-outlined></inbox-outlined>
|
<inbox-outlined></inbox-outlined>
|
||||||
@@ -48,7 +47,10 @@
|
|||||||
<div class="tipz">支持扩展名:.xls/.xlsx</div>
|
<div class="tipz">支持扩展名:.xls/.xlsx</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="loadstate">
|
<div class="loadstate">
|
||||||
<div class="loadborder">
|
<div
|
||||||
|
class="loadborder"
|
||||||
|
v-if="uploadpercent < 100 && uploadpercent !== -1"
|
||||||
|
>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="timebox">
|
<div class="timebox">
|
||||||
@@ -56,18 +58,19 @@
|
|||||||
<div class="tit">京东方商业模型.xls</div>
|
<div class="tit">京东方商业模型.xls</div>
|
||||||
<div class="stateloading">正在上传</div>
|
<div class="stateloading">正在上传</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="prog">
|
<a-progress :percent="uploadpercent" />
|
||||||
|
<!-- <div class="prog">
|
||||||
<div class="inprogloading"></div>
|
<div class="inprogloading"></div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cur">55%</div>
|
<!-- <div class="cur">55%</div> -->
|
||||||
<!-- <div class="cancel" style="margin-left: 20px">暂停</div>
|
<div class="cancel" style="margin-left: 20px">暂停</div>
|
||||||
<div class="cancel" style="margin-left: 15px">取消</div> -->
|
<div class="cancel" style="margin-left: 15px">取消</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="loadborder">
|
<div class="loadborder" v-if="uploadErr">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="timebox">
|
<div class="timebox">
|
||||||
@@ -75,12 +78,14 @@
|
|||||||
<div class="tit">京东方商业模型.xls</div>
|
<div class="tit">京东方商业模型.xls</div>
|
||||||
<div class="statedefeat">上传失败</div>
|
<div class="statedefeat">上传失败</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="prog">
|
<a-progress :percent="uploadpercent" />
|
||||||
|
<!-- <div class="prog">
|
||||||
<div class="inprogdefeat"></div>
|
<div class="inprogdefeat"></div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cur">55%</div>
|
<!-- <div class="cur">55%</div> -->
|
||||||
<div
|
<div
|
||||||
style="color: #387df7; margin-left: 20px; cursor: pointer"
|
style="color: #387df7; margin-left: 20px; cursor: pointer"
|
||||||
>
|
>
|
||||||
@@ -99,7 +104,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="loadborder">
|
<div class="loadborder" v-if="uploadpercent === 100">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="timebox">
|
<div class="timebox">
|
||||||
@@ -107,13 +112,14 @@
|
|||||||
<div class="tit">京东方商业模型.xls</div>
|
<div class="tit">京东方商业模型.xls</div>
|
||||||
<div class="statesucce">上传成功</div>
|
<div class="statesucce">上传成功</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="prog">
|
<a-progress :percent="uploadpercent" />
|
||||||
|
<!-- <div class="prog">
|
||||||
<div class="inprogsucce"></div>
|
<div class="inprogsucce"></div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cur">100%</div>
|
<!-- <div class="cur">100%</div> -->
|
||||||
<!-- <div class="cancel" style="margin-left: 20px">删除</div> -->
|
<div class="cancel" style="margin-left: 20px">删除</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -153,6 +159,10 @@ export default {
|
|||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
fileType: ["xls", "xlsx"],
|
fileType: ["xls", "xlsx"],
|
||||||
|
importHomeWork:
|
||||||
|
process.env.VUE_APP_BASE_API + "admin/student/importHomeWork",
|
||||||
|
uploadpercent: -1,
|
||||||
|
uploadErr: false, //上传失败
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:eScorevisible", false);
|
ctx.emit("update:eScorevisible", false);
|
||||||
@@ -164,10 +174,16 @@ export default {
|
|||||||
|
|
||||||
//上传文件
|
//上传文件
|
||||||
const handleChange = (info) => {
|
const handleChange = (info) => {
|
||||||
console.log("info", info, props.id);
|
console.log("info11111", info);
|
||||||
setInterval(() => {
|
state.uploadpercent = info.file.percent;
|
||||||
console.log("我是文件上传的进度---------->", info.file.percent);
|
// let timer = setInterval(() => {
|
||||||
}, 1000);
|
// 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;
|
const status = info.file.status;
|
||||||
if (status !== "uploading") {
|
if (status !== "uploading") {
|
||||||
console.log(info.file, info.fileList);
|
console.log(info.file, info.fileList);
|
||||||
@@ -177,14 +193,15 @@ export default {
|
|||||||
formData.append("uploadFile", info.file);
|
formData.append("uploadFile", info.file);
|
||||||
// formData.append("offcoursePlanId", props.id);
|
// formData.append("offcoursePlanId", props.id);
|
||||||
console.log("info.file", info.file);
|
console.log("info.file", info.file);
|
||||||
// api.batchImportScore(formData).then((res) => {
|
api.batchImportScore(formData).then((res) => {
|
||||||
// // if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
// // console.log('上传成功')
|
console.log("上传成功");
|
||||||
// // }
|
}
|
||||||
// console.log("上传成绩", res);
|
console.log("上传成绩", res);
|
||||||
// });
|
});
|
||||||
message.success(`${info.file.name} file uploaded successfully.`);
|
message.success(`${info.file.name} file uploaded successfully.`);
|
||||||
} else if (status === "error") {
|
} else if (status === "error") {
|
||||||
|
state.uploadErr = true;
|
||||||
message.error(`${info.file.name} file upload failed.`);
|
message.error(`${info.file.name} file upload failed.`);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -355,7 +372,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
width: 262px;
|
width: 262px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 8px;
|
// margin-bottom: 8px;
|
||||||
.tit {
|
.tit {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|||||||
@@ -82,7 +82,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnss" style="margin-top: 20px">
|
<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 class="wz">签到二维码</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn1" style="margin-right: 20px" @click="showImpStu">
|
<div class="btn btn1" style="margin-right: 20px" @click="showImpStu">
|
||||||
@@ -201,6 +205,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
||||||
|
<!-- 二维码弹窗 -->
|
||||||
|
<two-dimensional-code
|
||||||
|
v-model:codevisible="codevisible"
|
||||||
|
:codeInfo="codeInfo"
|
||||||
|
:index="codeIndex"
|
||||||
|
:type="codeType == 1 ? '课程二维码' : codeType == 2 ? '签到二维码' : ''"
|
||||||
|
/>
|
||||||
|
<!-- 二维码弹窗 -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -208,11 +221,13 @@ import { toRefs, reactive } from "vue";
|
|||||||
import ImpStu from "../../../components/drawers/AddLevelImportStu";
|
import ImpStu from "../../../components/drawers/AddLevelImportStu";
|
||||||
import SignQR from "../SignQR.vue";
|
import SignQR from "../SignQR.vue";
|
||||||
import * as api from "../../../api/index1";
|
import * as api from "../../../api/index1";
|
||||||
|
import TwoDimensionalCode from "../../../components/TwoDimensionalCode";
|
||||||
export default {
|
export default {
|
||||||
name: "FaceManage",
|
name: "FaceManage",
|
||||||
components: {
|
components: {
|
||||||
ImpStu,
|
ImpStu,
|
||||||
SignQR,
|
SignQR,
|
||||||
|
TwoDimensionalCode,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
FSvisible: {
|
FSvisible: {
|
||||||
@@ -309,6 +324,10 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
// selectOption: [],
|
// selectOption: [],
|
||||||
|
codevisible: false, //二维码弹窗
|
||||||
|
codeType: null,
|
||||||
|
codeIndex: null,
|
||||||
|
codeInfo: null, //二维码内容
|
||||||
});
|
});
|
||||||
const afterVisibleChange = (bol) => {
|
const afterVisibleChange = (bol) => {
|
||||||
if (bol == true) {
|
if (bol == true) {
|
||||||
@@ -659,6 +678,23 @@ export default {
|
|||||||
// console.log(err);
|
// 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 {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
selectProjectName,
|
selectProjectName,
|
||||||
@@ -678,6 +714,7 @@ export default {
|
|||||||
changePaginationStu,
|
changePaginationStu,
|
||||||
exportTaskStu,
|
exportTaskStu,
|
||||||
clearLine,
|
clearLine,
|
||||||
|
qrcodeVisible,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user