mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 04:46:46 +08:00
fix:修改同步学习记录选项
This commit is contained in:
@@ -2,10 +2,11 @@
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2022-11-21 14:32:52
|
||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||
* @LastEditTime: 2022-12-04 11:13:37
|
||||
* @LastEditTime: 2022-12-04 13:27:07
|
||||
* @FilePath: /fe-manage/src/api/config.js
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
*/
|
||||
import { message } from "ant-design-vue";
|
||||
import axios from "axios";
|
||||
// import { getCookie } from '../api/method'
|
||||
// const Qs = require("qs");
|
||||
@@ -23,6 +24,7 @@ const http = axios.create({
|
||||
|
||||
http.interceptors.request.use(
|
||||
(config) => {
|
||||
// console.log('config', config)
|
||||
// const token = localStorage.getItem("token");
|
||||
// // const token = getCookie('token')
|
||||
// // console.log('token', token)
|
||||
@@ -61,6 +63,10 @@ http.interceptors.response.use(
|
||||
return response;
|
||||
},
|
||||
function (error) {
|
||||
if (error.message == "timeout of 1ms exceeded") {
|
||||
message.destroy()
|
||||
message.error("请求超时")
|
||||
}
|
||||
console.log("api error %o", error);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
<div class="chooseLeft">
|
||||
<div class="boeTree">
|
||||
<div class="boeTreeTitle">BOE组织树</div>
|
||||
|
||||
<a-tree
|
||||
v-model:value="valueSelectboe"
|
||||
class="treeMain"
|
||||
@@ -206,7 +205,6 @@
|
||||
>
|
||||
<template #suffixIcon></template>
|
||||
</a-tree>
|
||||
|
||||
<a-tree
|
||||
v-else-if="isSearchOrg"
|
||||
class="treeMain treeMain2"
|
||||
@@ -288,7 +286,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="line">
|
||||
<div class="inline">
|
||||
<div class="left1">
|
||||
@@ -542,7 +539,6 @@
|
||||
<button class="btn2" @click="submitAuth">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 确认添加部门弹窗 -->
|
||||
<a-modal
|
||||
v-model:visible="showOrgModal"
|
||||
@@ -575,20 +571,18 @@
|
||||
<!-- 确认添加部门弹窗 -->
|
||||
</a-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {reactive, toRefs, onMounted, onUnmounted, computed} from "vue";
|
||||
import { reactive, toRefs, onMounted, onUnmounted, computed } from "vue";
|
||||
import elementResizeDetectorMaker from "element-resize-detector";
|
||||
import {message} from "ant-design-vue";
|
||||
import { message } from "ant-design-vue";
|
||||
// import { toDate } from "../../api/method";
|
||||
import {useStore} from "vuex";
|
||||
import { useStore } from "vuex";
|
||||
import {
|
||||
traverseArr,
|
||||
// deepClone,
|
||||
// batchLoadList,
|
||||
} from "../../utils/utils";
|
||||
import * as api from "../../api/index1";
|
||||
|
||||
export default {
|
||||
name: "ProjCheckShip",
|
||||
props: {
|
||||
@@ -624,22 +618,16 @@ export default {
|
||||
currentPage2: 1,
|
||||
tableDataTotal2: 0,
|
||||
audienceName: "",
|
||||
|
||||
pageSize1: 10,
|
||||
currentPage1: 1,
|
||||
tableDataTotal1: 0,
|
||||
|
||||
selectedRowKeys1: [],
|
||||
|
||||
activeKey: "1",
|
||||
value: [], //级联选择框
|
||||
choosevalue: null, //受众选择
|
||||
valueSelect: null, //树形选择
|
||||
|
||||
valueSelectboe2: null, //boe树形选择
|
||||
|
||||
nameadd: "",
|
||||
|
||||
searchOrgName: "", //搜索组织
|
||||
//组织树
|
||||
treeData: [],
|
||||
@@ -691,7 +679,6 @@ export default {
|
||||
ellipsis: true,
|
||||
},
|
||||
],
|
||||
|
||||
//受众关联table数据
|
||||
tabledata2: [
|
||||
// {
|
||||
@@ -723,7 +710,7 @@ export default {
|
||||
compare: (a, b) => new Date(a.createTime) - new Date(b.createTime),
|
||||
multiple: 3,
|
||||
},
|
||||
scopedSlots: {customRender: "action"}, //引入的插槽
|
||||
scopedSlots: { customRender: "action" }, //引入的插槽
|
||||
customRender: (text) => {
|
||||
// console.log(text.record.checked1);
|
||||
return (
|
||||
@@ -771,31 +758,24 @@ export default {
|
||||
selectOrgName: null, //选中的组织名称
|
||||
//快速选人-------------------------------------
|
||||
//添加组织-------------------------------------
|
||||
|
||||
selectedKeys1: [], //选中部门的key
|
||||
chooseorganization: [], //添加组织的选择组织
|
||||
chooseorganization1: [], //显示到右侧的数组
|
||||
showMore1: false, //是否显示添加组织的查看更多
|
||||
showHidden1: false, //是否显示添加组织的收回
|
||||
|
||||
showOrgModal: false, //确认弹窗
|
||||
|
||||
isSearchOrg: false,
|
||||
treeData2: [],
|
||||
//添加组织-------------------------------------
|
||||
|
||||
//受众关联-------------------------------------
|
||||
relationpeople: [], //总的数组
|
||||
showMore2: false, //是否显示快速选人的查看更多
|
||||
showHidden2: false, //是否显示收回
|
||||
selectedRowKeys2: [], //表格选中的key
|
||||
//受众关联-------------------------------------
|
||||
|
||||
selectAllArr: null, //所有选中
|
||||
|
||||
expandedKeys: [], //展开的节点
|
||||
});
|
||||
|
||||
const closeDrawer = () => {
|
||||
state.activeKey = "1";
|
||||
ctx.emit("update:ProjCheckvisible", false);
|
||||
@@ -807,23 +787,18 @@ export default {
|
||||
state.currentPage = 1;
|
||||
state.tableDataTotal = 0;
|
||||
state.nameSearch = ""; //搜索名称
|
||||
|
||||
//受众
|
||||
state.currentPage2 = 1;
|
||||
state.tableDataTotal2 = 0;
|
||||
state.audienceName = "";
|
||||
|
||||
state.currentPage1 = 1;
|
||||
state.tableDataTotal1 = 0;
|
||||
|
||||
state.selectedKeys = [];
|
||||
state.selectOrgId = null; //选中的组织id
|
||||
state.selectOrgName = null; //选中的组织名称
|
||||
|
||||
state.searchOrgName = null;
|
||||
state.isSearchOrg = false;
|
||||
state.treeData2 = [];
|
||||
|
||||
getAudienceInfo();
|
||||
};
|
||||
const afterVisibleChange = (bool) => {
|
||||
@@ -836,7 +811,6 @@ export default {
|
||||
state.treeData = computed(() => {
|
||||
return store.state.orgtreeList ? store.state.orgtreeList : [];
|
||||
});
|
||||
|
||||
const getClientHeight = () => {
|
||||
state.screenHeight = document.body.clientHeight;
|
||||
};
|
||||
@@ -844,16 +818,14 @@ export default {
|
||||
// const getClientHeightSelecteds = () => {
|
||||
// state.selectedsHeight = document.getElementById('selecteds').offsetHeight
|
||||
// console.log('selectedsHeight',state.selectedsHeight)
|
||||
|
||||
// };
|
||||
onMounted(() => {
|
||||
window.addEventListener("resize", getClientHeight, false);
|
||||
state.tabledata = store.state.memberInitInfo
|
||||
state.tabledata = store.state.memberInitInfo;
|
||||
});
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener("resize", getClientHeight, false);
|
||||
});
|
||||
|
||||
// 开始 快速选人------------------------------------------------------------------
|
||||
//选中部门
|
||||
const departmentSelect = (e, k) => {
|
||||
@@ -880,11 +852,10 @@ export default {
|
||||
org: state.nameSearch ? null : org,
|
||||
})
|
||||
.then((res) => {
|
||||
state.tabledata = res.data.data.rows
|
||||
state.tabledata = res.data.data.rows;
|
||||
state.tableDataTotal = res.data.data.total;
|
||||
})
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
// state.tabledata = traverseArr(item1, {
|
||||
// key: "id",
|
||||
// name: "realName",
|
||||
@@ -927,7 +898,6 @@ export default {
|
||||
state.choosepeople = item.reverse();
|
||||
selectedsHeight();
|
||||
// if (selectedRowKeys.length > 0 && item.length > 0) {
|
||||
|
||||
// state.selectedRowKeys.push(selectedRowKeys[selectedRowKeys.length - 1]);
|
||||
// state.choosepeople.unshift(item[item.length - 1]);
|
||||
// // console.log(
|
||||
@@ -1003,9 +973,7 @@ export default {
|
||||
.getElementById("ProjCheckship")
|
||||
.querySelector("#selectedsBox").style.height = "160px";
|
||||
};
|
||||
|
||||
// 结束 快速选人------------------------------------------------------------------
|
||||
|
||||
// 开始 添加组织------------------------------------------------------------------
|
||||
//搜索组织
|
||||
const searchOrg = (id) => {
|
||||
@@ -1043,7 +1011,6 @@ export default {
|
||||
return store.state.orgtreeList ? store.state.orgtreeList : [];
|
||||
});
|
||||
};
|
||||
|
||||
// //搜索组织
|
||||
// const searchOrg = () => {
|
||||
// let treeTitle = document
|
||||
@@ -1068,7 +1035,6 @@ export default {
|
||||
// message.warning("请输入组织名称");
|
||||
// }
|
||||
// };
|
||||
|
||||
//选中部门
|
||||
const departmentSelect1 = (e, k) => {
|
||||
console.log("选中的部门", e, k);
|
||||
@@ -1087,7 +1053,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log("选中的部门2", state.selectedKeys1, state.chooseorganization);
|
||||
};
|
||||
//点击确认添加-判断是否显示确定弹窗
|
||||
@@ -1110,7 +1075,6 @@ export default {
|
||||
const closeOrgModal = () => {
|
||||
state.showOrgModal = false;
|
||||
};
|
||||
|
||||
//单个删除选中的组织
|
||||
const deleteChoosePeople1 = (item) => {
|
||||
console.log("item", item, state.chooseorganization);
|
||||
@@ -1130,7 +1094,6 @@ export default {
|
||||
state.selectedKeys1 = array;
|
||||
console.log("state.selectedKeys1", state.selectedKeys1);
|
||||
};
|
||||
|
||||
//根据右侧快速选人高度,判断是否显示更多
|
||||
const selectedsHeight1 = () => {
|
||||
let resize = elementResizeDetectorMaker();
|
||||
@@ -1179,11 +1142,8 @@ export default {
|
||||
.getElementById("ProjCheckship")
|
||||
.querySelector("#selectedsBox1").style.height = "160px";
|
||||
};
|
||||
|
||||
// 结束 添加组织------------------------------------------------------------------
|
||||
|
||||
// 开始 受众关联------------------------------------------------------------------
|
||||
|
||||
//获取受众
|
||||
const getAudienceInfo = async () => {
|
||||
const item1 = await api
|
||||
@@ -1230,7 +1190,6 @@ export default {
|
||||
state.audienceName = "";
|
||||
getAudienceInfo();
|
||||
};
|
||||
|
||||
//受众关联 选中的数组
|
||||
const onSelectChange2 = (selectedRowKeys, item) => {
|
||||
// console.log("selectedRowKeys changed: ", selectedRowKeys, item);
|
||||
@@ -1238,7 +1197,6 @@ export default {
|
||||
state.relationpeople = item.reverse();
|
||||
// state.selectedRowKeys2.push(selectedRowKeys[selectedRowKeys.length - 1]);
|
||||
// state.relationpeople.unshift(item[item.length - 1]);
|
||||
|
||||
selectedsHeight2();
|
||||
};
|
||||
//单个删除选中的人
|
||||
@@ -1306,9 +1264,7 @@ export default {
|
||||
.getElementById("ProjCheckship")
|
||||
.querySelector("#selectedsBox2").style.height = "160px";
|
||||
};
|
||||
|
||||
// 结束 受众关联------------------------------------------------------------------
|
||||
|
||||
//全部清除
|
||||
const deleteAll = () => {
|
||||
//快速选人-------------------------------------
|
||||
@@ -1321,26 +1277,21 @@ export default {
|
||||
state.selectOrgName = null; //选中的组织名称
|
||||
//快速选人-------------------------------------
|
||||
//添加组织-------------------------------------
|
||||
|
||||
state.selectedKeys1 = []; //选中部门的key
|
||||
state.chooseorganization = []; //添加组织的选择组织
|
||||
state.chooseorganization1 = []; //显示到右侧的数组
|
||||
state.showMore1 = false; //是否显示添加组织的查看更多
|
||||
state.showHidden1 = false; //是否显示添加组织的收回
|
||||
|
||||
state.showOrgModal = false; //确认弹窗
|
||||
//添加组织-------------------------------------
|
||||
|
||||
//受众关联-------------------------------------
|
||||
state.relationpeople = []; //总的数组
|
||||
state.showMore2 = false; //是否显示快速选人的查看更多
|
||||
state.showHidden2 = false; //是否显示收回
|
||||
state.selectedRowKeys2 = []; //表格选中的key
|
||||
//受众关联-------------------------------------
|
||||
|
||||
state.selectAllArr = null; //所有选中
|
||||
};
|
||||
|
||||
//确定添加授权
|
||||
const submitAuth = () => {
|
||||
let choosepeople = [];
|
||||
@@ -1351,7 +1302,6 @@ export default {
|
||||
};
|
||||
choosepeople.push(obj);
|
||||
});
|
||||
|
||||
let chooseorganization1 = [];
|
||||
state.chooseorganization1.map((value) => {
|
||||
let obj = {
|
||||
@@ -1360,7 +1310,6 @@ export default {
|
||||
};
|
||||
chooseorganization1.push(obj);
|
||||
});
|
||||
|
||||
let relationpeople = [];
|
||||
state.relationpeople.map((value) => {
|
||||
let obj = {
|
||||
@@ -1411,7 +1360,6 @@ export default {
|
||||
//快速选人
|
||||
state.selectedRowKeys = selectedRowKeys;
|
||||
state.choosepeople = choosepeople;
|
||||
|
||||
let deptArr = res.data.data.deptList;
|
||||
let selectedKeys1 = [];
|
||||
let chooseorganization = [];
|
||||
@@ -1423,7 +1371,6 @@ export default {
|
||||
state.selectedKeys1 = selectedKeys1;
|
||||
state.chooseorganization = chooseorganization;
|
||||
state.chooseorganization1 = chooseorganization;
|
||||
|
||||
let groupArr = res.data.data.groupList;
|
||||
let selectedRowKeys2 = [];
|
||||
let relationpeople = [];
|
||||
@@ -1441,7 +1388,6 @@ export default {
|
||||
console.log("获取权限名单失败", err);
|
||||
});
|
||||
};
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
afterVisibleChange,
|
||||
@@ -1454,7 +1400,6 @@ export default {
|
||||
selectedsHeight,
|
||||
morePeopleShow,
|
||||
morePeopleHidden,
|
||||
|
||||
departmentSelect1,
|
||||
addOrgModal,
|
||||
addOrg,
|
||||
@@ -1463,39 +1408,31 @@ export default {
|
||||
morePeopleShow1,
|
||||
morePeopleHidden1,
|
||||
deleteChoosePeople1,
|
||||
|
||||
selectedsHeight2,
|
||||
morePeopleShow2,
|
||||
morePeopleHidden2,
|
||||
deleteChoosePeople2,
|
||||
|
||||
deleteAll,
|
||||
|
||||
searchOrg,
|
||||
changePagination,
|
||||
handleSearchStu,
|
||||
resetStu,
|
||||
|
||||
getAudienceInfo,
|
||||
changePagination1,
|
||||
searchAudienceInfo,
|
||||
resetAudienceInfo,
|
||||
|
||||
resetOrg,
|
||||
|
||||
submitAuth,
|
||||
optionAuthPerm,
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.ProjCheckship {
|
||||
.ant-drawer-content-wrapper {
|
||||
max-width: 1300px !important;
|
||||
}
|
||||
|
||||
.drawerMain {
|
||||
min-width: 600px;
|
||||
margin: 0px 32px 0px 32px;
|
||||
@@ -1503,7 +1440,6 @@ export default {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-x: auto;
|
||||
|
||||
.header {
|
||||
height: 73px;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
@@ -1513,7 +1449,6 @@ export default {
|
||||
align-items: center;
|
||||
// background-color: red;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.headerTitle {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
@@ -1522,7 +1457,6 @@ export default {
|
||||
// margin-left: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.main {
|
||||
display: flex;
|
||||
// min-width: 1200px;
|
||||
@@ -1536,38 +1470,31 @@ export default {
|
||||
flex-shrink: 0;
|
||||
// height: 100%;
|
||||
border-right: 1px solid rgba(233, 233, 233, 1);
|
||||
|
||||
.tabs {
|
||||
margin-right: 33px;
|
||||
|
||||
.tab1 {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
// justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.t1 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.nameinp {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
|
||||
.namee {
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
margin-top: 10px;
|
||||
margin-left: 34px;
|
||||
|
||||
.btn1 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -1581,12 +1508,10 @@ export default {
|
||||
border-radius: 8px;
|
||||
border: 1px solid #409eff;
|
||||
cursor: pointer;
|
||||
|
||||
.wz {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -1599,18 +1524,15 @@ export default {
|
||||
border-radius: 8px;
|
||||
cursor: pointer;
|
||||
border: 1px solid #409eff;
|
||||
|
||||
.wz {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
margin-top: 10px;
|
||||
|
||||
.btn1 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -1624,12 +1546,10 @@ export default {
|
||||
border-radius: 8px;
|
||||
border: 1px solid #409eff;
|
||||
cursor: pointer;
|
||||
|
||||
.wz {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -1642,13 +1562,11 @@ export default {
|
||||
border-radius: 8px;
|
||||
cursor: pointer;
|
||||
border: 1px solid #409eff;
|
||||
|
||||
.wz {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
@@ -1658,42 +1576,35 @@ export default {
|
||||
align-items: center;
|
||||
margin-top: 20px;
|
||||
border: 1px solid #c3e6fc;
|
||||
|
||||
.inline {
|
||||
width: 95%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
// background-color: #bfa;
|
||||
.left1 {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.img {
|
||||
width: 14px;
|
||||
height: 15px;
|
||||
background-image: url(../../assets/images/leveladd/gan.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.text {
|
||||
color: #999ba3;
|
||||
}
|
||||
|
||||
.text2 {
|
||||
color: #4ea6ff;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.text3 {
|
||||
color: #999ba3;
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.right1 {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
@@ -1705,11 +1616,9 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.chooseLeft {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.boeTree {
|
||||
margin-right: 20px;
|
||||
// margin-top: 20px;
|
||||
@@ -1742,7 +1651,6 @@ export default {
|
||||
margin-bottom: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.treeMain {
|
||||
width: 280px;
|
||||
border-radius: 4px;
|
||||
@@ -1752,56 +1660,45 @@ export default {
|
||||
padding-top: 10px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.ant-tree .ant-tree-node-content-wrapper {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.ant-tree-indent-unit {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.ant-tree
|
||||
.ant-tree-node-content-wrapper-normal.ant-tree-node-selected {
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
color: #409eff;
|
||||
}
|
||||
|
||||
.ant-tree .ant-tree-node-selected {
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
// color:#409EFF;
|
||||
}
|
||||
|
||||
// .ant-tree .ant-tree-title{
|
||||
// background-color: pink;
|
||||
// }
|
||||
}
|
||||
|
||||
.tabb {
|
||||
.ant-table-thead > tr > th {
|
||||
background-color: rgba(240, 246, 252, 1);
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
|
||||
.ant-table-tbody > tr > td {
|
||||
border-bottom: 1px solid #f0f6fc;
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
}
|
||||
|
||||
th.h {
|
||||
background-color: #eff4fc !important;
|
||||
}
|
||||
|
||||
.ant-table-tbody
|
||||
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
|
||||
> td {
|
||||
background: rgba(250, 250, 250, 1);
|
||||
}
|
||||
|
||||
.ant-table-selection-column {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
// table tr td.ant-table-selection-column {
|
||||
// text-align: right;
|
||||
// }
|
||||
@@ -1828,31 +1725,26 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab2 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// margin-top: 10px;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
|
||||
.nameinp {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
|
||||
.namee {
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.t1 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
// margin-top: -10px;
|
||||
@@ -1869,12 +1761,10 @@ export default {
|
||||
border-radius: 8px;
|
||||
border: 1px solid #409eff;
|
||||
cursor: pointer;
|
||||
|
||||
.wz {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -1887,43 +1777,35 @@ export default {
|
||||
border-radius: 8px;
|
||||
cursor: pointer;
|
||||
border: 1px solid #409eff;
|
||||
|
||||
.wz {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.organize {
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
font-size: 14px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ant-select-dropdown {
|
||||
min-width: 800px !important;
|
||||
}
|
||||
|
||||
.ant-select {
|
||||
border-radius: 8px !important;
|
||||
// background-color: red;
|
||||
}
|
||||
|
||||
.ant-cascader {
|
||||
width: 264px;
|
||||
height: 40px;
|
||||
border-radius: 8px !important;
|
||||
|
||||
.ant-select-selector {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ant-select-selection-search-input {
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boeTree {
|
||||
.boeTreeTitle {
|
||||
width: 280px;
|
||||
@@ -1940,7 +1822,6 @@ export default {
|
||||
margin-bottom: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.treeMain {
|
||||
width: 280px;
|
||||
border-radius: 4px;
|
||||
@@ -1950,26 +1831,21 @@ export default {
|
||||
padding-top: 10px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.ant-tree .ant-tree-node-content-wrapper {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.ant-tree-indent-unit {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.ant-tree
|
||||
.ant-tree-node-content-wrapper-normal.ant-tree-node-selected {
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
color: #409eff;
|
||||
}
|
||||
|
||||
.ant-tree .ant-tree-node-selected {
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
// color:#409EFF;
|
||||
}
|
||||
|
||||
// .ant-tree-switcher_open+ .ant-tree-checkbox{
|
||||
// display: none !important;
|
||||
// }
|
||||
@@ -1982,23 +1858,19 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 320px;
|
||||
flex-shrink: 0;
|
||||
overflow-y: auto;
|
||||
|
||||
.onerow {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-right: 40px;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.onleft {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
|
||||
.already {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
@@ -2007,20 +1879,17 @@ export default {
|
||||
white-space: nowrap;
|
||||
// margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.count {
|
||||
color: #388be1;
|
||||
font-size: 16px;
|
||||
margin: 0 6px;
|
||||
}
|
||||
|
||||
.peo {
|
||||
color: rgba(51, 51, 51, 1);
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
.clbox {
|
||||
margin-left: 30px;
|
||||
display: flex;
|
||||
@@ -2031,7 +1900,6 @@ export default {
|
||||
height: 32px;
|
||||
border-radius: 4px;
|
||||
background: #409eff;
|
||||
|
||||
.colose {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
@@ -2042,14 +1910,12 @@ export default {
|
||||
background-size: 100%;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.allclear {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 90%;
|
||||
height: 1px;
|
||||
@@ -2057,20 +1923,17 @@ export default {
|
||||
margin-left: 12px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-top: 12px;
|
||||
margin-left: 32px;
|
||||
}
|
||||
|
||||
.selectedsBox {
|
||||
position: relative;
|
||||
// height: 160px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.selecteds {
|
||||
display: flex;
|
||||
// flex-wrap:wrap;
|
||||
@@ -2082,7 +1945,6 @@ export default {
|
||||
// height: 170px;
|
||||
// overflow: hidden;
|
||||
flex-shrink: 0;
|
||||
|
||||
.chose {
|
||||
// width: 64px;
|
||||
padding-left: 10px;
|
||||
@@ -2099,7 +1961,6 @@ export default {
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
|
||||
.ch {
|
||||
position: absolute;
|
||||
width: 18px;
|
||||
@@ -2112,7 +1973,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btnn {
|
||||
height: 72px;
|
||||
width: 100%;
|
||||
@@ -2124,7 +1984,6 @@ export default {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
|
||||
|
||||
.btn1 {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -2134,7 +1993,6 @@ export default {
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
@@ -2148,55 +2006,43 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.changetreedropdown {
|
||||
width: 500px !important;
|
||||
|
||||
.ant-select-tree-list-scrollbar {
|
||||
width: 5px !important;
|
||||
|
||||
.ant-select-tree-list-scrollbar-thumb {
|
||||
background-color: #4ea6ff !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-select-tree-indent-unit {
|
||||
width: 7px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.changetreedropdownboe {
|
||||
width: 240px !important;
|
||||
border-radius: 5px;
|
||||
min-height: 600px !important;
|
||||
|
||||
.ant-select-tree-list-scrollbar {
|
||||
width: 5px !important;
|
||||
|
||||
.ant-select-tree-list-scrollbar-thumb {
|
||||
background-color: #4ea6ff !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-select-tree-indent-unit {
|
||||
width: 7px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.confirmAddOrg {
|
||||
.ant-modal {
|
||||
width: 424px !important;
|
||||
height: 258px !important;
|
||||
|
||||
.ant-modal-content {
|
||||
width: 424px !important;
|
||||
height: 258px !important;
|
||||
|
||||
.ant-modal-body {
|
||||
width: 424px !important;
|
||||
height: 258px !important;
|
||||
padding: 0 !important;
|
||||
|
||||
.delete {
|
||||
z-index: 999;
|
||||
width: 424px;
|
||||
@@ -2217,18 +2063,15 @@ export default {
|
||||
rgba(78, 166, 255, 0) 100%
|
||||
);
|
||||
}
|
||||
|
||||
.del_main {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-top: 20px;
|
||||
padding-left: 26px;
|
||||
font-size: 16px;
|
||||
|
||||
.icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
@@ -2236,7 +2079,6 @@ export default {
|
||||
background-image: url(@/assets/images/taskpage/gan.png);
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.close_exit {
|
||||
position: absolute;
|
||||
right: 42px;
|
||||
@@ -2247,7 +2089,6 @@ export default {
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.body {
|
||||
width: 100%;
|
||||
margin: 34px auto 56px auto;
|
||||
@@ -2257,7 +2098,6 @@ export default {
|
||||
flex-direction: column;
|
||||
// background-color: red;
|
||||
position: relative;
|
||||
|
||||
.back {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
@@ -2266,12 +2106,10 @@ export default {
|
||||
color: #666666;
|
||||
}
|
||||
}
|
||||
|
||||
.del_btnbox {
|
||||
display: flex;
|
||||
margin: 30px auto;
|
||||
justify-content: center;
|
||||
|
||||
.del_btn {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
@@ -2280,23 +2118,19 @@ export default {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
flex-shrink: 0;
|
||||
cursor: pointer;
|
||||
|
||||
.btnText {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn1 {
|
||||
border: 1px solid rgba(64, 158, 255, 1);
|
||||
color: #4ea6ff;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
background-color: #4ea6ff;
|
||||
color: #ffffff;
|
||||
@@ -2306,7 +2140,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-modal-close-x {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -171,7 +171,19 @@
|
||||
<div class="inname">同步学习记录</div>
|
||||
</div>
|
||||
<div class="in">
|
||||
<a-switch
|
||||
<a-checkbox
|
||||
v-model:checked="courseSyncFlag"
|
||||
:disabled="viewDetail ? true : false"
|
||||
><span
|
||||
style="
|
||||
width: 100%;
|
||||
color: rgba(109, 117, 132, 1);
|
||||
font-size: 14px;
|
||||
"
|
||||
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
||||
></a-checkbox
|
||||
>
|
||||
<!-- <a-switch
|
||||
v-model:checked="projectInfo.courseSyncFlag"
|
||||
:checkedValue="1"
|
||||
:unCheckedValue="0"
|
||||
@@ -184,7 +196,7 @@
|
||||
"
|
||||
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
||||
></a-switch
|
||||
>
|
||||
> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="name">
|
||||
@@ -317,6 +329,7 @@ export default {
|
||||
keyWord: "",
|
||||
},
|
||||
classifyList5: [],
|
||||
courseSyncFlag: false,
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
@@ -349,6 +362,9 @@ export default {
|
||||
state.projectInfo.endTime,
|
||||
];
|
||||
state.projectInfo.parentName = routers.query.parentName;
|
||||
state.courseSyncFlag = state.projectInfo.courseSyncFlag
|
||||
? true
|
||||
: false;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -432,6 +448,7 @@ export default {
|
||||
return;
|
||||
}
|
||||
state.projectInfo.type = 3;
|
||||
state.projectInfo.courseSyncFlag = state.courseSyncFlag ? 1 : 0;
|
||||
api.createProject(state.projectInfo).then(() => {
|
||||
message.destroy();
|
||||
message.success("编辑成功");
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="taskpage">
|
||||
<div class="addhead" style="flex-shrink: 0">
|
||||
<div class="leftimg">
|
||||
<img class="img" :src="picUrl"/>
|
||||
<img class="img" :src="picUrl" />
|
||||
</div>
|
||||
<div class="imgfor">
|
||||
<div class="forz">{{ name }}</div>
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="fort">起止时间:{{ startTime }}至{{ endTime }}</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<img class="img1" src="../../assets/images/leveladd/ma.png"/>
|
||||
<img class="img1" src="../../assets/images/leveladd/ma.png" />
|
||||
<div class="line" v-if="action == 1 || action == 0"></div>
|
||||
<img
|
||||
v-if="action == 1 || action == 0"
|
||||
@@ -88,7 +88,7 @@
|
||||
<div class="line"></div>
|
||||
<router-link to="/projectmanage">
|
||||
<div style="display: flex">
|
||||
<img class="img2" src="../../assets/images/leveladd/back.png"/>
|
||||
<img class="img2" src="../../assets/images/leveladd/back.png" />
|
||||
<div class="return">返回</div>
|
||||
</div>
|
||||
</router-link>
|
||||
@@ -117,13 +117,13 @@
|
||||
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
|
||||
>
|
||||
<div class="leftt">
|
||||
<img src="../../assets/images/taskpage/left1.png"/>
|
||||
<img src="../../assets/images/taskpage/left1.png" />
|
||||
</div>
|
||||
<div class="photo">
|
||||
<img src="../../assets/images/taskpage/picture1.png"/>
|
||||
<img src="../../assets/images/taskpage/picture1.png" />
|
||||
</div>
|
||||
<div class="rightt">
|
||||
<img src="../../assets/images/taskpage/right1.png"/>
|
||||
<img src="../../assets/images/taskpage/right1.png" />
|
||||
</div>
|
||||
<div class="centerbox" style="color: rgba(255, 182, 78, 1)">
|
||||
添加任务
|
||||
@@ -136,13 +136,13 @@
|
||||
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
|
||||
>
|
||||
<div class="leftt">
|
||||
<img src="../../assets/images/taskpage/left2.png"/>
|
||||
<img src="../../assets/images/taskpage/left2.png" />
|
||||
</div>
|
||||
<div class="photo">
|
||||
<img src="../../assets/images/taskpage/picture2.png"/>
|
||||
<img src="../../assets/images/taskpage/picture2.png" />
|
||||
</div>
|
||||
<div class="rightt">
|
||||
<img src="../../assets/images/taskpage/right2.png"/>
|
||||
<img src="../../assets/images/taskpage/right2.png" />
|
||||
</div>
|
||||
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
|
||||
添加学员
|
||||
@@ -430,16 +430,20 @@
|
||||
<div class="time">
|
||||
<div class="timetext">开始时间</div>
|
||||
<div class="timetext">
|
||||
{{
|
||||
item.startTime !== null ? item.startTime: ''
|
||||
}}
|
||||
{{ item.startTime !== null ? item.startTime : "" }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress">
|
||||
<div class="progresstext">
|
||||
{{
|
||||
item.finishStuCnt && item.finishStuCnt !== null ? item.finishStuCnt : 0
|
||||
}}/{{ item.totalStuCnt && item.totalStuCnt !== null ? item.totalStuCnt : 0 }}人
|
||||
item.finishStuCnt && item.finishStuCnt !== null
|
||||
? item.finishStuCnt
|
||||
: 0
|
||||
}}/{{
|
||||
item.totalStuCnt && item.totalStuCnt !== null
|
||||
? item.totalStuCnt
|
||||
: 0
|
||||
}}人
|
||||
</div>
|
||||
<div style="display: flex">
|
||||
<a-progress
|
||||
@@ -450,7 +454,12 @@
|
||||
/>
|
||||
<span class="progresstext" style="margin-left: 10px"
|
||||
>{{
|
||||
(item.finishStuCnt && item.finishStuCnt !== null ? item.finishStuCnt : 0 / item.totalStuCnt && item.totalStuCnt !== null ? item.totalStuCnt : 0) * 100
|
||||
(item.finishStuCnt && item.finishStuCnt !== null
|
||||
? item.finishStuCnt
|
||||
: 0 / item.totalStuCnt &&
|
||||
item.totalStuCnt !== null
|
||||
? item.totalStuCnt
|
||||
: 0) * 100
|
||||
}}%</span
|
||||
>
|
||||
</div>
|
||||
@@ -526,13 +535,13 @@
|
||||
v-if="taskSyllabus.length == 0"
|
||||
>
|
||||
<div class="leftt">
|
||||
<img src="../../assets/images/taskpage/left2.png"/>
|
||||
<img src="../../assets/images/taskpage/left2.png" />
|
||||
</div>
|
||||
<div class="photo">
|
||||
<img src="../../assets/images/taskpage/picture8.png"/>
|
||||
<img src="../../assets/images/taskpage/picture8.png" />
|
||||
</div>
|
||||
<div class="rightt">
|
||||
<img src="../../assets/images/taskpage/right2.png"/>
|
||||
<img src="../../assets/images/taskpage/right2.png" />
|
||||
</div>
|
||||
<div class="centerbox" style="color: rgba(78, 166, 255, 1)">
|
||||
创建任务
|
||||
@@ -631,18 +640,18 @@
|
||||
</div>
|
||||
<div class="groupright">
|
||||
<div class="btn1" @click="searchStu">
|
||||
<img src="../../assets/images/courseManage/search0.png"/>
|
||||
<img src="../../assets/images/courseManage/search0.png" />
|
||||
<span class="btn1text">搜索</span>
|
||||
</div>
|
||||
<div class="btn2" @click="resetCancel">
|
||||
<img src="../../assets/images/courseManage/reset1.png"/>
|
||||
<img src="../../assets/images/courseManage/reset1.png" />
|
||||
<span class="btn2text">重置</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="second2" style="margin-top: 20px">
|
||||
<div class="btn1" @click="showStuAdd">
|
||||
<img src="../../assets/images/courseManage/add0.png"/>
|
||||
<img src="../../assets/images/courseManage/add0.png" />
|
||||
<span class="btn1text">添加学员</span>
|
||||
</div>
|
||||
<!-- 2022-11-30注释 后面放开 -->
|
||||
@@ -651,12 +660,12 @@
|
||||
<span class="btn2text">导入学员</span>
|
||||
</div> -->
|
||||
<div class="btn2" @click="showAllDelete">
|
||||
<img src="../../assets/images/projectadd/delete.png"/>
|
||||
<img src="../../assets/images/projectadd/delete.png" />
|
||||
<span class="btn2text">批量删除</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="talk">
|
||||
<img class="im" src="../../assets/images/leveladd/gan.png"/>
|
||||
<img class="im" src="../../assets/images/leveladd/gan.png" />
|
||||
<div class="xu">
|
||||
<span class="yi">已选择</span>
|
||||
<div style="width: 5px; display: inline-block"></div>
|
||||
@@ -719,22 +728,22 @@
|
||||
</div>
|
||||
<div class="groupright">
|
||||
<div class="btn1" @click="searchGroup">
|
||||
<img src="../../assets/images/courseManage/search0.png"/>
|
||||
<img src="../../assets/images/courseManage/search0.png" />
|
||||
<span class="btn1text">搜索</span>
|
||||
</div>
|
||||
<div class="btn2" @click="resetGroupName">
|
||||
<img src="../../assets/images/courseManage/reset1.png"/>
|
||||
<img src="../../assets/images/courseManage/reset1.png" />
|
||||
<span class="btn2text">重置</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="second2">
|
||||
<div class="btn1" @click="showModal2">
|
||||
<img src="../../assets/images/courseManage/add0.png"/>
|
||||
<img src="../../assets/images/courseManage/add0.png" />
|
||||
<span class="btn1text">创建小组</span>
|
||||
</div>
|
||||
<div class="btn2" @click="showSubset">
|
||||
<img src="../../assets/images/courseManage/reset2.png"/>
|
||||
<img src="../../assets/images/courseManage/reset2.png" />
|
||||
<span class="btn2text">随机分组</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -767,14 +776,14 @@
|
||||
<div class="leader">组长:{{ item.leaderName }}</div>
|
||||
<div class="grocenter">
|
||||
<div class="leader1">进度</div>
|
||||
<a-progress :percent="item.completeRatio"/>
|
||||
<a-progress :percent="item.completeRatio" />
|
||||
</div>
|
||||
<div
|
||||
class="grofooter"
|
||||
@click="showMemberList(item.projectGroupId)"
|
||||
>
|
||||
<div class="ftext">组员名单 ></div>
|
||||
<div class="peoples">
|
||||
<!-- <div class="peoples">
|
||||
<div class="people1">
|
||||
<img
|
||||
src="../../assets/images/taskpage/people1.png"
|
||||
@@ -795,7 +804,7 @@
|
||||
src="../../assets/images/taskpage/people4.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -807,15 +816,11 @@
|
||||
<a-tab-pane key="4" tab="公告">
|
||||
<div class="split"></div>
|
||||
<a-tabs v-model:activeKey="activeKeyNotice">
|
||||
<a-tab-pane key="11" tab="公告"
|
||||
>
|
||||
<NoticePub v-model:projectId="projectId"></NoticePub
|
||||
>
|
||||
<a-tab-pane key="11" tab="公告">
|
||||
<NoticePub v-model:projectId="projectId"></NoticePub>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="12" tab="历史公告" force-render
|
||||
>
|
||||
<NoticeHis v-model:projectId="projectId"></NoticeHis
|
||||
>
|
||||
<a-tab-pane key="12" tab="历史公告" force-render>
|
||||
<NoticeHis v-model:projectId="projectId"></NoticeHis>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</a-tab-pane>
|
||||
@@ -1014,14 +1019,23 @@
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>项目级别:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999"><ProjectLevel v-model:value="level" :disabled="true"></ProjectLevel></span>
|
||||
<span style="color: #999999"
|
||||
><ProjectLevel
|
||||
v-model:value="level"
|
||||
:disabled="true"
|
||||
></ProjectLevel
|
||||
></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
<div class="setc_name"><span>培训体系:</span></div>
|
||||
<div class="setc_main">
|
||||
<span style="color: #999999"><TrainClass v-model:value="systemId"
|
||||
:disabled="true"></TrainClass></span>
|
||||
<span style="color: #999999"
|
||||
><TrainClass
|
||||
v-model:value="systemId"
|
||||
:disabled="true"
|
||||
></TrainClass
|
||||
></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="set_content">
|
||||
@@ -1049,7 +1063,7 @@
|
||||
</div>
|
||||
<div class="btnbox" style="margin: 20px">
|
||||
<a-upload
|
||||
v-if="(docChecked==true)"
|
||||
v-if="docChecked == true"
|
||||
v-model:file-list="fileList"
|
||||
name="file"
|
||||
action="/manageApi/file/upload"
|
||||
@@ -1066,7 +1080,11 @@
|
||||
alt=""
|
||||
/>
|
||||
</a-upload>
|
||||
<div v-if="(docChecked==true)" class="btnbox" style="margin: 20px">
|
||||
<div
|
||||
v-if="docChecked == true"
|
||||
class="btnbox"
|
||||
style="margin: 20px"
|
||||
>
|
||||
<span style="color: #999999">
|
||||
支持:pdf.ppt.pptx.doc.docx.xls.xlsx.jpeg.png.gif.zip
|
||||
</span>
|
||||
@@ -1118,7 +1136,7 @@
|
||||
:title="showFaceText"
|
||||
/>
|
||||
<!-- 学员(小组管理)创建小组抽屉 -->
|
||||
<subset-manage v-model:Svisible="subsetVisivle"/>
|
||||
<subset-manage v-model:Svisible="subsetVisivle" />
|
||||
<!-- 学员管理-添加学员抽屉 -->
|
||||
<!-- <stu-add v-model:Stuvisible="Stuvisible" /> -->
|
||||
<!-- 添加学员抽屉 -->
|
||||
@@ -1130,7 +1148,7 @@
|
||||
classify="addstudent"
|
||||
/>
|
||||
<!-- 学员管理-导入学员抽屉 -->
|
||||
<import-stu v-model:Importvisible="Importvisible"/>
|
||||
<import-stu v-model:Importvisible="Importvisible" />
|
||||
<!-- 查看学员 传入查看学员的id-->
|
||||
<see-stu
|
||||
v-model:Seevisible="Seevisible"
|
||||
@@ -1153,9 +1171,9 @@
|
||||
v-model:projectId="projectId"
|
||||
/>
|
||||
<!-- 面授学员抽屉 -->
|
||||
<face-stu v-model:FSvisible="FSvisible"/>
|
||||
<face-stu v-model:FSvisible="FSvisible" />
|
||||
<!-- 活动考勤抽屉 -->
|
||||
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText"/>
|
||||
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText" />
|
||||
<!-- 作业管理抽屉 -->
|
||||
<work-manage
|
||||
v-model:Wvisible="Wvisible"
|
||||
@@ -1170,7 +1188,7 @@
|
||||
:itemsType="itemstype"
|
||||
/>
|
||||
<!-- 批量面授报名 -->
|
||||
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible"/>
|
||||
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
|
||||
|
||||
<!-- 概览(无数据)-项目发布弹窗 -->
|
||||
<div>
|
||||
@@ -1229,7 +1247,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="send">
|
||||
<a-switch v-model:checked="checked" size="small"/>
|
||||
<a-switch v-model:checked="checked" size="small" />
|
||||
<span class="sendtext">发送项目通知</span>
|
||||
</div>
|
||||
<div class="ckb">
|
||||
@@ -1487,7 +1505,7 @@
|
||||
</a-modal>
|
||||
</div>
|
||||
<!-- 编辑项目弹窗 -->
|
||||
<proj-set v-model:editHs="editHs" v-model:projectId="projectId"/>
|
||||
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" />
|
||||
|
||||
<!-- 二维码弹窗 -->
|
||||
<two-dimensional-code
|
||||
@@ -1672,9 +1690,9 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {reactive, toRefs, onMounted, watch, computed} from "vue";
|
||||
import {useRoute} from "vue-router";
|
||||
import {useRouter} from "vue-router";
|
||||
import { reactive, toRefs, onMounted, watch, computed } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
import { useRouter } from "vue-router";
|
||||
// import { CaretRightOutlined } from "@ant-design/icons-vue";
|
||||
import TimeManage from "../../components/drawers/TimeManage";
|
||||
import FaceManage from "../../components/drawers/FaceManage";
|
||||
@@ -1693,7 +1711,7 @@ import NoticePub from "../../components/drawers/NoticePub";
|
||||
import NoticeHis from "../../components/drawers/NoticeHis";
|
||||
// import ProjectScore from "../../components/drawers/ProjectScore";
|
||||
import TaskImpStu from "../../components/drawers/TaskFaceIn";
|
||||
import {storage} from "../../api/storage";
|
||||
import { storage } from "../../api/storage";
|
||||
import * as api from "../../api/index1";
|
||||
import * as apiproj from "../../api/index";
|
||||
import {
|
||||
@@ -1704,15 +1722,15 @@ import {
|
||||
editGroup,
|
||||
topStudent,
|
||||
} from "../../api/indexProjStu";
|
||||
import {message} from "ant-design-vue";
|
||||
import { message } from "ant-design-vue";
|
||||
import * as apitl from "../../api/index";
|
||||
import {getTask} from "../../api/indexTaskadd";
|
||||
import {editProj} from "../../api/indexTaskadd";
|
||||
import {toDate} from "../../api/method";
|
||||
import { getTask } from "../../api/indexTaskadd";
|
||||
import { editProj } from "../../api/indexTaskadd";
|
||||
import { toDate } from "../../api/method";
|
||||
import projSet from "../../components/Modals/projSet";
|
||||
import {overview} from "../../api/indexProjStu";
|
||||
import { overview } from "../../api/indexProjStu";
|
||||
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
|
||||
import {useStore} from "vuex";
|
||||
import { useStore } from "vuex";
|
||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||
import TrainClass from "@/components/project/TrainClass";
|
||||
|
||||
@@ -1812,23 +1830,23 @@ export default {
|
||||
projectTaskId: "", //项目任务任务id
|
||||
//进度排行学员
|
||||
rankjindu: [
|
||||
{value: "学员", label: "学员"},
|
||||
{value: "小组", label: "小组"},
|
||||
{ value: "学员", label: "学员" },
|
||||
{ value: "小组", label: "小组" },
|
||||
],
|
||||
valuestu1: "学员",
|
||||
//进度排行阶段
|
||||
rankjieduan: [{value: "第一阶段", label: "第一阶段"}],
|
||||
rankjieduan: [{ value: "第一阶段", label: "第一阶段" }],
|
||||
valuestu2: "第一阶段",
|
||||
//积分排行
|
||||
rankxuefen: [
|
||||
{value: "学员", label: "学员"},
|
||||
{value: "小组", label: "小组"},
|
||||
{ value: "学员", label: "学员" },
|
||||
{ value: "小组", label: "小组" },
|
||||
],
|
||||
valuestu3: "学员",
|
||||
//学时排行
|
||||
rankxueshi: [
|
||||
{value: "学员", label: "学员"},
|
||||
{value: "小组", label: "小组"},
|
||||
{ value: "学员", label: "学员" },
|
||||
{ value: "小组", label: "小组" },
|
||||
],
|
||||
valuestu4: "学员",
|
||||
visible: false, //时间管理
|
||||
@@ -1970,21 +1988,21 @@ export default {
|
||||
if (text.record.rank == "1") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/one.png")}
|
||||
/>
|
||||
);
|
||||
} else if (text.record.rank == "2") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/two.png")}
|
||||
/>
|
||||
);
|
||||
} else if (text.record.rank == "3") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/three.png")}
|
||||
/>
|
||||
);
|
||||
@@ -2077,21 +2095,21 @@ export default {
|
||||
if (text.record.rank == "1") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/one.png")}
|
||||
/>
|
||||
);
|
||||
} else if (text.record.rank == "2") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/two.png")}
|
||||
/>
|
||||
);
|
||||
} else if (text.record.rank == "3") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/three.png")}
|
||||
/>
|
||||
);
|
||||
@@ -2184,21 +2202,21 @@ export default {
|
||||
if (text.record.rank == "1") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/one.png")}
|
||||
/>
|
||||
);
|
||||
} else if (text.record.rank == "2") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/two.png")}
|
||||
/>
|
||||
);
|
||||
} else if (text.record.rank == "3") {
|
||||
return (
|
||||
<img
|
||||
style={{width: 24, height: 24}}
|
||||
style={{ width: 24, height: 24 }}
|
||||
src={require("../../assets/images/taskpage/three.png")}
|
||||
/>
|
||||
);
|
||||
@@ -2904,7 +2922,7 @@ export default {
|
||||
// width: 60,
|
||||
align: "center",
|
||||
className: "h",
|
||||
scopedSlots: {customRender: "action"}, //引入的插槽
|
||||
scopedSlots: { customRender: "action" }, //引入的插槽
|
||||
customRender: (text) => {
|
||||
// console.log(text);
|
||||
return (
|
||||
@@ -3066,7 +3084,7 @@ export default {
|
||||
//点击确认删除单个学员
|
||||
const closeDeleteOneConfirm = () => {
|
||||
state.deleteOneStu = false;
|
||||
state.loading = true
|
||||
state.loading = true;
|
||||
deleteStu({
|
||||
projectId: state.projectId,
|
||||
studentIds: state.chooseDeleteOne,
|
||||
@@ -3097,7 +3115,7 @@ export default {
|
||||
};
|
||||
//点击确定的批量删除弹窗
|
||||
const closeAllDelete = () => {
|
||||
state.loading = true
|
||||
state.loading = true;
|
||||
deleteStu({
|
||||
projectId: state.projectId,
|
||||
studentIds: state.selectedRows,
|
||||
@@ -3257,7 +3275,7 @@ export default {
|
||||
// studentData();
|
||||
}
|
||||
}
|
||||
state.loading = false
|
||||
state.loading = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("获取学员列表失败", err);
|
||||
@@ -3271,9 +3289,9 @@ export default {
|
||||
console.log("get task", res.data.data);
|
||||
let info = res.data.data.projectInfo;
|
||||
// let start = toDate(info.beginTime / 1000, "Y-M-D h:m");
|
||||
let start = info.beginTime
|
||||
let start = info.beginTime;
|
||||
// let end = toDate(info.endTime / 1000, "Y-M-D h:m");
|
||||
let end = info.endTime
|
||||
let end = info.endTime;
|
||||
state.tstartTime = info.beginTime;
|
||||
state.tendTime = info.endTime;
|
||||
state.tsourceBelong = info.sourceBelongName;
|
||||
@@ -3401,7 +3419,7 @@ export default {
|
||||
//start---------项目概览
|
||||
// 获取项目概览
|
||||
const getOverview = () => {
|
||||
overview({projectId: state.projectId})
|
||||
overview({ projectId: state.projectId })
|
||||
.then((res) => {
|
||||
Object.keys(res.data.data.projectInfoOverview).forEach((item) => {
|
||||
levelList.projectInfoOverview[item] =
|
||||
@@ -3425,7 +3443,7 @@ export default {
|
||||
};
|
||||
//end---------项目概览
|
||||
|
||||
const handleChange = ({file, fileList}) => {
|
||||
const handleChange = ({ file, fileList }) => {
|
||||
let list = [];
|
||||
if (file.status !== "uploading") {
|
||||
console.log("上传的list", fileList);
|
||||
@@ -3710,7 +3728,7 @@ export default {
|
||||
projectGroupId: 0,
|
||||
};
|
||||
console.log("obj", obj);
|
||||
state.loading = true
|
||||
state.loading = true;
|
||||
api
|
||||
.addStudentProject(obj)
|
||||
.then((res) => {
|
||||
@@ -3823,7 +3841,7 @@ export default {
|
||||
templateProject,
|
||||
changeGrouped,
|
||||
deFile,
|
||||
toDate
|
||||
toDate,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user