mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-14 05:16:45 +08:00
合并
This commit is contained in:
@@ -27,6 +27,54 @@
|
|||||||
@openChange="onOpenChange"
|
@openChange="onOpenChange"
|
||||||
@select="selectItem"
|
@select="selectItem"
|
||||||
>
|
>
|
||||||
|
<a-sub-menu key="sub10" @titleClick="titleClick">
|
||||||
|
<template #icon>
|
||||||
|
<div class="imgBox">
|
||||||
|
<img
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
src="../assets/images/navleft/project.png"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #title>审核管理</template>
|
||||||
|
<a-menu-item key="sub10-1">
|
||||||
|
<span
|
||||||
|
:class="{
|
||||||
|
circleActive: selectedKeys[0] === 'sub10-1' ? true : false,
|
||||||
|
circle: selectedKeys[0] === 'sub10-1' ? false : true,
|
||||||
|
}"
|
||||||
|
></span>
|
||||||
|
<router-link to="/coursereviewedn">待审核课程</router-link>
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item key="sub10-2">
|
||||||
|
<span
|
||||||
|
:class="{
|
||||||
|
circleActive: selectedKeys[0] === 'sub10-2' ? true : false,
|
||||||
|
circle: selectedKeys[0] === 'sub10-2' ? false : true,
|
||||||
|
}"
|
||||||
|
></span>
|
||||||
|
<router-link to="/coursereviewed">已审核课程</router-link>
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item key="sub10-3">
|
||||||
|
<span
|
||||||
|
:class="{
|
||||||
|
circleActive: selectedKeys[0] === 'sub10-3' ? true : false,
|
||||||
|
circle: selectedKeys[0] === 'sub10-3' ? false : true,
|
||||||
|
}"
|
||||||
|
></span>
|
||||||
|
<router-link to="/projecreviewedn">待审核项目</router-link>
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item key="sub10-4">
|
||||||
|
<span
|
||||||
|
:class="{
|
||||||
|
circleActive: selectedKeys[0] === 'sub10-4' ? true : false,
|
||||||
|
circle: selectedKeys[0] === 'sub10-4' ? false : true,
|
||||||
|
}"
|
||||||
|
></span>
|
||||||
|
<router-link to="/projecreviewed">已审核项目</router-link>
|
||||||
|
</a-menu-item>
|
||||||
|
</a-sub-menu>
|
||||||
|
|
||||||
<a-menu-item key="sub1" @titleClick="titleClick">
|
<a-menu-item key="sub1" @titleClick="titleClick">
|
||||||
<div class="imgBox">
|
<div class="imgBox">
|
||||||
<img
|
<img
|
||||||
@@ -246,6 +294,30 @@ export default {
|
|||||||
: ["sub1"], //默认选择以及选择的二级导航
|
: ["sub1"], //默认选择以及选择的二级导航
|
||||||
|
|
||||||
keysList: [
|
keysList: [
|
||||||
|
{
|
||||||
|
href: "/coursereviewedn",
|
||||||
|
openKeys: "sub10",
|
||||||
|
selectedKeys: "sub10-1",
|
||||||
|
pagename: "待审核课程",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: "/coursereviewed",
|
||||||
|
openKeys: "sub10",
|
||||||
|
selectedKeys: "sub10-2",
|
||||||
|
pagename: "已审核课程",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: "/projectviewedn",
|
||||||
|
openKeys: "sub10",
|
||||||
|
selectedKeys: "sub10-3",
|
||||||
|
pagename: "待审核项目",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: "/projectviewed",
|
||||||
|
openKeys: "sub10",
|
||||||
|
selectedKeys: "sub10-4",
|
||||||
|
pagename: "已审核项目",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
href: "/learningpath",
|
href: "/learningpath",
|
||||||
openKeys: "sub1",
|
openKeys: "sub1",
|
||||||
|
|||||||
@@ -97,7 +97,6 @@ export default {
|
|||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:assessmentVisible", false);
|
ctx.emit("update:assessmentVisible", false);
|
||||||
|
|
||||||
};
|
};
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log("state getAllInvistText", bool);
|
console.log("state getAllInvistText", bool);
|
||||||
|
|||||||
@@ -145,6 +145,9 @@ export default {
|
|||||||
}
|
}
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log("state", bool);
|
console.log("state", bool);
|
||||||
|
state.assessmentId=null;
|
||||||
|
state.assessmentName="";
|
||||||
|
state.assessment=null;
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateTask =()=>{
|
const updateTask =()=>{
|
||||||
|
|||||||
@@ -59,10 +59,10 @@
|
|||||||
<div class="mntc_left">
|
<div class="mntc_left">
|
||||||
<div class="notice_icon"></div>
|
<div class="notice_icon"></div>
|
||||||
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
|
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
|
||||||
>已选择 <span style="color: #388be1">4</span> 项</span
|
>已选择 <span style="color: #388be1">{{RowsNum}}</span> 项</span
|
||||||
>
|
>
|
||||||
<span style="color: rgba(0, 0, 0, 0.65)"
|
<span style="color: rgba(0, 0, 0, 0.65)"
|
||||||
>列表选项总计:<span>14</span> 条</span
|
>列表选项总计:<span>{{tableDataTotal}}</span> 条</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mntc_right">
|
<div class="mntc_right">
|
||||||
@@ -169,7 +169,8 @@ export default {
|
|||||||
time: undefined,
|
time: undefined,
|
||||||
assessmentId:null,
|
assessmentId:null,
|
||||||
assessmentName:"",
|
assessmentName:"",
|
||||||
tableData: [ ],
|
RowsNum: 0,
|
||||||
|
tableData: [],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 0,
|
tableDataTotal: 0,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
@@ -230,10 +231,24 @@ export default {
|
|||||||
return columns;
|
return columns;
|
||||||
};
|
};
|
||||||
const rowSelection = {
|
const rowSelection = {
|
||||||
|
checkStrictly: false,
|
||||||
|
onSelectAll: (selected) => {
|
||||||
|
console.log(selected);
|
||||||
|
if (selected == true) {
|
||||||
|
state.RowsNum = state.tableDataTotal
|
||||||
|
} else {
|
||||||
|
state.RowsNum = 0
|
||||||
|
}
|
||||||
|
},
|
||||||
onSelect: (selectedRows, selected, selectedRowKeys) => {
|
onSelect: (selectedRows, selected, selectedRowKeys) => {
|
||||||
console.log(
|
console.log(
|
||||||
"selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected);
|
"selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected);
|
||||||
console.log(selectedRows.assessmentId);
|
console.log(selectedRows.assessmentId);
|
||||||
|
if (selected == true) {
|
||||||
|
state.RowsNum++
|
||||||
|
} else {
|
||||||
|
state.RowsNum--
|
||||||
|
}
|
||||||
state.assessmentId = selectedRows.assessmentId;
|
state.assessmentId = selectedRows.assessmentId;
|
||||||
state.assessmentName = selectedRows.name;
|
state.assessmentName = selectedRows.name;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -17,9 +17,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="display: flex; flex-direction: row">
|
<div style="display: flex; flex-direction: row">
|
||||||
<a-button style="width:100px;"
|
<a-button style="width:100px;"
|
||||||
@click="()=>{isOuter = 1}"
|
@click="changeOuter(1)"
|
||||||
:class="[isOuter == 1? 'outer' : '' ]">系统考试</a-button>
|
:class="[isOuter == 1? 'outer' : '' ]">系统考试</a-button>
|
||||||
<a-button style="width:100px;" @click="()=>{isOuter = 2}"
|
<a-button style="width:100px;" @click="changeOuter(2)"
|
||||||
:class="[isOuter == 2? 'outer' : '' ]" >外部考试</a-button>
|
:class="[isOuter == 2? 'outer' : '' ]" >外部考试</a-button>
|
||||||
</div>
|
</div>
|
||||||
<a-form
|
<a-form
|
||||||
@@ -551,6 +551,10 @@ export default {
|
|||||||
formState.questionArrangement = "";
|
formState.questionArrangement = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const changeOuter = (value) => {
|
||||||
|
console.log(value)
|
||||||
|
state.isOuter = value
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
formState,
|
formState,
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
@@ -569,6 +573,7 @@ export default {
|
|||||||
rules,
|
rules,
|
||||||
updateTest,
|
updateTest,
|
||||||
queryTest,
|
queryTest,
|
||||||
|
changeOuter,
|
||||||
...toRefs(state)
|
...toRefs(state)
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
/>
|
/>
|
||||||
<div class="votename">创建投票:</div>
|
<div class="votename">创建投票:</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="votebtn">创建投票</div>
|
<div class="votebtn" @click="showVoteDrawer">创建投票</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 创建投票 -->
|
<!-- 创建投票 -->
|
||||||
<!-- 起止时间 -->
|
<!-- 起止时间 -->
|
||||||
@@ -135,6 +135,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
|
<a-drawer
|
||||||
|
v-model:visible="voteDrawerShow"
|
||||||
|
class="custom-class"
|
||||||
|
title="创建投票"
|
||||||
|
placement="right"
|
||||||
|
@after-visible-change="afterVoteVisibleChange"
|
||||||
|
>
|
||||||
|
<p>Some contents...</p>
|
||||||
|
<p>Some contents...</p>
|
||||||
|
<p>Some contents...</p>
|
||||||
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
@@ -147,7 +158,9 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({});
|
const state = reactive({
|
||||||
|
voteDrawerShow:false,
|
||||||
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:addvoteVisible", false);
|
ctx.emit("update:addvoteVisible", false);
|
||||||
};
|
};
|
||||||
@@ -160,12 +173,20 @@ export default {
|
|||||||
state.visible = true;
|
state.visible = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const showVoteDrawer = () => {
|
||||||
|
state.voteDrawerShow = true;
|
||||||
|
}
|
||||||
|
const afterVoteVisibleChange = () => {
|
||||||
|
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
showDrawer,
|
showDrawer,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
// change,
|
// change,
|
||||||
|
showVoteDrawer,
|
||||||
|
afterVoteVisibleChange
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -239,9 +239,10 @@ export default {
|
|||||||
}
|
}
|
||||||
// for (let i = 0; i < state.questions.length; i++) {
|
// for (let i = 0; i < state.questions.length; i++) {
|
||||||
// for (let k = 0; k < state.questions[i].options.length; k++) {
|
// for (let k = 0; k < state.questions[i].options.length; k++) {
|
||||||
// // console.log('1111111111111111', state.questions);
|
// console.log('1111111111111111', state.questions);
|
||||||
// // console.log('2222222222222222', state.questions[i].options);
|
// console.log('2222222222222222', state.questions[i]);
|
||||||
|
// console.log(' state.questions[i].inputV', state.questions[i].inputV,);
|
||||||
|
// console.log('state.questions[i].options[k].opvalue',state.questions[i].options[k].opvalue)
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
let obj = {
|
let obj = {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">【面授】管理</div>
|
<div class="headerTitle">【{{title}}】管理</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -70,6 +70,9 @@
|
|||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">导出数据</div>
|
<div class="wz">导出数据</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn btn2">
|
||||||
|
<div class="wz">导出作业</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line">
|
<div class="line">
|
||||||
<div class="inline">
|
<div class="inline">
|
||||||
@@ -162,6 +165,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
projectTaskId: {
|
projectTaskId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
@@ -199,16 +206,7 @@ export default {
|
|||||||
label: "已完成",
|
label: "已完成",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
tabledata: [
|
tabledata: [],
|
||||||
// {
|
|
||||||
// key: 1,
|
|
||||||
// name: "哈哈",
|
|
||||||
// bum: "产品部",
|
|
||||||
// gangw: "产品经理",
|
|
||||||
// score: "-",
|
|
||||||
// state: "未完成",
|
|
||||||
// },
|
|
||||||
],
|
|
||||||
tablecolumns: [
|
tablecolumns: [
|
||||||
{
|
{
|
||||||
title: "姓名",
|
title: "姓名",
|
||||||
@@ -250,8 +248,53 @@ export default {
|
|||||||
align: "center",
|
align: "center",
|
||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
dataIndex: "operation",
|
||||||
|
key: "operation",
|
||||||
|
width: 100,
|
||||||
|
align: "center",
|
||||||
|
className: "h",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
//面授直播管理列表操作
|
||||||
|
const ListOpera = () => {
|
||||||
|
let arr = state.tabledata;
|
||||||
|
console.log(arr,'-=-=-=-=-=-=-=-=--=-==----=-=-=-');
|
||||||
|
arr.map((value) => {
|
||||||
|
value.operation = (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="studentopea1"
|
||||||
|
onClick={() => {
|
||||||
|
console.log('---------')
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看作业
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class="studentopea2"
|
||||||
|
onClick={() => {
|
||||||
|
console.log( "--------");
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
查看答卷
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
state.tabledata = arr;
|
||||||
|
console.log(state.tabledata,'++++++++++++-------------+++++++++-----------+++++++++++++++');
|
||||||
|
};
|
||||||
|
ListOpera();
|
||||||
const selectProjectName = (value, index) => {
|
const selectProjectName = (value, index) => {
|
||||||
console.log("value", value, index);
|
console.log("value", value, index);
|
||||||
state.projectName = value;
|
state.projectName = value;
|
||||||
@@ -362,7 +405,7 @@ export default {
|
|||||||
let timer;
|
let timer;
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// getManageList();
|
getManageList();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
timer = setInterval(() => {
|
timer = setInterval(() => {
|
||||||
state.open = false;
|
state.open = false;
|
||||||
@@ -379,6 +422,7 @@ export default {
|
|||||||
onSelectChange,
|
onSelectChange,
|
||||||
showModal,
|
showModal,
|
||||||
closeModal,
|
closeModal,
|
||||||
|
ListOpera, //渲染列表操作
|
||||||
showEntryScore,
|
showEntryScore,
|
||||||
showdoneModal,
|
showdoneModal,
|
||||||
closedoneModal,
|
closedoneModal,
|
||||||
|
|||||||
@@ -219,10 +219,6 @@ export default {
|
|||||||
const onChange = (pageNumber) => {
|
const onChange = (pageNumber) => {
|
||||||
console.log("Page: ", pageNumber);
|
console.log("Page: ", pageNumber);
|
||||||
};
|
};
|
||||||
|
|
||||||
// watch(props.visible, ()=>{
|
|
||||||
// getManageList()
|
|
||||||
// },{immediate:true});
|
|
||||||
//获取任务管理列表
|
//获取任务管理列表
|
||||||
const getManageList = () => {
|
const getManageList = () => {
|
||||||
let obj = {
|
let obj = {
|
||||||
@@ -237,7 +233,6 @@ export default {
|
|||||||
api
|
api
|
||||||
.taskStudentList(obj)
|
.taskStudentList(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("csscas成功");
|
|
||||||
state.pageNo = res.data.data.pageNo;
|
state.pageNo = res.data.data.pageNo;
|
||||||
state.pageSize = res.data.data.pageSize;
|
state.pageSize = res.data.data.pageSize;
|
||||||
state.pageSize = res.data.data.pageSize;
|
state.pageSize = res.data.data.pageSize;
|
||||||
@@ -291,7 +286,7 @@ export default {
|
|||||||
let timer;
|
let timer;
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// getManageList();
|
getManageList();
|
||||||
}, 500);
|
}, 500);
|
||||||
timer = setInterval(() => {
|
timer = setInterval(() => {
|
||||||
state.open = false;
|
state.open = false;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div class="drawerMain">
|
<div class="drawerMain">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">【作业】管理</div>
|
<div class="headerTitle">【{{title}}】管理</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@@ -65,6 +65,9 @@
|
|||||||
<div class="btn btn2" @click="showModal">
|
<div class="btn btn2" @click="showModal">
|
||||||
<div class="wz">导出作业</div>
|
<div class="wz">导出作业</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="btn btn2" @click="showModal">
|
||||||
|
<div class="wz">导入成绩</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
|
<div class="tab" style="margin-top: 20px; margin-bottom: 100px">
|
||||||
<a-table
|
<a-table
|
||||||
@@ -139,6 +142,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
projectTaskId: {
|
projectTaskId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
@@ -312,7 +319,7 @@ export default {
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// getManageList();
|
getManageList();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 创建投票侧弹窗 -->
|
<!-- 创建投票侧弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<cre-vote
|
<create-vote
|
||||||
v-model:crevoteVisible="crevotevisible"
|
v-model:crevoteVisible="crevotevisible"
|
||||||
@getData="getStemId"
|
@getData="getStemId"
|
||||||
v-model:ballotId="ballotId"
|
v-model:ballotId="ballotId"
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs} from "vue";
|
import { reactive, toRefs} from "vue";
|
||||||
import CreVote from "./CreateVote.vue";
|
import CreateVote from "./CreateVote.vue";
|
||||||
import * as api from "../../api/indexVote";
|
import * as api from "../../api/indexVote";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { RouterEditTask } from "@/api/indexTask";
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
@@ -147,7 +147,7 @@ import * as apiTask from "../../api/indexTaskadd";
|
|||||||
export default {
|
export default {
|
||||||
name: "AddVote",
|
name: "AddVote",
|
||||||
components: {
|
components: {
|
||||||
CreVote,
|
CreateVote,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
addvoteVisible: {
|
addvoteVisible: {
|
||||||
|
|||||||
@@ -1,128 +1,86 @@
|
|||||||
<!-- 评估管理-创建评估页面 -->
|
<!-- 评估管理-创建评估页面 -->
|
||||||
<template>
|
<template>
|
||||||
<a-drawer
|
<a-drawer :visible="createVoteVisible" class="drawerStyle createvoteDrawer" width="100%" placement="right"
|
||||||
:visible="createVoteVisible"
|
@after-visible-change="afterVisibleChange">
|
||||||
class="drawerStyle createvoteDrawer"
|
<div class="researchadd">
|
||||||
width="80%"
|
|
||||||
placement="right"
|
|
||||||
@after-visible-change="afterVisibleChange"
|
|
||||||
>
|
|
||||||
<div class="researchadd">
|
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">创建投票</div>
|
<div class="headerTitle">创建投票</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="closeDrawer" />
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
@click="closeDrawer"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="main_left">
|
<div class="main_left">
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
<img
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">投票名称:</span>
|
<span style="margin-right: 3px">投票名称:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input
|
<a-input v-model:value="voteName" style="width: 424px; height: 32px" placeholder="请输入任务名称" maxlength="20" />
|
||||||
v-model:value="voteName"
|
|
||||||
style="width: 424px; height: 32px"
|
|
||||||
placeholder="请输入任务名称"
|
|
||||||
maxlength="20"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
<img
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span>创建题干:</span>
|
<span>创建题干:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<button
|
<button class="xkbtn" @click="handleTypes">
|
||||||
class="xkbtn"
|
添加题干
|
||||||
@click="handleTypes"
|
|
||||||
>
|
|
||||||
创建题干
|
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div> <!-- 创建投票侧弹窗 -->
|
</div> <!-- 创建投票侧弹窗 -->
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(item, index) in allFormsData" :key="index">
|
<div v-for="(item, index) in allFormsData" :key="index">
|
||||||
<VoteQuestion
|
<VoteQuestion :item="item" :ballotId="ballotId" @del="handleDel" />
|
||||||
:item="item"
|
|
||||||
:ballotId="ballotId"
|
|
||||||
@del="handleDel"
|
|
||||||
|
|
||||||
/>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<a-button
|
<a-button type="primary" style="width: 100px;height: 40px;border-radius: 8px; background-color: #409eff;"
|
||||||
type="primary"
|
@click="handleSave">
|
||||||
style="width: 100px;height: 40px;border-radius: 8px; background-color: #409eff;"
|
|
||||||
@click="handleSave"
|
|
||||||
>
|
|
||||||
保存
|
保存
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button
|
<a-button type="primary" ghost style="width: 100px;height: 40px;margin-left: 14px;border-radius: 8px;"
|
||||||
type="primary"
|
@click="handleAllCancel">
|
||||||
ghost
|
|
||||||
style="width: 100px;height: 40px;margin-left: 14px;border-radius: 8px;"
|
|
||||||
@click="handleAllCancel"
|
|
||||||
>
|
|
||||||
取消
|
取消
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive,toRefs} from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
// import { message } from "ant-design-vue";
|
// import { message } from "ant-design-vue";
|
||||||
// import { createResearch } from "../../api/indexResearch";
|
// import { createResearch } from "../../api/indexResearch";
|
||||||
import VoteQuestion from "./VoteQuestion.vue";
|
import VoteQuestion from "./VoteQuestion.vue";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
// sortBy,
|
// sortBy,
|
||||||
traverseArr,
|
traverseArr,
|
||||||
// filterCommon,
|
// filterCommon,
|
||||||
// deepCloneFilterString,
|
// deepCloneFilterString,
|
||||||
} from "../../utils/utils";
|
} from "../../utils/utils";
|
||||||
|
|
||||||
|
|
||||||
//import store from "@/store";
|
//import store from "@/store";
|
||||||
import {
|
import * as api from "@/api/indexVote";
|
||||||
//createOptionMessage,
|
import {} from "@/api/indexResearch";
|
||||||
queryStemByStemId
|
|
||||||
}from "@/api/indexVote";
|
|
||||||
import {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} from "@/api/indexResearch";
|
|
||||||
//import { message } from "ant-design-vue";
|
//import { message } from "ant-design-vue";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "CreateVote",
|
name: "CreateVote",
|
||||||
components: {
|
components: {
|
||||||
VoteQuestion,
|
VoteQuestion,
|
||||||
|
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
createVoteVisible: {
|
createVoteVisible: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
@@ -136,8 +94,8 @@ props: {
|
|||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
setup(props,ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
ballotId: "",
|
ballotId: "",
|
||||||
ballotName: "",
|
ballotName: "",
|
||||||
@@ -157,7 +115,8 @@ setup(props,ctx) {
|
|||||||
const getInfoDate = async () => {
|
const getInfoDate = async () => {
|
||||||
if (props.editChild) {
|
if (props.editChild) {
|
||||||
//stemId 多余字段
|
//stemId 多余字段
|
||||||
let res = await queryStemByStemId({stemId:0,
|
let res = await api.queryStemByStemId({
|
||||||
|
stemId: 0,
|
||||||
ballotId: state.ballotId,
|
ballotId: state.ballotId,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
@@ -347,10 +306,10 @@ setup(props,ctx) {
|
|||||||
],
|
],
|
||||||
};
|
};
|
||||||
state.allFormsData.push(obj);
|
state.allFormsData.push(obj);
|
||||||
console.log("state.allFormsData=====",state.allFormsData,state.allFormsData.length);
|
console.log("state.allFormsData=====", state.allFormsData, state.allFormsData.length);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleDel = ({ id ,curItem}) => {
|
const handleDel = ({ id, curItem }) => {
|
||||||
state.allFormsData.forEach((item, index) => {
|
state.allFormsData.forEach((item, index) => {
|
||||||
if (item.id === id) {
|
if (item.id === id) {
|
||||||
state.allFormsData.splice(index, 1);
|
state.allFormsData.splice(index, 1);
|
||||||
@@ -360,11 +319,9 @@ setup(props,ctx) {
|
|||||||
item.id = index + 1;
|
item.id = index + 1;
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
console.log("curItem.orderNumber",curItem.orderNumber);
|
console.log("curItem.orderNumber", curItem.orderNumber);
|
||||||
|
|
||||||
// orderNumber: curItem.orderNumber,
|
// orderNumber: curItem.orderNumber,
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSave = () => {
|
const handleSave = () => {
|
||||||
@@ -495,7 +452,7 @@ setup(props,ctx) {
|
|||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@@ -508,6 +465,7 @@ setup(props,ctx) {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
margin-bottom: 25px;
|
margin-bottom: 25px;
|
||||||
|
|
||||||
.headerTitle {
|
.headerTitle {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@@ -516,27 +474,34 @@ setup(props,ctx) {
|
|||||||
margin-left: 24px;
|
margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.main_left {
|
.main_left {
|
||||||
|
margin-left: 50px;
|
||||||
padding-right: 30px;
|
padding-right: 30px;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
border-right: 1px solid #e8e8e8;
|
border-right: 1px solid #e8e8e8;
|
||||||
|
|
||||||
.main_item {
|
.main_item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.sign {
|
.sign {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnbox {
|
.btnbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.xkbtn {
|
.xkbtn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 130px;
|
width: 130px;
|
||||||
@@ -548,14 +513,17 @@ setup(props,ctx) {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fileTigan {
|
.fileTigan {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
background-color: rgba(42, 103, 209, 0.4);
|
background-color: rgba(42, 103, 209, 0.4);
|
||||||
|
|
||||||
span {
|
span {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.delBox {
|
.delBox {
|
||||||
width: 13px;
|
width: 13px;
|
||||||
height: 13px;
|
height: 13px;
|
||||||
@@ -566,28 +534,34 @@ setup(props,ctx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.main_item2 {
|
.main_item2 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.sign {
|
.sign {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.kqszbox {
|
.kqszbox {
|
||||||
.qdqtbox {
|
.qdqtbox {
|
||||||
margin-left: 56px;
|
margin-left: 56px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.setbox {
|
.setbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 24px;
|
margin-bottom: 24px;
|
||||||
|
|
||||||
.timerbox {
|
.timerbox {
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
margin-right: 32px;
|
margin-right: 32px;
|
||||||
@@ -597,10 +571,12 @@ setup(props,ctx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnbox2 {
|
.btnbox2 {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
|
|
||||||
.xkbtn {
|
.xkbtn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 130px;
|
width: 130px;
|
||||||
|
|||||||
@@ -1,4 +1,12 @@
|
|||||||
import { createRouter, createWebHashHistory } from 'vue-router';
|
/*
|
||||||
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
|
* @Date: 2022-11-09 09:26:26
|
||||||
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
|
* @LastEditTime: 2022-11-16 09:56:16
|
||||||
|
* @FilePath: /fe-manage/src/router/index.js
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
*/
|
||||||
|
import { createRouter,createWebHistory } from 'vue-router';
|
||||||
import routesConfig from './config';
|
import routesConfig from './config';
|
||||||
console.log('routesConfig', routesConfig)
|
console.log('routesConfig', routesConfig)
|
||||||
|
|
||||||
@@ -12,7 +20,7 @@ const routes = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHashHistory(),
|
history: createWebHistory(),
|
||||||
routes
|
routes
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
39
src/views/examine/CourseReviewed.vue
Normal file
39
src/views/examine/CourseReviewed.vue
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
|
* @Date: 2022-11-16 20:59:06
|
||||||
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
|
* @LastEditTime: 2022-11-16 21:08:27
|
||||||
|
* @FilePath: /fe-manage/src/views/examine/CourseReviewed.vue
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%A
|
||||||
|
-->
|
||||||
|
<!-- 已审核课程页面 -->
|
||||||
|
<template>
|
||||||
|
<div class="coursereviewed">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs, } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "CoursereViewed",
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const state = reactive({
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.coursereviewed {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
39
src/views/examine/CourseReviewedN.vue
Normal file
39
src/views/examine/CourseReviewedN.vue
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
|
* @Date: 2022-11-16 20:59:33
|
||||||
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
|
* @LastEditTime: 2022-11-16 21:09:01
|
||||||
|
* @FilePath: /fe-manage/src/views/examine/CourseReviewedN.vue
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
-->
|
||||||
|
<!-- 待审核课程页面 -->
|
||||||
|
<template>
|
||||||
|
<div class="coursereviewedn">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs, } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "CoursereViewedN",
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const state = reactive({
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.coursereviewedn {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
39
src/views/examine/ProjectReviewed.vue
Normal file
39
src/views/examine/ProjectReviewed.vue
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
|
* @Date: 2022-11-16 21:00:40
|
||||||
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
|
* @LastEditTime: 2022-11-16 21:09:49
|
||||||
|
* @FilePath: /fe-manage/src/views/examine/ProjectReviewed.vue
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
-->
|
||||||
|
<!-- 待审核课程页面 -->
|
||||||
|
<template>
|
||||||
|
<div class="projectviewed">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs, } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ProjectViewed",
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const state = reactive({
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.projectviewed {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
38
src/views/examine/ProjectReviewedN.vue
Normal file
38
src/views/examine/ProjectReviewedN.vue
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
|
* @Date: 2022-11-16 21:01:51
|
||||||
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
|
* @LastEditTime: 2022-11-16 21:10:02
|
||||||
|
* @FilePath: /fe-manage/src/views/examine/ProjectReviewedN.vue
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="projectviewedn">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { reactive, toRefs, } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ProjectViewedN",
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
const state = reactive({
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.projectviewedn {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -323,6 +323,13 @@
|
|||||||
>
|
>
|
||||||
<!-- <img class="im" :src="item.source" /> -->
|
<!-- <img class="im" :src="item.source" /> -->
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
@click="showImgMore"
|
||||||
|
v-if="imgData.length >= 5"
|
||||||
|
class="learnBgItem"
|
||||||
|
>
|
||||||
|
<!-- <img class="im" :src="item.source" /> -->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
@@ -430,10 +437,10 @@
|
|||||||
<span>您确定要复制此路径吗</span>
|
<span>您确定要复制此路径吗</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1" @click="delete_exit">
|
<div class="del_btn btn1" @click="closeCopyModal">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2" @click="delete_exit">
|
<div class="del_btn btn2" @click="copyLearnPath">
|
||||||
<div class="btnText">确定</div>
|
<div class="btnText">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -724,6 +731,7 @@ export default {
|
|||||||
routeStudentsNum: 0,
|
routeStudentsNum: 0,
|
||||||
recallPathId: null, //撤回路径id
|
recallPathId: null, //撤回路径id
|
||||||
stopPathId: null, //停用路径id
|
stopPathId: null, //停用路径id
|
||||||
|
copyPathId: null, //复制路径iid
|
||||||
|
|
||||||
lpLoading: false,
|
lpLoading: false,
|
||||||
});
|
});
|
||||||
@@ -816,12 +824,34 @@ export default {
|
|||||||
const closePub = () => {
|
const closePub = () => {
|
||||||
state.pub = false;
|
state.pub = false;
|
||||||
};
|
};
|
||||||
|
//显示复制窗口
|
||||||
const showCopyModal = () => {
|
const showCopyModal = () => {
|
||||||
state.copyModal = true;
|
state.copyModal = true;
|
||||||
};
|
};
|
||||||
|
//关闭复制窗口
|
||||||
const closeCopyModal = () => {
|
const closeCopyModal = () => {
|
||||||
state.copyModal = false;
|
state.copyModal = false;
|
||||||
};
|
};
|
||||||
|
//确认复制
|
||||||
|
const copyLearnPath = () => {
|
||||||
|
let obj = {
|
||||||
|
routerId: state.copyPathId,
|
||||||
|
type: 2,
|
||||||
|
};
|
||||||
|
api
|
||||||
|
.handleLearnPath(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("复制成功", res);
|
||||||
|
message.destroy();
|
||||||
|
message.success("复制成功");
|
||||||
|
state.copyModal = false;
|
||||||
|
getLearnPath();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("复制失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
//显示结束窗口
|
//显示结束窗口
|
||||||
const showStopModal = () => {
|
const showStopModal = () => {
|
||||||
state.stopModal = true;
|
state.stopModal = true;
|
||||||
@@ -1137,6 +1167,7 @@ export default {
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
state.copyPathId = text.record.id;
|
||||||
showCopyModal();
|
showCopyModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -1177,6 +1208,7 @@ export default {
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
state.copyPathId = text.record.id;
|
||||||
showCopyModal();
|
showCopyModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -1230,6 +1262,7 @@ export default {
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
state.copyPathId = text.record.id;
|
||||||
showCopyModal();
|
showCopyModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -1491,6 +1524,7 @@ export default {
|
|||||||
closeCopyModal,
|
closeCopyModal,
|
||||||
showStopModal,
|
showStopModal,
|
||||||
closeStopModal,
|
closeStopModal,
|
||||||
|
copyLearnPath,
|
||||||
stopLearnPath,
|
stopLearnPath,
|
||||||
showDeleteModal,
|
showDeleteModal,
|
||||||
closeDeleteModal,
|
closeDeleteModal,
|
||||||
|
|||||||
@@ -1786,7 +1786,23 @@ export default {
|
|||||||
};
|
};
|
||||||
//确认复制
|
//确认复制
|
||||||
const sureCopy = () => {
|
const sureCopy = () => {
|
||||||
|
let obj = {
|
||||||
|
routerId: state.routerId,
|
||||||
|
type: 2,
|
||||||
|
};
|
||||||
|
api
|
||||||
|
.handleLearnPath(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("复制成功", res);
|
||||||
|
message.destroy();
|
||||||
|
message.success("复制成功");
|
||||||
state.dcopyModal = false;
|
state.dcopyModal = false;
|
||||||
|
reget();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("复制失败", err);
|
||||||
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
const showStop = () => {
|
const showStop = () => {
|
||||||
state.stopModal = true;
|
state.stopModal = true;
|
||||||
|
|||||||
@@ -107,7 +107,6 @@
|
|||||||
<div class="items2">
|
<div class="items2">
|
||||||
<div class="nname">{{ item.name }}</div>
|
<div class="nname">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -206,12 +205,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="mid">
|
<div class="mid">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="itcon">
|
<div class="itcon" @click="showDrawerAddOnline()">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<img src="../../assets/images/leveladd/zai.png" />
|
<img src="../../assets/images/leveladd/zai.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="text">在线</div>
|
<div class="text">在线</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 添加在线侧弹窗 -->
|
||||||
|
<div>
|
||||||
|
<add-online v-model:addonlineVisible="addonlinevisible" @changeData="updateTableData" v-model:edit="edit"
|
||||||
|
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
|
||||||
|
v-model:EditOnlineId="EditOnlineId" />
|
||||||
|
</div>
|
||||||
|
<!-- 添加在线侧弹窗 -->
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
@@ -224,12 +230,19 @@
|
|||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="itcon">
|
<div class="itcon" @click="showDrawerAddCase()">
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<img src="../../assets/images/leveladd/an.png" />
|
<img src="../../assets/images/leveladd/an.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="text">案例</div>
|
<div class="text">案例</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 添加案例侧弹窗 -->
|
||||||
|
<div>
|
||||||
|
<add-case v-model:addcaseVisible="addcasevisible" @changeData="updateTableData" v-model:edit="edit"
|
||||||
|
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
|
||||||
|
v-model:EditCaseId="EditCaseId" />
|
||||||
|
</div>
|
||||||
|
<!-- 添加案例侧弹窗 -->
|
||||||
<div class="lin"></div>
|
<div class="lin"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
@@ -953,6 +966,8 @@
|
|||||||
import { reactive, toRefs, onMounted, onUnmounted } from "vue";
|
import { reactive, toRefs, onMounted, onUnmounted } from "vue";
|
||||||
import AddStu from "../../components/drawers/AddLevelAddStu";
|
import AddStu from "../../components/drawers/AddLevelAddStu";
|
||||||
import ImpStu from "../../components/drawers/AddLevelImportStu";
|
import ImpStu from "../../components/drawers/AddLevelImportStu";
|
||||||
|
import AddOnline from "../../components/drawers/AddOnline.vue"
|
||||||
|
import AddCase from "../../components/drawers/AddCase.vue"
|
||||||
import AddHomework from "../../components/drawers/AddHomework.vue";
|
import AddHomework from "../../components/drawers/AddHomework.vue";
|
||||||
import AddTest from "../../components/drawers/AddTest.vue";
|
import AddTest from "../../components/drawers/AddTest.vue";
|
||||||
import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
|
import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
|
||||||
@@ -969,12 +984,17 @@ import { storage } from "../../api/storage";
|
|||||||
import { deleteStudyTask } from "../../api/indexStudy";
|
import { deleteStudyTask } from "../../api/indexStudy";
|
||||||
import draggable from "vuedraggable";
|
import draggable from "vuedraggable";
|
||||||
import { editTask } from "../../api/indexTaskadd";
|
import { editTask } from "../../api/indexTaskadd";
|
||||||
|
import * as apiProj from "../../api/indexInvist.js";
|
||||||
|
import { RouterEditTask } from "@/api/indexTask";
|
||||||
|
import dayjs from "dayjs";
|
||||||
import { toDate } from "../../api/method";
|
import { toDate } from "../../api/method";
|
||||||
export default {
|
export default {
|
||||||
name: "LevelAddDetail",
|
name: "LevelAddDetail",
|
||||||
components: {
|
components: {
|
||||||
AddStu,
|
AddStu,
|
||||||
ImpStu,
|
ImpStu,
|
||||||
|
AddOnline,
|
||||||
|
AddCase,
|
||||||
AddHomework,
|
AddHomework,
|
||||||
AddDiscuss,
|
AddDiscuss,
|
||||||
AddActive,
|
AddActive,
|
||||||
@@ -1087,104 +1107,108 @@ export default {
|
|||||||
time: "2022-07-15 14:00",
|
time: "2022-07-15 14:00",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
drawertableData: [
|
drawertableData: [],
|
||||||
{
|
// drawertableData: [
|
||||||
key: 1,
|
// {
|
||||||
projectName: "管理者进阶",
|
// key: 1,
|
||||||
manager: "黄华 刘俊",
|
// projectName: "管理者进阶",
|
||||||
creater: "毛继禹",
|
// manager: "黄华 刘俊",
|
||||||
time: "2022-07-20 14:00:03",
|
// creater: "毛继禹",
|
||||||
children: [
|
// time: "2022-07-20 14:00:03",
|
||||||
{
|
// children: [
|
||||||
key: "1-1",
|
// {
|
||||||
projectName: "管理者进阶-腾飞班",
|
// key: "1-1",
|
||||||
manager: "黄华 刘俊",
|
// projectName: "管理者进阶-腾飞班",
|
||||||
creater: "毛继禹",
|
// manager: "黄华 刘俊",
|
||||||
time: "2022-07-20 14:00:03",
|
// creater: "毛继禹",
|
||||||
children: [
|
// time: "2022-07-20 14:00:03",
|
||||||
{
|
// children: [
|
||||||
key: "1-1-1",
|
// {
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// key: "1-1-1",
|
||||||
manager: "黄华 刘俊",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
creater: "毛继禹",
|
// manager: "黄华 刘俊",
|
||||||
time: "2022-07-20 14:00:03",
|
// creater: "毛继禹",
|
||||||
},
|
// time: "2022-07-20 14:00:03",
|
||||||
],
|
// },
|
||||||
},
|
// ],
|
||||||
],
|
// },
|
||||||
},
|
// ],
|
||||||
{
|
// },
|
||||||
key: 2,
|
// {
|
||||||
projectName: "管理者进阶",
|
// key: 2,
|
||||||
manager: "黄华 刘俊",
|
// projectName: "管理者进阶",
|
||||||
creater: "毛继禹",
|
// manager: "黄华 刘俊",
|
||||||
time: "2022-07-20 14:00:03",
|
// creater: "毛继禹",
|
||||||
children: [
|
// time: "2022-07-20 14:00:03",
|
||||||
{
|
// children: [
|
||||||
key: "2-1",
|
// {
|
||||||
projectName: "管理者进阶-腾飞班",
|
// key: "2-1",
|
||||||
manager: "黄华 刘俊",
|
// projectName: "管理者进阶-腾飞班",
|
||||||
|
// manager: "黄华 刘俊",
|
||||||
|
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
children: [
|
// children: [
|
||||||
{
|
// {
|
||||||
key: "2-1-1",
|
// key: "2-1-1",
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
manager: "黄华 刘俊",
|
// manager: "黄华 刘俊",
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
|
|
||||||
{
|
// {
|
||||||
key: 3,
|
// key: 3,
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
manager: "黄华 刘俊",
|
// manager: "黄华 刘俊",
|
||||||
|
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
key: 4,
|
// key: 4,
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
manager: "黄华 刘俊",
|
// manager: "黄华 刘俊",
|
||||||
|
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
key: 5,
|
// key: 5,
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
manager: "黄华 刘俊",
|
// manager: "黄华 刘俊",
|
||||||
|
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
key: 6,
|
// key: 6,
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
manager: "黄华 刘俊",
|
// manager: "黄华 刘俊",
|
||||||
|
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
key: 7,
|
// key: 7,
|
||||||
projectName: "管理者进阶-腾飞班K1",
|
// projectName: "管理者进阶-腾飞班K1",
|
||||||
manager: "黄华 刘俊",
|
// manager: "黄华 刘俊",
|
||||||
|
|
||||||
creater: "毛继禹",
|
// creater: "毛继禹",
|
||||||
time: "2022-07-20 14:00:03",
|
// time: "2022-07-20 14:00:03",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
tableDataTotal: 100,
|
tableDataTotal: 0,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
visible: false,
|
visible: false,
|
||||||
|
//项目
|
||||||
|
editproj: false,
|
||||||
|
addprojvisible: false,
|
||||||
AddSvisible: false, //添加学员抽屉
|
AddSvisible: false, //添加学员抽屉
|
||||||
AddImpStuvisible: false, //导入学员抽屉
|
AddImpStuvisible: false, //导入学员抽屉
|
||||||
addlivevisible: false, //添加直播抽屉
|
addlivevisible: false, //添加直播抽屉
|
||||||
@@ -1197,7 +1221,9 @@ export default {
|
|||||||
deleteModal: false, // 删除弹窗
|
deleteModal: false, // 删除弹窗
|
||||||
deleteID: "", // 要删除的任务的id
|
deleteID: "", // 要删除的任务的id
|
||||||
editID: "", // 要编辑的任务id
|
editID: "", // 要编辑的任务id
|
||||||
EditWorkId: "", // 要编辑的 workid
|
EditOnlineId:"", // 要编辑的 workid
|
||||||
|
EditCaseId:"",
|
||||||
|
EditWorkId: "",
|
||||||
EditTestId: "",
|
EditTestId: "",
|
||||||
EditRefId: "",
|
EditRefId: "",
|
||||||
EditLiveId: "",
|
EditLiveId: "",
|
||||||
@@ -1206,6 +1232,8 @@ export default {
|
|||||||
EditEvalId: "",
|
EditEvalId: "",
|
||||||
EditInvistId: "",
|
EditInvistId: "",
|
||||||
EditVoteId: "",
|
EditVoteId: "",
|
||||||
|
//项目
|
||||||
|
EditProjId: "",
|
||||||
routerTaskId: "",
|
routerTaskId: "",
|
||||||
chapterId: "",
|
chapterId: "",
|
||||||
stageId: "",
|
stageId: "",
|
||||||
@@ -1221,6 +1249,8 @@ export default {
|
|||||||
adddiscussvisible: false, //讨论抽屉
|
adddiscussvisible: false, //讨论抽屉
|
||||||
isStudiscuss: false,
|
isStudiscuss: false,
|
||||||
addactivevisible: false, //活动抽屉
|
addactivevisible: false, //活动抽屉
|
||||||
|
addonlinevisible:false,
|
||||||
|
addcasevisible:false,
|
||||||
addhomeworkvisible: false,
|
addhomeworkvisible: false,
|
||||||
addtestvisible: false,
|
addtestvisible: false,
|
||||||
addevalvisible: false,
|
addevalvisible: false,
|
||||||
@@ -1235,6 +1265,13 @@ export default {
|
|||||||
styTitle: null,
|
styTitle: null,
|
||||||
creTime: null,
|
creTime: null,
|
||||||
picUrl: null,
|
picUrl: null,
|
||||||
|
//项目抽屉参数
|
||||||
|
time: undefined,
|
||||||
|
assessmentId: null,
|
||||||
|
assessmentName: "",
|
||||||
|
projectId: null,
|
||||||
|
projectTaskId: null,
|
||||||
|
chooseStageId: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
//新建关卡
|
//新建关卡
|
||||||
@@ -1285,6 +1322,23 @@ export default {
|
|||||||
const showDrawer = () => {
|
const showDrawer = () => {
|
||||||
state.visible = true;
|
state.visible = true;
|
||||||
};
|
};
|
||||||
|
//关闭项目抽屉
|
||||||
|
const leaveProjDrawer = () => {
|
||||||
|
state.addprojvisible = false;
|
||||||
|
state.isLevel = false;
|
||||||
|
};
|
||||||
|
//在线抽屉
|
||||||
|
const showDrawerAddOnline = (id,eleId)=>{
|
||||||
|
state.addonlinevisible = true;
|
||||||
|
state.EditWorkId = id;
|
||||||
|
state.routerTaskId = eleId;
|
||||||
|
}
|
||||||
|
//案例抽屉
|
||||||
|
const showDrawerAddCase = (id,eleId)=>{
|
||||||
|
state.addcasevisible = true;
|
||||||
|
state.EditWorkId = id;
|
||||||
|
state.routerTaskId = eleId;
|
||||||
|
}
|
||||||
// 作业和考试的抽屉
|
// 作业和考试的抽屉
|
||||||
const showDrawerAddHomework = (id, eleId) => {
|
const showDrawerAddHomework = (id, eleId) => {
|
||||||
console.log("homework==============", id, state.isactive);
|
console.log("homework==============", id, state.isactive);
|
||||||
@@ -1337,6 +1391,12 @@ export default {
|
|||||||
state.EditActiveId = id;
|
state.EditActiveId = id;
|
||||||
state.routerTaskId = eleId;
|
state.routerTaskId = eleId;
|
||||||
};
|
};
|
||||||
|
//打开项目抽屉
|
||||||
|
const showDrawerAddProj = (id, eleId) => {
|
||||||
|
state.addprojvisible = true;
|
||||||
|
state.EditActiveId = id;
|
||||||
|
state.routerTaskId = eleId;
|
||||||
|
};
|
||||||
|
|
||||||
// tableData数据赋值方法
|
// tableData数据赋值方法
|
||||||
const dataAssignment = (id) => {
|
const dataAssignment = (id) => {
|
||||||
@@ -1525,23 +1585,11 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const drawertableColumns = () => {
|
const drawertableColumns = () => {
|
||||||
// let arr = state.drawertableData;
|
|
||||||
// function traverse(arr) {
|
|
||||||
// for (var a in arr) {
|
|
||||||
// // console.log(arr[a]);
|
|
||||||
// if (arr[a].children) {
|
|
||||||
// traverse(arr[a].children); //递归遍历
|
|
||||||
// } else {
|
|
||||||
// console.log(arr[a].children); //如果是值就显示
|
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// traverse(arr);
|
|
||||||
const drawercolumns = [
|
const drawercolumns = [
|
||||||
{
|
{
|
||||||
title: "项目名称",
|
title: "项目名称",
|
||||||
dataIndex: "projectName",
|
dataIndex: "name",
|
||||||
|
// dataIndex: "projectName",
|
||||||
key: "projectName",
|
key: "projectName",
|
||||||
width: 200,
|
width: 200,
|
||||||
// align: "center",
|
// align: "center",
|
||||||
@@ -1584,7 +1632,7 @@ export default {
|
|||||||
|
|
||||||
{
|
{
|
||||||
title: "创建人",
|
title: "创建人",
|
||||||
dataIndex: "creater",
|
dataIndex: "creator",
|
||||||
// width: "30%",
|
// width: "30%",
|
||||||
key: "creater",
|
key: "creater",
|
||||||
width: 100,
|
width: 100,
|
||||||
@@ -1614,6 +1662,7 @@ export default {
|
|||||||
"rgb(245, 247, 250,1)";
|
"rgb(245, 247, 250,1)";
|
||||||
document.getElementsByTagName("main")[0].style.boxShadow = "none";
|
document.getElementsByTagName("main")[0].style.boxShadow = "none";
|
||||||
getDetail();
|
getDetail();
|
||||||
|
getAllProjText();
|
||||||
});
|
});
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
document.getElementsByTagName("main")[0].style.background = "#ffffff";
|
document.getElementsByTagName("main")[0].style.background = "#ffffff";
|
||||||
@@ -1792,6 +1841,12 @@ export default {
|
|||||||
showDrawerAddEval(id, eleId);
|
showDrawerAddEval(id, eleId);
|
||||||
} else if (type == "投票") {
|
} else if (type == "投票") {
|
||||||
showDrawerAddVote(id, eleId);
|
showDrawerAddVote(id, eleId);
|
||||||
|
} else if (type == "项目") {
|
||||||
|
showDrawerAddProj(id, eleId);
|
||||||
|
} else if (type == "在线") {
|
||||||
|
showDrawerAddOnline(id, eleId);
|
||||||
|
} else if (type == "案例") {
|
||||||
|
showDrawerAddCase(id, eleId);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
//删除关卡
|
//删除关卡
|
||||||
@@ -1850,6 +1905,78 @@ export default {
|
|||||||
console.log("阶段改变", value, option);
|
console.log("阶段改变", value, option);
|
||||||
state.removeStageId = option.chapterId;
|
state.removeStageId = option.chapterId;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//项目抽屉用的
|
||||||
|
const rowSelection = {
|
||||||
|
onSelect: (selectedRows, selected, selectedRowKeys) => {
|
||||||
|
console.log(
|
||||||
|
"selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected);
|
||||||
|
console.log(selectedRows.assessmentId);
|
||||||
|
state.assessmentId = selectedRows.assessmentId;
|
||||||
|
state.assessmentName = selectedRows.name;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const getTableDate = (drawertableData) => {
|
||||||
|
let data = drawertableData;
|
||||||
|
let array = [];
|
||||||
|
data.map((value, index) => {
|
||||||
|
let obj = {
|
||||||
|
key: index,
|
||||||
|
assessmentId: value.assessmentId,
|
||||||
|
num: value.essayQuestionVoList.length,
|
||||||
|
name: value.assessmentName ? value.assessmentName : "-",
|
||||||
|
creator: value.createUser ? value.createUser : "-",
|
||||||
|
time: dayjs(value.createTime).format("YYYY-MM-DD"),
|
||||||
|
};
|
||||||
|
array.push(obj);
|
||||||
|
});
|
||||||
|
state.drawertableData = array;
|
||||||
|
};
|
||||||
|
//获取全部项目信息接口
|
||||||
|
const getAllProjText = () => {
|
||||||
|
apiProj
|
||||||
|
.queryAssessmentDetailList({
|
||||||
|
assessmentName: "",
|
||||||
|
pageNo: state.currentPage,
|
||||||
|
pageSize: state.pageSize,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
let arr = res.data.data.rows;
|
||||||
|
if (res.status === 200) {
|
||||||
|
getTableDate(arr);
|
||||||
|
console.log('---------------项目信息---------------------------');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("获取全部项目信息接口失败", err);
|
||||||
|
console.log('+++++++++++++++++++++++++++++++++++++++++++++++');
|
||||||
|
// state.createLoading = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const updateTask = () => {
|
||||||
|
RouterEditTask({
|
||||||
|
chapterId: state.isactive,
|
||||||
|
courseId: state.assessmentId,
|
||||||
|
name: state.assessmentName,
|
||||||
|
routerId: state.routerId,
|
||||||
|
routerTaskId: state.routerTaskId || 0,
|
||||||
|
type: 13,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res, 11111);
|
||||||
|
message.success(`${state.editproj ? '编辑' : '新增'}关卡任务成功`)
|
||||||
|
// ctx.emit("changeData", false);
|
||||||
|
closeDrawer();
|
||||||
|
state.addLoading = false;
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err, 1111);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
onMounted(() => {
|
||||||
|
// createCase();
|
||||||
|
getAllProjText();
|
||||||
|
});
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
// tableDataFunc,
|
// tableDataFunc,
|
||||||
@@ -1871,6 +1998,8 @@ export default {
|
|||||||
drawertableColumns,
|
drawertableColumns,
|
||||||
editChapter,
|
editChapter,
|
||||||
// updateChapter,
|
// updateChapter,
|
||||||
|
showDrawerAddOnline,
|
||||||
|
showDrawerAddCase,
|
||||||
showDrawerAddHomework,
|
showDrawerAddHomework,
|
||||||
showDrawerAddTest,
|
showDrawerAddTest,
|
||||||
showDrawerAddEval,
|
showDrawerAddEval,
|
||||||
@@ -1879,6 +2008,8 @@ export default {
|
|||||||
deleteLevelTask,
|
deleteLevelTask,
|
||||||
showDrawerAddLive,
|
showDrawerAddLive,
|
||||||
showDrawerAddRef,
|
showDrawerAddRef,
|
||||||
|
showDrawerAddProj,
|
||||||
|
leaveProjDrawer,
|
||||||
closeDeleteModel,
|
closeDeleteModel,
|
||||||
clearEditData,
|
clearEditData,
|
||||||
showDrawerAddDiscuss,
|
showDrawerAddDiscuss,
|
||||||
@@ -1895,6 +2026,10 @@ export default {
|
|||||||
showChangeModal,
|
showChangeModal,
|
||||||
closeChangeModal,
|
closeChangeModal,
|
||||||
handleChangeStage,
|
handleChangeStage,
|
||||||
|
rowSelection,
|
||||||
|
getTableDate,
|
||||||
|
getAllProjText,
|
||||||
|
updateTask,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,7 +3,12 @@
|
|||||||
<div class="projectAdd">
|
<div class="projectAdd">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<span class="title">创建/编辑班级</span>
|
<span class="title">创建/编辑班级</span>
|
||||||
<div @click="backPage" style="cursor: pointer;" to="/projectmanage" class="goback">
|
<div
|
||||||
|
@click="backPage"
|
||||||
|
style="cursor: pointer"
|
||||||
|
to="/projectmanage"
|
||||||
|
class="goback"
|
||||||
|
>
|
||||||
<span class="return"></span><span class="returntext">返回</span>
|
<span class="return"></span><span class="returntext">返回</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -11,7 +16,10 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">项目归属</div>
|
<div class="inname">项目归属</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
@@ -22,34 +30,60 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">班级名称</div>
|
<div class="inname">班级名称</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-input v-model:value="projectName" placeholder="请输入项目名称" show-count :maxlength="30" />
|
<a-input
|
||||||
|
v-model:value="projectName"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
|
show-count
|
||||||
|
:maxlength="30"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">分类</div>
|
<div class="inname">分类</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in select">
|
<div class="in select">
|
||||||
<a-select :getPopupContainer="
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect" placeholder="四个养成" style="width: 100%" :options="classifyList"
|
"
|
||||||
@change="classificationChange" allowClear showSearch>
|
v-model:value="classifySelect"
|
||||||
|
placeholder="四个养成"
|
||||||
|
style="width: 100%"
|
||||||
|
:options="classifyList"
|
||||||
|
@change="classificationChange"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">封面图</div>
|
<div class="inname">封面图</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box" style="
|
<div
|
||||||
|
class="box"
|
||||||
|
style="
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
border: 1px solid rgba(78, 166, 255, 1);
|
border: 1px solid rgba(78, 166, 255, 1);
|
||||||
@@ -57,15 +91,30 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
">
|
"
|
||||||
<a-upload v-model:file-list="fileList" name="file" list-type="picture-card" class="avatar-uploader"
|
>
|
||||||
:show-upload-list="false" action="/api/file/upload" :before-upload="beforeUpload" @change="handleChange">
|
<a-upload
|
||||||
<img style="
|
v-model:file-list="fileList"
|
||||||
|
name="file"
|
||||||
|
list-type="picture-card"
|
||||||
|
class="avatar-uploader"
|
||||||
|
:show-upload-list="false"
|
||||||
|
action="/api/file/upload"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
|
@change="handleChange"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
style="
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
" v-if="imageUrl" :src="imageUrl" alt="avatar" />
|
"
|
||||||
|
v-if="imageUrl"
|
||||||
|
:src="imageUrl"
|
||||||
|
alt="avatar"
|
||||||
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<!-- <loading-outlined v-if="loading"></loading-outlined> -->
|
<!-- <loading-outlined v-if="loading"></loading-outlined> -->
|
||||||
<!-- <plus-outlined v-else></plus-outlined> -->
|
<!-- <plus-outlined v-else></plus-outlined> -->
|
||||||
@@ -78,43 +127,74 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">子项目时间</div>
|
<div class="inname">子项目时间</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-range-picker separator="至" :placeholder="[' 开始时间', ' 结束时间']" v-model:value="rangevalue"
|
<a-range-picker
|
||||||
style="width: 100%; height: 40px; border-radius: 5px" @change="onRangeChange" />
|
separator="至"
|
||||||
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
|
v-model:value="rangevalue"
|
||||||
|
style="width: 100%; height: 40px; border-radius: 5px"
|
||||||
|
@change="onRangeChange"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">子项目经理</div>
|
<div class="inname">子项目经理</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-select :getPopupContainer="
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" :value="classifySelect1" mode="multiple" placeholder="请选择项目经理" style="width: 100%" :options="classifyList1"
|
"
|
||||||
@change="classificationChange1" allowClear showSearch>
|
:value="classifySelect1"
|
||||||
|
mode="multiple"
|
||||||
|
placeholder="请选择项目经理"
|
||||||
|
style="width: 100%"
|
||||||
|
:options="classifyList1"
|
||||||
|
@change="classificationChange1"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">资源归属</div>
|
<div class="inname">资源归属</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="in select">
|
<div class="in select">
|
||||||
<a-select :getPopupContainer="
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect2" placeholder="自动带出 可修改" :options="classifyList2"
|
"
|
||||||
@change="classificationChange2" />
|
v-model:value="classifySelect2"
|
||||||
|
placeholder="自动带出 可修改"
|
||||||
|
:options="classifyList2"
|
||||||
|
@change="classificationChange2"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name name2">
|
<div class="name name2">
|
||||||
@@ -122,7 +202,14 @@
|
|||||||
<div class="inname" style="margin-top: 13px">项目说明</div>
|
<div class="inname" style="margin-top: 13px">项目说明</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-textarea v-model:value="remark" style="height: 80px" placeholder="请输入说明" show-count :maxlength="200" />
|
<a-textarea
|
||||||
|
v-model:value="remark"
|
||||||
|
style="height: 80px"
|
||||||
|
placeholder="请输入说明"
|
||||||
|
show-count
|
||||||
|
:maxlength="200"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name name2">
|
<div class="name name2">
|
||||||
@@ -130,52 +217,89 @@
|
|||||||
<div class="inname">同步学习记录</div>
|
<div class="inname">同步学习记录</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-radio @click="changeChecked" v-model:checked="checked"><span style="
|
<a-radio
|
||||||
|
@click="changeChecked"
|
||||||
|
v-model:checked="checked"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
><span
|
||||||
|
style="
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: rgba(109, 117, 132, 1);
|
color: rgba(109, 117, 132, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
">同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span></a-radio>
|
"
|
||||||
|
>同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span
|
||||||
|
></a-radio
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">项目级别</div>
|
<div class="inname">项目级别</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in select">
|
<div class="in select">
|
||||||
<a-select :getPopupContainer="
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect3" :options="classifyList3" @change="classificationChange3"
|
"
|
||||||
placeholder="集团级/组织级/现地级/部门级" />
|
v-model:value="classifySelect3"
|
||||||
|
:options="classifyList3"
|
||||||
|
@change="classificationChange3"
|
||||||
|
placeholder="集团级/组织级/现地级/部门级"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">培训体系</div>
|
<div class="inname">培训体系</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in select">
|
<div class="in select">
|
||||||
<a-select :getPopupContainer="
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect4" :options="classifyList4" @change="classificationChange4"
|
"
|
||||||
placeholder="集团级/组织级/现地级/部门级" />
|
v-model:value="classifySelect4"
|
||||||
|
:options="classifyList4"
|
||||||
|
@change="classificationChange4"
|
||||||
|
placeholder="集团级/组织级/现地级/部门级"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="namebox">
|
<div class="namebox">
|
||||||
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
|
<img
|
||||||
|
class="nameimg"
|
||||||
|
src="../../assets/images/basicinfo/asterisk.png"
|
||||||
|
/>
|
||||||
<div class="inname">是否BOEU实施</div>
|
<div class="inname">是否BOEU实施</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-radio @click="changeChecked1" v-model:checked="checked1"><span style="
|
<a-radio
|
||||||
|
@click="changeChecked1"
|
||||||
|
v-model:checked="checked1"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
|
><span
|
||||||
|
style="
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: rgba(109, 117, 132, 1);
|
color: rgba(109, 117, 132, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
">BOEU实施</span></a-radio>
|
"
|
||||||
|
>BOEU实施</span
|
||||||
|
></a-radio
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="name name2">
|
<!-- <div class="name name2">
|
||||||
@@ -202,19 +326,36 @@
|
|||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="inname" style="width: 50px">模版</div>
|
<div class="inname" style="width: 50px">模版</div>
|
||||||
<div class="in select" style="margin-left: 2px">
|
<div class="in select" style="margin-left: 2px">
|
||||||
<a-select v-if="isEdit" disabled="true" :getPopupContainer="
|
<a-select
|
||||||
|
v-if="isEdit"
|
||||||
|
disabled="true"
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect5" placeholder="请选择模版" :size="size" style="width: 100%" :options="classifyList5"
|
"
|
||||||
@change="classificationChange5">
|
v-model:value="classifySelect5"
|
||||||
|
placeholder="请选择模版"
|
||||||
|
:size="size"
|
||||||
|
style="width: 100%"
|
||||||
|
:options="classifyList5"
|
||||||
|
@change="classificationChange5"
|
||||||
|
>
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select v-else :getPopupContainer="
|
<a-select
|
||||||
|
v-else
|
||||||
|
:getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect5" placeholder="请选择模版" :size="size" style="width: 100%" :options="classifyList5"
|
"
|
||||||
@change="classificationChange5">
|
v-model:value="classifySelect5"
|
||||||
|
placeholder="请选择模版"
|
||||||
|
:size="size"
|
||||||
|
style="width: 100%"
|
||||||
|
:options="classifyList5"
|
||||||
|
@change="classificationChange5"
|
||||||
|
>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -222,7 +363,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<a-button v-on:click="createProject" type="primary" class="btn1">确定</a-button>
|
<a-button v-on:click="createProject" type="primary" class="btn1"
|
||||||
|
>确定</a-button
|
||||||
|
>
|
||||||
<a-button @click="backPage" class="btn2">取消</a-button>
|
<a-button @click="backPage" class="btn2">取消</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -232,9 +375,9 @@
|
|||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref } from "vue";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { useRouter, useRoute } from "vue-router";
|
import { useRouter, useRoute } from "vue-router";
|
||||||
import dayjs from 'dayjs';
|
import dayjs from "dayjs";
|
||||||
import * as api from "../../api/index";
|
import * as api from "../../api/index";
|
||||||
import { toDate } from '../../api/method'
|
import { toDate } from "../../api/method";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectAdd",
|
name: "projectAdd",
|
||||||
@@ -260,49 +403,53 @@ export default {
|
|||||||
classifySelect4: [],
|
classifySelect4: [],
|
||||||
rangevalue: [],
|
rangevalue: [],
|
||||||
projectAscription: "",
|
projectAscription: "",
|
||||||
|
viewDetail: routers.query.viewDetail ? routers.query.viewDetail : null,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (routers.query.name==undefined) {
|
if (routers.query.name == undefined) {
|
||||||
router.push({
|
router.push({
|
||||||
path: "/projectmanage"
|
path: "/projectmanage",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
peojectID = routers.query.projectId;
|
peojectID = routers.query.projectId;
|
||||||
state.projectAscription = routers.query.name;
|
state.projectAscription = routers.query.name;
|
||||||
|
|
||||||
if (routers.query.edit!==undefined) {
|
if (routers.query.edit !== undefined) {
|
||||||
isEdit.value = true;
|
isEdit.value = true;
|
||||||
// 需要编辑
|
// 需要编辑
|
||||||
api.getProjectDetail({ projectId: routers.query.projectId }).then(res => {
|
api
|
||||||
|
.getProjectDetail({ projectId: routers.query.projectId })
|
||||||
|
.then((res) => {
|
||||||
if (res.status == 200 && res.data.code == 200) {
|
if (res.status == 200 && res.data.code == 200) {
|
||||||
let info = res.data.data.projectInfo;
|
let info = res.data.data.projectInfo;
|
||||||
console.log(info)
|
console.log(info);
|
||||||
// projectName classifySelect imageUrl * classifySelect1 * remark checked classifySelect3 classifySelect4 changeChecked1 *
|
// projectName classifySelect imageUrl * classifySelect1 * remark checked classifySelect3 classifySelect4 changeChecked1 *
|
||||||
projectName.value = info.name;
|
projectName.value = info.name;
|
||||||
state.classifySelect = classifyList.value[1]; // info.category
|
state.classifySelect = classifyList.value[1]; // info.category
|
||||||
imageUrl.value = info.picUrl;
|
imageUrl.value = info.picUrl;
|
||||||
|
|
||||||
let start = toDate(info.beginTime/1000,'YYYY/MM/DD');
|
let start = toDate(info.beginTime / 1000, "YYYY/MM/DD");
|
||||||
let end = toDate(info.endTime/1000,'YYYY/MM/DD');
|
let end = toDate(info.endTime / 1000, "YYYY/MM/DD");
|
||||||
state.rangevalue = [
|
state.rangevalue = [
|
||||||
dayjs(start, 'YYYY/MM/DD'),
|
dayjs(start, "YYYY/MM/DD"),
|
||||||
dayjs(end, 'YYYY/MM/DD'),
|
dayjs(end, "YYYY/MM/DD"),
|
||||||
];
|
];
|
||||||
|
|
||||||
let manageName = info.manager.split(",");
|
let manageName = info.manager.split(",");
|
||||||
let manageValue = info.managerId.split(",");
|
let manageValue = info.managerId.split(",");
|
||||||
let optionsManage = []
|
let optionsManage = [];
|
||||||
for (let i = 0; i < manageName.length; i++) {
|
for (let i = 0; i < manageName.length; i++) {
|
||||||
let obj = {
|
let obj = {
|
||||||
label: manageName[i],
|
label: manageName[i],
|
||||||
value: manageValue[i]
|
value: manageValue[i],
|
||||||
|
};
|
||||||
|
optionsManage.push(obj);
|
||||||
}
|
}
|
||||||
optionsManage.push(obj)
|
console.log(optionsManage);
|
||||||
}
|
|
||||||
console.log(optionsManage)
|
|
||||||
state.classifySelect1 = optionsManage;
|
state.classifySelect1 = optionsManage;
|
||||||
state.classifySelect2 = classifyList2.value[info.sourceBelongId - 1];
|
state.classifySelect2 =
|
||||||
|
classifyList2.value[info.sourceBelongId - 1];
|
||||||
remark.value = info.remark;
|
remark.value = info.remark;
|
||||||
state.checked = info.boeFlag ? info.boeFlag : false;
|
state.checked = info.boeFlag ? info.boeFlag : false;
|
||||||
state.classifySelect3 = classifyList3.value[info.level];
|
state.classifySelect3 = classifyList3.value[info.level];
|
||||||
@@ -312,8 +459,8 @@ export default {
|
|||||||
|
|
||||||
projectType = 1;
|
projectType = 1;
|
||||||
picUrl = info.picUrl;
|
picUrl = info.picUrl;
|
||||||
beginTime = Number(info.beginTime/1000);
|
beginTime = Number(info.beginTime / 1000);
|
||||||
endTime = Number(info.endTime/1000);
|
endTime = Number(info.endTime / 1000);
|
||||||
manager = info.manager;
|
manager = info.manager;
|
||||||
managerId = info.managerId;
|
managerId = info.managerId;
|
||||||
sourceBelongIdC = Number(info.sourceBelongId);
|
sourceBelongIdC = Number(info.sourceBelongId);
|
||||||
@@ -323,7 +470,10 @@ export default {
|
|||||||
boeFlag = info.boeFlag;
|
boeFlag = info.boeFlag;
|
||||||
paraentID = Number(info.parentId);
|
paraentID = Number(info.parentId);
|
||||||
}
|
}
|
||||||
}).catch(err => { console.log(err) })
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
paraentID = Number(routers.query.projectId);
|
paraentID = Number(routers.query.projectId);
|
||||||
}
|
}
|
||||||
@@ -331,12 +481,10 @@ export default {
|
|||||||
const backPage = () => {
|
const backPage = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
router.push({
|
router.push({
|
||||||
path: "/projectmanage"
|
path: "/projectmanage",
|
||||||
});
|
});
|
||||||
}, 400);
|
}, 400);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const projectName = ref("");
|
const projectName = ref("");
|
||||||
|
|
||||||
@@ -451,7 +599,7 @@ export default {
|
|||||||
|
|
||||||
let beginTime = "";
|
let beginTime = "";
|
||||||
let endTime = "";
|
let endTime = "";
|
||||||
const dateFormatList = ['YYYY/MM/DD'];
|
const dateFormatList = ["YYYY/MM/DD"];
|
||||||
|
|
||||||
const onRangeChange = (value, dateString) => {
|
const onRangeChange = (value, dateString) => {
|
||||||
console.log("Selected Time: ", value);
|
console.log("Selected Time: ", value);
|
||||||
@@ -492,7 +640,7 @@ export default {
|
|||||||
let newoptions = [];
|
let newoptions = [];
|
||||||
for (let i = 0; i < state.classifySelect1.length; i++) {
|
for (let i = 0; i < state.classifySelect1.length; i++) {
|
||||||
if (state.classifySelect1[i].value) {
|
if (state.classifySelect1[i].value) {
|
||||||
newoptions.push(state.classifySelect1[i])
|
newoptions.push(state.classifySelect1[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
state.classifySelect1 = newoptions;
|
state.classifySelect1 = newoptions;
|
||||||
@@ -507,7 +655,7 @@ export default {
|
|||||||
{ value: 3, label: "项目三" },
|
{ value: 3, label: "项目三" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
let sourceBelongIdC = '';
|
let sourceBelongIdC = "";
|
||||||
const classificationChange2 = (key) => {
|
const classificationChange2 = (key) => {
|
||||||
console.log(`selected ${key}`, classifyList2);
|
console.log(`selected ${key}`, classifyList2);
|
||||||
sourceBelongIdC = key;
|
sourceBelongIdC = key;
|
||||||
@@ -601,13 +749,13 @@ export default {
|
|||||||
sourceBelongId: "请选择资源归属",
|
sourceBelongId: "请选择资源归属",
|
||||||
level: "请填写项目级别",
|
level: "请填写项目级别",
|
||||||
systemId: "请填写项目培训体系",
|
systemId: "请填写项目培训体系",
|
||||||
boeFlag: "请选择是否BOE实施"
|
boeFlag: "请选择是否BOE实施",
|
||||||
};
|
};
|
||||||
|
|
||||||
const createProject = () => {
|
const createProject = () => {
|
||||||
console.log('我是否要编辑项目', isEdit.value)
|
console.log("我是否要编辑项目", isEdit.value);
|
||||||
if (isEdit.value) {
|
if (isEdit.value) {
|
||||||
console.log('我要编辑项目', peojectID)
|
console.log("我要编辑项目", peojectID);
|
||||||
let obj = {
|
let obj = {
|
||||||
projectId: Number(peojectID),
|
projectId: Number(peojectID),
|
||||||
name: projectName["value"],
|
name: projectName["value"],
|
||||||
@@ -652,7 +800,7 @@ export default {
|
|||||||
message.success("编辑成功");
|
message.success("编辑成功");
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
router.push({
|
router.push({
|
||||||
path: "/projectmanage"
|
path: "/projectmanage",
|
||||||
});
|
});
|
||||||
}, 1000);
|
}, 1000);
|
||||||
} else {
|
} else {
|
||||||
@@ -665,7 +813,6 @@ export default {
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
message.error("编辑失败,请检查当前网络状态。");
|
message.error("编辑失败,请检查当前网络状态。");
|
||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
let obj = {
|
let obj = {
|
||||||
name: projectName["value"],
|
name: projectName["value"],
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
placeholder="请输入项目名称"
|
placeholder="请输入项目名称"
|
||||||
show-count
|
show-count
|
||||||
:maxlength="30"
|
:maxlength="30"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -53,6 +54,7 @@
|
|||||||
@change="classificationChange"
|
@change="classificationChange"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
>
|
>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
@@ -86,6 +88,7 @@
|
|||||||
action="/api/file/upload"
|
action="/api/file/upload"
|
||||||
:before-upload="beforeUpload"
|
:before-upload="beforeUpload"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
style="
|
style="
|
||||||
@@ -124,6 +127,7 @@
|
|||||||
v-model:value="rangevalue"
|
v-model:value="rangevalue"
|
||||||
style="width: 100%; height: 40px; border-radius: 5px"
|
style="width: 100%; height: 40px; border-radius: 5px"
|
||||||
@change="onRangeChange"
|
@change="onRangeChange"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -150,6 +154,7 @@
|
|||||||
@change="classificationChange1"
|
@change="classificationChange1"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
>
|
>
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
@@ -174,6 +179,7 @@
|
|||||||
placeholder="自动带出 可修改"
|
placeholder="自动带出 可修改"
|
||||||
:options="classifyList2"
|
:options="classifyList2"
|
||||||
@change="classificationChange2"
|
@change="classificationChange2"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -188,6 +194,7 @@
|
|||||||
placeholder="请输入说明"
|
placeholder="请输入说明"
|
||||||
show-count
|
show-count
|
||||||
:maxlength="200"
|
:maxlength="200"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -196,7 +203,10 @@
|
|||||||
<div class="inname">同步学习记录</div>
|
<div class="inname">同步学习记录</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-radio @click="changeChecked" v-model:checked="checked"
|
<a-radio
|
||||||
|
@click="changeChecked"
|
||||||
|
v-model:checked="checked"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
><span
|
><span
|
||||||
style="
|
style="
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -227,6 +237,7 @@
|
|||||||
:options="classifyList3"
|
:options="classifyList3"
|
||||||
@change="classificationChange3"
|
@change="classificationChange3"
|
||||||
placeholder="集团级/组织级/现地级/部门级"
|
placeholder="集团级/组织级/现地级/部门级"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -249,6 +260,7 @@
|
|||||||
:options="classifyList4"
|
:options="classifyList4"
|
||||||
@change="classificationChange4"
|
@change="classificationChange4"
|
||||||
placeholder="集团级/组织级/现地级/部门级"
|
placeholder="集团级/组织级/现地级/部门级"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -261,7 +273,10 @@
|
|||||||
<div class="inname">是否BOEU实施</div>
|
<div class="inname">是否BOEU实施</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-radio @click="changeChecked1" v-model:checked="checked1"
|
<a-radio
|
||||||
|
@click="changeChecked1"
|
||||||
|
v-model:checked="checked1"
|
||||||
|
:disabled="viewDetail ? true : false"
|
||||||
><span
|
><span
|
||||||
style="
|
style="
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -509,6 +524,7 @@ export default {
|
|||||||
tableDataTotal: -1, //模版列表总数
|
tableDataTotal: -1, //模版列表总数
|
||||||
pageSize: 10, //每页10条数据
|
pageSize: 10, //每页10条数据
|
||||||
totalPages: 0, //总页数
|
totalPages: 0, //总页数
|
||||||
|
viewDetail: routers.query.viewDetail ? routers.query.viewDetail : null,
|
||||||
});
|
});
|
||||||
|
|
||||||
const projectName = ref("");
|
const projectName = ref("");
|
||||||
|
|||||||
@@ -816,10 +816,10 @@
|
|||||||
<span>您确定要复制此路径吗</span>
|
<span>您确定要复制此路径吗</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1" @click="delete_exit">
|
<div class="del_btn btn1" @click="closeCopyModal">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2" @click="delete_exit">
|
<div class="del_btn btn2" @click="copyProject">
|
||||||
<div class="btnText">确定</div>
|
<div class="btnText">确定</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1093,6 +1093,7 @@ export default {
|
|||||||
finishProjectId: null, //结束的项目id
|
finishProjectId: null, //结束的项目id
|
||||||
deleteProjectId: null, //删除的项目id
|
deleteProjectId: null, //删除的项目id
|
||||||
templateProjectId: null, //存为模版的项目id
|
templateProjectId: null, //存为模版的项目id
|
||||||
|
copyProjectId: null, //复制项目id
|
||||||
});
|
});
|
||||||
// 数据接入 - start -
|
// 数据接入 - start -
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -1922,6 +1923,34 @@ export default {
|
|||||||
const closeStartModal = () => {
|
const closeStartModal = () => {
|
||||||
state.startModal = false;
|
state.startModal = false;
|
||||||
};
|
};
|
||||||
|
//打开确认复制弹窗
|
||||||
|
const showCopyModal = (projectId) => {
|
||||||
|
state.copyModal = true;
|
||||||
|
state.copyProjectId = projectId;
|
||||||
|
};
|
||||||
|
//关闭确认复制弹窗
|
||||||
|
const closeCopyModal = () => {
|
||||||
|
state.copyModal = false;
|
||||||
|
};
|
||||||
|
//确认复制
|
||||||
|
const copyProject = () => {
|
||||||
|
let obj = {
|
||||||
|
projectId: state.copyProjectId,
|
||||||
|
type: 2,
|
||||||
|
};
|
||||||
|
api
|
||||||
|
.handleProject(obj)
|
||||||
|
.then((res) => {
|
||||||
|
console.log("复制成功", res);
|
||||||
|
message.destroy();
|
||||||
|
message.success("复制成功");
|
||||||
|
state.copyModal = false;
|
||||||
|
getTableDate();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log("复制失败", err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// 数据接入 - end -
|
// 数据接入 - end -
|
||||||
|
|
||||||
@@ -2119,7 +2148,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2190,7 +2219,7 @@ export default {
|
|||||||
<span
|
<span
|
||||||
class="operation3"
|
class="operation3"
|
||||||
// onClick={() => {
|
// onClick={() => {
|
||||||
// showCopyModal();
|
// showCopyModal(value.record.projectId);
|
||||||
// }}
|
// }}
|
||||||
></span>
|
></span>
|
||||||
|
|
||||||
@@ -2217,7 +2246,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2279,7 +2308,7 @@ export default {
|
|||||||
<span
|
<span
|
||||||
class="operation3"
|
class="operation3"
|
||||||
// onClick={() => {
|
// onClick={() => {
|
||||||
// showCopyModal();
|
// showCopyModal(value.record.projectId);
|
||||||
// }}
|
// }}
|
||||||
></span>
|
></span>
|
||||||
<div class="tableSelect">
|
<div class="tableSelect">
|
||||||
@@ -2305,7 +2334,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2420,7 +2449,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2502,7 +2531,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2572,7 +2601,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2641,6 +2670,52 @@ export default {
|
|||||||
</span>
|
</span>
|
||||||
) : (
|
) : (
|
||||||
<span class="operation1"></span>
|
<span class="operation1"></span>
|
||||||
|
// <span
|
||||||
|
// onClick={() => {
|
||||||
|
// console.log("单层子项目的编辑");
|
||||||
|
// console.log(value);
|
||||||
|
|
||||||
|
// {
|
||||||
|
// /* 判断是班级\单层项目\单层子项目 */
|
||||||
|
// }
|
||||||
|
// if (value.record.parentId == "0") {
|
||||||
|
// router.push({
|
||||||
|
// path: "/projectadd",
|
||||||
|
// query: {
|
||||||
|
// projectId: value.record.projectId,
|
||||||
|
// name: value.record.name,
|
||||||
|
// viewDetail:1,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// if (value.record.isbj) {
|
||||||
|
// router.push({
|
||||||
|
// path: "/classadd",
|
||||||
|
// query: {
|
||||||
|
// projectId: value.record.projectId,
|
||||||
|
// name: value.record.paraentName,
|
||||||
|
// edit: 0,
|
||||||
|
// viewDetail:1,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// router.push({
|
||||||
|
// path: "/sonproject",
|
||||||
|
// query: {
|
||||||
|
// projectId: value.record.projectId,
|
||||||
|
// name: value.record.paraentName,
|
||||||
|
// edit: 0,
|
||||||
|
// viewDetail:1,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }}
|
||||||
|
// style="cursor:pointer;"
|
||||||
|
// class="operation1"
|
||||||
|
// >
|
||||||
|
// 查看
|
||||||
|
// </span>
|
||||||
)}
|
)}
|
||||||
<div class="tableSelect">
|
<div class="tableSelect">
|
||||||
<a-select
|
<a-select
|
||||||
@@ -2727,7 +2802,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2774,16 +2849,16 @@ export default {
|
|||||||
// options={state.projectNameList}
|
// options={state.projectNameList}
|
||||||
dropdownClassName="tabledropdown"
|
dropdownClassName="tabledropdown"
|
||||||
>
|
>
|
||||||
<a-select-option value="存为模版" label="存为模版">
|
|
||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
</div>
|
</div>
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
|
<a-select-option value="存为模版" label="存为模版">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showStartModal(value.record.projectId);
|
showStartModal(value.record.projectId);
|
||||||
@@ -2842,7 +2917,7 @@ export default {
|
|||||||
<a-select-option value="复制" label="复制">
|
<a-select-option value="复制" label="复制">
|
||||||
<div
|
<div
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
showCopyModal();
|
showCopyModal(value.record.projectId);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
复制
|
复制
|
||||||
@@ -2978,12 +3053,6 @@ export default {
|
|||||||
state.doublesonpro = true;
|
state.doublesonpro = true;
|
||||||
state.sonproject = false;
|
state.sonproject = false;
|
||||||
};
|
};
|
||||||
const showCopyModal = () => {
|
|
||||||
state.copyModal = true;
|
|
||||||
};
|
|
||||||
const closeCopyModal = () => {
|
|
||||||
state.copyModal = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const showProjOwner = () => {
|
const showProjOwner = () => {
|
||||||
state.ProjOwnervisible = true;
|
state.ProjOwnervisible = true;
|
||||||
@@ -3098,6 +3167,7 @@ export default {
|
|||||||
finishProject,
|
finishProject,
|
||||||
deleteProject,
|
deleteProject,
|
||||||
templateProject,
|
templateProject,
|
||||||
|
copyProject,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<div class="inname">子项目名称</div>
|
<div class="inname">子项目名称</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-input v-model:value="projectName" placeholder="请输入项目名称" show-count :maxlength="30" />
|
<a-input v-model:value="projectName" placeholder="请输入项目名称" show-count :maxlength="30" :disabled="viewDetail ? true : false" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect" placeholder="四个养成" style="width: 100%" :options="classifyList"
|
" v-model:value="classifySelect" placeholder="四个养成" style="width: 100%" :options="classifyList"
|
||||||
@change="classificationChange" allowClear showSearch>
|
@change="classificationChange" allowClear showSearch :disabled="viewDetail ? true : false">
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
">
|
">
|
||||||
<a-upload v-model:file-list="fileList" name="file" list-type="picture-card" class="avatar-uploader"
|
<a-upload v-model:file-list="fileList" name="file" list-type="picture-card" class="avatar-uploader"
|
||||||
:show-upload-list="false" action="/api/file/upload" :before-upload="beforeUpload" @change="handleChange">
|
:show-upload-list="false" action="/api/file/upload" :before-upload="beforeUpload" @change="handleChange" :disabled="viewDetail ? true : false">
|
||||||
<img style="
|
<img style="
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-range-picker separator="至" :placeholder="[' 开始时间', ' 结束时间']" v-model:value="rangevalue"
|
<a-range-picker separator="至" :placeholder="[' 开始时间', ' 结束时间']" v-model:value="rangevalue"
|
||||||
style="width: 100%; height: 40px; border-radius: 5px" @change="onRangeChange" />
|
style="width: 100%; height: 40px; border-radius: 5px" @change="onRangeChange" :disabled="viewDetail ? true : false" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" :value="classifySelect1" mode="multiple" placeholder="请选择项目经理" style="width: 100%" :options="classifyList1"
|
" :value="classifySelect1" mode="multiple" placeholder="请选择项目经理" style="width: 100%" :options="classifyList1"
|
||||||
@change="classificationChange1" allowClear showSearch>
|
@change="classificationChange1" allowClear showSearch :disabled="viewDetail ? true : false">
|
||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -114,7 +114,7 @@
|
|||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect2" placeholder="自动带出 可修改" :options="classifyList2"
|
" v-model:value="classifySelect2" placeholder="自动带出 可修改" :options="classifyList2"
|
||||||
@change="classificationChange2" />
|
@change="classificationChange2" :disabled="viewDetail ? true : false" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name name2">
|
<div class="name name2">
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<div class="inname" style="margin-top: 13px">项目说明</div>
|
<div class="inname" style="margin-top: 13px">项目说明</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-textarea v-model:value="remark" style="height: 80px" placeholder="请输入说明" show-count :maxlength="200" />
|
<a-textarea v-model:value="remark" style="height: 80px" placeholder="请输入说明" show-count :maxlength="200" :disabled="viewDetail ? true : false"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name name2">
|
<div class="name name2">
|
||||||
@@ -130,11 +130,11 @@
|
|||||||
<div class="inname">同步学习记录</div>
|
<div class="inname">同步学习记录</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-radio @click="changeChecked" v-model:checked="checked"><span style="
|
<a-radio @click="changeChecked" v-model:checked="checked" :disabled="viewDetail ? true : false"><span style="
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: rgba(109, 117, 132, 1);
|
color: rgba(109, 117, 132, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
">同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span></a-radio>
|
" >同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)</span></a-radio>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect3" :options="classifyList3" @change="classificationChange3"
|
" v-model:value="classifySelect3" :options="classifyList3" @change="classificationChange3"
|
||||||
placeholder="集团级/组织级/现地级/部门级" />
|
placeholder="集团级/组织级/现地级/部门级" :disabled="viewDetail ? true : false" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
@@ -162,7 +162,7 @@
|
|||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect4" :options="classifyList4" @change="classificationChange4"
|
" v-model:value="classifySelect4" :options="classifyList4" @change="classificationChange4"
|
||||||
placeholder="集团级/组织级/现地级/部门级" />
|
placeholder="集团级/组织级/现地级/部门级" :disabled="viewDetail ? true : false" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
@@ -171,7 +171,7 @@
|
|||||||
<div class="inname">是否BOEU实施</div>
|
<div class="inname">是否BOEU实施</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-radio @click="changeChecked1" v-model:checked="checked1"><span style="
|
<a-radio @click="changeChecked1" v-model:checked="checked1" :disabled="viewDetail ? true : false"><span style="
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: rgba(109, 117, 132, 1);
|
color: rgba(109, 117, 132, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -207,7 +207,7 @@
|
|||||||
return triggerNode.parentNode || document.body;
|
return triggerNode.parentNode || document.body;
|
||||||
}
|
}
|
||||||
" v-model:value="classifySelect5" placeholder="请选择模版" :size="size" style="width: 100%" :options="classifyList5"
|
" v-model:value="classifySelect5" placeholder="请选择模版" :size="size" style="width: 100%" :options="classifyList5"
|
||||||
@change="classificationChange5">
|
@change="classificationChange5" >
|
||||||
</a-select>
|
</a-select>
|
||||||
<a-select v-else :getPopupContainer="
|
<a-select v-else :getPopupContainer="
|
||||||
(triggerNode) => {
|
(triggerNode) => {
|
||||||
@@ -260,6 +260,7 @@ export default {
|
|||||||
classifySelect4: [],
|
classifySelect4: [],
|
||||||
rangevalue: [],
|
rangevalue: [],
|
||||||
projectAscription: "",
|
projectAscription: "",
|
||||||
|
viewDetail:routers.query.viewDetail?routers.query.viewDetail:null
|
||||||
});
|
});
|
||||||
|
|
||||||
if (routers.query.name == undefined) {
|
if (routers.query.name == undefined) {
|
||||||
|
|||||||
@@ -477,6 +477,7 @@
|
|||||||
style="cursor: pointer"
|
style="cursor: pointer"
|
||||||
@click="showCodeModal"
|
@click="showCodeModal"
|
||||||
>
|
>
|
||||||
|
<!-- 我的@click=" showCopyModal(item.type)" -->
|
||||||
二维码
|
二维码
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -487,17 +488,15 @@
|
|||||||
item.type == '3' ||
|
item.type == '3' ||
|
||||||
item.type == '7' ||
|
item.type == '7' ||
|
||||||
item.type == '8' ||
|
item.type == '8' ||
|
||||||
item.type == '6' ||
|
item.type == '9' ||
|
||||||
item.type == '11' ||
|
item.type == '11'
|
||||||
item.type == '12' ||
|
|
||||||
item.type == '9'
|
|
||||||
? showTime(item.name, item.projectTaskId)
|
? showTime(item.name, item.projectTaskId)
|
||||||
: item.type == '5' || item.type == '10'
|
: item.type == '5' || item.type == '10'
|
||||||
? showTest(item.name, item.projectTaskId)
|
? showTest(item.name, item.projectTaskId)
|
||||||
: item.type == '2'
|
: item.type == '2' || item.type == '6'
|
||||||
? showFace(item.projectTaskId)
|
? showFace(item.name,item.projectTaskId)
|
||||||
: item.type == '4'
|
: item.type == '4'
|
||||||
? showWork(item.projectTaskId)
|
? showWork(item.name,item.projectTaskId)
|
||||||
: null
|
: null
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
@@ -1087,6 +1086,7 @@
|
|||||||
v-model:Fvisible.sync="FaceVisivle"
|
v-model:Fvisible.sync="FaceVisivle"
|
||||||
v-if="FaceVisivle"
|
v-if="FaceVisivle"
|
||||||
:projectTaskId="projectTaskId"
|
:projectTaskId="projectTaskId"
|
||||||
|
:title="showFaceText"
|
||||||
/>
|
/>
|
||||||
<!-- 学员(小组管理)创建小组抽屉 -->
|
<!-- 学员(小组管理)创建小组抽屉 -->
|
||||||
<subset-manage v-model:Svisible="subsetVisivle" />
|
<subset-manage v-model:Svisible="subsetVisivle" />
|
||||||
@@ -1120,62 +1120,36 @@
|
|||||||
v-model:Wvisible.sync="Wvisible"
|
v-model:Wvisible.sync="Wvisible"
|
||||||
v-if="Wvisible"
|
v-if="Wvisible"
|
||||||
:projectTaskId="projectTaskId"
|
:projectTaskId="projectTaskId"
|
||||||
|
:title="showWorkText"
|
||||||
/>
|
/>
|
||||||
<!-- 考试管理抽屉 -->
|
<!-- 考试管理抽屉 -->
|
||||||
<test-manage
|
<test-manage v-model:TMvisible.sync="TMvisible" v-if="TMvisible" :title="showTestText" :projectTaskId="projectTaskId" />
|
||||||
v-model:TMvisible.sync="TMvisible"
|
|
||||||
v-if="Wvisible"
|
|
||||||
:title="showTestText"
|
|
||||||
:projectTaskId="projectTaskId"
|
|
||||||
/>
|
|
||||||
<!-- 批量面授报名 -->
|
<!-- 批量面授报名 -->
|
||||||
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
|
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
|
||||||
|
|
||||||
<!-- 概览(无数据)-项目发布弹窗 -->
|
<!-- 概览(无数据)-项目发布弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="pubproject" :title="null" @ok="closeModal" :footer="null" :closable="false" :centered="true"
|
||||||
v-model:visible="pubproject"
|
wrapClassName="pubproject" width="679px" height="437px">
|
||||||
:title="null"
|
<div class="modalHeader" style="
|
||||||
@ok="closeModal"
|
|
||||||
:footer="null"
|
|
||||||
:closable="false"
|
|
||||||
:centered="true"
|
|
||||||
wrapClassName="pubproject"
|
|
||||||
width="679px"
|
|
||||||
height="437px"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="modalHeader"
|
|
||||||
style="
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<div class="headerLeft" style="margin-left: 32px">
|
<div class="headerLeft" style="margin-left: 32px">
|
||||||
<span style="width: 15px; height: 15px"
|
<span style="width: 15px; height: 15px"><img src="../../assets/images/taskpage/pub.png" /></span>
|
||||||
><img src="../../assets/images/taskpage/pub.png"
|
<span class="headerLeftText" style="font-size: 16px; margin-left: 10px">项目发布</span>
|
||||||
/></span>
|
|
||||||
<span
|
|
||||||
class="headerLeftText"
|
|
||||||
style="font-size: 16px; margin-left: 10px"
|
|
||||||
>项目发布</span
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="cursor: pointer; margin-right: 32px" @click="closeModal">
|
<div style="cursor: pointer; margin-right: 32px" @click="closeModal">
|
||||||
<img
|
<img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" />
|
||||||
style="width: 22px; height: 22px"
|
|
||||||
src="../../assets/images/basicinfo/close22.png"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modalMain">
|
<div class="modalMain">
|
||||||
<div class="projectname">管理者进阶-腾飞班1</div>
|
<div class="projectname">管理者进阶-腾飞班1</div>
|
||||||
<div class="projecttime">
|
<div class="projecttime">
|
||||||
<span class="timeti">项目时间:</span
|
<span class="timeti">项目时间:</span><span class="timeme">2022/08/01-2022/08/30</span>
|
||||||
><span class="timeme">2022/08/01-2022/08/30</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="projectbox">
|
<div class="projectbox">
|
||||||
<div class="promessage">
|
<div class="promessage">
|
||||||
@@ -1192,12 +1166,8 @@
|
|||||||
<span class="sendtext">发送项目通知</span>
|
<span class="sendtext">发送项目通知</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="ckb">
|
<div class="ckb">
|
||||||
<a-checkbox v-model:checked="checked1"
|
<a-checkbox v-model:checked="checked1"><span class="sendpeo">发给老师</span></a-checkbox>
|
||||||
><span class="sendpeo">发给老师</span></a-checkbox
|
<a-checkbox v-model:checked="checked2"><span class="sendpeo">发给学员</span></a-checkbox>
|
||||||
>
|
|
||||||
<a-checkbox v-model:checked="checked2"
|
|
||||||
><span class="sendpeo">发给学员</span></a-checkbox
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="pubtn">
|
<div class="pubtn">
|
||||||
<a-button class="pubtn1" @click="closeModal">取消</a-button>
|
<a-button class="pubtn1" @click="closeModal">取消</a-button>
|
||||||
@@ -1209,68 +1179,39 @@
|
|||||||
<!-- 概览(无数据)-项目发布弹窗 -->
|
<!-- 概览(无数据)-项目发布弹窗 -->
|
||||||
<!-- 学员-创建小组弹窗 -->
|
<!-- 学员-创建小组弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="stugroup" :title="null" @ok="closeModal2" :footer="null" :closable="false" :centered="true"
|
||||||
v-model:visible="stugroup"
|
wrapClassName="doublepro" width="624px" height="332px">
|
||||||
:title="null"
|
<div class="modalHeader" style="
|
||||||
@ok="closeModal2"
|
|
||||||
:footer="null"
|
|
||||||
:closable="false"
|
|
||||||
:centered="true"
|
|
||||||
wrapClassName="doublepro"
|
|
||||||
width="624px"
|
|
||||||
height="332px"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="modalHeader"
|
|
||||||
style="
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<div class="headerLeft" style="margin-left: 32px">
|
<div class="headerLeft" style="margin-left: 32px">
|
||||||
<span class="headerLeftText" style="font-size: 16px">创建小组</span>
|
<span class="headerLeftText" style="font-size: 16px">创建小组</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="cursor: pointer; margin-right: 32px" @click="closeModal2">
|
<div style="cursor: pointer; margin-right: 32px" @click="closeModal2">
|
||||||
<img
|
<img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" />
|
||||||
style="width: 22px; height: 22px"
|
|
||||||
src="../../assets/images/basicinfo/close22.png"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modalMain">
|
<div class="modalMain">
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="star" style="margin-top: -4px">
|
<div class="star" style="margin-top: -4px">
|
||||||
<img
|
<img style="width: 10px; height: 10px" src="../../assets/images/basicinfo/asterisk.png" />
|
||||||
style="width: 10px; height: 10px"
|
|
||||||
src="../../assets/images/basicinfo/asterisk.png"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="inname">小组名称:</div>
|
<div class="inname">小组名称:</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-input
|
<a-input v-model:value="valueaddg" placeholder="请输入小组名称" style="border-radius: 8px; height: 40px" />
|
||||||
v-model:value="valueaddg"
|
|
||||||
placeholder="请输入小组名称"
|
|
||||||
style="border-radius: 8px; height: 40px"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<div class="star" style="margin-top: -4px">
|
<div class="star" style="margin-top: -4px">
|
||||||
<img
|
<img style="width: 10px; height: 10px; margin-left: 15px" src="../../assets/images/basicinfo/asterisk.png" />
|
||||||
style="width: 10px; height: 10px; margin-left: 15px"
|
|
||||||
src="../../assets/images/basicinfo/asterisk.png"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="inname">小组长:</div>
|
<div class="inname">小组长:</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-input
|
<a-input v-model:value="valueaddm" placeholder="请输入小组长" style="border-radius: 8px; height: 40px" />
|
||||||
v-model:value="valueaddm"
|
|
||||||
placeholder="请输入小组长"
|
|
||||||
style="border-radius: 8px; height: 40px"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pubtn">
|
<div class="pubtn">
|
||||||
@@ -1283,14 +1224,8 @@
|
|||||||
<!-- 学员-创建小组弹窗 -->
|
<!-- 学员-创建小组弹窗 -->
|
||||||
<!-- 取消学员弹窗 -->
|
<!-- 取消学员弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="canclestu" :footer="null" :closable="close" wrapClassName="canclestu" centered="true"
|
||||||
v-model:visible="canclestu"
|
@cancel="closeModal1">
|
||||||
:footer="null"
|
|
||||||
:closable="close"
|
|
||||||
wrapClassName="canclestu"
|
|
||||||
centered="true"
|
|
||||||
@cancel="closeModal1"
|
|
||||||
>
|
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
@@ -1316,13 +1251,7 @@
|
|||||||
<!-- 取消学员弹窗 -->
|
<!-- 取消学员弹窗 -->
|
||||||
<!-- 优秀学员弹窗 -->
|
<!-- 优秀学员弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="canclestu1" :footer="null" :closable="close" wrapClassName="canclestu1" centered="true">
|
||||||
v-model:visible="canclestu1"
|
|
||||||
:footer="null"
|
|
||||||
:closable="close"
|
|
||||||
wrapClassName="canclestu1"
|
|
||||||
centered="true"
|
|
||||||
>
|
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
@@ -1348,13 +1277,7 @@
|
|||||||
<!-- 取消学员弹窗 -->
|
<!-- 取消学员弹窗 -->
|
||||||
<!-- 删除学员弹窗 -->
|
<!-- 删除学员弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="deleteOneStu" :footer="null" :closable="close" wrapClassName="canclestu1" centered="true">
|
||||||
v-model:visible="deleteOneStu"
|
|
||||||
:footer="null"
|
|
||||||
:closable="close"
|
|
||||||
wrapClassName="canclestu1"
|
|
||||||
centered="true"
|
|
||||||
>
|
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
@@ -1381,14 +1304,8 @@
|
|||||||
|
|
||||||
<!-- 删除弹窗 -->
|
<!-- 删除弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="delete_hs" :footer="null" :closable="closableQR" wrapClassName="DelModal"
|
||||||
v-model:visible="delete_hs"
|
style="margin-top: 400px" @cancel="delete_exit">
|
||||||
:footer="null"
|
|
||||||
:closable="closableQR"
|
|
||||||
wrapClassName="DelModal"
|
|
||||||
style="margin-top: 400px"
|
|
||||||
@cancel="delete_exit"
|
|
||||||
>
|
|
||||||
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
|
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
@@ -1413,21 +1330,26 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
<!-- 删除弹窗 -->
|
<!-- 删除弹窗 -->
|
||||||
|
<!-- 管理二维码 -->
|
||||||
<!-- 面授管理二维码 -->
|
<a-modal v-model:visible="copyModal" :footer="null" :closable="closeCopy" wrapClassName="facemanageModal"
|
||||||
<a-modal
|
centered="true">
|
||||||
v-model:visible="copyModal"
|
|
||||||
:footer="null"
|
|
||||||
:closable="closeCopy"
|
|
||||||
wrapClassName="facemanageModal"
|
|
||||||
centered="true"
|
|
||||||
>
|
|
||||||
<div class="delete">
|
<div class="delete">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="icon"></div>
|
<div class="icon"></div>
|
||||||
<span>面授管理</span>
|
<span v-if="QRtype == '1'">在线管理</span>
|
||||||
|
<span v-if="QRtype == '2'">面授管理</span>
|
||||||
|
<span v-if="QRtype == '3'">案例管理</span>
|
||||||
|
<span v-if="QRtype == '4'">作业管理</span>
|
||||||
|
<span v-if="QRtype == '5'">考试管理</span>
|
||||||
|
<span v-if="QRtype == '6'">直播管理</span>
|
||||||
|
<span v-if="QRtype == '7'">外链管理</span>
|
||||||
|
<span v-if="QRtype == '8'">讨论管理</span>
|
||||||
|
<span v-if="QRtype == '9'">活动管理</span>
|
||||||
|
<span v-if="QRtype == '10'">测评管理</span>
|
||||||
|
<span v-if="QRtype == '11'">评估管理</span>
|
||||||
|
<span v-if="QRtype == '12'">投票管理</span>
|
||||||
<div class="close_exit" @click="closeCopyModal"></div>
|
<div class="close_exit" @click="closeCopyModal"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
@@ -1442,62 +1364,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<!-- 直播管理二维码 -->
|
|
||||||
<a-modal
|
|
||||||
v-model:visible="zhibModal"
|
|
||||||
:footer="null"
|
|
||||||
:closable="closeCopy"
|
|
||||||
wrapClassName="facemanageModal"
|
|
||||||
centered="true"
|
|
||||||
>
|
|
||||||
<div class="delete">
|
|
||||||
<div class="del_header"></div>
|
|
||||||
<div class="del_main">
|
|
||||||
<div class="header">
|
|
||||||
<div class="icon"></div>
|
|
||||||
<span>直播管理</span>
|
|
||||||
<div class="close_exit" @click="closezhibModal"></div>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<div><img src="../../assets/images/taskpage/erweima.png" /></div>
|
|
||||||
</div>
|
|
||||||
<div class="footerr">
|
|
||||||
<div class="onload">下载二维码</div>
|
|
||||||
<div class="onloadpx">200*200</div>
|
|
||||||
<div class="onloadpx">400*400</div>
|
|
||||||
<div class="onloadpx">800*800</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a-modal>
|
|
||||||
<!-- 活动管理二维码 -->
|
|
||||||
<a-modal
|
|
||||||
v-model:visible="huodModal"
|
|
||||||
:footer="null"
|
|
||||||
:closable="closeCopy"
|
|
||||||
wrapClassName="facemanageModal"
|
|
||||||
centered="true"
|
|
||||||
>
|
|
||||||
<div class="delete">
|
|
||||||
<div class="del_header"></div>
|
|
||||||
<div class="del_main">
|
|
||||||
<div class="header">
|
|
||||||
<div class="icon"></div>
|
|
||||||
<span>活动管理</span>
|
|
||||||
<div class="close_exit" @click="closehuodModal"></div>
|
|
||||||
</div>
|
|
||||||
<div class="body">
|
|
||||||
<div><img src="../../assets/images/taskpage/erweima.png" /></div>
|
|
||||||
</div>
|
|
||||||
<div class="footerr">
|
|
||||||
<div class="onload">下载二维码</div>
|
|
||||||
<div class="onloadpx">200*200</div>
|
|
||||||
<div class="onloadpx">400*400</div>
|
|
||||||
<div class="onloadpx">800*800</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a-modal>
|
|
||||||
<!-- 批量删除弹窗 -->
|
<!-- 批量删除弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal
|
||||||
@@ -1886,7 +1752,7 @@ export default {
|
|||||||
copyModal: false, //面授二维码弹窗
|
copyModal: false, //面授二维码弹窗
|
||||||
closeCopy: false, //面授二维码关闭图标
|
closeCopy: false, //面授二维码关闭图标
|
||||||
zhibModal: false, //直播二维码弹窗
|
zhibModal: false, //直播二维码弹窗
|
||||||
|
QRtype: "", //二维码标题
|
||||||
huodModal: false, //活动二维码弹窗
|
huodModal: false, //活动二维码弹窗
|
||||||
allDelete: false, //批量删除弹窗
|
allDelete: false, //批量删除弹窗
|
||||||
|
|
||||||
@@ -2385,13 +2251,18 @@ export default {
|
|||||||
],
|
],
|
||||||
|
|
||||||
taskSyllabusActive: 0,
|
taskSyllabusActive: 0,
|
||||||
//在线管理等页面传递参数
|
//在线管理等页面传递参数title
|
||||||
showTimeText: "",
|
showTimeText: "",
|
||||||
//考试、测评页面传递参数
|
//考试、测评页面传递参数title
|
||||||
showTestText: "",
|
showTestText: "",
|
||||||
|
//直播、面授传递title
|
||||||
|
showFaceText:"",
|
||||||
|
//直播、面授传递title
|
||||||
|
showWorkText:"",
|
||||||
//直播、活动页面传递参数
|
//直播、活动页面传递参数
|
||||||
showkaoqinText: "",
|
showkaoqinText: "",
|
||||||
|
|
||||||
|
|
||||||
//排行榜时间
|
//排行榜时间
|
||||||
rankStartTime: null,
|
rankStartTime: null,
|
||||||
rankEndTime: null,
|
rankEndTime: null,
|
||||||
@@ -2647,8 +2518,33 @@ export default {
|
|||||||
state.stugroup = false;
|
state.stugroup = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const showCopyModal = () => {
|
const showCopyModal = (itemtype) => {
|
||||||
state.copyModal = true;
|
state.copyModal = true;
|
||||||
|
if (itemtype == "1") {
|
||||||
|
state.QRtype = "1"
|
||||||
|
} else if (itemtype == "2") {
|
||||||
|
state.QRtype = "2"
|
||||||
|
} else if (itemtype == "3") {
|
||||||
|
state.QRtype = "3"
|
||||||
|
} else if (itemtype == "4") {
|
||||||
|
state.QRtype = "4"
|
||||||
|
} else if (itemtype == "5") {
|
||||||
|
state.QRtype = "5"
|
||||||
|
} else if (itemtype == "6") {
|
||||||
|
state.QRtype = "6"
|
||||||
|
} else if (itemtype == "7") {
|
||||||
|
state.QRtype = "7"
|
||||||
|
} else if (itemtype == "8") {
|
||||||
|
state.QRtype = "8"
|
||||||
|
} else if (itemtype == "9") {
|
||||||
|
state.QRtype = "9"
|
||||||
|
} else if (itemtype == "10") {
|
||||||
|
state.QRtype = "10"
|
||||||
|
} else if (itemtype == "11") {
|
||||||
|
state.QRtype = "11"
|
||||||
|
} else if (itemtype == "12") {
|
||||||
|
state.QRtype = "12"
|
||||||
|
}
|
||||||
};
|
};
|
||||||
const closeCopyModal = () => {
|
const closeCopyModal = () => {
|
||||||
state.copyModal = false;
|
state.copyModal = false;
|
||||||
@@ -2664,10 +2560,11 @@ export default {
|
|||||||
state.projectTaskId = id;
|
state.projectTaskId = id;
|
||||||
};
|
};
|
||||||
//新增
|
//新增
|
||||||
const showFace = (id) => {
|
const showFace = (name, id) => {
|
||||||
//面授管理的抽屉
|
//面授管理的抽屉
|
||||||
// console.log("点击管理");
|
// console.log("点击管理");
|
||||||
state.FaceVisivle = true;
|
state.FaceVisivle = true;
|
||||||
|
state.showFaceText = name;
|
||||||
state.projectTaskId = id;
|
state.projectTaskId = id;
|
||||||
};
|
};
|
||||||
const showSubset = () => {
|
const showSubset = () => {
|
||||||
@@ -2690,8 +2587,9 @@ export default {
|
|||||||
state.showkaoqinText = "【" + course + "】" + "考勤";
|
state.showkaoqinText = "【" + course + "】" + "考勤";
|
||||||
};
|
};
|
||||||
//作业管理的抽屉
|
//作业管理的抽屉
|
||||||
const showWork = (id) => {
|
const showWork = (name,id) => {
|
||||||
state.Wvisible = true;
|
state.Wvisible = true;
|
||||||
|
state.showWorkText = name;
|
||||||
state.projectTaskId = id;
|
state.projectTaskId = id;
|
||||||
};
|
};
|
||||||
//考试管理的抽屉
|
//考试管理的抽屉
|
||||||
|
|||||||
Reference in New Issue
Block a user