diff --git a/src/assets/images/basicinfo/cloud.png b/src/assets/images/basicinfo/cloud.png new file mode 100644 index 00000000..06e258c7 Binary files /dev/null and b/src/assets/images/basicinfo/cloud.png differ diff --git a/src/assets/images/basicinfo/exl.png b/src/assets/images/basicinfo/exl.png new file mode 100644 index 00000000..bd777bcb Binary files /dev/null and b/src/assets/images/basicinfo/exl.png differ diff --git a/src/assets/scss/common.scss b/src/assets/scss/common.scss index 46152dc0..52d28c4a 100644 --- a/src/assets/scss/common.scss +++ b/src/assets/scss/common.scss @@ -266,6 +266,7 @@ textarea { //抽屉-------------------------------------------------------- .drawerStyle { + // transform: translateX(0px) !important; .ant-drawer-content-wrapper { max-width: 1050px; diff --git a/src/components/drawers/ActiveAttendance.vue b/src/components/drawers/ActiveAttendance.vue index 6db40153..f81985a1 100644 --- a/src/components/drawers/ActiveAttendance.vue +++ b/src/components/drawers/ActiveAttendance.vue @@ -220,9 +220,11 @@ export default { gang: "产品经理", cur: "-", jin: "-", - time: "缺勤", state: "异常", + signIn: false, //签到 + signOut: false, //签退 + leave: false, //请假 }, { key: 2, @@ -231,8 +233,11 @@ export default { gang: "产品经理", cur: "2022-10-31 23:12", jin: "-", - time: "签到", + time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 3, @@ -241,8 +246,11 @@ export default { gang: "产品经理", cur: "2022-10-31 23:12", jin: "2022-10-31 23:12", - time: "签到/签退", - state: "正常", + time: "迟到", + state: "异常", + signIn: false, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 4, @@ -251,8 +259,11 @@ export default { gang: "产品经理", cur: "2022-10-31 23:12", jin: "2022-10-31 23:12", - time: "签到/签退", - state: "正常", + time: "早退", + state: "异常", + signIn: true, //签到 + signOut: false, //签退 + leave: false, //请假 }, { key: 5, @@ -263,6 +274,9 @@ export default { jin: "2022-10-31 23:12", time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 6, @@ -273,6 +287,9 @@ export default { jin: "2022-10-31 23:12", time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { name: "张三", @@ -282,6 +299,9 @@ export default { jin: "2022-10-31 23:12", time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 8, @@ -292,6 +312,9 @@ export default { jin: "2022-10-31 23:12", time: "请假", state: "正常", + signIn: false, //签到 + signOut: false, //签退 + leave: true, //请假 }, ], options: [ @@ -328,6 +351,43 @@ export default { state.selectedRowKeys = selectedRowKeys; }; + const getTableData = () => { + let arr = state.tableData; + arr.map((value) => { + // console.log("value", value); + value.opacation = ( +
+ { + console.log("点击签到", e); + }} + > + 签到 + + { + console.log("点击签退", e); + }} + > + 签退 + + { + console.log("点击请假", e); + }} + > + 请假 + +
+ ); + }); + state.tableData = arr; + }; + getTableData(); + const tableDataFunc = () => { const columns = [ { @@ -402,16 +462,16 @@ export default { className: "h", dataIndex: "opacation", key: "opacation", - width: 210, + width: 130, align: "center", - scopedSlots: { customRender: "action" }, //引入的插槽 - customRender: () => { - return ( -
- -
- ); - }, + // scopedSlots: { customRender: "action" }, //引入的插槽 + // customRender: () => { + // return ( + //
+ // + //
+ // ); + // }, }, ]; return columns; @@ -429,7 +489,7 @@ export default { }; - \ No newline at end of file + diff --git a/src/components/drawers/AddActive.vue b/src/components/drawers/AddActive.vue index ce84b595..c0ea88cc 100644 --- a/src/components/drawers/AddActive.vue +++ b/src/components/drawers/AddActive.vue @@ -162,9 +162,9 @@
- 仅签到 - 签到、签退全部完成仅签到 + 签到、签退全部完成
@@ -220,15 +220,22 @@ export default { }); const closeDrawer = () => { ctx.emit("update:addactiveVisible", false); + state.radioV1 = ""; }; const afterVisibleChange = (bool) => { console.log("state", bool); }; + const cloradio1 = (value) => { + if (value != "") { + state.radioV1 = ""; + } + } return { ...toRefs(state), afterVisibleChange, closeDrawer, rowSelection, + cloradio1, }; }, }; diff --git a/src/components/drawers/AddFaceteach.vue b/src/components/drawers/AddFaceteach.vue index 9eec1733..8625790d 100644 --- a/src/components/drawers/AddFaceteach.vue +++ b/src/components/drawers/AddFaceteach.vue @@ -2,7 +2,7 @@ - 分钟 + 分钟
@@ -142,24 +142,37 @@ 考勤设置:
-
签到
+
+
签到
+
开始前: - + 分钟
开始后: - + 分钟
-
签退
+
+
签退
+
结束前: - + 分钟(提前签退则记为早退) @@ -173,8 +186,8 @@
- 仅签到 - 仅签到 + 签到、签退全部完成 @@ -196,8 +209,8 @@
- 允许项目内人员临时到场参加 - 允许项目内人员临时到场参加 + 允许项目外人员临时到场参加 @@ -309,6 +322,8 @@ export default { }); const closeDrawer = () => { ctx.emit("update:addfaceteachVisible", false); + state.radioV1 = ""; + state.radioV2 = ""; }; const afterVisibleChange = (bool) => { console.log("state", bool); @@ -322,6 +337,16 @@ export default { const showDrawerAddTest = () => { state.addtestvisible = true; }; + const cloradio1 = (value) => { + if (value != "") { + state.radioV1 = ""; + } + }; + const cloradio2 = (value) => { + if (value != "") { + state.radioV2 = ""; + } + } return { ...toRefs(state), showDrawerSelFacet, @@ -330,6 +355,8 @@ export default { afterVisibleChange, closeDrawer, rowSelection, + cloradio1, + cloradio2, // change, }; }, @@ -359,6 +386,7 @@ export default { display: flex; justify-content: space-between; .main_left { + height: 1080px; padding-right: 30px; flex: 1; border-right: 1px solid #e8e8e8; @@ -410,7 +438,7 @@ export default { .qtbtn { width: 75px; height: 24px; - background: rgba(56,139,225,0.16); + background: rgba(56, 139, 225, 0.16); border-radius: 2px; border: 1px solid #387df7; display: flex; diff --git a/src/components/drawers/AddGroup.vue b/src/components/drawers/AddGroup.vue index d81ea841..6a419f89 100644 --- a/src/components/drawers/AddGroup.vue +++ b/src/components/drawers/AddGroup.vue @@ -16,38 +16,38 @@ />
-
-
- -
-
小组名称:
-
- -
+
+
+
-
-
- -
-
小组长:
-
- -
+
小组名称:
+
+
+
+
+
+ +
+
小组长:
+
+ +
+
@@ -55,7 +55,6 @@
- - \ No newline at end of file + diff --git a/src/components/drawers/AddLevelAddStu.vue b/src/components/drawers/AddLevelAddStu.vue new file mode 100644 index 00000000..a7b381e9 --- /dev/null +++ b/src/components/drawers/AddLevelAddStu.vue @@ -0,0 +1,805 @@ + + + + + \ No newline at end of file diff --git a/src/components/drawers/AddLevelImportStu.vue b/src/components/drawers/AddLevelImportStu.vue new file mode 100644 index 00000000..fdf9464d --- /dev/null +++ b/src/components/drawers/AddLevelImportStu.vue @@ -0,0 +1,354 @@ + + + + + \ No newline at end of file diff --git a/src/components/drawers/AddLive.vue b/src/components/drawers/AddLive.vue index 76485dc0..08f03cdb 100644 --- a/src/components/drawers/AddLive.vue +++ b/src/components/drawers/AddLive.vue @@ -230,8 +230,8 @@
- 仅签到 - 仅签到 + 签到、签退全部完成 @@ -439,6 +439,8 @@ export default { }); const closeDrawer = () => { ctx.emit("update:addliveVisible", false); + state.radioV1 = ""; + state.playback = false; }; const afterVisibleChange = (bool) => { console.log("state", bool); @@ -446,6 +448,11 @@ export default { const PlayBack = () => { state.playback = !state.playback; }; + const cloradio1 = (value) => { + if (value != "") { + state.radioV1 = ""; + } + } return { ...toRefs(state), afterVisibleChange, @@ -454,6 +461,7 @@ export default { options1, columns1, rowSelection, + cloradio1, }; }, }; diff --git a/src/components/drawers/AddTest.vue b/src/components/drawers/AddTest.vue index 4d879967..d2d7249c 100644 --- a/src/components/drawers/AddTest.vue +++ b/src/components/drawers/AddTest.vue @@ -132,8 +132,8 @@
- 允许查看 - 允许查看 + 不允许查看 @@ -145,8 +145,8 @@
- 允许查看 - 允许查看 + 不允许查看 @@ -159,10 +159,10 @@
- 最高一次 - 最后一次 @@ -187,9 +187,9 @@
- 试题乱序 - 试题排序 - 全部乱序 + 试题乱序 + 试题排序 + 全部乱序
@@ -243,15 +243,43 @@ export default { }); const closeDrawer = () => { ctx.emit("update:addtestVisible", false); + state.radioV1 = ""; + state.radioV2 = ""; + state.radioV3 = ""; + state.radioV4 = ""; }; const afterVisibleChange = (bool) => { console.log("state", bool); }; + const cloradio1 = (value) => { + if (value != "") { + state.radioV1 = ""; + } + } + const cloradio2 = (value) => { + if (value != "") { + state.radioV2 = ""; + } + } + const cloradio3 = (value) => { + if (value != "") { + state.radioV3 = ""; + } + } + const cloradio4 = (value) => { + if (value != "") { + state.radioV4 = ""; + } + } return { ...toRefs(state), afterVisibleChange, closeDrawer, rowSelection, + cloradio1, + cloradio2, + cloradio3, + cloradio4, }; }, }; diff --git a/src/components/drawers/FaceStu.vue b/src/components/drawers/FaceStu.vue index c630893c..e72e2bcc 100644 --- a/src/components/drawers/FaceStu.vue +++ b/src/components/drawers/FaceStu.vue @@ -224,9 +224,11 @@ export default { gang: "产品经理", cur: "-", jin: "-", - time: "缺勤", state: "异常", + signIn: false, //签到 + signOut: false, //签退 + leave: false, //请假 }, { key: 2, @@ -235,8 +237,11 @@ export default { gang: "产品经理", cur: "2022-10-31 23:12", jin: "-", - time: "签到", + time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 3, @@ -245,8 +250,11 @@ export default { gang: "产品经理", cur: "2022-10-31 23:12", jin: "2022-10-31 23:12", - time: "签到/签退", - state: "正常", + time: "迟到", + state: "异常", + signIn: false, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 4, @@ -255,8 +263,11 @@ export default { gang: "产品经理", cur: "2022-10-31 23:12", jin: "2022-10-31 23:12", - time: "签到/签退", - state: "正常", + time: "早退", + state: "异常", + signIn: true, //签到 + signOut: false, //签退 + leave: false, //请假 }, { key: 5, @@ -267,6 +278,9 @@ export default { jin: "2022-10-31 23:12", time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 6, @@ -277,6 +291,9 @@ export default { jin: "2022-10-31 23:12", time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { name: "张三", @@ -286,6 +303,9 @@ export default { jin: "2022-10-31 23:12", time: "签到/签退", state: "正常", + signIn: true, //签到 + signOut: true, //签退 + leave: false, //请假 }, { key: 8, @@ -296,22 +316,26 @@ export default { jin: "2022-10-31 23:12", time: "请假", state: "正常", + signIn: false, //签到 + signOut: false, //签退 + leave: true, //请假 }, ], - options: [ + tableOptions: [ { - label: "Apple", - value: "Apple", + label: "签到", + value: "1", }, { - label: "Pear", - value: "Pear", + label: "签退", + value: "2", }, { - label: "Orange", - value: "Orange", + label: "请假", + value: "3", }, ], + // selectOption: [], }); const selectProjectName = (value, index) => { console.log("value", value, index); @@ -332,6 +356,42 @@ export default { state.selectedRowKeys = selectedRowKeys; }; + const getTableData = () => { + let arr = state.tableData; + arr.map((value) => { + // console.log("value", value); + value.opacation = ( +
+ { + console.log("点击签到", e); + }} + > + 签到 + + { + console.log("点击签退", e); + }} + > + 签退 + + { + console.log("点击请假", e); + }} + > + 请假 + +
+ ); + }); + state.tableData = arr; + }; + getTableData(); const tableDataFunc = () => { const columns = [ { @@ -406,16 +466,25 @@ export default { className: "h", dataIndex: "opacation", key: "opacation", - width: 210, + width: 130, align: "center", - scopedSlots: { customRender: "action" }, //引入的插槽 - customRender: () => { - return ( -
- -
- ); - }, + // scopedSlots: { customRender: "action" }, //引入的插槽 + + // customRender: () => { + // return ( + //
+ // { + // console.log("eee", e); + // // state.selectOption = e; + // }} + // /> + //
+ // ); + // }, }, ]; return columns; @@ -428,12 +497,13 @@ export default { onSelectChange, showEntryScore, tableDataFunc, + getTableData, }; }, }; - \ No newline at end of file + diff --git a/src/components/drawers/SubsetManage.vue b/src/components/drawers/SubsetManage.vue index 2c851a2b..9737ca43 100644 --- a/src/components/drawers/SubsetManage.vue +++ b/src/components/drawers/SubsetManage.vue @@ -18,35 +18,34 @@
小组:
-
- -
删除
+
+ +
删除
+
+
+ +
删除
+
+
+ +
删除
+
-
- -
删除
-
-
- - -
删除
-
-
- + 创建小组
注:随机分组不对小组长生效
@@ -103,7 +102,7 @@ export default { }; - \ No newline at end of file + diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index 4bddd2c2..7b4e5baf 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -109,13 +109,13 @@
- {{ value5.length }}/20 + {{ xzinputV1.length }}/20
@@ -183,16 +183,16 @@
-
+
- 线上
-
+
- 面授
@@ -214,10 +214,10 @@
- +
- +
@@ -245,6 +245,7 @@ :closable="false" wrapClassName="modalStyle facteachModal" width="80%" + @cancel="ft_exit" >
@@ -281,14 +282,14 @@
{{ value6.length }}/90{{ qdms_inputV1.length }}/90
@@ -369,14 +370,14 @@
{{ value7.length }}/50{{ qdms_inputV2.length }}/50
@@ -389,14 +390,14 @@
{{ value8.length }}/200{{ qdms_inputV3.length }}/200
@@ -448,7 +449,7 @@
@@ -473,7 +474,7 @@
@@ -487,14 +488,14 @@
{{ value11.length }}/150{{ qdms_inputV6.length }}/150
@@ -528,7 +529,7 @@
- 删除 +
删除
@@ -548,7 +549,7 @@
- 删除 +
删除
@@ -568,8 +569,8 @@
- 重传取消 +
重传
+
取消
@@ -583,11 +584,14 @@
正在上传
+
+ 50% +
- 暂停取消 +
暂停
+
取消
@@ -697,7 +701,7 @@ class="select" ref="select" placeholder="请选择状态" - v-model:value="value12" + v-model:value="gl_selectV1" style="width: 200px" @focus="focus" @change="handleChange" @@ -714,7 +718,7 @@
@@ -742,7 +746,7 @@ class="select" ref="select" placeholder="请选择状态" - v-model:value="value14" + v-model:value="gl_selectV2" style="width: 200px" @focus="focus" @change="handleChange" @@ -759,7 +763,7 @@
@@ -951,6 +955,7 @@ :closable="false" wrapClassName="modalStyle schtimeModal" width="80%" + @cancel="stm_exit" >
@@ -973,7 +978,7 @@
+
@@ -1120,13 +1125,13 @@
- {{ value20.length }}/50 + {{ xjkkinputV2.length }}/50
@@ -1143,7 +1148,7 @@
@@ -1161,7 +1166,7 @@
@@ -1182,13 +1187,13 @@ 签到设置
- - + 是否允许未报名的学员签到 - 签到是否需要口令 @@ -1209,18 +1214,18 @@ 完成规则
- - + 报名即完成 - 签到即完成 - 请假算完成 @@ -1273,6 +1278,7 @@ :closable="false" wrapClassName="modalStyle stusmanageModal" width="80%" + @cancel="sm_exit" >
@@ -1316,7 +1322,7 @@
结业
- +
- 结业
- 不结业
@@ -1646,7 +1652,7 @@
-
+
提示
@@ -1731,9 +1737,7 @@ -
- -
+
@@ -1742,6 +1746,7 @@ import { reactive, toRefs, defineComponent, ref } from "vue"; import { message } from "ant-design-vue"; import OwnPower from "../../components/drawers/OwnPower.vue"; import Corpowerlist from "../../components/drawers/CorPowerlist.vue"; +//列表表格 const columns1 = [ { title: "序号", @@ -1846,6 +1851,7 @@ const columns1 = [ align: "center", }, ]; + const columns2 = [ { title: "姓名", @@ -1913,7 +1919,7 @@ const columns4 = [ align: "center", }, ]; -//授权弹窗的数据 +//授权弹窗 // const columns5 = [ // { // title: "姓名", @@ -2089,6 +2095,7 @@ export default defineComponent({ }, setup() { const state = reactive({ + //列表表格 tableData1: [ { key: "1", @@ -2187,6 +2194,7 @@ export default defineComponent({ kkty: true, }, ], + //在线面授管理报名管理 tableData2: [ { key: 1, @@ -2205,6 +2213,7 @@ export default defineComponent({ status: "已完成", }, ], + //在线面授管理学习记录 tableData3: [ { key: 1, @@ -2215,6 +2224,7 @@ export default defineComponent({ status: "已通过", }, ], + //管理查看详情 tableData4: [ { key: 1, @@ -2223,7 +2233,8 @@ export default defineComponent({ status: "已通过", }, ], - //授权弹窗的数据 + + // 授权弹窗 // tableData5: [ // { // key: 1, @@ -2261,6 +2272,8 @@ export default defineComponent({ // authority: "管理权", // }, // ], + + //开课 tableData6: [ { key: 1, @@ -2303,6 +2316,7 @@ export default defineComponent({ createtime: "2022-07-14 14:00:00", }, ], + //开课学员管理 tableData7: [ { key: "1", @@ -2412,20 +2426,45 @@ export default defineComponent({ //抽屉状态 ownpowervisible: false, corpowerlistvisible: false, - - value: "", - value5: "", - value6: "", - value7: "", - value8: "", - value11: "", - value20: "", + //列表 + value1: "", + value2: "", + value3: "", + value4: "", + //选择线上还是面授 + xzinputV1: "", valueE1: "", valueE2: "", - valueB: "", - valueC: "", + //确定面授 + qdms_inputV1: "", + qdms_inputV2: "", + qdms_inputV3: "", + qdms_inputV4: "", + qdms_inputV5: "", + qdms_inputV6: "", + //在线面授管理 + gl_selectV1:"", + gl_selectV2:"", + gl_inputV1:"", + gl_inputV2:"", + //开课 + kkinputV1: "", + kkinputV2: "", + //新建开课 + xjkkradioV1:"", + xjkkradioV2:"", + xjkkinputV1: "", + xjkkinputV2: "", + xjkkinputV3: "", + xjkkinputV4: "", selectedRowKeys: [], faceManageTab: "1", + //开课学员管理 + xygl_inputV1:"", + //录入成绩 + lrcj_inputV1:"", + //结业 + jyradioV1:"", }); // 渲染列表1操作 const getTableDate = () => { @@ -3035,6 +3074,8 @@ export default defineComponent({ const of_exit = () => { state.of_hs = false; state.valueE1 = ""; + state.valueE2 = ""; + state.hideshow = true; }; const hideShow = () => { if (state.hideshow == true) { @@ -3043,8 +3084,11 @@ export default defineComponent({ state.hideshow = true; } }; - const bs_hShow = () => { + const bs_hShow = (value) => { state.bs_hs = true; + if (value != "") { + state.valueE1 = ""; + } }; const createft = () => { if (state.bs_hs == false) { @@ -3055,6 +3099,7 @@ export default defineComponent({ }; const ft_exit = () => { state.ft_hs = false; + state.hideshow = true; }; const om_exit = () => { state.om_1 = false; @@ -3077,14 +3122,39 @@ export default defineComponent({ }; const cstm_exit = () => { state.cstm_hs = false; + state.xjkkradioV1 = ""; + state.xjkkradioV2 = ""; + state.xjkkinputV1 = ""; + state.xjkkinputV2 = ""; + state.xjkkinputV3 = ""; + state.xjkkinputV4 = ""; }; const sm_exit = () => { state.sm_hs = false; + state.hideshow = true; }; - const clear_valueE = () => { + const clear_valueE1 = () => { state.bs_hs = false; state.valueE1 = ""; }; + const clear_valueE2 = () => { + state.valueE2 = ""; + }; + const clear_xjkkradioV1 = (value) => { + if (value != ""){ + state.xjkkradioV1 = ""; + } + } + const clear_xjkkradioV2 = (value) => { + if (value != ""){ + state.xjkkradioV2 = ""; + } + } + const clear_jyradioV1 = (value) => { + if (value != ""){ + state.jyradioV1 = ""; + } + } const qr_exit = () => { state.QR_hs = false; state.qrQR_hs = false; @@ -3162,7 +3232,11 @@ export default defineComponent({ createkk, cstm_exit, sm_exit, - clear_valueE, + clear_valueE1, + clear_valueE2, + clear_xjkkradioV1, + clear_xjkkradioV2, + clear_jyradioV1, qr_exit, rg_exit, graduate_exit, @@ -4351,14 +4425,14 @@ export default defineComponent({ } } } - .file_operation { + } + .file_operation { display: flex; - - span { + .fobox{ + margin-right: 5px; cursor: pointer; } } - } } } } @@ -5029,6 +5103,13 @@ export default defineComponent({ padding-top: 20px; padding-left: 26px; font-size: 16px; + .del-icon { + width: 16px; + height: 16px; + margin-right: 10px; + background-image: url(@/assets/images/coursewareManage/notice.png); + background-size: 100% 100%; + } .icon { width: 16px; height: 16px; diff --git a/src/views/learningpath/LevelAdd.vue b/src/views/learningpath/LevelAdd.vue index 9a7a4b19..92a699d6 100644 --- a/src/views/learningpath/LevelAdd.vue +++ b/src/views/learningpath/LevelAdd.vue @@ -72,66 +72,97 @@
-
-
-
{{ item.lev }}
-
-
{{ item.name }}
-
- 当前关卡 - {{ item.count }} - 个人 -
-
-
-
-
- {{ item.online }} + +
+
+
+
{{ item.lev }}
+
+
{{ item.name }}
+
+ 当前关卡 + {{ item.count }} + 个人
-
在线
-
-
-
- {{ item.homework }} +
+
+
+ {{ item.online }} +
+
在线
-
作业
-
-
-
-
- {{ item.juan }} +
+
+
+ {{ item.homework }} +
+
作业
-
问卷
-
-
-
-
- {{ item.ballot }} +
+
+
+ {{ item.juan }} +
+
问卷
-
投票
-
-
-
-
- {{ item.test }} +
+
+
+ {{ item.ballot }} +
+
投票
-
考试
-
-
-
- 编辑 -
-
更多
-
-
-
复制
-
删除
+
+
+
+ {{ item.test }} +
+
考试
+
+
+
+ 编辑 +
+
更多
+
+
+
复制
+
删除
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ 发布 +
+
快速发布项目
+
+
+
@@ -159,8 +190,8 @@
- - + +
@@ -344,13 +375,14 @@ v-model:visible="visible" :footer="null" centered="true" + wrapClassName="changeModal" >
调整关卡
-
+
@@ -375,39 +407,74 @@
+ + + +
+
+
+
+
+ 提示 +
+
+
+ 请确认是否批量删除学员 +
+
+
+
取消
+
+
+
确定
+
+
+
+
+
+ + + +