mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-07 01:46:43 +08:00
Merge branch 'zcwy-0415' into dev0223
This commit is contained in:
@@ -80,3 +80,5 @@ export const getProjectCount = (projectId) => http.get('/admin/project/projectCo
|
||||
export const login = (obj) => http.post('/admin/CheckUser/userLogin', obj)
|
||||
export const userInfo = () => http.get('/admin/CheckUser/userInfo')
|
||||
|
||||
//修改备注
|
||||
export const editStudent = (obj) => http.post('/admin/student/editStudent', obj)
|
||||
@@ -573,7 +573,7 @@
|
||||
<router-link to="/employeelearning">员工学习数据</router-link>
|
||||
</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-menu-item key="sub17-4">
|
||||
<a-menu-item key="sub17-4" v-if="checkMenu('trainingnewmanager')||getReportOrgs()">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub17-4' ? true : false,
|
||||
@@ -1175,7 +1175,6 @@ export default {
|
||||
const getClientHeight = () => {
|
||||
state.screenHeight = document.body.clientHeight;
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
// console.log("11111", 1);
|
||||
window.addEventListener("resize", getClientHeight, false);
|
||||
|
||||
@@ -441,6 +441,10 @@ const props = defineProps({
|
||||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
remarksTrue: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
}
|
||||
});
|
||||
|
||||
const { loading: stuAsyncLoading, start } = useAsyncStu(props.id, props.type, getStuList);
|
||||
@@ -540,7 +544,7 @@ const tablecolumns = ref([
|
||||
title: "操作",
|
||||
dataIndex: "operation",
|
||||
key: "operation",
|
||||
width: 210,
|
||||
width: 260,
|
||||
align: "center",
|
||||
slots: { customRender: "action" },
|
||||
},
|
||||
|
||||
@@ -18,6 +18,18 @@ export function downLoadZip(str, filename) {
|
||||
resolveBlob(res, mimeMap.zip,filename)
|
||||
})
|
||||
}
|
||||
const baseUrlManage = process.env.VUE_APP_BASE_API
|
||||
export function downLoadZipManage(str, filename) {
|
||||
var url = baseUrlManage + str
|
||||
axios({
|
||||
method: 'get',
|
||||
url: url,
|
||||
responseType: 'blob',
|
||||
headers: { 'Authorization': 'Bearer ' + getCookieForName("token") }
|
||||
}).then(res => {
|
||||
resolveBlob(res, mimeMap.xlsx,filename)
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 解析blob响应内容并下载
|
||||
* @param {*} res blob响应内容
|
||||
|
||||
@@ -827,6 +827,7 @@
|
||||
:stage="stage"
|
||||
:visable="tabFlag"
|
||||
:groupList="groupList"
|
||||
:remarksTrue="remarksTrue"
|
||||
>
|
||||
<template #extension="{ data: { record } }">
|
||||
<a-button @click="showStudent(record)" type="link"
|
||||
@@ -845,6 +846,11 @@
|
||||
@click="showChangeGroupModal(record)"
|
||||
>换组
|
||||
</a-button>
|
||||
<a-button
|
||||
type="link"
|
||||
@click="modifyRemarks(record)"
|
||||
>修改备注
|
||||
</a-button>
|
||||
</template>
|
||||
</TableStudent>
|
||||
</a-tab-pane>
|
||||
@@ -2347,6 +2353,43 @@
|
||||
<!-- 换组弹窗 -->
|
||||
<!-- 面授课开课弹框 -->
|
||||
<AddOpenCourse @call-parent-method="getTaskListAll" ref="coursePlanRef" :type="1"/>
|
||||
<!-- 修改备注弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="showRemarks"
|
||||
:footer="null"
|
||||
closable="false"
|
||||
style="margin-top: 400px"
|
||||
@cancel="of_remarks"
|
||||
>
|
||||
<div class="selectonlineface" :style="{ display: showRemarks ? 'block' : 'none' }">
|
||||
<div class="bg_headers"></div>
|
||||
<div class="bg_main">
|
||||
<div class="bg_main_header">
|
||||
<div>修改备注</div>
|
||||
<div class="bg_main_header_close" @click="of_remarks"></div>
|
||||
</div>
|
||||
<div class="bg_body">
|
||||
<div class="bg_body_bt" style="align-items: flex-start;">
|
||||
<!-- <div class="bg_body_bttext" style="margin-top: 5px;">修改备注</div> -->
|
||||
<div class="bg_body_input">
|
||||
<a-input v-model:value="remarks" placeholder="请输入" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg_footer">
|
||||
<div class="btn btn6" @click="of_remarks">
|
||||
<div class="btnText">取消</div>
|
||||
</div>
|
||||
<a-button
|
||||
class="btn btn6"
|
||||
@click="RemarksUpdata"
|
||||
>
|
||||
确定
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="jsx">
|
||||
@@ -2603,9 +2646,9 @@ export default {
|
||||
ellipsis: true,
|
||||
customRender: ({ record }) => (
|
||||
<div>
|
||||
{record.finishTaskNum == 0
|
||||
{record.status == 0
|
||||
? "未开始"
|
||||
: record.finishTaskNum == record.totalTaskNum
|
||||
: record.status == 1
|
||||
? "已完成"
|
||||
: "进行中"}
|
||||
</div>
|
||||
@@ -2620,6 +2663,15 @@ export default {
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: "备注",
|
||||
dataIndex: "batch",
|
||||
key: "batch",
|
||||
width: 120,
|
||||
align: "center",
|
||||
className: "h",
|
||||
ellipsis: true,
|
||||
},
|
||||
],
|
||||
loading: false,
|
||||
projectId: route.query.projectId,
|
||||
@@ -3038,6 +3090,10 @@ export default {
|
||||
facestudent: {},
|
||||
modal1Visible: false, // 证书预览
|
||||
changegroupV: false, //换组弹窗
|
||||
remarks: '',
|
||||
remarksId: '',
|
||||
remarksTrue: false,
|
||||
showRemarks: false, //修改备注
|
||||
checkgroupStuId: null, //换组id
|
||||
ImpoterGroupLeaderV: false, //导入小组长抽屉
|
||||
certificatelist: [],
|
||||
@@ -3394,6 +3450,25 @@ export default {
|
||||
state.checkgroupStuId = [];
|
||||
state.checkgroupStuId.push(record.id);
|
||||
};
|
||||
//修改备注
|
||||
const modifyRemarks = (record) => {
|
||||
state.remarksId = record.id
|
||||
state.showRemarks = true;
|
||||
}
|
||||
const of_remarks = () => {
|
||||
state.remarksTrue = false;
|
||||
state.showRemarks = false;
|
||||
}
|
||||
const RemarksUpdata = () => {
|
||||
apitl.editStudent({
|
||||
id: state.remarksId,
|
||||
batch: state.remarks
|
||||
}).then(res=>{
|
||||
console.log(res,'res')
|
||||
state.remarksTrue = true;
|
||||
})
|
||||
of_remarks()
|
||||
}
|
||||
const showModal2 = (item, isEdit) => {
|
||||
state.isEdit = isEdit;
|
||||
state.stugroup = true;
|
||||
@@ -5183,6 +5258,9 @@ export default {
|
||||
cancelyou,
|
||||
cancelcanyou,
|
||||
showChangeGroupModal,
|
||||
modifyRemarks,
|
||||
of_remarks,
|
||||
RemarksUpdata,
|
||||
changePaginationStu,
|
||||
handleChange,
|
||||
toEdit,
|
||||
@@ -6083,7 +6161,113 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.selectonlineface{
|
||||
z-index: 999;
|
||||
width: 679px;
|
||||
background: #ffffff;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: -100%;
|
||||
transform: translate(-50%, -50%);
|
||||
.bg_headers {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
background: linear-gradient(
|
||||
rgba(78, 166, 255, 0.2) 0%,
|
||||
rgba(78, 166, 255, 0) 100%
|
||||
);
|
||||
}
|
||||
.bg_main {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
.bg_main_header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-top: 20px;
|
||||
padding-left: 26px;
|
||||
font-size: 16px;
|
||||
.bg_main_header_close {
|
||||
position: absolute;
|
||||
right: 42px;
|
||||
cursor: pointer;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-image: url(@/assets/images/coursewareManage/close.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.bg_body {
|
||||
width: 80%;
|
||||
margin: 3px auto;
|
||||
|
||||
.bg_body_bt {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: end;
|
||||
margin: 14px auto;
|
||||
|
||||
.bg_body_bttext {
|
||||
width: 110px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
.bg_body_input {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
.ant-upload-picture-card-wrapper{
|
||||
width: 200px;
|
||||
margin-right: 18px;
|
||||
}
|
||||
}
|
||||
.bg_footer {
|
||||
width: 100%;
|
||||
margin-left: 174px;
|
||||
margin-top: 25px;
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
|
||||
.btn {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
background: rgba(64, 158, 255, 0);
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 14px;
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn6 {
|
||||
background-color: #4ea6ff;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.headers{
|
||||
margin-left: 38px;
|
||||
margin-right: 38px;
|
||||
margin-top: 30px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
.btn{
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.taskpage {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
||||
@@ -12,15 +12,16 @@
|
||||
import { computed,onMounted,ref } from "vue";
|
||||
import { useStore } from "vuex";
|
||||
import { reportOrgs } from "@/api/indexProject";
|
||||
import {downLoadZipManage} from "@/utils/zipdownload";
|
||||
const downReport = () => {
|
||||
console.log('下载报表')
|
||||
if(uploadAdmin('training-admin')){
|
||||
window.open(`${process.env.VUE_APP_BASE_API}/admin/project/report/data`)
|
||||
downLoadZipManage(`/admin/project/report/data`,'新任管理者培训数据')
|
||||
return
|
||||
}
|
||||
if(adminType?.value.length>0){
|
||||
let orgs = adminType.value.join(',')
|
||||
window.open(`${process.env.VUE_APP_BASE_API}/admin/project/report/data?orgs=${orgs}`)
|
||||
downLoadZipManage(`/admin/project/report/data?orgs=${orgs}`,'新任管理者培训数据')
|
||||
}
|
||||
}
|
||||
const userInfo = computed(() => store.state.userInfo);
|
||||
@@ -31,6 +32,7 @@ import { reportOrgs } from "@/api/indexProject";
|
||||
const adminType = ref()
|
||||
const getReportOrgs = () => {
|
||||
reportOrgs({workNum: userInfo.value.userNo}).then((res) => {
|
||||
console.log(res,'res')
|
||||
adminType.value = res.data
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user