mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-07 18:06:46 +08:00
提交
This commit is contained in:
@@ -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" },
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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();
|
||||
},
|
||||
});
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -280,7 +280,7 @@
|
||||
:courseId="id"
|
||||
:courseType="type"
|
||||
/>
|
||||
<GrowthDrawer ref="GrowthDrawerRef" title="新增学员">
|
||||
<GrowthDrawer ref="GrowthDrawerRef" title="新增学员" width="1200px">
|
||||
<GrowthCommonStudent
|
||||
:growthId="growId"
|
||||
@confirm="confirmDrawer"
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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" +
|
||||
|
||||
@@ -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, //表示是否改变原域名
|
||||
|
||||
Reference in New Issue
Block a user