mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-13 04:46:46 +08:00
Merge branch 'develop' of http://gitlab.dongwu-inc.com:10080/BOE/fe-manage
This commit is contained in:
@@ -32,24 +32,24 @@
|
|||||||
<span style="margin-right: 3px">活动时间:</span>
|
<span style="margin-right: 3px">活动时间:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker :disabled-date="disabledDate" :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm"
|
<a-range-picker :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px" v-model:value="dateTime" @change="timeChange"
|
style="width: 400px; height: 40px; border-radius: 8px" v-model:value="dateTime" @change="timeChange"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']" />
|
:placeholder="[' 开始时间', ' 结束时间']" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="main_item">-->
|
<div class="main_item">
|
||||||
<!-- <div class="signbox">-->
|
<div class="signbox">
|
||||||
<!-- <div class="sign">-->
|
<div class="sign">
|
||||||
<!-- <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />-->
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <span style="margin-right: 3px">持续时间:</span>-->
|
<span style="margin-right: 3px">持续时间:</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <div class="btnbox">-->
|
<div class="btnbox">
|
||||||
<!-- <a-input-number :min="0" :max="999999" :precision="0" style="width: 400px; height: 40px; border-radius: 8px"-->
|
<a-input-number :min="0" :max="999999" :precision="0" style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
<!-- v-model:value="formData.activityDuration" />-->
|
v-model:value="formData.activityDuration" />
|
||||||
<!-- <span style="color: #999999; margin-left: 8px">分钟</span>-->
|
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -182,12 +182,12 @@ const rulesRef = ref({
|
|||||||
message: '请输入活动结束时间',
|
message: '请输入活动结束时间',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
// activityDuration: [
|
activityDuration: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: '请输入活动时长',
|
message: '请输入持续时间',
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
activityAddress: [
|
activityAddress: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
@@ -208,6 +208,7 @@ const closeDrawer = () => {
|
|||||||
function timeChange(time, timeStr) {
|
function timeChange(time, timeStr) {
|
||||||
formData.value.activityStartTime = timeStr[0]
|
formData.value.activityStartTime = timeStr[0]
|
||||||
formData.value.activityEndTime = timeStr[1]
|
formData.value.activityEndTime = timeStr[1]
|
||||||
|
formData.value.activityDuration || (formData.value.activityDuration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
||||||
}
|
}
|
||||||
|
|
||||||
const disabledDate = (current) => {
|
const disabledDate = (current) => {
|
||||||
|
|||||||
@@ -75,8 +75,6 @@
|
|||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
:disabled-time="disabledRangeTime"
|
|
||||||
style="width: 400px; height: 40px; border-radius: 8px"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
v-model:value="dateTime"
|
v-model:value="dateTime"
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
|
|||||||
@@ -105,8 +105,6 @@
|
|||||||
<div class="select">
|
<div class="select">
|
||||||
<a-range-picker style="width: 400px;"
|
<a-range-picker style="width: 400px;"
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
|
|
||||||
format="YYYY/MM/DD HH:mm"
|
format="YYYY/MM/DD HH:mm"
|
||||||
v-model:value="chooseTime"
|
v-model:value="chooseTime"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
|
|||||||
@@ -43,8 +43,6 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
style="width: 400px; height: 40px; border-radius: 8px"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
:show-time="{ format: 'hh:mm' }"
|
:show-time="{ format: 'hh:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
|
|
||||||
v-model:value="dateTime"
|
v-model:value="dateTime"
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
@change="timeChange"
|
@change="timeChange"
|
||||||
|
|||||||
@@ -206,11 +206,7 @@ export default {
|
|||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
locationHref:
|
locationHref: process.env.VUE_APP_FILE_PATH,
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://43.143.139.204:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) +
|
|
||||||
process.env.VUE_APP_FILE_PATH,
|
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
||||||
importStudent:
|
importStudent:
|
||||||
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
||||||
|
|||||||
@@ -47,24 +47,24 @@
|
|||||||
<span style="margin-right: 3px">直播时间:</span>
|
<span style="margin-right: 3px">直播时间:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker :show-time="{ format: 'HH:mm' }" :disabled-date="disabledDate"
|
<a-range-picker :show-time="{ format: 'HH:mm' }"
|
||||||
style="width: 400px; height: 40px; border-radius: 8px" v-model:value="dateTime" format="YYYY-MM-DD HH:mm"
|
style="width: 400px; height: 40px; border-radius: 8px" v-model:value="dateTime" format="YYYY-MM-DD HH:mm"
|
||||||
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :placeholder="[' 开始时间', ' 结束时间']" />
|
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :placeholder="[' 开始时间', ' 结束时间']" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="main_item">-->
|
<div class="main_item">
|
||||||
<!-- <div class="signbox">-->
|
<div class="signbox">
|
||||||
<!-- <div class="sign">-->
|
<div class="sign">
|
||||||
<!-- <img src="@/assets/images/coursewareManage/asterisk.png" alt="" />-->
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <span style="margin-right: 3px">持续时间:</span>-->
|
<span style="margin-right: 3px">持续时间:</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <div class="btnbox">-->
|
<div class="btnbox">
|
||||||
<!-- <a-input-number :min="0" :max="999999" :precision="0" style="width: 400px; height: 40px; border-radius: 8px"-->
|
<a-input-number :min="0" :max="999999" :precision="0" style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
<!-- v-model:value="formData.liveDuration"></a-input-number>-->
|
v-model:value="formData.liveDuration"></a-input-number>
|
||||||
<!-- <span style="color: #999999; margin-left: 8px">分钟</span>-->
|
<span style="color: #999999; margin-left: 8px">分钟</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -297,12 +297,12 @@ const rulesRef = ref({
|
|||||||
message: "请输入直播公告",
|
message: "请输入直播公告",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
// liveDuration: [
|
liveDuration: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: "请输入直播时长",
|
message: "请输入持续时间",
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
liveTeacherId: [
|
liveTeacherId: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
@@ -336,6 +336,7 @@ const closeDrawer = () => {
|
|||||||
function timeChange(time, timeStr) {
|
function timeChange(time, timeStr) {
|
||||||
formData.value.liveStartTime = timeStr[0];
|
formData.value.liveStartTime = timeStr[0];
|
||||||
formData.value.liveEndTime = timeStr[1];
|
formData.value.liveEndTime = timeStr[1];
|
||||||
|
formData.value.liveDuration || (formData.value.liveDuration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
||||||
}
|
}
|
||||||
const disabledDate = (current) => {
|
const disabledDate = (current) => {
|
||||||
return current && current < dayjs().startOf("day");
|
return current && current < dayjs().startOf("day");
|
||||||
|
|||||||
@@ -127,7 +127,6 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
style="width: 88%; height: 40px; border-radius: 8px"
|
style="width: 88%; height: 40px; border-radius: 8px"
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
valueFormat="YYYY-MM-DD HH:mm"
|
valueFormat="YYYY-MM-DD HH:mm"
|
||||||
v-model:value="dateTime"
|
v-model:value="dateTime"
|
||||||
@@ -155,31 +154,31 @@
|
|||||||
></ProjectManager>
|
></ProjectManager>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="cstm_items">-->
|
<div class="cstm_items">
|
||||||
<!-- <div class="signbox">-->
|
<div class="signbox">
|
||||||
<!-- <div class="sign">-->
|
<div class="sign">
|
||||||
<!-- <img src="@/assets/images/coursewareManage/asterisk.png" alt=""/>-->
|
<img src="@/assets/images/coursewareManage/asterisk.png" alt=""/>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <span style="margin-right: 3px">持续时间</span>-->
|
<span style="margin-right: 3px">持续时间</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- <div class="b_input">-->
|
<div class="b_input">
|
||||||
<!-- <a-input-number-->
|
<a-input-number
|
||||||
<!-- :min="0"-->
|
:min="0"
|
||||||
<!-- :max="999999"-->
|
:max="999999"
|
||||||
<!-- :precision="0"-->
|
:precision="0"
|
||||||
<!-- placeholder="请输入持续时间"-->
|
placeholder="请输入持续时间"
|
||||||
<!-- style="-->
|
style="
|
||||||
<!-- width: 88%;-->
|
width: 88%;
|
||||||
<!-- height: 32px;-->
|
height: 32px;
|
||||||
<!-- border-radius: 8px;-->
|
border-radius: 8px;
|
||||||
<!-- overflow: hidden;"-->
|
overflow: hidden;"
|
||||||
<!-- v-model:value="formData.duration"-->
|
v-model:value="formData.duration"
|
||||||
<!-- ></a-input-number>-->
|
></a-input-number>
|
||||||
<!-- <div class="inp_num" style="right: 96px;line-height: 12px">-->
|
<div class="inp_num" style="right: 96px;line-height: 12px">
|
||||||
<!-- <span style="color: #c7cbd2">分钟</span>-->
|
<span style="color: #c7cbd2">分钟</span>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<!-- </div>-->
|
</div>
|
||||||
<div class="cstm_items">
|
<div class="cstm_items">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -516,18 +515,19 @@ const formDataRule = {
|
|||||||
message: "请选择教师",
|
message: "请选择教师",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
// duration: [
|
duration: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: "请输入持续时间",
|
message: "请输入持续时间",
|
||||||
// },
|
},
|
||||||
// ],
|
],
|
||||||
};
|
};
|
||||||
const { validate } = Form.useForm(formData, formDataRule);
|
const { validate } = Form.useForm(formData, formDataRule);
|
||||||
|
|
||||||
function timeChange(time, timeStr) {
|
function timeChange(time, timeStr) {
|
||||||
formData.value.beginTime = timeStr[0];
|
formData.value.beginTime = timeStr[0];
|
||||||
formData.value.endTime = timeStr[1];
|
formData.value.endTime = timeStr[1];
|
||||||
|
formData.value.duration || (formData.value.duration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
||||||
}
|
}
|
||||||
|
|
||||||
function search() {
|
function search() {
|
||||||
|
|||||||
@@ -83,8 +83,7 @@
|
|||||||
<span style="margin-right: 3px">考试时间:</span>
|
<span style="margin-right: 3px">考试时间:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-range-picker style="width: 400px; height: 40px; border-radius: 8px" :show-time="{ format: 'hh:mm' }"
|
<a-range-picker style="width: 400px; height: 40px; border-radius: 8px" :show-time="{ format: 'hh:mm' }" format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm"
|
||||||
:disabled-date="disabledDate" format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm"
|
|
||||||
v-model:value="dateTime" @change="timeChange" :placeholder="[' 开始时间', ' 结束时间']" />
|
v-model:value="dateTime" @change="timeChange" :placeholder="[' 开始时间', ' 结束时间']" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -42,7 +42,6 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
style="width: 400px; height: 40px; border-radius: 8px"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
:show-time="{ format: 'hh:mm' }"
|
:show-time="{ format: 'hh:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
v-model:value="dateTime"
|
v-model:value="dateTime"
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
valueFormat="YYYY/MM/DD HH:mm"
|
valueFormat="YYYY/MM/DD HH:mm"
|
||||||
|
|||||||
@@ -117,7 +117,6 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
style="width: 400px; height: 40px; border-radius: 8px"
|
style="width: 400px; height: 40px; border-radius: 8px"
|
||||||
:show-time="{format:'hh:mm'}"
|
:show-time="{format:'hh:mm'}"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
valueFormat="YYYY-MM-DD HH:mm"
|
valueFormat="YYYY-MM-DD HH:mm"
|
||||||
v-model:value="dateTime"
|
v-model:value="dateTime"
|
||||||
|
|||||||
@@ -252,9 +252,6 @@ export default {
|
|||||||
downloadErrUrl: null, //下载失败数据
|
downloadErrUrl: null, //下载失败数据
|
||||||
fileName: "",
|
fileName: "",
|
||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://43.143.139.204:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) +
|
|
||||||
process.env.VUE_APP_FILE_PATH,
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -276,9 +276,6 @@ export default {
|
|||||||
downloadErrUrl: null, //下载失败数据
|
downloadErrUrl: null, //下载失败数据
|
||||||
fileName: "",
|
fileName: "",
|
||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://43.143.139.204:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) +
|
|
||||||
process.env.VUE_APP_FILE_PATH,
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -116,7 +116,14 @@ export default {
|
|||||||
// const showAddGroup = () => {
|
// const showAddGroup = () => {
|
||||||
// state.Avisible = true;
|
// state.Avisible = true;
|
||||||
// };
|
// };
|
||||||
|
function uuid() {
|
||||||
|
//获取当前时候
|
||||||
|
return new Date().getSeconds()+''+Math.round(Math.random()*100);
|
||||||
|
// const temp_url = URL.createObjectURL(new Blob());
|
||||||
|
// const uuid = temp_url.toString();
|
||||||
|
// URL.revokeObjectURL(temp_url);
|
||||||
|
// return uuid.substr(uuid.lastIndexOf("/") + 1);
|
||||||
|
}
|
||||||
//展示要增加的小组
|
//展示要增加的小组
|
||||||
const showAddGroup = () => {
|
const showAddGroup = () => {
|
||||||
if (!state.groupNum) return message.warning("请输入要添加的小组数");
|
if (!state.groupNum) return message.warning("请输入要添加的小组数");
|
||||||
@@ -125,7 +132,7 @@ export default {
|
|||||||
for (let i = 0; i < state.groupNum; i++) {
|
for (let i = 0; i < state.groupNum; i++) {
|
||||||
let obj = {
|
let obj = {
|
||||||
key: i,
|
key: i,
|
||||||
groupName: "第" + (i + 1) + "小组",
|
groupName: uuid(),
|
||||||
capacity: state.peopleNum,
|
capacity: state.peopleNum,
|
||||||
};
|
};
|
||||||
arr.push(obj);
|
arr.push(obj);
|
||||||
|
|||||||
@@ -218,9 +218,6 @@ export default {
|
|||||||
downloadErrUrl: null, //下载失败数据
|
downloadErrUrl: null, //下载失败数据
|
||||||
fileName: "",
|
fileName: "",
|
||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://43.143.139.204:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) +
|
|
||||||
process.env.VUE_APP_FILE_PATH,
|
process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_SCORE_TEMPLATE,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -400,7 +400,8 @@ function exportTaskStu() {
|
|||||||
window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?type=3&pid=${offcoursePlanId.value}&thirdType=2`);
|
window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?type=3&pid=${offcoursePlanId.value}&thirdType=2`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const exportAssessment = () =>window.open(`${process.env.VUE_APP_BASE_API}/admin/assessment/manage/exportCoursePlanAssessmentMessage?chapterId=${props.type === 1 ? props.datasource.stageId : props.datasource.chapterId}&type=${props.type}&pid=${props.type === 1 ? props.datasource.projectId : props.datasource.routerId}&courseId=${data.value[coursePlanIndex.value].assessmentId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`);
|
const exportAssessment = () =>
|
||||||
|
window.open(`${process.env.VUE_APP_BASE_API}/admin/assessment/manage/exportCoursePlanAssessmentMessage?type=3&pid=${data.value[coursePlanIndex.value].id}&courseId=${data.value[coursePlanIndex.value].assessmentId}&taskId=${data.value[coursePlanIndex.value].id}&taskType=11`);
|
||||||
|
|
||||||
function afterVisibleChange(bool) {
|
function afterVisibleChange(bool) {
|
||||||
bool && fetchData()
|
bool && fetchData()
|
||||||
@@ -433,7 +434,7 @@ const qrcodeAssement = () =>{
|
|||||||
qrCode({
|
qrCode({
|
||||||
title: "【评估】二维码",
|
title: "【评估】二维码",
|
||||||
name: data.value[coursePlanIndex.value]?.assessmentName,
|
name: data.value[coursePlanIndex.value]?.assessmentName,
|
||||||
url: `${location.protocol}//${location.host}${process.env.VUE_APP_BASE_API}/student-h5/investigatpage?id=${data.value[coursePlanIndex.value]?.id}&type=3&infoId=${data.value[coursePlanIndex.value]?.id}&courseId=${data.value[coursePlanIndex.value].assessmentId}&chapterOrStageId=0`,
|
url: `${location.protocol}//${location.host}/student-h5/investigatpage?id=${data.value[coursePlanIndex.value]?.id}&type=3&infoId=${data.value[coursePlanIndex.value]?.id}&courseId=${data.value[coursePlanIndex.value].assessmentId}&chapterOrStageId=0`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { defineEmits, defineProps, ref, watch } from "vue";
|
import {defineEmits, defineProps, ref, watch, watchEffect} from "vue";
|
||||||
import { boeRequest, useBoeApi } from "@/api/request";
|
import { boeRequest, useBoeApi } from "@/api/request";
|
||||||
import { ORG_CHILD_LIST, ORG_LIST } from "@/api/ThirdApi";
|
import { ORG_CHILD_LIST, ORG_LIST } from "@/api/ThirdApi";
|
||||||
|
|
||||||
@@ -66,6 +66,10 @@ const { data: options, loading: orgLoading } = useBoeApi(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
watchEffect(()=>{
|
||||||
|
labelValue.value = props.value;
|
||||||
|
})
|
||||||
|
|
||||||
watch(props, () => {
|
watch(props, () => {
|
||||||
// stuTreeExpandedKeys.value = [];
|
// stuTreeExpandedKeys.value = [];
|
||||||
// console.log("labelValue.value", labelValue.value, props.value);
|
// console.log("labelValue.value", labelValue.value, props.value);
|
||||||
|
|||||||
@@ -53,7 +53,6 @@
|
|||||||
<div class="select">
|
<div class="select">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
style="width: 424px"
|
style="width: 424px"
|
||||||
v-model:value="dateTime"
|
v-model:value="dateTime"
|
||||||
|
|||||||
@@ -933,28 +933,6 @@
|
|||||||
></NameInput>
|
></NameInput>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cstm_items">
|
|
||||||
<div class="signbox">
|
|
||||||
<div class="sign">
|
|
||||||
<!-- <img
|
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/> -->
|
|
||||||
</div>
|
|
||||||
<span style="margin-right: 3px">地点</span>
|
|
||||||
</div>
|
|
||||||
<div class="b_input">
|
|
||||||
<a-input
|
|
||||||
v-model:value="xjkkinputV2"
|
|
||||||
maxlength="50"
|
|
||||||
style="width: 440px; height: 40px; border-radius: 8px"
|
|
||||||
placeholder="请输入详细地点"
|
|
||||||
/>
|
|
||||||
<div class="inp_num" style="right: 164px">
|
|
||||||
<span style="color: #c7cbd2">{{ xjkkinputV2.length }}/50</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cstm_items">
|
<div class="cstm_items">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -969,15 +947,42 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
style="width: 440px; height: 40px; border-radius: 8px"
|
style="width: 440px; height: 40px; border-radius: 8px"
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
v-model:value="xjkkinputV3"
|
v-model:value="xjkkinputV3"
|
||||||
|
@change="timeChange"
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="cstm_items">
|
||||||
|
<div class="signbox">
|
||||||
|
<div class="sign">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span style="margin-right: 3px">持续时间</span>
|
||||||
|
</div>
|
||||||
|
<div class="b_input">
|
||||||
|
<a-input-number
|
||||||
|
:min="0"
|
||||||
|
:max="999999"
|
||||||
|
:precision="0"
|
||||||
|
placeholder="请输入持续时间"
|
||||||
|
style="
|
||||||
|
width: 88%;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 8px;
|
||||||
|
overflow: hidden;"
|
||||||
|
v-model:value="duration"
|
||||||
|
></a-input-number>
|
||||||
|
<div class="inp_num">
|
||||||
|
<span style="color: #c7cbd2">分钟</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="cstm_items">
|
<div class="cstm_items">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -995,6 +1000,28 @@
|
|||||||
></ProjectManager>
|
></ProjectManager>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="cstm_items">
|
||||||
|
<div class="signbox">
|
||||||
|
<div class="sign">
|
||||||
|
<!-- <img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/> -->
|
||||||
|
</div>
|
||||||
|
<span style="margin-right: 3px">地点</span>
|
||||||
|
</div>
|
||||||
|
<div class="b_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="xjkkinputV2"
|
||||||
|
maxlength="50"
|
||||||
|
style="width: 440px; height: 40px; border-radius: 8px"
|
||||||
|
placeholder="请输入详细地点"
|
||||||
|
/>
|
||||||
|
<div class="inp_num" style="right: 164px">
|
||||||
|
<span style="color: #c7cbd2">{{ xjkkinputV2.length }}/50</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="cstm_items">
|
<div class="cstm_items">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<span style="margin-right: 3px">考勤设置:</span>
|
<span style="margin-right: 3px">考勤设置:</span>
|
||||||
@@ -1221,7 +1248,7 @@
|
|||||||
>已开课
|
>已开课
|
||||||
{{
|
{{
|
||||||
currentPlanItem.courseScore !== -1
|
currentPlanItem.courseScore !== -1
|
||||||
? currentPlanItem.courseScore
|
? currentPlanItem.courseScore.toFixed(2)
|
||||||
: "-"
|
: "-"
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -2578,6 +2605,7 @@ export default defineComponent({
|
|||||||
xjkkinputV1: "",
|
xjkkinputV1: "",
|
||||||
onceName: "",
|
onceName: "",
|
||||||
xjkkinputV2: "",
|
xjkkinputV2: "",
|
||||||
|
duration: "",
|
||||||
xjkkinputV3: "",
|
xjkkinputV3: "",
|
||||||
xjkkinputV4: null,
|
xjkkinputV4: null,
|
||||||
beforeValue: null, //考勤 开始前
|
beforeValue: null, //考勤 开始前
|
||||||
@@ -2788,6 +2816,10 @@ export default defineComponent({
|
|||||||
codeType: null, //二维码类型
|
codeType: null, //二维码类型
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function timeChange(time, timeStr) {
|
||||||
|
state.duration || (state.duration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
||||||
|
}
|
||||||
|
|
||||||
function findClassFullName(list, classify, name = "") {
|
function findClassFullName(list, classify, name = "") {
|
||||||
return (
|
return (
|
||||||
(list &&
|
(list &&
|
||||||
@@ -3513,7 +3545,7 @@ export default defineComponent({
|
|||||||
const createft = () => {
|
const createft = () => {
|
||||||
if (!state.xzinputV1) {
|
if (!state.xzinputV1) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入必填项");
|
return message.warning("请输入课程名称");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.validated !== 2) {
|
if (state.validated !== 2) {
|
||||||
@@ -3624,6 +3656,7 @@ export default defineComponent({
|
|||||||
state.xjkkinputV1 = "";
|
state.xjkkinputV1 = "";
|
||||||
state.onceName = "";
|
state.onceName = "";
|
||||||
state.xjkkinputV2 = "";
|
state.xjkkinputV2 = "";
|
||||||
|
state.duration = "";
|
||||||
state.xjkkinputV3 = "";
|
state.xjkkinputV3 = "";
|
||||||
state.xjkkinputV4 = null;
|
state.xjkkinputV4 = null;
|
||||||
state.checked1 = false;
|
state.checked1 = false;
|
||||||
@@ -3668,6 +3701,7 @@ export default defineComponent({
|
|||||||
offcourseId: state.offcourseId,
|
offcourseId: state.offcourseId,
|
||||||
id: state.offcoursePlanId, //开课ID,不传代表新增
|
id: state.offcoursePlanId, //开课ID,不传代表新增
|
||||||
address: state.xjkkinputV2,
|
address: state.xjkkinputV2,
|
||||||
|
duration: state.duration,
|
||||||
applyFlag: state.checked1 ? 1 : 0,
|
applyFlag: state.checked1 ? 1 : 0,
|
||||||
attach: state.attach,
|
attach: state.attach,
|
||||||
beginTime: startTime,
|
beginTime: startTime,
|
||||||
@@ -3688,18 +3722,20 @@ export default defineComponent({
|
|||||||
afterStart: state.afterStartValue, //考勤 开始后
|
afterStart: state.afterStartValue, //考勤 开始后
|
||||||
};
|
};
|
||||||
console.log(postData);
|
console.log(postData);
|
||||||
const checkList = [
|
if(!postData.name){
|
||||||
postData.name,
|
return message.error("请输入开课名称");
|
||||||
// postData.address,
|
}
|
||||||
postData.beginTime,
|
if(!postData.beginTime){
|
||||||
postData.endTime,
|
return message.error("请选择开课时间");
|
||||||
postData.teacherId,
|
}
|
||||||
];
|
if(!postData.endTime){
|
||||||
if (!checkVal(checkList)) {
|
return message.error("请选择结束时间");
|
||||||
message.destroy();
|
}
|
||||||
return message.error("请输入必填项");
|
if(!postData.teacherId){
|
||||||
} else {
|
return message.error("请选择授课老师");
|
||||||
console.log("state.addLoading ", state.addLoading);
|
}
|
||||||
|
if(!postData.duration){
|
||||||
|
return message.error("请输入持续时间");
|
||||||
}
|
}
|
||||||
state.addLoading = true;
|
state.addLoading = true;
|
||||||
editPlan(postData)
|
editPlan(postData)
|
||||||
@@ -3739,6 +3775,7 @@ export default defineComponent({
|
|||||||
// }
|
// }
|
||||||
console.log("获取面授课开课详情", item);
|
console.log("获取面授课开课详情", item);
|
||||||
state.xjkkinputV2 = item.address;
|
state.xjkkinputV2 = item.address;
|
||||||
|
state.duration = item.duration;
|
||||||
state.checked1 = item.applyFlag === 1 ? true : false;
|
state.checked1 = item.applyFlag === 1 ? true : false;
|
||||||
state.attach = item.attach;
|
state.attach = item.attach;
|
||||||
|
|
||||||
@@ -4983,6 +5020,7 @@ export default defineComponent({
|
|||||||
logW,
|
logW,
|
||||||
logT,
|
logT,
|
||||||
qrcodeVisible,
|
qrcodeVisible,
|
||||||
|
timeChange
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -383,9 +383,6 @@ export default defineComponent({
|
|||||||
imgList: [],
|
imgList: [],
|
||||||
categoryName: "",
|
categoryName: "",
|
||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://43.143.139.204:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) +
|
|
||||||
process.env.VUE_APP_FILE_PATH,
|
process.env.VUE_APP_FILE_PATH,
|
||||||
|
|
||||||
//目标任务
|
//目标任务
|
||||||
|
|||||||
@@ -189,6 +189,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<a-select
|
<a-select
|
||||||
|
v-if="jobType && jobType.length"
|
||||||
:getPopupContainer="
|
:getPopupContainer="
|
||||||
(triggerNode) => triggerNode.parentNode || document.body
|
(triggerNode) => triggerNode.parentNode || document.body
|
||||||
"
|
"
|
||||||
@@ -207,6 +208,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<a-select
|
<a-select
|
||||||
|
v-if="bandList && bandList.length"
|
||||||
:getPopupContainer="
|
:getPopupContainer="
|
||||||
(triggerNode) => triggerNode.parentNode || document.body
|
(triggerNode) => triggerNode.parentNode || document.body
|
||||||
"
|
"
|
||||||
@@ -890,18 +892,32 @@ export default defineComponent({
|
|||||||
postData.sourceBelongId,
|
postData.sourceBelongId,
|
||||||
];
|
];
|
||||||
console.log("checkList", checkList);
|
console.log("checkList", checkList);
|
||||||
if (
|
if(!postData.organizationIds){
|
||||||
(!postData.organizationIds &&
|
return message.error("请选择目标人群的归属组织");
|
||||||
!postData.jobTypeIds &&
|
}
|
||||||
!postData.bandIds) ||
|
if(!postData.jobTypeIds && jobType.value && jobType.value.length){
|
||||||
!checkVal(checkList)
|
return message.error("请选择目标人群的岗位");
|
||||||
) {
|
}
|
||||||
message.destroy();
|
if(!postData.bandIds && bandList.value && bandList.value.length){
|
||||||
return message.error("请输入必填项");
|
return message.error("请选择目标人群的Band");
|
||||||
} else {
|
}
|
||||||
state.addLoading = true;
|
if(!postData.intro){
|
||||||
|
return message.error("请输入课程简介");
|
||||||
|
}
|
||||||
|
if(!postData.name){
|
||||||
|
return message.error("请输入课程名称");
|
||||||
|
}
|
||||||
|
if(!postData.picUrl){
|
||||||
|
return message.error("请选择封面图");
|
||||||
|
}
|
||||||
|
if(!postData.sourceBelongId){
|
||||||
|
return message.error("请选择资源归属");
|
||||||
|
}
|
||||||
|
if(!postData.sysTypeId){
|
||||||
|
return message.error("请选择内容分类");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
state.addLoading = true;
|
||||||
edit(postData).then((res) => {
|
edit(postData).then((res) => {
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
|
|||||||
@@ -1652,9 +1652,6 @@ export default {
|
|||||||
|
|
||||||
facestudent: "",
|
facestudent: "",
|
||||||
locationHref:
|
locationHref:
|
||||||
location.href.indexOf("http://") !== -1
|
|
||||||
? "http://43.143.139.204:12016/"
|
|
||||||
: location.href.slice(0, location.href.indexOf("/m")) +
|
|
||||||
process.env.VUE_APP_FILE_PATH,
|
process.env.VUE_APP_FILE_PATH,
|
||||||
isreload: true,
|
isreload: true,
|
||||||
TaskFaceImpStuvisible: false,
|
TaskFaceImpStuvisible: false,
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
<div class="in">
|
<div class="in">
|
||||||
<a-range-picker separator="至" :show-time="{ format: 'HH:mm' }"
|
<a-range-picker separator="至" :show-time="{ format: 'HH:mm' }"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
:disabledDate="disabledDate" v-model:value="timeRange" @calendarChange="calendarChange"
|
v-model:value="timeRange" @calendarChange="calendarChange"
|
||||||
style="width: 100%; height: 40px; border-radius: 5px" :allowClear="false"
|
style="width: 100%; height: 40px; border-radius: 5px" :allowClear="false"
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :disabled="!!viewDetail"/>
|
valueFormat="YYYY-MM-DD HH:mm" @change="timeChange" :disabled="!!viewDetail"/>
|
||||||
|
|||||||
@@ -48,7 +48,6 @@
|
|||||||
<!--
|
<!--
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate" :disabled-time="disabledRangeTime"
|
|
||||||
v-model:value="searchParam.valueDate"
|
v-model:value="searchParam.valueDate"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
style="border-radius: 8px; height: 40px; margin-left: 5px"
|
style="border-radius: 8px; height: 40px; margin-left: 5px"
|
||||||
|
|||||||
@@ -122,8 +122,6 @@
|
|||||||
<div class="in">
|
<div class="in">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
:disabled-time="disabledRangeTime"
|
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
v-model:value="projectInfo.rangeTime"
|
v-model:value="projectInfo.rangeTime"
|
||||||
|
|||||||
@@ -107,8 +107,6 @@
|
|||||||
<div class="in">
|
<div class="in">
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
:show-time="{ format: 'HH:mm' }"
|
:show-time="{ format: 'HH:mm' }"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
:disabled-time="disabledRangeTime"
|
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
v-model:value="projectInfo.rangeTime"
|
v-model:value="projectInfo.rangeTime"
|
||||||
|
|||||||
@@ -207,7 +207,6 @@
|
|||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
@openChange="onOpenChange"
|
@openChange="onOpenChange"
|
||||||
@calendarChange="onCalendarChange"
|
@calendarChange="onCalendarChange"
|
||||||
:disabled-date="disabledDate"
|
|
||||||
/>
|
/>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-if="threeLeftType == 1"
|
v-if="threeLeftType == 1"
|
||||||
|
|||||||
Reference in New Issue
Block a user