This commit is contained in:
yuping
2023-06-13 16:32:16 +08:00
26 changed files with 196 additions and 163 deletions

View File

@@ -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) => {

View File

@@ -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"

View File

@@ -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="[' 开始时间', ' 结束时间']"

View File

@@ -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"

View File

@@ -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",

View File

@@ -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");

View File

@@ -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() {

View File

@@ -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>

View File

@@ -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"

View File

@@ -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"

View File

@@ -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,
}); });

View File

@@ -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,
}); });

View File

@@ -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);

View File

@@ -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,
}); });

View File

@@ -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`,
}); });
} }

View File

@@ -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);

View File

@@ -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"

View File

@@ -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
}; };
}, },
}); });

View File

@@ -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,
//目标任务 //目标任务

View File

@@ -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) {

View File

@@ -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,

View File

@@ -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"/>

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"