mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-12 12:26:47 +08:00
Merge branch 'develop' of http://gitlab.dongwu-inc.com:10080/BOE/fe-manage into develop
This commit is contained in:
4
.env
4
.env
@@ -27,10 +27,10 @@ VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
|||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
|
|
||||||
#在线
|
#在线
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u-pre.boe.com/pc/course/studyindex?id=
|
VUE_APP_ONLINE_CLASS_URL=//u-pre.boe.com/mobile/pages/study/courseStudy?id=
|
||||||
#案例
|
#案例
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
||||||
#考试
|
#考试
|
||||||
VITE_BOE_EXAM_DETAIL_URL=//u-pre.boe.com/pc/exam/test?id=
|
VUE_APP_EXAM_DETAIL_URL=//u-pre.boe.com/mobile/pages/exam/exam?id=
|
||||||
#h5的基本url
|
#h5的基本url
|
||||||
VUE_APP_H5=//u-pre.boe.com/student-h5
|
VUE_APP_H5=//u-pre.boe.com/student-h5
|
||||||
|
|||||||
4
.env.boe
4
.env.boe
@@ -11,6 +11,6 @@ VUE_APP_UP_LOAD_STUDENT_TEMPLATE=coursefile/导入学员模版-1677140876274.xls
|
|||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=coursefile/外部考试学员成绩导入模板-1677055614438.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=coursefile/外部考试学员成绩导入模板-1677055614438.xlsx
|
||||||
#在线
|
#在线
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u-pre.boe.com/pc/course/studyindex?id=
|
VUE_APP_ONLINE_CLASS_URL=//u-pre.boe.com/mobile/pages/study/courseStudy?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u-pre.boe.com/pc/case/detail?id=
|
||||||
VITE_BOE_EXAM_DETAIL_URL=//u-pre.boe.com/pc/exam/test?id=
|
VUE_APP_EXAM_DETAIL_URL=//u-pre.boe.com/mobile/pages/exam/exam?id=
|
||||||
@@ -17,6 +17,6 @@ VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
|||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
|
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u.boe.com/pc/course/studyindex?id=
|
VUE_APP_ONLINE_CLASS_URL=//u.boe.com/mobile/pages/study/courseStudy?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc/case/detail?id=
|
||||||
VITE_BOE_EXAM_DETAIL_URL=//u.boe.com/pc/exam/test?id=
|
VUE_APP_EXAM_DETAIL_URL=//u.boe.com/mobile/pages/exam/exam?id=
|
||||||
@@ -16,6 +16,6 @@ VUE_APP_COURSE_STUDY=//u.boe.com/pc-release/course/studyindex?id=
|
|||||||
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
VUE_APP_UP_LOAD_STUDENT_TEMPLATE=导入学员模版-1673963663229.xlsx
|
||||||
# 外部考试导入成绩模板
|
# 外部考试导入成绩模板
|
||||||
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE=外部考试学员成绩导入模板-1676551319283.xlsx
|
||||||
VITE_BOE_ONLINE_CLASS_URL=//u.boe.com/pc-release/course/studyindex?id=
|
VUE_APP_ONLINE_CLASS_URL=//u.boe.com/mobile/pages/study/courseStudy?id=
|
||||||
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc-release/case/detail?id=
|
VITE_BOE_CASS_DETAIL_URL=//u.boe.com/pc-release/case/detail?id=
|
||||||
VITE_BOE_EXAM_DETAIL_URL=//u.boe.com/pc-release/exam/test?id=
|
VUE_APP_EXAM_DETAIL_URL=//u.boe.com/mobile/pages/exam/exam?id=
|
||||||
BIN
src/assets/images/evImg.png
Normal file
BIN
src/assets/images/evImg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 460 KiB |
@@ -948,7 +948,7 @@ export default {
|
|||||||
process.env.VUE_APP_BASE_API +
|
process.env.VUE_APP_BASE_API +
|
||||||
`/admin/student/studentSign?taskId=${props.datasource.id}&taskType=${
|
`/admin/student/studentSign?taskId=${props.datasource.id}&taskType=${
|
||||||
props.datasource.type
|
props.datasource.type
|
||||||
}&type=${2}`,
|
}&type=${1}`,
|
||||||
};
|
};
|
||||||
console.log("codeInfo", state.codeInfo);
|
console.log("codeInfo", state.codeInfo);
|
||||||
state.codeIndex = 0;
|
state.codeIndex = 0;
|
||||||
|
|||||||
@@ -60,87 +60,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="contentMain nolimits" v-else>
|
<div class="contentMain nolimits" v-else>
|
||||||
<div class="limitstext1">
|
<img style="width: 700px" src="../../assets/images/evImg.png" />
|
||||||
抱歉,您没有关联测评的权限,您可以联系下方管理员开启权限
|
|
||||||
</div>
|
|
||||||
<div class="limitstext2">测评工具介绍</div>
|
|
||||||
<div class="limitsRow">
|
|
||||||
<div class="limitsRowDrop"></div>
|
|
||||||
<div class="limitsRowText">
|
|
||||||
人才发展项目中恰当运用测评手段可以更为精准地定位培训需求,更有针对性地设计培养项目和课程;同时,也能够帮助学员精准认知自身问题,提高在项目中的参与度。
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="limitsRow" style="margin-top: 10px">
|
|
||||||
<div class="limitsRowDrop"></div>
|
|
||||||
<div class="limitsRowText">
|
|
||||||
BOEU测评部经过多年的额实践,积累了一套覆盖“能力、性格和动力”三大方面的测评工具,可在人才发展项目中选择使用。
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tool" v-for="(item, key) in toolList" :key="key">
|
|
||||||
<div
|
|
||||||
class="toolName"
|
|
||||||
:style="{
|
|
||||||
backgroundColor:
|
|
||||||
key === 0
|
|
||||||
? 'rgba(0, 77, 126)'
|
|
||||||
: key === 1
|
|
||||||
? 'rgba(184, 0, 0)'
|
|
||||||
: 'rgba(46, 129, 83)',
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
<div>{{ item.name[0] }}</div>
|
|
||||||
<div>{{ item.name[1] }}</div>
|
|
||||||
</div>
|
|
||||||
<div class="toolEvery1" v-for="(i, k) in item.children" :key="k">
|
|
||||||
<div
|
|
||||||
class="toolEveryText1"
|
|
||||||
:style="{
|
|
||||||
color:
|
|
||||||
key === 0
|
|
||||||
? 'rgba(5,75,120)'
|
|
||||||
: key === 1
|
|
||||||
? 'rgba(169,3,3)'
|
|
||||||
: 'rgba(44,120,79)',
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
{{ i.text1 }}
|
|
||||||
</div>
|
|
||||||
<div class="toolEveryText2">{{ i.text2 }}</div>
|
|
||||||
<div
|
|
||||||
class="toolEveryText3"
|
|
||||||
v-if="i.text3"
|
|
||||||
:style="{
|
|
||||||
color:
|
|
||||||
key === 0
|
|
||||||
? 'rgba(5,75,120)'
|
|
||||||
: key === 1
|
|
||||||
? 'rgba(169,3,3)'
|
|
||||||
: 'rgba(44,120,79)',
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
{{ i.text3 }}
|
|
||||||
</div>
|
|
||||||
<div class="toolEveryText4" v-if="i.text4">{{ i.text4 }}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="limitsRow">
|
|
||||||
<div class="limitsRowDrop"></div>
|
|
||||||
<div class="limitsRowText">
|
|
||||||
如项目中有测评需求,请您联系BOEU测评部
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="limitsRow" style="align-items: flex-start">
|
|
||||||
<div class="limitsRowDrop"></div>
|
|
||||||
<div style="margin-top: 10px">
|
|
||||||
<div class="limitsRowText">联系人:</div>
|
|
||||||
<div class="limitsRowText">
|
|
||||||
王逸(10167304) 联系电话:010-60965646
|
|
||||||
</div>
|
|
||||||
<div class="limitsRowText">
|
|
||||||
宋哲(10157955) 联系电话:010-60965435
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
<button class="btn1" @click="closeDrawer">取消</button>
|
<button class="btn1" @click="closeDrawer">取消</button>
|
||||||
@@ -155,67 +75,67 @@ import { useBoeApiPage } from "@/api/request";
|
|||||||
import { TEST_PAGE } from "@/api/ThirdApi";
|
import { TEST_PAGE } from "@/api/ThirdApi";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
const toolList = ref([
|
// const toolList = ref([
|
||||||
{
|
// {
|
||||||
name: ["能力类", "测验工具"],
|
// name: ["能力类", "测验工具"],
|
||||||
children: [
|
// children: [
|
||||||
{
|
// {
|
||||||
text1: "职场准备度测评",
|
// text1: "职场准备度测评",
|
||||||
text2: "无工作经验学生",
|
// text2: "无工作经验学生",
|
||||||
text3: "职业能力成熟度测评",
|
// text3: "职业能力成熟度测评",
|
||||||
text4: "五年以内工龄员工",
|
// text4: "五年以内工龄员工",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
text1: "职业认知能力测评",
|
// text1: "职业认知能力测评",
|
||||||
text2: "五年内工龄员工",
|
// text2: "五年内工龄员工",
|
||||||
text3: "商业推荐测评",
|
// text3: "商业推荐测评",
|
||||||
text4: "五年内工龄员工",
|
// text4: "五年内工龄员工",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
text1: "沟通能力测评",
|
// text1: "沟通能力测评",
|
||||||
text2: "五年内工龄员工",
|
// text2: "五年内工龄员工",
|
||||||
text3: "情商测评",
|
// text3: "情商测评",
|
||||||
text4: "各层级人员",
|
// text4: "各层级人员",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
text1: "管理行为自检问卷",
|
// text1: "管理行为自检问卷",
|
||||||
text2: "基/中/高层管理者",
|
// text2: "基/中/高层管理者",
|
||||||
text3: "管理者情境判断测评",
|
// text3: "管理者情境判断测评",
|
||||||
text4: "基/中高层管理者",
|
// text4: "基/中高层管理者",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: ["性格/风格", "测验工具"],
|
// name: ["性格/风格", "测验工具"],
|
||||||
children: [
|
// children: [
|
||||||
{
|
// {
|
||||||
text1: "PDP性格类型测验",
|
// text1: "PDP性格类型测验",
|
||||||
text2: "各层级人员",
|
// text2: "各层级人员",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
text1: "大五职业性格测评",
|
// text1: "大五职业性格测评",
|
||||||
text2: "各层级人员",
|
// text2: "各层级人员",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
text1: "领导风格测验",
|
// text1: "领导风格测验",
|
||||||
text2: "各层级人员",
|
// text2: "各层级人员",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: ["动机/价值观", "测验工具"],
|
// name: ["动机/价值观", "测验工具"],
|
||||||
children: [
|
// children: [
|
||||||
{
|
// {
|
||||||
text1: "动机测验(内隐&外显)",
|
// text1: "动机测验(内隐&外显)",
|
||||||
text2: "各层级人员",
|
// text2: "各层级人员",
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
text1: "职业兴趣测验",
|
// text1: "职业兴趣测验",
|
||||||
text2: "各层级人员",
|
// text2: "各层级人员",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
]);
|
// ]);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
taskList: [],
|
taskList: [],
|
||||||
evaluationTypeId: String,
|
evaluationTypeId: String,
|
||||||
|
|||||||
@@ -358,7 +358,6 @@ export default {
|
|||||||
};
|
};
|
||||||
//把数据放到state里
|
//把数据放到state里
|
||||||
const getTableDataList = (tableData) => {
|
const getTableDataList = (tableData) => {
|
||||||
debugger
|
|
||||||
let data = tableData;
|
let data = tableData;
|
||||||
let array = [];
|
let array = [];
|
||||||
data.map((value) => {
|
data.map((value) => {
|
||||||
|
|||||||
@@ -402,8 +402,8 @@ export default {
|
|||||||
taskId: props.datasource.courseId,
|
taskId: props.datasource.courseId,
|
||||||
targetId: props.datasource.projectId
|
targetId: props.datasource.projectId
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
state.tabledata = res.data.data.managementDtoList;
|
state.tabledata = res.data.data.managementDtoList.records;
|
||||||
state.tableDataTotal = res.data.data.total;
|
state.tableDataTotal = res.data.data.managementDtoList.total;
|
||||||
state.loadingData = false;
|
state.loadingData = false;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -403,8 +403,8 @@ export default {
|
|||||||
taskId: props.datasource.courseId,
|
taskId: props.datasource.courseId,
|
||||||
targetId: props.datasource.routerId
|
targetId: props.datasource.routerId
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
state.tabledata = res.data.data.managementDtoList;
|
state.tabledata = res.data.data.managementDtoList.records;
|
||||||
state.tableDataTotal = res.data.data.total;
|
state.tableDataTotal = res.data.data.managementDtoList.total;
|
||||||
state.loadingData = false;
|
state.loadingData = false;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modelV"
|
v-model:value="modelV.value"
|
||||||
:placeholder="placeholder"
|
:placeholder="placeholder"
|
||||||
:show-count="showCount"
|
:show-count="showCount"
|
||||||
:maxlength="maxlength"
|
:maxlength="maxlength"
|
||||||
:validate="validate"
|
|
||||||
@change="validateProName"
|
|
||||||
/>
|
/>
|
||||||
<div style="color: red; font-size: 10px" v-if="modelV && !validated">
|
<div style="color: red; font-size: 10px" v-if="modelV.value && validated===0">
|
||||||
名称重复,请重新输入
|
名称重复,请重新输入
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {defineProps, defineEmits, watch, ref, onMounted} from "vue";
|
import {defineProps, defineEmits, watch, ref} from "vue";
|
||||||
import {validateName} from "@/api/index1";
|
import {validateName} from "@/api/index1";
|
||||||
import {throttle} from "@/api/method";
|
import {Form} from "ant-design-vue";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
value: {
|
value: {
|
||||||
@@ -38,70 +36,70 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
validated: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits({});
|
const emit = defineEmits(["update:value",'update:validated']);
|
||||||
|
|
||||||
const modelV = ref();
|
const modelV = ref({
|
||||||
|
value: props.value
|
||||||
const validating = ref(false)
|
|
||||||
const validated = ref(true)
|
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
modelV.value = props.value;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
const rulesRef = ref({
|
||||||
() => props.value,
|
value: [{
|
||||||
() => {
|
required: true,
|
||||||
if (props.value !== modelV.value) {
|
validator: validateValue,
|
||||||
modelV.value = props.value;
|
trigger: "change",
|
||||||
|
message: "请输入名称",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
Form.useForm(modelV, rulesRef, { debounce: { wait: 800 } });
|
||||||
|
|
||||||
|
watch(props, () => {
|
||||||
|
modelV.value.value = props.value;
|
||||||
|
});
|
||||||
|
|
||||||
|
watch(() => modelV.value.value, () => {
|
||||||
|
emit("update:validated", 1);
|
||||||
|
emit("update:value", modelV.value.value);
|
||||||
|
});
|
||||||
|
|
||||||
|
async function validateValue() {
|
||||||
|
if (!modelV.value.value) {
|
||||||
|
return Promise.reject("请输入名称");
|
||||||
|
}
|
||||||
|
return validateName({ name: modelV.value.value, type: props.type, id: props.id }).then(res => {
|
||||||
|
if (res.data.data === 1) {
|
||||||
|
emit("update:validated", 0);
|
||||||
|
return Promise.reject("名称重复");
|
||||||
}
|
}
|
||||||
|
emit("update:validated", 2);
|
||||||
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
watch(modelV, () => {
|
|
||||||
emit("update:value", modelV.value);
|
|
||||||
});
|
|
||||||
|
|
||||||
function validate() {
|
|
||||||
console.log('validate')
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
function validateNameFun() {
|
|
||||||
validateName({name: props.value, type: props.type, id: props.id}).then(res => {
|
|
||||||
validating.value = false
|
|
||||||
validated.value = res.data.data !== 1
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
const throttleValidateName = throttle(validateNameFun, 500)
|
|
||||||
|
|
||||||
function validateProName() {
|
|
||||||
validating.value = true
|
|
||||||
validated.value = true
|
|
||||||
props.value && throttleValidateName()
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
||||||
.pro {
|
.pro {
|
||||||
.ant-input-affix-wrapper {
|
.ant-input-affix-wrapper {
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.road {
|
}
|
||||||
|
|
||||||
|
.road {
|
||||||
.ant-input-affix-wrapper {
|
.ant-input-affix-wrapper {
|
||||||
padding: 0px 8px;
|
padding: 0px 8px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.b_input,
|
.b_input,
|
||||||
|
|||||||
@@ -401,8 +401,9 @@ const getStu = () => {
|
|||||||
arr.map((value) => {
|
arr.map((value) => {
|
||||||
let obj = {
|
let obj = {
|
||||||
id: value.id,
|
id: value.id,
|
||||||
|
studentId: value.studentId,
|
||||||
realName: value.studentName,
|
realName: value.studentName,
|
||||||
userNo: value.studentId,
|
userNo: value.studentUserNo,
|
||||||
isLeader: value.isLeader,
|
isLeader: value.isLeader,
|
||||||
groupId: value.groupId,
|
groupId: value.groupId,
|
||||||
orgName: value.studentOrgName ? value.studentOrgName : "-",
|
orgName: value.studentOrgName ? value.studentOrgName : "-",
|
||||||
@@ -792,7 +793,6 @@ function handleDialogOk() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleStageOk() {
|
function handleStageOk() {
|
||||||
// debugger
|
|
||||||
// 判断添加人数是否已超过限制人数 限制 = 本次添加的人 + 原有的人
|
// 判断添加人数是否已超过限制人数 限制 = 本次添加的人 + 原有的人
|
||||||
if (props.type === 1) {
|
if (props.type === 1) {
|
||||||
if (props.groupMemberCount !== null) { // 只有添加组员的时候判断
|
if (props.groupMemberCount !== null) { // 只有添加组员的时候判断
|
||||||
@@ -804,21 +804,26 @@ function handleStageOk() {
|
|||||||
if (haveGroupNum.length > 0) {
|
if (haveGroupNum.length > 0) {
|
||||||
message.warning("部分学员已经有小组,再次添加会被添加到当前小组.");
|
message.warning("部分学员已经有小组,再次添加会被添加到当前小组.");
|
||||||
}
|
}
|
||||||
|
// 判断是否是组长,组长不能添加
|
||||||
|
const leaderArray = selectsData.value.projectMemberList.filter(item => item.isLeader === "1");
|
||||||
|
if (leaderArray.length > 0) {
|
||||||
|
return message.warning("当前选中学员" + leaderArray[0].realName + "已是小组长,请勿重复选择。");
|
||||||
|
}
|
||||||
} else if (activeKey.value === 1) {
|
} else if (activeKey.value === 1) {
|
||||||
selectMember = selectsData.value.studentList.length;
|
selectMember = selectsData.value.studentList.length;
|
||||||
|
|
||||||
|
|
||||||
} else if (activeKey.value === 2) {
|
} else if (activeKey.value === 2) {
|
||||||
selectMember = selectsData.value.groupList.length;
|
selectMember = selectsData.value.groupList.length;
|
||||||
} else if (activeKey.value === 3) {
|
} else if (activeKey.value === 3) {
|
||||||
selectMember = selectsData.value.deptList.length;
|
selectMember = selectsData.value.deptList.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (props.groupMemberCount < selectMember + Number(props.groupMemberNumber)) {
|
if (props.groupMemberCount < selectMember + Number(props.groupMemberNumber)) {
|
||||||
return message.warning("添加小组学员超过最大值");
|
return message.warning("添加小组学员超过最大值");
|
||||||
}
|
}
|
||||||
// 判断是否是组长,组长不能添加
|
|
||||||
const leaderArray = selectsData.value.projectMemberList.filter(item => item.isLeader === "1");
|
|
||||||
if (leaderArray.length > 0) {
|
|
||||||
return message.warning("当前选中学员" + leaderArray[0].realName + "已是小组长,请勿重复选择。");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,6 @@ import { reactive, toRefs } from "vue";
|
|||||||
import * as api from "@/api/index1";
|
import * as api from "@/api/index1";
|
||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { toDate } from "@/api/method";
|
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
export default {
|
export default {
|
||||||
name: "TableCertificateStudent",
|
name: "TableCertificateStudent",
|
||||||
@@ -160,17 +159,7 @@ export default {
|
|||||||
key: "createTime",
|
key: "createTime",
|
||||||
width: 60,
|
width: 60,
|
||||||
align: "center",
|
align: "center",
|
||||||
className: "h",
|
className: "h"
|
||||||
customRender: (record) => {
|
|
||||||
// console.log(text.record.checked1);
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{record.record.createTime
|
|
||||||
? toDate(record.record.createTime / 1000, "Y-M-D h:m")
|
|
||||||
: "-"}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "操作",
|
title: "操作",
|
||||||
|
|||||||
@@ -9,70 +9,70 @@
|
|||||||
import {createStore} from "vuex";
|
import {createStore} from "vuex";
|
||||||
// import * as api from '../api/index1'
|
// import * as api from '../api/index1'
|
||||||
export default createStore({
|
export default createStore({
|
||||||
state: {
|
state: {
|
||||||
openpages: localStorage.getItem("openpages")
|
openpages: localStorage.getItem("openpages")
|
||||||
? JSON.parse(localStorage.getItem("openpages"))
|
? JSON.parse(localStorage.getItem("openpages"))
|
||||||
: [
|
: [
|
||||||
{
|
{
|
||||||
pagename: "学习路径图",
|
pagename: "学习路径图",
|
||||||
href: "/learningpath",
|
href: "/learningpath",
|
||||||
active: true,
|
active: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
assessmentName: "",
|
assessmentName: "",
|
||||||
routerId: null,
|
routerId: null,
|
||||||
projectTemplateId: null,
|
projectTemplateId: null,
|
||||||
userInfo: {},
|
userInfo: {},
|
||||||
orgtreeList: [],
|
orgtreeList: [],
|
||||||
faceclassPic: null,
|
faceclassPic: null,
|
||||||
faceclassClass: [],
|
faceclassClass: [],
|
||||||
faceclassScene: [],
|
faceclassScene: [],
|
||||||
projectLevel: [],//项目级别
|
projectLevel: [],//项目级别
|
||||||
projectSys: [],//培训分类
|
projectSys: [],//培训分类
|
||||||
pathmapPic: [],//学习路径背景图
|
pathmapPic: [],//学习路径背景图
|
||||||
memberInitInfo: [],//学员默认
|
memberInitInfo: [],//学员默认
|
||||||
sysType: [],//学员默认
|
sysType: [],//学员默认
|
||||||
menus:[]
|
menus: []
|
||||||
|
},
|
||||||
|
getters: {},
|
||||||
|
mutations: {
|
||||||
|
chengeOpenpages(state, list) {
|
||||||
|
// console.log('list', list)
|
||||||
|
state.openpages = list;
|
||||||
},
|
},
|
||||||
getters: {},
|
chengeRouterId(state, routerId) {
|
||||||
mutations: {
|
// console.log('list', list)
|
||||||
chengeOpenpages(state, list) {
|
state.routerId = routerId;
|
||||||
// console.log('list', list)
|
|
||||||
state.openpages = list;
|
|
||||||
},
|
|
||||||
chengeRouterId(state, routerId) {
|
|
||||||
// console.log('list', list)
|
|
||||||
state.routerId = routerId;
|
|
||||||
},
|
|
||||||
|
|
||||||
SET_assessmentName(state, name) {
|
|
||||||
state.assessmentName = name;
|
|
||||||
console.log("state.assessmentName");
|
|
||||||
console.log(state.assessmentName);
|
|
||||||
},
|
|
||||||
//获取组织树
|
|
||||||
getOrgtreeList(state, data) {
|
|
||||||
state.orgtreeList = data
|
|
||||||
},
|
|
||||||
SET_DICT(state, {key, data}) {
|
|
||||||
state[key] = data
|
|
||||||
},
|
|
||||||
SET_MEMBER_INFO(state, data) {
|
|
||||||
state.memberInitInfo = data
|
|
||||||
},
|
|
||||||
SET_USER(state, userInfo) {
|
|
||||||
state.userInfo = userInfo
|
|
||||||
},
|
|
||||||
SET_projectTemplateId(state, projectTemplateId) {
|
|
||||||
state.projectTemplateId = projectTemplateId;
|
|
||||||
},
|
|
||||||
SET_PERMISSION(state,permissions){
|
|
||||||
state.menus = permissions;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
actions: {},
|
|
||||||
modules: {},
|
SET_assessmentName(state, name) {
|
||||||
|
state.assessmentName = name;
|
||||||
|
console.log("state.assessmentName");
|
||||||
|
console.log(state.assessmentName);
|
||||||
|
},
|
||||||
|
//获取组织树
|
||||||
|
getOrgtreeList(state, data) {
|
||||||
|
state.orgtreeList = data;
|
||||||
|
},
|
||||||
|
SET_DICT(state, { key, data }) {
|
||||||
|
state[key] = data;
|
||||||
|
},
|
||||||
|
SET_MEMBER_INFO(state, data) {
|
||||||
|
state.memberInitInfo = data;
|
||||||
|
},
|
||||||
|
SET_USER(state, userInfo) {
|
||||||
|
userInfo.avatar = userInfo.avatar?.includes(process.env.VUE_APP_FILE_PATH) ? userInfo.avatar : (process.env.VUE_APP_FILE_PATH + userInfo.avatar);
|
||||||
|
state.userInfo = userInfo;
|
||||||
|
},
|
||||||
|
SET_projectTemplateId(state, projectTemplateId) {
|
||||||
|
state.projectTemplateId = projectTemplateId;
|
||||||
|
},
|
||||||
|
SET_PERMISSION(state, permissions) {
|
||||||
|
state.menus = permissions;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
actions: {},
|
||||||
|
modules: {},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -135,10 +135,11 @@
|
|||||||
<NameInput
|
<NameInput
|
||||||
placeholder="请输入课程名称"
|
placeholder="请输入课程名称"
|
||||||
v-model:value="xzinputV1"
|
v-model:value="xzinputV1"
|
||||||
v-model:validate="validate"
|
v-model:validated="validated"
|
||||||
|
:id="offcourseId"
|
||||||
:maxlength="20"
|
:maxlength="20"
|
||||||
show-count
|
show-count
|
||||||
:type="3"
|
:type="2"
|
||||||
></NameInput>
|
></NameInput>
|
||||||
<!-- <a-input-->
|
<!-- <a-input-->
|
||||||
<!-- v-model:value="xzinputV1"-->
|
<!-- v-model:value="xzinputV1"-->
|
||||||
@@ -286,9 +287,9 @@
|
|||||||
<div class="btn btn5" @click="of_exit1">
|
<div class="btn btn5" @click="of_exit1">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn6" @click="createft">
|
<a-button class="btn btn6" @click="createft" :loading="validated===1">
|
||||||
<div class="btnText">确定</div>
|
确定
|
||||||
</div>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -918,10 +919,10 @@
|
|||||||
<NameInput
|
<NameInput
|
||||||
maxlength="30"
|
maxlength="30"
|
||||||
v-model:value="xjkkinputV1"
|
v-model:value="xjkkinputV1"
|
||||||
v-model:validate="validate"
|
v-model:validated="validated"
|
||||||
show-count
|
show-count
|
||||||
:id="offcourseId"
|
:id="offcoursePlanId"
|
||||||
:type="2"
|
:type="5"
|
||||||
style="width: 440px; height: 40px; border-radius: 8px"
|
style="width: 440px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入开课名称"
|
placeholder="请输入开课名称"
|
||||||
></NameInput>
|
></NameInput>
|
||||||
@@ -1168,9 +1169,9 @@
|
|||||||
<div class="cstm_btn btn5" @click="handleCancelStu">
|
<div class="cstm_btn btn5" @click="handleCancelStu">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cstm_btn btn6" @click="handleSureStu">
|
<a-button class="cstm_btn btn6" @click="handleSureStu" :loading="validated===1">
|
||||||
<div class="btnText">确定</div>
|
确定
|
||||||
</div>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -2575,7 +2576,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
imageUrl: "",
|
imageUrl: "",
|
||||||
imgList: [],
|
imgList: [],
|
||||||
validate: true,
|
validated: 0,
|
||||||
attach: "",
|
attach: "",
|
||||||
pageSize2: 10,
|
pageSize2: 10,
|
||||||
currentPage2: 0,
|
currentPage2: 0,
|
||||||
@@ -3501,9 +3502,7 @@ export default defineComponent({
|
|||||||
return message.warning("请输入必填项");
|
return message.warning("请输入必填项");
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("state.validate", state.validate);
|
if (!state.validated == 2) {
|
||||||
|
|
||||||
if (!state.validate) {
|
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("该课程名称已存在");
|
return message.warning("该课程名称已存在");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,16 +13,13 @@
|
|||||||
<iframe
|
<iframe
|
||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
:src="iframeUrl + '/course/manages'"
|
:src="iframeUrl + '/course/manages?page=manage'"
|
||||||
frameborder="0"
|
frameborder="0"
|
||||||
name="myframe"
|
name="myframe"
|
||||||
security="restricted"
|
security="restricted"
|
||||||
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
||||||
></iframe>
|
></iframe>
|
||||||
<OnlineClassModelStudent ref="stuRef"></OnlineClassModelStudent>
|
<OnlineClassModelStudent ref="stuRef"></OnlineClassModelStudent>
|
||||||
<div @click="test">
|
|
||||||
测试
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
@@ -35,10 +32,6 @@ const stuRef = ref()
|
|||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
window.openSelectStu = stuRef.value.openDrawer
|
window.openSelectStu = stuRef.value.openDrawer
|
||||||
})
|
})
|
||||||
|
|
||||||
function test() {
|
|
||||||
window.openSelectStu()
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.courseManage {
|
.courseManage {
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
ref="inputRef"
|
ref="inputRef"
|
||||||
placeholder="请输入课程名称"
|
placeholder="请输入课程名称"
|
||||||
v-model:value="qdms_inputV1"
|
v-model:value="qdms_inputV1"
|
||||||
v-model:validate="validate"
|
v-model:validated="validated"
|
||||||
:maxlength="20"
|
:maxlength="20"
|
||||||
show-count
|
show-count
|
||||||
:type="2"
|
:type="2"
|
||||||
@@ -457,9 +457,9 @@
|
|||||||
<div class="btn btn5" @click="noEditClose">
|
<div class="btn btn5" @click="noEditClose">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn6" @click="handlePush">
|
<a-button class="btn btn6" @click="handlePush" :loading="validated===1">
|
||||||
<div class="btnText">保存</div>
|
<div class="btnText">保存</div>
|
||||||
</div>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -507,7 +507,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<button class="samtn btn1" @click="closeLearnBgMore">取消</button>
|
<button class="samtn btn1" @click="closeLearnBgMore">取消</button>
|
||||||
<button class="samtn btn2" @click="closeLearnBgMore">确定</button>
|
<a-button class="samtn btn2" @click="closeLearnBgMore">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
@@ -556,7 +556,7 @@ export default defineComponent({
|
|||||||
hideshow: true,
|
hideshow: true,
|
||||||
ft_eidt: false,
|
ft_eidt: false,
|
||||||
attach: "",
|
attach: "",
|
||||||
validate: true,
|
validated: 0,
|
||||||
ft_hs: false,
|
ft_hs: false,
|
||||||
addLoading: false,
|
addLoading: false,
|
||||||
statusJuJue: 0,
|
statusJuJue: 0,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<iframe
|
<iframe
|
||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
:src="iframeUrl + '/iframe/course/reviewed'"
|
:src="iframeUrl + '/pc/iframe/course/reviewed'"
|
||||||
frameborder="0"
|
frameborder="0"
|
||||||
name="myframe"
|
name="myframe"
|
||||||
security="restricted"
|
security="restricted"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<iframe
|
<iframe
|
||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
:src="iframeUrl + '/iframe/course/noapproved'"
|
:src="iframeUrl + '/pc/iframe/course/noapproved'"
|
||||||
frameborder="0"
|
frameborder="0"
|
||||||
name="myframe"
|
name="myframe"
|
||||||
security="restricted"
|
security="restricted"
|
||||||
|
|||||||
@@ -210,7 +210,7 @@
|
|||||||
<NameInput
|
<NameInput
|
||||||
placeholder="请输入路径名称"
|
placeholder="请输入路径名称"
|
||||||
v-model:value="pathName"
|
v-model:value="pathName"
|
||||||
v-model:validate="validate"
|
v-model:validated="validated"
|
||||||
:maxlength="20"
|
:maxlength="20"
|
||||||
show-count
|
show-count
|
||||||
:type="3"
|
:type="3"
|
||||||
@@ -285,7 +285,7 @@
|
|||||||
<a-button
|
<a-button
|
||||||
class="samtn btn2"
|
class="samtn btn2"
|
||||||
@click="createLearnPath"
|
@click="createLearnPath"
|
||||||
:loading="confirmLoading"
|
:loading="confirmLoading || validated === 1"
|
||||||
>确定</a-button
|
>确定</a-button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@@ -780,6 +780,7 @@ export default {
|
|||||||
selectTime: null,
|
selectTime: null,
|
||||||
sh: false,
|
sh: false,
|
||||||
validate: true,
|
validate: true,
|
||||||
|
validated: 0,
|
||||||
tableData: [
|
tableData: [
|
||||||
// {
|
// {
|
||||||
// key: 1,
|
// key: 1,
|
||||||
|
|||||||
@@ -2595,13 +2595,10 @@ export default {
|
|||||||
if (item.type == 1) {
|
if (item.type == 1) {
|
||||||
if (item.taskStatus == 1 || item.taskStatus == 2)
|
if (item.taskStatus == 1 || item.taskStatus == 2)
|
||||||
return message.error("该任务无法学习,请联系管理员进行替换。");
|
return message.error("该任务无法学习,请联系管理员进行替换。");
|
||||||
window.open(
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
import.meta.env.VUE_APP_BOE_API_URL +
|
process.env.VUE_APP_ONLINE_CLASS_URL +
|
||||||
"/mobile/pages/study/courseStudy?id=" +
|
item.targetId;
|
||||||
item.targetId,
|
|
||||||
"_top"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
if (item.type == 2) {
|
if (item.type == 2) {
|
||||||
let date1 = new Date(item.endTime).getTime();
|
let date1 = new Date(item.endTime).getTime();
|
||||||
@@ -2629,7 +2626,7 @@ export default {
|
|||||||
"/homeworkpage?courseId=" +
|
"/homeworkpage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=2&id=" +
|
"&type=2&id=" +
|
||||||
item.routerTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
// 考试 停用
|
// 考试 停用
|
||||||
if (item.type == 5) {
|
if (item.type == 5) {
|
||||||
@@ -2642,6 +2639,11 @@ export default {
|
|||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/externalexam?courseId=" +
|
"/externalexam?courseId=" +
|
||||||
item.courseId;
|
item.courseId;
|
||||||
|
} else {
|
||||||
|
codeUrl =
|
||||||
|
window.location.protocol +
|
||||||
|
process.env.VUE_APP_EXAM_DETAIL_URL +
|
||||||
|
item.targetId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 直播结束时间
|
// 直播结束时间
|
||||||
@@ -2652,10 +2654,10 @@ export default {
|
|||||||
codeUrl =
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/livebroadcast?courseId=" +
|
"/liveboradcast?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=2&id=" +
|
"&type=2&id=" +
|
||||||
item.routerTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
// 外链
|
// 外链
|
||||||
if (item.type == 7) {
|
if (item.type == 7) {
|
||||||
@@ -2665,7 +2667,7 @@ export default {
|
|||||||
"/outerchain?courseId=" +
|
"/outerchain?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=2&id=" +
|
"&type=2&id=" +
|
||||||
item.routerTaskId +
|
item.id +
|
||||||
"&chapterOrStageId=" +
|
"&chapterOrStageId=" +
|
||||||
item.chapterId +
|
item.chapterId +
|
||||||
"&infoId=" +
|
"&infoId=" +
|
||||||
@@ -2679,7 +2681,7 @@ export default {
|
|||||||
"/discusspage?courseId=" +
|
"/discusspage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=2&id=" +
|
"&type=2&id=" +
|
||||||
item.routerTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
//活动
|
//活动
|
||||||
if (item.type == 9) {
|
if (item.type == 9) {
|
||||||
@@ -2692,7 +2694,7 @@ export default {
|
|||||||
"/activitiespage?courseId=" +
|
"/activitiespage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=2&id=" +
|
"&type=2&id=" +
|
||||||
item.routerTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
//活动
|
//活动
|
||||||
if (item.type == 10) {
|
if (item.type == 10) {
|
||||||
@@ -2711,13 +2713,14 @@ export default {
|
|||||||
if (item.type == 11) {
|
if (item.type == 11) {
|
||||||
if (item.taskStatus == 1 || item.taskStatus == 2)
|
if (item.taskStatus == 1 || item.taskStatus == 2)
|
||||||
return message.error("该任务无法学习,请联系管理员进行替换。");
|
return message.error("该任务无法学习,请联系管理员进行替换。");
|
||||||
|
console.log("item", item);
|
||||||
codeUrl =
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/investigatage?courseId=" +
|
"/investigatage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=2&id=" +
|
"&type=2&id=" +
|
||||||
item.routerTaskId +
|
item.id +
|
||||||
"&chapterOrStageId=" +
|
"&chapterOrStageId=" +
|
||||||
item.chapterId +
|
item.chapterId +
|
||||||
"&infoId=" +
|
"&infoId=" +
|
||||||
@@ -2731,7 +2734,7 @@ export default {
|
|||||||
"/ballotpage?courseId=" +
|
"/ballotpage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&btype=2&id=" +
|
"&btype=2&id=" +
|
||||||
item.routerTaskId +
|
item.id +
|
||||||
"&chapterOrStageId=" +
|
"&chapterOrStageId=" +
|
||||||
item.chapterId +
|
item.chapterId +
|
||||||
"&infoId=" +
|
"&infoId=" +
|
||||||
|
|||||||
@@ -261,7 +261,7 @@
|
|||||||
size="small" active-color="red"/>
|
size="small" active-color="red"/>
|
||||||
<div class="showt clearfix">
|
<div class="showt clearfix">
|
||||||
<div class="bi" :style="{
|
<div class="bi" :style="{
|
||||||
'z-index': element.flag ? 999 : 998,
|
'z-index': element.flag ? 889 : 887,
|
||||||
}">
|
}">
|
||||||
必修
|
必修
|
||||||
</div>
|
</div>
|
||||||
@@ -1946,7 +1946,7 @@ const cancelStorage = async () => {
|
|||||||
background-color: #5dc988;
|
background-color: #5dc988;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 998;
|
z-index: 888;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
@@ -1958,7 +1958,7 @@ const cancelStorage = async () => {
|
|||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
// display: none;
|
// display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 998;
|
z-index: 888;
|
||||||
color: #5dc988;
|
color: #5dc988;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,9 @@
|
|||||||
<template xmlns:display="http://www.w3.org/1999/xhtml">
|
<template xmlns:display="http://www.w3.org/1999/xhtml">
|
||||||
<div class="projectAdd">
|
<div class="projectAdd">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<span class="title">{{ projectInfo.id ? "编辑" : "创建"
|
<span class="title">{{
|
||||||
}}{{ ptojectType == "3" ? "班级" : "项目" }}</span>
|
projectInfo.id ? "编辑" : "创建"
|
||||||
|
}}{{ ptojectType == "3" ? "班级" : "项目" }}</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>
|
||||||
@@ -12,7 +13,7 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="name" v-if="projectInfo.parentName">
|
<div class="name" v-if="projectInfo.parentName">
|
||||||
<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">
|
||||||
@@ -23,19 +24,20 @@
|
|||||||
</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 class="inname">
|
||||||
{{ ptojectType == 3 ? "班级名称" : "项目名称" }}
|
{{ ptojectType == 3 ? "班级名称" : "项目名称" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<NameInput placeholder="请输入项目名称" v-model:value="projectInfo.name" v-model:validate="projectInfo.validate"
|
<NameInput placeholder="请输入项目名称" v-model:value="projectInfo.name"
|
||||||
:maxlength="30" show-count :id="projectInfo.id"></NameInput>
|
v-model:validated="projectInfo.validated" :type="1"
|
||||||
|
:maxlength="30" show-count :id="projectInfo.id"></NameInput>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="name flex-top">
|
<div class="name flex-top">
|
||||||
<div class="namebox" style="margin-top: 10px">
|
<div class="namebox" style="margin-top: 10px">
|
||||||
<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" style="flex: 1; display: flex">
|
<div class="in select" style="flex: 1; display: flex">
|
||||||
@@ -54,7 +56,7 @@
|
|||||||
height: 100px;
|
height: 100px;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
" :src="src.value" alt="avatar" />
|
" :src="src.value" alt="avatar"/>
|
||||||
</div>
|
</div>
|
||||||
<div @click="showLearnBgMore" v-if="projectPic.length > 3" style="
|
<div @click="showLearnBgMore" v-if="projectPic.length > 3" style="
|
||||||
width: 100px;
|
width: 100px;
|
||||||
@@ -74,47 +76,49 @@
|
|||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
">
|
">
|
||||||
查看更多
|
查看更多
|
||||||
<img src="../../assets/images/projectadd/go.png" alt="" />
|
<img src="../../assets/images/projectadd/go.png" alt=""/>
|
||||||
</div>
|
</div>
|
||||||
</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-range-picker separator="至" :show-time="{ format: 'HH:mm' }" :placeholder="[' 开始时间', ' 结束时间']"
|
<a-range-picker separator="至" :show-time="{ format: 'HH:mm' }"
|
||||||
:disabledDate="disabledDate" v-model:value="timeRange" @calendarChange="calendarChange"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
style="width: 100%; height: 40px; border-radius: 5px" :allowClear="false" format="YYYY-MM-DD HH:mm"
|
:disabledDate="disabledDate" v-model:value="timeRange" @calendarChange="calendarChange"
|
||||||
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :disabled="!!viewDetail" />
|
style="width: 100%; height: 40px; border-radius: 5px" :allowClear="false"
|
||||||
|
format="YYYY-MM-DD HH:mm"
|
||||||
|
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :disabled="!!viewDetail"/>
|
||||||
</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">
|
||||||
<ProjectManager v-model:value="projectInfo.managerId" v-model:name="projectInfo.manager"
|
<ProjectManager v-model:value="projectInfo.managerId" v-model:name="projectInfo.manager"
|
||||||
@onChange="managerChange" mode="multiple"></ProjectManager>
|
@onChange="managerChange" mode="multiple"></ProjectManager>
|
||||||
</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">
|
||||||
<OrgClass v-model:value="projectInfo.sourceBelongId" v-model:name="projectInfo.sourceBelongName"
|
<OrgClass v-model:value="projectInfo.sourceBelongId" v-model:name="projectInfo.sourceBelongName"
|
||||||
v-model:fullName="projectInfo.sourceBelongFullName"></OrgClass>
|
v-model:fullName="projectInfo.sourceBelongFullName"></OrgClass>
|
||||||
</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">
|
||||||
@@ -123,7 +127,7 @@
|
|||||||
</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">
|
||||||
@@ -132,7 +136,7 @@
|
|||||||
</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">
|
||||||
@@ -177,7 +181,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="in">
|
<div class="in">
|
||||||
<a-textarea v-model:value="projectInfo.remark" style="height: 80px" placeholder="请输入说明" show-count
|
<a-textarea v-model:value="projectInfo.remark" style="height: 80px" placeholder="请输入说明" show-count
|
||||||
:maxlength="200" :disabled="viewDetail ? true : false" />
|
:maxlength="200" :disabled="viewDetail ? true : false"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -197,7 +201,7 @@
|
|||||||
<a-select :getPopupContainer="
|
<a-select :getPopupContainer="
|
||||||
(triggerNode) => triggerNode.parentNode || document.body
|
(triggerNode) => triggerNode.parentNode || document.body
|
||||||
" placeholder="请选择模版" style="width: 100%" :options="classifyList5" @change="classificationChange5"
|
" placeholder="请选择模版" style="width: 100%" :options="classifyList5" @change="classificationChange5"
|
||||||
@popupScroll="templateScroll" :fieldNames="{
|
@popupScroll="templateScroll" :fieldNames="{
|
||||||
label: 'name',
|
label: 'name',
|
||||||
value: 'id',
|
value: 'id',
|
||||||
}">
|
}">
|
||||||
@@ -215,18 +219,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 更多背景图 v-model:visible="learnBgMore" -->
|
<!-- 更多背景图 v-model:visible="learnBgMore" -->
|
||||||
<a-modal :closable="sh" centered="true" v-model:visible="learnBgMore" :footer="null" :width="650"
|
<a-modal :closable="sh" centered="true" v-model:visible="learnBgMore" :footer="null" :width="650"
|
||||||
wrapClassName="learnBgMoreModal" :z-index="9999">
|
wrapClassName="learnBgMoreModal" :z-index="9999">
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="topc">封面图</div>
|
<div class="topc">封面图</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="imagesBox">
|
<div class="imagesBox">
|
||||||
<!-- <div
|
<!-- <div
|
||||||
@click="() => (projectInfo.picUrl = src.value)"
|
@click="() => (projectInfo.picUrl = src.value)"
|
||||||
v-for="item in projectPic"
|
v-for="item in projectPic"
|
||||||
:key="item.code"
|
:key="item.code"
|
||||||
class="learnBgItem"
|
class="learnBgItem"
|
||||||
> -->
|
> -->
|
||||||
<div @click="chooseImg2(item)" v-for="item in projectPic" :key="item.code" class="learnBgItem" :style="{
|
<div @click="chooseImg2(item)" v-for="item in projectPic" :key="item.code" class="learnBgItem" :style="{
|
||||||
border:
|
border:
|
||||||
projectInfo.picUrl === item.value
|
projectInfo.picUrl === item.value
|
||||||
@@ -239,27 +243,27 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<button class="samtn btn1" @click="closeLearnBgMore">取消</button>
|
<button class="samtn btn1" @click="closeLearnBgMore">取消</button>
|
||||||
<button class="samtn btn2" @click="closeLearnBgMore">确定</button>
|
<a-button class="samtn btn2" @click="closeLearnBgMore" :loading="projectInfo.validated===1">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { onMounted, reactive, toRefs, watch } from "vue";
|
import {onMounted, reactive, toRefs, watch} from "vue";
|
||||||
import { message } from "ant-design-vue";
|
import {message} from "ant-design-vue";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import {useRoute, useRouter} from "vue-router";
|
||||||
import * as api from "../../api/index";
|
import * as api from "../../api/index";
|
||||||
import { useStore } from "vuex";
|
import {useStore} from "vuex";
|
||||||
import TrainClass from "@/components/project/TrainClass";
|
import TrainClass from "@/components/project/TrainClass";
|
||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import NameInput from "@/components/project/NameInput";
|
import NameInput from "@/components/project/NameInput";
|
||||||
import ProjectLevel from "@/components/project/ProjectLevel";
|
import ProjectLevel from "@/components/project/ProjectLevel";
|
||||||
import * as api2 from "../../api/indexAudit";
|
import * as api2 from "../../api/indexAudit";
|
||||||
import { validateName } from "@/api/index1";
|
import {validateName} from "@/api/index1";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { scrollLoad } from "@/api/method";
|
import {scrollLoad} from "@/api/method";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "projectAdd",
|
name: "projectAdd",
|
||||||
@@ -283,7 +287,7 @@ export default {
|
|||||||
pageSize: 10, //每页10条数据
|
pageSize: 10, //每页10条数据
|
||||||
totalPages: 0, //总页数
|
totalPages: 0, //总页数
|
||||||
viewDetail: null,
|
viewDetail: null,
|
||||||
projectInfo: { id: "" },
|
projectInfo: { id: "", validated: 0 },
|
||||||
projectPic: [],
|
projectPic: [],
|
||||||
memberParam: {
|
memberParam: {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
@@ -330,43 +334,43 @@ export default {
|
|||||||
state.projectInfo.parentId = routers.query.parentId;
|
state.projectInfo.parentId = routers.query.parentId;
|
||||||
state.projectInfo.id = routers.query.projectId;
|
state.projectInfo.id = routers.query.projectId;
|
||||||
(state.projectInfo.id || state.projectInfo.parentId) &&
|
(state.projectInfo.id || state.projectInfo.parentId) &&
|
||||||
api
|
api
|
||||||
.getProjectDetail({
|
.getProjectDetail({
|
||||||
projectId: state.projectInfo.id || state.projectInfo.parentId,
|
projectId: state.projectInfo.id || state.projectInfo.parentId,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
state.projectInfo = {
|
state.projectInfo = {
|
||||||
...res.data.data.projectInfo,
|
...res.data.data.projectInfo,
|
||||||
...state.projectInfo,
|
...state.projectInfo,
|
||||||
|
};
|
||||||
|
!routers.query.projectId &&
|
||||||
|
!!routers.query.parentId &&
|
||||||
|
(state.projectInfo.name = "");
|
||||||
|
state.timeRange = [
|
||||||
|
state.projectInfo.beginTime,
|
||||||
|
state.projectInfo.endTime,
|
||||||
|
];
|
||||||
|
state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
|
||||||
|
if (Number(state.projectInfo.status) === -5) {
|
||||||
|
let obj = {
|
||||||
|
project_id: state.projectInfo.id,
|
||||||
|
type: 1,
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 1,
|
||||||
};
|
};
|
||||||
!routers.query.projectId &&
|
api2.auditList(obj).then((d) => {
|
||||||
!!routers.query.parentId &&
|
if (d.data.code === 200) {
|
||||||
(state.projectInfo.name = "");
|
let res = d.data.data;
|
||||||
state.timeRange = [
|
if (res.rows && res.rows.length > 0) {
|
||||||
state.projectInfo.beginTime,
|
let i = res.rows.length;
|
||||||
state.projectInfo.endTime,
|
state.auditDescription = res.rows[i - 1].description
|
||||||
];
|
? res.rows[i - 1].description
|
||||||
state.courseSyncFlag = !!state.projectInfo.courseSyncFlag;
|
: "-";
|
||||||
if (Number(state.projectInfo.status) === -5) {
|
|
||||||
let obj = {
|
|
||||||
project_id: state.projectInfo.id,
|
|
||||||
type: 1,
|
|
||||||
pageNo: 1,
|
|
||||||
pageSize: 1,
|
|
||||||
};
|
|
||||||
api2.auditList(obj).then((d) => {
|
|
||||||
if (d.data.code === 200) {
|
|
||||||
let res = d.data.data;
|
|
||||||
if (res.rows && res.rows.length > 0) {
|
|
||||||
let i = res.rows.length;
|
|
||||||
state.auditDescription = res.rows[i - 1].description
|
|
||||||
? res.rows[i - 1].description
|
|
||||||
: "-";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const backPage = () => {
|
const backPage = () => {
|
||||||
@@ -453,7 +457,7 @@ export default {
|
|||||||
/**
|
/**
|
||||||
if (!state.projectInfo.validate) {
|
if (!state.projectInfo.validate) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.warning('项目名称重复,请修改名称!');
|
message.warning("项目名称重复,请修改名称!");
|
||||||
return;
|
return;
|
||||||
}*/
|
}*/
|
||||||
const offName = await validateName({
|
const offName = await validateName({
|
||||||
@@ -508,9 +512,11 @@ export default {
|
|||||||
const closeLearnBgMore = () => {
|
const closeLearnBgMore = () => {
|
||||||
state.learnBgMore = false;
|
state.learnBgMore = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
function calendarChange(date, dateStr, partial) {
|
function calendarChange(date, dateStr, partial) {
|
||||||
state.datePartial = partial;
|
state.datePartial = partial;
|
||||||
}
|
}
|
||||||
|
|
||||||
const chooseImg2 = (item) => {
|
const chooseImg2 = (item) => {
|
||||||
// console.log(item);
|
// console.log(item);
|
||||||
state.projectInfo.picUrl = item.value;
|
state.projectInfo.picUrl = item.value;
|
||||||
|
|||||||
@@ -304,7 +304,8 @@
|
|||||||
<NameInput
|
<NameInput
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入项目名称"
|
||||||
v-model:value="projectInfo.name"
|
v-model:value="projectInfo.name"
|
||||||
v-model:validate="projectInfo.validate"
|
v-model:validated="projectInfo.validated"
|
||||||
|
:type="1"
|
||||||
:maxlength="30"
|
:maxlength="30"
|
||||||
show-count
|
show-count
|
||||||
:id="projectInfo.projectId"
|
:id="projectInfo.projectId"
|
||||||
@@ -358,7 +359,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="pubtn">
|
<div class="pubtn">
|
||||||
<a-button class="pubtn1" @click="closeModal2">取消</a-button>
|
<a-button class="pubtn1" @click="closeModal2">取消</a-button>
|
||||||
<a-button class="pubtn2" @click="createStoreyProject"
|
<a-button class="pubtn2" @click="createStoreyProject" :loading="buttonLoading || projectInfo.validated===1"
|
||||||
>确定
|
>确定
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -973,6 +974,7 @@ export default {
|
|||||||
setup() {
|
setup() {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableLoading: false,
|
tableLoading: false,
|
||||||
|
buttonLoading: false,
|
||||||
projectName: null,
|
projectName: null,
|
||||||
selectTime: null,
|
selectTime: null,
|
||||||
sonproject: false,
|
sonproject: false,
|
||||||
@@ -1082,6 +1084,7 @@ export default {
|
|||||||
|
|
||||||
// 创建多层项目
|
// 创建多层项目
|
||||||
const createStoreyProject = async () => {
|
const createStoreyProject = async () => {
|
||||||
|
state.buttonLoading = true
|
||||||
// 接口需要传递的参数信息
|
// 接口需要传递的参数信息
|
||||||
const errorMsgs = {
|
const errorMsgs = {
|
||||||
name: "请输入项目名称",
|
name: "请输入项目名称",
|
||||||
@@ -1090,6 +1093,7 @@ export default {
|
|||||||
sourceBelongId: "请选择资源归属",
|
sourceBelongId: "请选择资源归属",
|
||||||
};
|
};
|
||||||
if (!validate(state.projectInfo, errorMsgs)) {
|
if (!validate(state.projectInfo, errorMsgs)) {
|
||||||
|
state.buttonLoading = false
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -1106,6 +1110,7 @@ export default {
|
|||||||
return res.data.data == 1;
|
return res.data.data == 1;
|
||||||
});
|
});
|
||||||
if (offName) {
|
if (offName) {
|
||||||
|
state.buttonLoading = false
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("项目名称重复,请重新填写");
|
return message.warning("项目名称重复,请重新填写");
|
||||||
}
|
}
|
||||||
@@ -1114,6 +1119,7 @@ export default {
|
|||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("创建成功");
|
message.success("创建成功");
|
||||||
state.currentPage = 1;
|
state.currentPage = 1;
|
||||||
|
state.buttonLoading = false
|
||||||
getTableDate();
|
getTableDate();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -235,7 +235,7 @@
|
|||||||
v-model:checked="element.flag" size="small"
|
v-model:checked="element.flag" size="small"
|
||||||
active-color="red"/>
|
active-color="red"/>
|
||||||
<div class="showt clearfix">
|
<div class="showt clearfix">
|
||||||
<div class="bi" :style="{'z-index': element.flag ? 999 : 998,}">必修</div>
|
<div class="bi" :style="{'z-index': element.flag ? 889 : 887,}">必修</div>
|
||||||
<div class="xuan">选修</div>
|
<div class="xuan">选修</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1585,7 +1585,7 @@ const cancelStorage = async () => {
|
|||||||
background-color: #5dc988;
|
background-color: #5dc988;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 998;
|
z-index: 888;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
@@ -1596,7 +1596,7 @@ const cancelStorage = async () => {
|
|||||||
background-color: #f2f6fc;
|
background-color: #f2f6fc;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 998;
|
z-index: 888;
|
||||||
color: #5dc988;
|
color: #5dc988;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2852,8 +2852,8 @@ export default {
|
|||||||
.studytimeRank(obj)
|
.studytimeRank(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("项目学时榜单获取", res);
|
console.log("项目学时榜单获取", res);
|
||||||
if (res.data.datas) {
|
if (res.data.data) {
|
||||||
state.xueshitabledata = res.data.datas;
|
state.xueshitabledata = res.data.data;
|
||||||
state.studytimeRankLoading = false;
|
state.studytimeRankLoading = false;
|
||||||
} else {
|
} else {
|
||||||
state.xueshitabledata = [];
|
state.xueshitabledata = [];
|
||||||
@@ -4498,13 +4498,10 @@ export default {
|
|||||||
if (item.type == 1) {
|
if (item.type == 1) {
|
||||||
if (item.taskStatus == 1 || item.taskStatus == 2)
|
if (item.taskStatus == 1 || item.taskStatus == 2)
|
||||||
return message.error("该任务无法学习,请联系管理员进行替换。");
|
return message.error("该任务无法学习,请联系管理员进行替换。");
|
||||||
window.open(
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
import.meta.env.VUE_APP_BOE_API_URL +
|
process.env.VUE_APP_ONLINE_CLASS_URL +
|
||||||
"/mobile/pages/study/courseStudy?id=" +
|
item.targetId;
|
||||||
item.targetId,
|
|
||||||
"_top"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
if (item.type == 2) {
|
if (item.type == 2) {
|
||||||
let date1 = new Date(item.endTime).getTime();
|
let date1 = new Date(item.endTime).getTime();
|
||||||
@@ -4518,7 +4515,7 @@ export default {
|
|||||||
"/faceteach?type=2&courseId=" +
|
"/faceteach?type=2&courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&id=" +
|
"&id=" +
|
||||||
item.projectTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
if (item.type == 3) return message.error("请在pc端完成");
|
if (item.type == 3) return message.error("请在pc端完成");
|
||||||
if (item.type == 4) {
|
if (item.type == 4) {
|
||||||
@@ -4531,7 +4528,7 @@ export default {
|
|||||||
"/homeworkpage?courseId=" +
|
"/homeworkpage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=1&id=" +
|
"&type=1&id=" +
|
||||||
item.projectTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
// 考试 停用
|
// 考试 停用
|
||||||
if (item.type == 5) {
|
if (item.type == 5) {
|
||||||
@@ -4544,6 +4541,11 @@ export default {
|
|||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/externalexam?courseId=" +
|
"/externalexam?courseId=" +
|
||||||
item.courseId;
|
item.courseId;
|
||||||
|
} else {
|
||||||
|
codeUrl =
|
||||||
|
window.location.protocol +
|
||||||
|
process.env.VUE_APP_EXAM_DETAIL_URL +
|
||||||
|
item.targetId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 直播结束时间
|
// 直播结束时间
|
||||||
@@ -4554,10 +4556,10 @@ export default {
|
|||||||
codeUrl =
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/livebroadcast?courseId=" +
|
"/liveboradcast?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=1&id=" +
|
"&type=1&id=" +
|
||||||
item.projectTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
// 外链
|
// 外链
|
||||||
if (item.type == 7) {
|
if (item.type == 7) {
|
||||||
@@ -4567,7 +4569,7 @@ export default {
|
|||||||
"/outerchain?courseId=" +
|
"/outerchain?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=1&id=" +
|
"&type=1&id=" +
|
||||||
item.projectTaskId +
|
item.id +
|
||||||
"&chapterOrStageId=" +
|
"&chapterOrStageId=" +
|
||||||
item.stageId +
|
item.stageId +
|
||||||
"&infoId=" +
|
"&infoId=" +
|
||||||
@@ -4581,20 +4583,21 @@ export default {
|
|||||||
"/discusspage?courseId=" +
|
"/discusspage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=1&id=" +
|
"&type=1&id=" +
|
||||||
item.projectTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
//活动
|
//活动
|
||||||
if (item.type == 9) {
|
if (item.type == 9) {
|
||||||
let date1 = new Date(item.endTime).getTime();
|
let date1 = new Date(item.endTime).getTime();
|
||||||
let date2 = new Date().getTime();
|
let date2 = new Date().getTime();
|
||||||
if (date1 < date2) return message.warning("当前活动已结束");
|
if (date1 < date2) return message.warning("当前活动已结束");
|
||||||
|
|
||||||
codeUrl =
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/activitiespage?courseId=" +
|
"/activitiespage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=1&id=" +
|
"&type=1&id=" +
|
||||||
item.projectTaskId;
|
item.id;
|
||||||
}
|
}
|
||||||
//活动
|
//活动
|
||||||
if (item.type == 10) {
|
if (item.type == 10) {
|
||||||
@@ -4613,13 +4616,14 @@ export default {
|
|||||||
if (item.type == 11) {
|
if (item.type == 11) {
|
||||||
if (item.taskStatus == 1 || item.taskStatus == 2)
|
if (item.taskStatus == 1 || item.taskStatus == 2)
|
||||||
return message.error("该任务无法学习,请联系管理员进行替换。");
|
return message.error("该任务无法学习,请联系管理员进行替换。");
|
||||||
|
|
||||||
codeUrl =
|
codeUrl =
|
||||||
window.location.protocol +
|
window.location.protocol +
|
||||||
process.env.VUE_APP_H5 +
|
process.env.VUE_APP_H5 +
|
||||||
"/investigatage?courseId=" +
|
"/investigatage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&type=1&id=" +
|
"&type=1&id=" +
|
||||||
item.projectTaskId +
|
item.id +
|
||||||
"&chapterOrStageId=" +
|
"&chapterOrStageId=" +
|
||||||
item.stageId +
|
item.stageId +
|
||||||
"&infoId=" +
|
"&infoId=" +
|
||||||
@@ -4633,7 +4637,7 @@ export default {
|
|||||||
"/ballotpage?courseId=" +
|
"/ballotpage?courseId=" +
|
||||||
item.courseId +
|
item.courseId +
|
||||||
"&btype=2&id=" +
|
"&btype=2&id=" +
|
||||||
item.projectTaskId +
|
item.id +
|
||||||
"&chapterOrStageId=" +
|
"&chapterOrStageId=" +
|
||||||
item.chapterId +
|
item.chapterId +
|
||||||
"&infoId=" +
|
"&infoId=" +
|
||||||
|
|||||||
@@ -92,9 +92,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, computed } from "vue";
|
import {reactive, toRefs} from "vue";
|
||||||
// import { message } from "ant-design-vue";
|
|
||||||
// import { createResearch } from "../../api/indexResearch";
|
|
||||||
import ResearchAddSingle from "./components/ResearchAddSingle.vue";
|
import ResearchAddSingle from "./components/ResearchAddSingle.vue";
|
||||||
import ResearchAddMulti from "./components/ResearchAddMulti.vue";
|
import ResearchAddMulti from "./components/ResearchAddMulti.vue";
|
||||||
import ResearchAddAsk from "./components/ResearchAddAsk.vue";
|
import ResearchAddAsk from "./components/ResearchAddAsk.vue";
|
||||||
@@ -104,7 +102,7 @@ import {
|
|||||||
traverseArr,
|
traverseArr,
|
||||||
filterCommon,
|
filterCommon,
|
||||||
deepCloneFilterString,
|
deepCloneFilterString,
|
||||||
} from "../../utils/utils";
|
} from "@/utils/utils";
|
||||||
import {
|
import {
|
||||||
queryResearchDetailById,
|
queryResearchDetailById,
|
||||||
editResearchMessage,
|
editResearchMessage,
|
||||||
@@ -112,9 +110,8 @@ import {
|
|||||||
deleteChoiceQuestion,
|
deleteChoiceQuestion,
|
||||||
deleteQuestionScAndQa,
|
deleteQuestionScAndQa,
|
||||||
} from "@/api/indexResearch";
|
} from "@/api/indexResearch";
|
||||||
import { useRouter } from "vue-router";
|
import {useRoute, useRouter} from "vue-router";
|
||||||
import store from "@/store";
|
import {message} from "ant-design-vue";
|
||||||
import { message } from "ant-design-vue";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ResearchAdd",
|
name: "ResearchAdd",
|
||||||
@@ -126,10 +123,11 @@ export default {
|
|||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const route = useRoute();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
assessmentId: "", //编辑时候传
|
assessmentId: "", //编辑时候传
|
||||||
assessmentName: "",
|
assessmentName: "",
|
||||||
assessmentNameNew: computed(() => store.state.assessmentName),
|
assessmentNameNew: route.query.name,
|
||||||
|
|
||||||
allFormsData: [],
|
allFormsData: [],
|
||||||
valueMore: "",
|
valueMore: "",
|
||||||
@@ -612,10 +610,12 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
@@ -624,10 +624,12 @@ export default {
|
|||||||
padding-left: 37px;
|
padding-left: 37px;
|
||||||
//font-weight: 500;
|
//font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goback {
|
.goback {
|
||||||
padding-right: 70px;
|
padding-right: 70px;
|
||||||
//padding-top: 37px;
|
//padding-top: 37px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.return {
|
.return {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 42px;
|
width: 42px;
|
||||||
@@ -636,6 +638,7 @@ export default {
|
|||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
background-image: url("../../assets/images/projectadd/return.png");
|
background-image: url("../../assets/images/projectadd/return.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
.returntext {
|
.returntext {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -645,16 +648,19 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.addtype {
|
.addtype {
|
||||||
display: flex;
|
display: flex;
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-left: 41px;
|
margin-left: 41px;
|
||||||
|
|
||||||
.addtypen {
|
.addtypen {
|
||||||
color: #6f6f6f;
|
color: #6f6f6f;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.types {
|
.types {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
@@ -667,11 +673,13 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 20px 10px;
|
margin: 20px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.typesCur {
|
.typesCur {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: #4ea6ff;
|
background: #4ea6ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -680,9 +688,11 @@ export default {
|
|||||||
min-width: 690px;
|
min-width: 690px;
|
||||||
margin-left: 38px;
|
margin-left: 38px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|
||||||
.tagbox {
|
.tagbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.tagname {
|
.tagname {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
@@ -696,6 +706,7 @@ export default {
|
|||||||
color: rgba(64, 158, 255, 1);
|
color: rgba(64, 158, 255, 1);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.deleteop {
|
.deleteop {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -707,6 +718,7 @@ export default {
|
|||||||
border: 1px solid #4ea6ff;
|
border: 1px solid #4ea6ff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.del_text {
|
.del_text {
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -714,21 +726,25 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.scorebox {
|
.scorebox {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
margin-left: 70px;
|
margin-left: 70px;
|
||||||
|
|
||||||
.scoretext {
|
.scoretext {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #56a3f9;
|
color: #56a3f9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.number {
|
.number {
|
||||||
display: flex;
|
display: flex;
|
||||||
border: 1px solid #d7e5fd;
|
border: 1px solid #d7e5fd;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
@@ -744,30 +760,36 @@ export default {
|
|||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.curBtn {
|
.curBtn {
|
||||||
background: #56a3f9;
|
background: #56a3f9;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.picture {
|
.picture {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
margin-left: 133px;
|
margin-left: 133px;
|
||||||
|
|
||||||
.pictureimg {
|
.pictureimg {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.picturename {
|
.picturename {
|
||||||
color: #6f6f6f;
|
color: #6f6f6f;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.options {
|
.options {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.delete {
|
.delete {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-top: 32px;
|
margin-top: 32px;
|
||||||
@@ -776,10 +798,12 @@ export default {
|
|||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name2 {
|
.name2 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
width: 60%;
|
width: 60%;
|
||||||
// background-color: lightcoral;
|
// background-color: lightcoral;
|
||||||
@@ -794,20 +818,24 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
|
||||||
.nameimg {
|
.nameimg {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.inname {
|
.inname {
|
||||||
color: #6f6f6f;
|
color: #6f6f6f;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
.in {
|
.in {
|
||||||
margin-left: 14px;
|
margin-left: 14px;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
||||||
.assess {
|
.assess {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 226px;
|
width: 226px;
|
||||||
@@ -822,6 +850,7 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.assesswhole {
|
.assesswhole {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
background: rgba(86, 163, 249, 0.1);
|
background: rgba(86, 163, 249, 0.1);
|
||||||
@@ -831,6 +860,7 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ratio {
|
.ratio {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
@@ -839,24 +869,29 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.addimg {
|
.addimg {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: rgba(78, 166, 255, 1);
|
color: rgba(78, 166, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
color: rgba(109, 117, 132, 1);
|
color: rgba(109, 117, 132, 1);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
//line-height: 24px;
|
//line-height: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-radio-wrapper {
|
.ant-radio-wrapper {
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-input {
|
.ant-input {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
// height: 120%;
|
// height: 120%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-selector {
|
.ant-select-selector {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
// height: 120%;
|
// height: 120%;
|
||||||
@@ -864,26 +899,32 @@ export default {
|
|||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.numberInp {
|
.numberInp {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
|
|
||||||
.ant-input-number {
|
.ant-input-number {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// .ant-input-number-input-wrap {
|
// .ant-input-number-input-wrap {
|
||||||
// width: 200px;
|
// width: 200px;
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.name2 {
|
.name2 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.opinion {
|
.opinion {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
|
|
||||||
.namebox {
|
.namebox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -891,27 +932,33 @@ export default {
|
|||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.in {
|
.in {
|
||||||
margin-left: 14px;
|
margin-left: 14px;
|
||||||
width: 500px;
|
width: 500px;
|
||||||
|
|
||||||
.ant-input-textarea-show-count {
|
.ant-input-textarea-show-count {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 110px;
|
height: 110px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-input-textarea-show-count::after {
|
.ant-input-textarea-show-count::after {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-input {
|
.ant-input {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 31px;
|
margin-top: 31px;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
@@ -922,6 +969,7 @@ export default {
|
|||||||
|
|
||||||
.uploadContent {
|
.uploadContent {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
|
|
||||||
.uploadBtn {
|
.uploadBtn {
|
||||||
margin-left: 120px !important;
|
margin-left: 120px !important;
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
|||||||
<iframe
|
<iframe
|
||||||
id="iframe"
|
id="iframe"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
:src="`${BOE_URL}/iframe/ugroup/manages`"
|
:src="`${BOE_URL}/pc/iframe/ugroup/manages`"
|
||||||
name="myframe"
|
name="myframe"
|
||||||
security="restricted"
|
security="restricted"
|
||||||
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
sandbox="allow-forms allow-scripts allow-same-origin allow-popups"
|
||||||
|
|||||||
Reference in New Issue
Block a user