This commit is contained in:
Pengxiansen
2025-02-21 14:04:17 +08:00
parent 3e86caab15
commit 01ab826dcf
17 changed files with 107 additions and 75 deletions

View File

@@ -18,8 +18,8 @@ import { boeRequest } from "@/api/request";
// "application/x-www-form-urlencoded";
axios.defaults.withCredentials = true;
const http = axios.create({
// baseURL: '/growth',
baseURL: process.env.VUE_APP_BASE_API_GROWTH,
baseURL: '/growth',
// baseURL: process.env.VUE_APP_BASE_API_GROWTH,
timeout: 1000 * 15,
// headers: { "Content-Type": "multipart/form-data" },
headers: { "Content-Type": "application/json" },

View File

@@ -81,7 +81,7 @@ export const taskInformation = (growthId) => http.get('/professional/managementO
export const taskCompletionRate = (growthId) => http.get('/professional/managementOverview/taskCompletionRate/' + growthId)
// 运营数据概览
export const getStudyStatisticsList = (data) => http.post('/professional/statics/getStudyStatisticsList',)
export const getStudyStatisticsList = (data) => http.post('/professional/statics/getStudyStatisticsList', data)
// 专业力列表
export const boeuGrowthPlatePageList = (obj) => http.post('/boeu/growth/pageList', obj)

View File

@@ -445,7 +445,7 @@ export default {
console.log(obj);
state.tableDataTotalLoading = true;
taskLeave(obj)
taskSign(obj)
.then((res) => {
console.log("签到结果", res, obj);
if (res.data.code === 200) {

View File

@@ -131,7 +131,7 @@ const params = useResetRef({
orderAsc: true,
});
const { data, loading, total, fetch } = useBoeApiPage(CASE_PAGE, params.value, {
const { data, loading, total, fetch } = useBoeApiPage(CASE_PAGE, params, {
init: false,
result: (res) => res.result.list,
totalPage: (res) => res.result.totalPages,
@@ -157,7 +157,7 @@ function search() {
}
function reset() {
params.reset();
params.reset()
fetch();
}

View File

@@ -101,6 +101,7 @@
</div>
<div class="btnn">
<button class="btn2" @click="closeDrawer">取消</button>
<button class="btn2" @click="closeDrawer">确定</button>
</div>
</div>
</template>
@@ -138,7 +139,7 @@ const { start } = useTimeout(async ({ uuid, file }) => {
fileList.value = [...fileList.value];
if (upData && upData.status !== "START" && upData.status !== "NULL") {
emit("change", "end");
// message.success("导入成功");
message.success("导入成功");
// closeDrawer();
throw Error("查询任务结束");
}
@@ -170,6 +171,7 @@ function handleChange({ file }) {
overflow-x: auto;
display: flex;
flex-direction: column;
height: 100%;
.main {
.minatitl {

View File

@@ -4,7 +4,7 @@
class="drawerStyle"
placement="right"
destroyOnClose
width="60%"
:width="width"
>
<div class="drawerMain" style="">
<div class="header">
@@ -29,17 +29,21 @@ const props = defineProps({
type: String,
default: "",
},
width: {
type: String,
default: "60%",
},
});
const visiable = ref(false);
const openDrawer = () => {
visiable.value = true;
};
const closeDrawer = ()=>{
const closeDrawer = () => {
visiable.value = false;
}
};
defineExpose({
openDrawer,
closeDrawer
})
closeDrawer,
});
</script>

View File

@@ -7,6 +7,7 @@
class="drawerStyle growth-exa"
width="1500"
placement="right"
destroyOnClose
>
<div class="drawerMain">
<div class="header">
@@ -511,12 +512,13 @@ const closeDrawer = () => {
if (step.value > 1) {
step.value = step.value - 1;
} else {
visible.value = false;
formData.reset();
formData.value.info = {
examType: 1,
};
dateTime.value = [];
visible.value = false;
}
};

View File

@@ -8,7 +8,7 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">面授{{ datasource?.name }}</div>
<div class="headerTitle">面授{{ datasource?.taskName }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="@/assets/images/basicinfo/close.png"
@@ -208,9 +208,9 @@
/>
</div>
</div>
<div class="btnn">
<!-- <div class="btnn">
<button class="btn1" @click="closeDrawer">取消</button>
</div>
</div> -->
</template>
<template v-if="step == 2">
<GrowthCommonStudent
@@ -330,6 +330,7 @@ const addUserConfirm = (stuSelectRows, projectSelectRows) => {
projectList: projectSelectRows,
}).then(() => {
message.success("添加成功");
tableRef.value.fetch();
step.value = 1;
});
};
@@ -543,16 +544,23 @@ const batchSign = () => {
}
dialog({
content: "确定批量签到吗?",
ok: async () => {
message.success("批量签到成功");
tableRef.value.toLoading();
await api.attendanceSign({
courseId: offcoursePlanId.value,
ids: courseSelectRows.value?.map((t) => t.studentId),
taskId: taskId.value,
taskType: props.datasource.taskType,
type: 3,
});
ok: () => {
api
.attendanceSign({
courseId: offcoursePlanId.value,
ids: courseSelectRows.value?.map((t) => t.studentId),
taskId: taskId.value,
taskType: props.datasource.taskType,
type: 3,
})
.then((res) => {
message.success("签到成功");
tableRef.value.toLoading();
})
.catch((err) => {
message.error("签到失败");
tableRef.value.toLoading();
});
tableRef.value.fetch();
},
});
@@ -560,12 +568,19 @@ const batchSign = () => {
const batchSignAll = () => {
dialog({
content: "确定全部签到吗?",
ok: async () => {
message.success("全部签到成功");
tableRef.value.toLoading();
await api.attendanceSignAll({
courseId: offcoursePlanId.value,
});
ok: () => {
api
.attendanceSignAll({
courseId: offcoursePlanId.value,
})
.then((res) => {
message.success("签到成功");
tableRef.value.toLoading();
})
.catch((err) => {
message.error("签到失败");
tableRef.value.toLoading();
});
tableRef.value.fetch();
},
});

View File

@@ -134,7 +134,12 @@
<div class="wz">批量标注完成</div>
</div>
<div class="btn btn1" style="margin-right: 20px" @click="step = 2">
<div
class="btn btn1"
style="margin-right: 20px"
@click="step = 2"
v-if="homeWorkId"
>
<div class="img1"></div>
<div class="wz">批量录入成绩</div>
</div>
@@ -175,7 +180,7 @@
title="录入成绩"
@close="closeDrawer"
v-if="homeWorkId"
:template-url="scoreTemplateUrl"
:templateUrl="scoreTemplateUrl"
:data="{ targetId: offcoursePlanId, type: 3, workId: homeWorkId }"
:url="`/admin/student/importHomeWork`"
name="uploadFile"

View File

@@ -25,7 +25,7 @@
<a-input
v-model:value="params.name"
style="width: 220px; height: 40px; border-radius: 8px"
placeholder="请输入创建人"
placeholder="请输入名称"
maxlength="20"
/>
</div>
@@ -78,10 +78,9 @@
</div>
</div>
</div>
<div class="main_btns">
<!-- <div class="main_btns">
<button @click="closeDrawer" class="btn2">取消</button>
<button @click="confirm" class="btn2">确定</button>
</div>
</div> -->
</div>
<template v-if="step == 2">
@@ -897,12 +896,10 @@ const closeDrawer = () => {
type: props.type,
offcourseId: params.value.offcourseId,
});
emit("refresh");
}
};
const emit = defineEmits(["call-parent-method"]);
const confirm = async () => {
closeDrawer();
};
const emit = defineEmits(["call-parent-method", "refresh"]);
const createNewCourse = () => {
changeName.value = true;

View File

@@ -238,6 +238,7 @@ export default {
importStudent: `${process.env.VUE_APP_BOE_API_URL}${
process.env.VUE_APP_BASE_API_GROWTH || ""
}/professional/allocation/importLearner`,
timers: "", // 定时器,用于清空定时器使用
isAddStudent: false, // 用于判断用户是否关闭弹框需要重新获取学员列表
uploadpercent: -1,
@@ -342,11 +343,12 @@ export default {
console.log("上传成功返回的UUID----->", info);
console.log("我是导入学员接口传递的参数", {
file: info.file.originFileObj,
targetId: props.courseId,
targetId: props.courseId,
type: 14,
});
state.fileName = info.file.name;
let i = 0;
message.success("上传成功");
if (info.file.response.code == 1) {
state.fileList = [];
state.addLoading = false;

View File

@@ -280,7 +280,7 @@
:courseId="id"
:courseType="type"
/>
<GrowthDrawer ref="GrowthDrawerRef" title="新增学员">
<GrowthDrawer ref="GrowthDrawerRef" title="新增学员" width="1200px">
<GrowthCommonStudent
:growthId="growId"
@confirm="confirmDrawer"

View File

@@ -105,21 +105,18 @@ export default {
title: "操作内容",
dataIndex: "operationContent",
key: "operationContent",
width: "80px",
align: "center",
},
{
title: "操作人",
dataIndex: "createName",
key: "createName",
width: "150px",
align: "center",
},
{
title: "操作时间",
dataIndex: "createTime",
key: "createTime",
width: "150px",
align: "center",
},
]);

View File

@@ -439,7 +439,6 @@ const withdraw = (element) => {
width: 100%;
display: flex;
flex-direction: column;
min-width: 933px;
background-color: rgba(245, 247, 250, 1);
.tableBox {
margin-top: 21px;

View File

@@ -510,9 +510,9 @@ export default {
message.error(err.data.msg);
}
})
.catch((err) => {
message.error(err.data.msg);
});
// .catch((err) => {
// message.error(err.data.msg);
// });
},
});
};
@@ -546,7 +546,6 @@ export default {
title: "标准岗位",
dataIndex: "stdPositionName",
key: "stdPositionName",
width: 100,
align: "center",
ellipsis: true,
customRender: ({ record }) => {
@@ -559,7 +558,6 @@ export default {
title: "任职资格等级",
dataIndex: "qualsLevelDesr",
key: "qualsLevelDesr",
width: 120,
align: "center",
ellipsis: true,
},
@@ -568,7 +566,6 @@ export default {
title: "状态",
dataIndex: "isPublished",
key: "isPublished",
width: 100,
align: "center",
ellipsis: true,
customRender: ({ record }) => {
@@ -587,7 +584,6 @@ export default {
title: "数据来源",
dataIndex: "dataSource",
key: "dataSource",
width: 100,
align: "center",
ellipsis: true,
customRender: ({ record }) => {
@@ -596,7 +592,6 @@ export default {
},
{
title: "操作",
width: 160,
align: "right",
slots: { customRender: "listData" },
},
@@ -776,7 +771,6 @@ export default {
// 查看修改记录
const UpdateRecordRef = ref(null);
const updateList = (record) => {
console.log(record, "record");
UpdateRecordRef.value.open(record);
};
return {

View File

@@ -299,11 +299,13 @@
"
>
<div class="racona">
<img
style="width: 17px; height: 14px"
src="../../assets/images/leveladd/z1.png"
/>
<a-tooltip>
<template #title>可拖动排序</template>
<img
style="width: 17px; height: 14px"
src="../../assets/images/leveladd/z1.png"
/>
</a-tooltip>
<img
style="width: 31px; height: 28px; margin: 0 12px"
:src="TASK_TYPE[element.taskType]?.img"
@@ -413,6 +415,13 @@
</template>
</a-dropdown>
</div>
</template>
<template
v-if="
element.offcourseIds.length > 1 &&
element.taskType == 2
"
>
<div
class="operations_dropdown"
v-if="checkMenu('growthSignQRCode')"
@@ -464,8 +473,8 @@
<template
v-if="
element.assessmentIds.filter((id) => id !== null)
.length == 1 && element.taskType == 2
element.assessmentIds.length == 1 &&
element.taskType == 2
"
>
<div
@@ -479,6 +488,13 @@
评估二维码
</a>
</div>
</template>
<template
v-if="
element.offcourseIds.length == 1 &&
element.taskType == 2
"
>
<div
class="operations_dropdown"
v-if="checkMenu('growthSignQRCode')"
@@ -491,7 +507,6 @@
</a>
</div>
</template>
<template v-if="element.taskType == 2">
<div
v-if="checkMenu('growthFaceTeaching')"
@@ -632,7 +647,7 @@
/>
<!-- 二维码弹窗 -->
<!-- 面授课开课弹框 -->
<GrowthOpenCourse ref="coursePlanRef" :type="4" />
<GrowthOpenCourse ref="coursePlanRef" :type="4" @refresh="getListTask" />
<a-modal
v-model:visible="setSuperiorsVisible"
@@ -1172,7 +1187,7 @@ export default {
window.location.protocol +
process.env.VUE_APP_H5 +
"/investigatpage?courseId=" +
item.info.id +
item.taskId +
"&type=4&id=" +
item.id +
"&chapterOrStageId=0" +

View File

@@ -18,16 +18,16 @@ module.exports = defineConfig({
overlay: false,// 解决代码抛出异常
},
proxy: {
"/professional": {
target: 'http://192.168.68.211:32002',
// target: 'http://192.168.50.195:32002',
// target: 'http://192.168.86.195:32002',
changeOrigin: true,
},
// "/growth": {
// target: 'https:' + process.env.VUE_APP_BOE_API_URL,
// "/professional": {
// target: 'http://192.168.68.211:32002',
// // target: 'http://192.168.50.195:32002',
// // target: 'http://192.168.86.195:32002',
// changeOrigin: true,
// },
"/growth": {
target: 'https:' + process.env.VUE_APP_BOE_API_URL,
changeOrigin: true,
},
"/manageApi": {
target: 'https:' + process.env.VUE_APP_PROXY_URL,
changeOrigin: true, //表示是否改变原域名