mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-25 02:32:54 +08:00
Merge branch 'compulsory_professional_skills' into compulsory_professional_skills_copy
This commit is contained in:
@@ -94,6 +94,7 @@ const formData = useResetRef({
|
||||
});
|
||||
const emit = defineEmits(["update:info", "close"]);
|
||||
const dateTime = ref([]);
|
||||
// 验证
|
||||
const rulesRef = ref({
|
||||
workName: [
|
||||
{
|
||||
@@ -121,7 +122,7 @@ const rulesRef = ref({
|
||||
],
|
||||
});
|
||||
|
||||
const { resetFields, validate } = Form.useForm(formData, rulesRef);
|
||||
const { validate } = Form.useForm(formData, rulesRef);
|
||||
|
||||
onMounted(() => {
|
||||
formData.value = props.info;
|
||||
@@ -135,7 +136,7 @@ const closeDrawer = () => {
|
||||
dateTime.value = [];
|
||||
emit("close");
|
||||
};
|
||||
|
||||
// 开始时间结束时间处理
|
||||
function timeChange(time, timeStr) {
|
||||
formData.value.submitStartTime = timeStr[0];
|
||||
formData.value.submitEndTime = timeStr[1];
|
||||
|
||||
@@ -125,16 +125,11 @@ div
|
||||
style="margin-top: 20px; flex-wrap: wrap"
|
||||
v-if="data?.length"
|
||||
>
|
||||
<div
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
class="btn btn1"
|
||||
@click="step = 2"
|
||||
>
|
||||
<div class="btn btn1" @click="step = 2">
|
||||
<div class="img3"></div>
|
||||
<div class="wz">添加学员</div>
|
||||
</div>
|
||||
<div
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
class="btn btn1"
|
||||
style="margin-right: 20px; margin-left: 20px"
|
||||
@click="step = 3"
|
||||
@@ -147,7 +142,6 @@ div
|
||||
class="btn btn1"
|
||||
style="margin-right: 20px"
|
||||
@click="qrcodeVisibleSign()"
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
>
|
||||
<div class="wz">签到二维码</div>
|
||||
</div>
|
||||
@@ -156,7 +150,6 @@ div
|
||||
style="margin-right: 20px"
|
||||
v-if="data[coursePlanIndex]?.assessmentId"
|
||||
@click="qrcodeAssement()"
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
>
|
||||
<div class="wz">评估二维码</div>
|
||||
</div>
|
||||
@@ -164,7 +157,6 @@ div
|
||||
class="btn btn1"
|
||||
style="margin-right: 20px"
|
||||
@click="qrcodeVisible()"
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
>
|
||||
<div class="wz">开课二维码</div>
|
||||
</div>
|
||||
@@ -187,7 +179,6 @@ div
|
||||
class="btn btn1"
|
||||
@click="exportTaskStu"
|
||||
style="margin-right: 20px"
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
>
|
||||
<div class="img2"></div>
|
||||
<div class="wz">导出签到数据</div>
|
||||
@@ -196,7 +187,6 @@ div
|
||||
class="btn btn1"
|
||||
@click="exportAssessment"
|
||||
v-if="data[coursePlanIndex]?.assessmentId"
|
||||
:class="{ notClick: courseSelectRows.length > 0 }"
|
||||
>
|
||||
<div class="img2"></div>
|
||||
<div class="wz">导出评估数据</div>
|
||||
@@ -460,8 +450,6 @@ const columns = ref([
|
||||
title: "考勤情况",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
dataIndex: "opacation",
|
||||
key: "opacation",
|
||||
width: 130,
|
||||
align: "center",
|
||||
customRender: (text) =>
|
||||
@@ -470,13 +458,19 @@ const columns = ref([
|
||||
<div class="opa">
|
||||
<a-radio
|
||||
checked={text.record.signStatus}
|
||||
onClick={() => stuSign(text)}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
stuSign(text);
|
||||
}}
|
||||
>
|
||||
签到
|
||||
</a-radio>
|
||||
<a-radio
|
||||
checked={text.record.leaveStatus}
|
||||
onClick={() => stuSign(text)}
|
||||
onClick={(event) => {
|
||||
event.stopPropagation();
|
||||
stuSign(text);
|
||||
}}
|
||||
>
|
||||
请假
|
||||
</a-radio>
|
||||
@@ -491,7 +485,7 @@ const columns = ref([
|
||||
className: "h",
|
||||
dataIndex: "opacation",
|
||||
key: "opacation",
|
||||
width: 130,
|
||||
width: 80,
|
||||
align: "center",
|
||||
customRender: ({ record }) =>
|
||||
data.value[coursePlanIndex.value].type == 4 ||
|
||||
@@ -570,17 +564,17 @@ const batchSign = () => {
|
||||
.attendanceSign({
|
||||
courseId: offcoursePlanId.value,
|
||||
ids: courseSelectRows.value?.map((t) => t.studentId),
|
||||
taskId: props.datasource.id,
|
||||
taskType: props.datasource.taskType,
|
||||
type: 3,
|
||||
})
|
||||
.then((res) => {
|
||||
message.success("签到成功");
|
||||
tableRef.value.fetch();
|
||||
})
|
||||
.catch((err) => {
|
||||
message.error("签到失败");
|
||||
});
|
||||
tableRef.value.fetch();
|
||||
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -603,7 +597,6 @@ const batchSignAll = () => {
|
||||
.catch((err) => {
|
||||
message.error("签到失败");
|
||||
});
|
||||
tableRef.value.fetch();
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -630,7 +623,7 @@ function stuSign(text) {
|
||||
// taskId: props.datasource.id,
|
||||
taskType: props.datasource.taskType,
|
||||
type: 3,
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
//搜索学员
|
||||
|
||||
@@ -315,7 +315,7 @@ const columns = ref([
|
||||
dataIndex: "studentName",
|
||||
key: "studentName",
|
||||
width: 50,
|
||||
align: "left",
|
||||
align: "center",
|
||||
className: "classify",
|
||||
scopedSlots: { customRender: "action" },
|
||||
customRender: (text) => (
|
||||
|
||||
@@ -286,7 +286,6 @@ export default {
|
||||
dataIndex: "stdPositionName",
|
||||
key: "stdPositionName",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
customRender: (text) => {
|
||||
return (
|
||||
@@ -306,7 +305,6 @@ export default {
|
||||
dataIndex: "qualsLevelDesr",
|
||||
key: "qualsLevelDesr",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
customRender: (text) => {
|
||||
return (
|
||||
@@ -326,7 +324,6 @@ export default {
|
||||
dataIndex: "bandCode",
|
||||
key: "bandCode",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
customRender: (text) => {
|
||||
return (
|
||||
@@ -344,7 +341,6 @@ export default {
|
||||
dataIndex: "joinMethod",
|
||||
key: "joinMethod",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
customRender: ({ record: { joinMethod } }) =>
|
||||
({
|
||||
@@ -357,7 +353,6 @@ export default {
|
||||
dataIndex: "progress",
|
||||
key: "progress",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
customRender: (text) => {
|
||||
return (
|
||||
@@ -372,8 +367,7 @@ export default {
|
||||
dataIndex: "finishTime",
|
||||
key: "finishTime",
|
||||
align: "center",
|
||||
width: 150,
|
||||
ellipsis: true,
|
||||
width: 180,
|
||||
customRender: (text) => {
|
||||
return (
|
||||
<div class="racona">
|
||||
@@ -390,7 +384,6 @@ export default {
|
||||
dataIndex: "completionStatus",
|
||||
key: "completionStatus",
|
||||
align: "center",
|
||||
ellipsis: true,
|
||||
className: "h",
|
||||
customRender: (text) => {
|
||||
return (
|
||||
|
||||
@@ -603,6 +603,7 @@ const columns = ref([
|
||||
dataIndex: "teacher",
|
||||
key: "teacher",
|
||||
width: "20%",
|
||||
ellipsis: true,
|
||||
align: "center",
|
||||
customRender: ({ record }) => {
|
||||
// const teachers = record.offteachers;
|
||||
|
||||
@@ -268,16 +268,16 @@ export default {
|
||||
console.log("查询导入状态", res);
|
||||
if (res.data.code === 200) {
|
||||
if (res.data.data.status !== "START") {
|
||||
if (res.data.data.status === "SUCCESS") {
|
||||
state.addLoading = false;
|
||||
state.fileList = [];
|
||||
state.uploadpercent = -1;
|
||||
message.destroy();
|
||||
// message.error(`当前开课暂无作业,无法导入成绩`);
|
||||
clearInterval(timer);
|
||||
clearTimeout(timeouts);
|
||||
return;
|
||||
}
|
||||
// if (res.data.data.status === "SUCCESS") {
|
||||
// state.addLoading = false;
|
||||
// state.fileList = [];
|
||||
// state.uploadpercent = -1;
|
||||
// message.destroy();
|
||||
// message.error(`当前开课暂无作业,无法导入成绩`);
|
||||
// clearInterval(timer);
|
||||
// clearTimeout(timeouts);
|
||||
// return;
|
||||
// }
|
||||
i++;
|
||||
if (i === 1) {
|
||||
message.destroy();
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
上传失败
|
||||
</div>
|
||||
<div v-else class="stateloading">
|
||||
{{ uploadpercent == 100 ? "上传成功" : "正在上传" }}
|
||||
{{ uploadpercent == 100 ? "导入成功" : "正在上传" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="prog">
|
||||
@@ -189,8 +189,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnn">
|
||||
<button class="btn2" @click="closeDrawer(false)">取消</button>
|
||||
<button class="btn2" @click="closeDrawer(true)">确定</button>
|
||||
<button class="btn2" @click="closeDrawer(false)">关闭</button>
|
||||
<!-- <button class="btn2" @click="closeDrawer(true)">确定</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- 加载动画 -->
|
||||
@@ -346,7 +346,7 @@ export default {
|
||||
});
|
||||
state.fileName = info.file.name;
|
||||
let i = 0;
|
||||
message.success("上传成功");
|
||||
|
||||
if (info.file.response.code == 1) {
|
||||
state.fileList = [];
|
||||
state.addLoading = false;
|
||||
@@ -354,6 +354,11 @@ export default {
|
||||
message.destroy();
|
||||
message.error(info.file.response.msg);
|
||||
return;
|
||||
}else if(info.file.response.code === -1){
|
||||
state.uploadpercent = -1;
|
||||
message.error(info.file.response.message);
|
||||
}else{
|
||||
message.success("导入成功");
|
||||
}
|
||||
// state.timers = setInterval(() => {
|
||||
// state.redisKey = info.file.response.data;
|
||||
|
||||
@@ -403,7 +403,6 @@
|
||||
<div
|
||||
style="
|
||||
height: 200px;
|
||||
width: 180px;
|
||||
overflow: auto;
|
||||
"
|
||||
>
|
||||
|
||||
@@ -363,14 +363,14 @@ export default {
|
||||
width: 120,
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
title: "专业力学习",
|
||||
dataIndex: "growthStudy",
|
||||
ellipsis: true,
|
||||
key: "growthStudy",
|
||||
width: 120,
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// title: "专业力学习",
|
||||
// dataIndex: "growthStudy",
|
||||
// ellipsis: true,
|
||||
// key: "growthStudy",
|
||||
// width: 120,
|
||||
// align: "center",
|
||||
// },
|
||||
{
|
||||
title: "学习时长",
|
||||
dataIndex: "learningDuration",
|
||||
|
||||
@@ -106,10 +106,10 @@
|
||||
label: '学习路径图',
|
||||
value: 6,
|
||||
},
|
||||
{
|
||||
label: '专业力必修',
|
||||
value: 7,
|
||||
},
|
||||
// {
|
||||
// label: '专业力必修',
|
||||
// value: 7,
|
||||
// },
|
||||
]"
|
||||
></a-select>
|
||||
</div>
|
||||
|
||||
@@ -361,7 +361,7 @@ export default {
|
||||
{ text: "课程", num: res.data.result?.courseTotal },
|
||||
{ text: "考试", num: res.data.result?.examTotal },
|
||||
{ text: "案例", num: res.data.result?.caseTotal },
|
||||
{ text: "专业力", num: 10 },
|
||||
// { text: "专业力", num: 10 },
|
||||
];
|
||||
tabData.value = list;
|
||||
});
|
||||
@@ -899,7 +899,7 @@ export default {
|
||||
{ text: "课程", num: "11" },
|
||||
{ text: "考试", num: "10" },
|
||||
{ text: "案例", num: "10" },
|
||||
{ text: "专业力必修", num: "10" },
|
||||
// { text: "专业力必修", num: "10" },
|
||||
]);
|
||||
const tabClick = (index) => {
|
||||
state.selectedRowKeys = [];
|
||||
|
||||
Reference in New Issue
Block a user