mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 03:46:45 +08:00
Merge branch 'test'
This commit is contained in:
@@ -464,7 +464,7 @@ const columns = ref([
|
|||||||
width: "20%",
|
width: "20%",
|
||||||
align: "center",
|
align: "center",
|
||||||
customRender: ({ record }) => {
|
customRender: ({ record }) => {
|
||||||
const teachers = record.offteachers;
|
const teachers = record.offteachers;
|
||||||
return teachers.map((teacher, index) => {
|
return teachers.map((teacher, index) => {
|
||||||
// 如果需要显示为列表形式
|
// 如果需要显示为列表形式
|
||||||
return (
|
return (
|
||||||
@@ -473,7 +473,7 @@ const columns = ref([
|
|||||||
{index !== teachers.length - 1 && ', '}
|
{index !== teachers.length - 1 && ', '}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -562,33 +562,33 @@ const formDataRule = {
|
|||||||
message: "请输入开课名称",
|
message: "请输入开课名称",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
beginTime: [
|
// beginTime: [
|
||||||
{
|
// {
|
||||||
required: true,
|
// required: true,
|
||||||
message: "请选择开始时间",
|
// message: "请选择开始时间",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
endTime: [
|
// endTime: [
|
||||||
{
|
// {
|
||||||
required: true,
|
// required: true,
|
||||||
message: "请选择结束时间",
|
// message: "请选择结束时间",
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
offteachers: [
|
offteachers: [
|
||||||
{
|
{
|
||||||
validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
if (!value.every(item => item.teacherName)) {
|
if (!value.every(item => item.teacherName)) {
|
||||||
callback(new Error('请选择教师'));
|
callback(new Error('请填写教师名称和设置权重'));
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
message: '请选择教师',
|
message: '请填写教师名称和设置权重',
|
||||||
fields: {
|
fields: {
|
||||||
teacherName: [
|
teacherName: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择教师",
|
message: "请填写教师名称和设置权重",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -740,15 +740,18 @@ const del = (id,record) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
async function coursePlanConfirm() {
|
async function coursePlanConfirm() {
|
||||||
console.log({ ...formData.value },'{ ...formData.value }')
|
if(!dateTime.value[0]){
|
||||||
|
message.info('开始时间未填写')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(!dateTime.value[1]){
|
||||||
|
message.info('结束时间未填写')
|
||||||
|
return
|
||||||
|
}
|
||||||
await validate().catch(({ errorFields }) => {
|
await validate().catch(({ errorFields }) => {
|
||||||
message.warning(errorFields[0].errors.join());
|
message.warning(errorFields[0].errors.join());
|
||||||
throw Error("数据校验不通过");
|
throw Error("数据校验不通过");
|
||||||
});
|
});
|
||||||
if(dateTime.value.length<2){
|
|
||||||
message.info('请选择开始时间和结束时间')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if(formData.value.offteachers.length==1&& totalWeightSum.value!=100){
|
if(formData.value.offteachers.length==1&& totalWeightSum.value!=100){
|
||||||
message.error('单名教师您设置的权重应该是100%')
|
message.error('单名教师您设置的权重应该是100%')
|
||||||
return
|
return
|
||||||
@@ -756,6 +759,10 @@ async function coursePlanConfirm() {
|
|||||||
message.error('多名教师权重合计值为100%')
|
message.error('多名教师权重合计值为100%')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if(formData.value.offteachers.some(item => item.weight==0)){
|
||||||
|
message.error('权重值不能为0%')
|
||||||
|
return
|
||||||
|
}
|
||||||
if(editBeginClass.value){
|
if(editBeginClass.value){
|
||||||
message.info('讲师费已进入审批阶段,无法编辑')
|
message.info('讲师费已进入审批阶段,无法编辑')
|
||||||
return
|
return
|
||||||
@@ -1316,8 +1323,8 @@ defineExpose({ openDrawer });
|
|||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
span{
|
span{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
font-size: 33px;
|
font-size: 33px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ const signOptions = ref([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
value: 0,
|
value: 2,
|
||||||
label: "未签到",
|
label: "未签到",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -904,9 +904,9 @@
|
|||||||
<span v-else>新建开课</span>
|
<span v-else>新建开课</span>
|
||||||
<div class="close_exit" @click="handleCancelStu"></div>
|
<div class="close_exit" @click="handleCancelStu"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cstm_title">
|
<!-- <div class="cstm_title">
|
||||||
<span>面授名称:{{ newCourseName }}</span>
|
<span>面授名称:{{ newCourseName }}</span>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="cstm_items">
|
<div class="cstm_items">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
@@ -942,8 +942,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">面授时间</span>
|
<span style="margin-right: 3px">面授时间</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="select fitems">
|
<div class="select fitems" style="width: 84%">
|
||||||
<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' }"
|
||||||
format="YYYY-MM-DD HH:mm"
|
format="YYYY-MM-DD HH:mm"
|
||||||
@@ -952,6 +952,33 @@
|
|||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="[' 开始时间', ' 结束时间']"
|
||||||
:disabled="editBeginClass"
|
:disabled="editBeginClass"
|
||||||
|
/> -->
|
||||||
|
<a-date-picker
|
||||||
|
style="width: 45%; height: 40px; border-radius: 8px"
|
||||||
|
:show-time="{ format: 'HH:mm' }"
|
||||||
|
format="YYYY-MM-DD HH:mm"
|
||||||
|
valueFormat="YYYY-MM-DD HH:mm"
|
||||||
|
v-model:value="xjkkinputV3[0]"
|
||||||
|
@change="timeChange"
|
||||||
|
:placeholder="' 开始时间'"
|
||||||
|
:disabled="editBeginClass"
|
||||||
|
@blur="onBlurStart"
|
||||||
|
@focus="onFocusStart"
|
||||||
|
@select="onDateSelect"
|
||||||
|
/>
|
||||||
|
<span style="margin: 0 10px;">至</span>
|
||||||
|
<a-date-picker
|
||||||
|
style="width: 45%; height: 40px; border-radius: 8px"
|
||||||
|
:show-time="{ format: 'HH:mm' }"
|
||||||
|
format="YYYY-MM-DD HH:mm"
|
||||||
|
valueFormat="YYYY-MM-DD HH:mm"
|
||||||
|
v-model:value="xjkkinputV3[1]"
|
||||||
|
@change="timeChangeEnd"
|
||||||
|
:placeholder="' 结束时间'"
|
||||||
|
:disabled="editBeginClass"
|
||||||
|
@focus="onFocusEnd"
|
||||||
|
@blur="onBlurEnd"
|
||||||
|
@select="onDateEnd"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -983,7 +1010,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cstm_items">
|
<div class="cstm_items" style="align-items: baseline;">
|
||||||
<div class="signbox">
|
<div class="signbox">
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
<img
|
<img
|
||||||
@@ -993,12 +1020,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<span style="margin-right: 3px">授课教师</span>
|
<span style="margin-right: 3px">授课教师</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="select" style="width: 440px">
|
<div class="select teacher_input" style="display: flex; flex-wrap: wrap;width: 74.5%">
|
||||||
<ProjectManager
|
<!-- <ProjectManager
|
||||||
v-model:value="member.value"
|
v-model:value="member.value"
|
||||||
v-model:name="member.name"
|
v-model:name="member.name"
|
||||||
:disabled="editBeginClass"
|
:disabled="editBeginClass"
|
||||||
></ProjectManager>
|
></ProjectManager> -->
|
||||||
|
<div v-for="(item, index) in offteachers"
|
||||||
|
:key="index" style="display: flex;margin-bottom: 10px;width: 100%;">
|
||||||
|
<ProjectManager
|
||||||
|
v-model:value="item.teacherId"
|
||||||
|
v-model:name="item.teacherName"
|
||||||
|
:disabled="editBeginClass"
|
||||||
|
></ProjectManager>
|
||||||
|
<a-input-number :min="0" :max="100" @change="inputWeightChange(index)" v-model:value="item.weight" placeholder="%"/>
|
||||||
|
<span style="margin-top: 10px;width: 34px;">权重</span>
|
||||||
|
<div style="display: flex;">
|
||||||
|
<a-button shape="circle" class="btn-circle btn-add" @click="inputAdd">+</a-button>
|
||||||
|
<a-button shape="circle" class="btn-circle" @click="inputRemove(index)" :disabled="offteachers.length == 1">-</a-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cstm_items">
|
<div class="cstm_items">
|
||||||
@@ -1264,7 +1305,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="stmm_i4">
|
<div class="stmm_i4">
|
||||||
<span style="color: #999ba3">授课教师:</span>
|
<span style="color: #999ba3">授课教师:</span>
|
||||||
<span>{{ currentPlanItem.teacher }}</span>
|
<!-- <span>{{ currentPlanItem.teacher }}</span> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="stmm_i5">
|
<div class="stmm_i5">
|
||||||
<TableStudent
|
<TableStudent
|
||||||
@@ -1750,7 +1791,7 @@ import { fileUp } from "../../api/indexEval";
|
|||||||
import * as api1 from "../../api/index1";
|
import * as api1 from "../../api/index1";
|
||||||
|
|
||||||
import "@wangeditor/editor/dist/css/style.css";
|
import "@wangeditor/editor/dist/css/style.css";
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNewTeacher";
|
||||||
|
|
||||||
import SeeModal from "./components/seeModal.vue";
|
import SeeModal from "./components/seeModal.vue";
|
||||||
import CourseModal from "./courseModal.vue";
|
import CourseModal from "./courseModal.vue";
|
||||||
@@ -1941,9 +1982,18 @@ const columns6 = [
|
|||||||
width: "8%",
|
width: "8%",
|
||||||
align: "center",
|
align: "center",
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
customRender: ({ text }) => {
|
customRender: ({ record }) => {
|
||||||
return text ? text : "-";
|
const teachers = record.offteachers;
|
||||||
},
|
return teachers.map((teacher, index) => {
|
||||||
|
// 如果需要显示为列表形式
|
||||||
|
return (
|
||||||
|
<div key={index}>
|
||||||
|
{teacher.teacherName}
|
||||||
|
{index !== teachers.length - 1 && ', '}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -2402,11 +2452,16 @@ export default defineComponent({
|
|||||||
addLoading: false,
|
addLoading: false,
|
||||||
currentPlanItem: {},
|
currentPlanItem: {},
|
||||||
teacherId: null,
|
teacherId: null,
|
||||||
teacher: null,
|
// teacher: null,
|
||||||
selectedRowKeys7: [],
|
selectedRowKeys7: [],
|
||||||
auditDescription: "",
|
auditDescription: "",
|
||||||
isEdit: 0,
|
isEdit: 0,
|
||||||
member: { name: "", value: "" },
|
member: { name: "", value: "" },
|
||||||
|
offteachers:[{
|
||||||
|
teacherId: "",
|
||||||
|
teacherName: "",
|
||||||
|
weight: '',
|
||||||
|
}],
|
||||||
//列表表格
|
//列表表格
|
||||||
tableData1: [
|
tableData1: [
|
||||||
// {
|
// {
|
||||||
@@ -2619,7 +2674,7 @@ export default defineComponent({
|
|||||||
onceName: "",
|
onceName: "",
|
||||||
xjkkinputV2: "",
|
xjkkinputV2: "",
|
||||||
duration: "",
|
duration: "",
|
||||||
xjkkinputV3: "",
|
xjkkinputV3: [],
|
||||||
xjkkinputV4: null,
|
xjkkinputV4: null,
|
||||||
beforeValue: null, //考勤 开始前
|
beforeValue: null, //考勤 开始前
|
||||||
afterStartValue: null, //考勤 开始后
|
afterStartValue: null, //考勤 开始后
|
||||||
@@ -2829,8 +2884,78 @@ export default defineComponent({
|
|||||||
codeType: null, //二维码类型
|
codeType: null, //二维码类型
|
||||||
});
|
});
|
||||||
|
|
||||||
function timeChange(time, timeStr) {
|
// function timeChange(time, timeStr) {
|
||||||
// state.duration || (state.duration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
// // state.duration || (state.duration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
||||||
|
// }
|
||||||
|
// function timeChange(timeStr) {
|
||||||
|
// console.log(timeStr,'timeStr')
|
||||||
|
// formData.value.beginTime = timeStr;
|
||||||
|
// }
|
||||||
|
function onDateSelect(date) {
|
||||||
|
const month = String(date.$M+1).padStart(2, '0')
|
||||||
|
const day = String(date.$D).padStart(2, '0')
|
||||||
|
state.xjkkinputV3[0]=date.$y+'-'+month+'-'+day+' '+date.$H+':'+date.$m
|
||||||
|
}
|
||||||
|
function onBlurStart(){
|
||||||
|
onFocusStart()
|
||||||
|
console.log(state.xjkkinputV3[0],'dateTime')
|
||||||
|
}
|
||||||
|
function onFocusStart(){
|
||||||
|
if(!state.xjkkinputV3[0]){
|
||||||
|
let now=new Date()
|
||||||
|
let start=new Date(now.setFullYear(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0))
|
||||||
|
state.xjkkinputV3 = [
|
||||||
|
moment(start).format('YYYY-MM-DD HH:mm'),
|
||||||
|
state.xjkkinputV3[1]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// function timeChangeEnd(timeStr){
|
||||||
|
// formData.value.endTime = timeStr;
|
||||||
|
// }
|
||||||
|
function onDateEnd(date) {
|
||||||
|
const month = String(date.$M+1).padStart(2, '0')
|
||||||
|
const day = String(date.$D).padStart(2, '0')
|
||||||
|
state.xjkkinputV3[1]=date.$y+'-'+month+'-'+day+' '+date.$H+':'+date.$m
|
||||||
|
}
|
||||||
|
function onFocusEnd(){
|
||||||
|
if(!state.xjkkinputV3[1]){
|
||||||
|
let now=new Date()
|
||||||
|
let start=new Date()
|
||||||
|
let end=new Date(now.setFullYear(now.getFullYear()))
|
||||||
|
state.xjkkinputV3 = [
|
||||||
|
state.xjkkinputV3[0],
|
||||||
|
moment(end).format('YYYY-MM-DD HH:mm')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const totalWeightSum = ref(0)
|
||||||
|
function inputWeightChange(index) {
|
||||||
|
let totalWeight = 0
|
||||||
|
state.offteachers.forEach(item => {
|
||||||
|
totalWeight += Number(item.weight);
|
||||||
|
});
|
||||||
|
if (totalWeight > 100) {
|
||||||
|
state.offteachers[index].weight -= totalWeight - 100;
|
||||||
|
totalWeight = 100;
|
||||||
|
}
|
||||||
|
totalWeightSum.value = totalWeight
|
||||||
|
}
|
||||||
|
function inputAdd() {
|
||||||
|
state.offteachers.push({
|
||||||
|
teacherId: "",
|
||||||
|
teacherName: "",
|
||||||
|
weight: '',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function inputRemove(index) {
|
||||||
|
dialog({
|
||||||
|
content: "确定删除此授课教师吗?",
|
||||||
|
ok: async () => {
|
||||||
|
state.offteachers.splice(index, 1);
|
||||||
|
message.success("删除成功");
|
||||||
|
},
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function findClassFullName(list, classify, name = "") {
|
function findClassFullName(list, classify, name = "") {
|
||||||
@@ -3239,7 +3364,7 @@ export default defineComponent({
|
|||||||
const rest = () => {
|
const rest = () => {
|
||||||
options4CurName.value = "";
|
options4CurName.value = "";
|
||||||
options4CurId.value = "";
|
options4CurId.value = "";
|
||||||
state.teacher = null;
|
// state.teacher = null;
|
||||||
state.teacherId = null;
|
state.teacherId = null;
|
||||||
};
|
};
|
||||||
const handleChangeTea1 = (val) => {
|
const handleChangeTea1 = (val) => {
|
||||||
@@ -3409,7 +3534,7 @@ export default defineComponent({
|
|||||||
pageNo: type?state.currentPage2:state.currentPage222,
|
pageNo: type?state.currentPage2:state.currentPage222,
|
||||||
pageSize: state.pageSize222,
|
pageSize: state.pageSize222,
|
||||||
createName: state.kk_inputV1,
|
createName: state.kk_inputV1,
|
||||||
teacher: state.kk_inputV2,
|
// teacher: state.kk_inputV2,
|
||||||
beginTime: beginTime,
|
beginTime: beginTime,
|
||||||
endTime: endTime,
|
endTime: endTime,
|
||||||
offcourseId: state.offcourseId,
|
offcourseId: state.offcourseId,
|
||||||
@@ -3582,7 +3707,7 @@ export default defineComponent({
|
|||||||
CourseModalRef.value.visibleOpen(null, state.xzinputV1);
|
CourseModalRef.value.visibleOpen(null, state.xzinputV1);
|
||||||
|
|
||||||
state.valueE1 = "";
|
state.valueE1 = "";
|
||||||
state.teacher = "";
|
// state.teacher = "";
|
||||||
state.teacherName = "";
|
state.teacherName = "";
|
||||||
|
|
||||||
state.qdms_inputV1 = state.xzinputV1;
|
state.qdms_inputV1 = state.xzinputV1;
|
||||||
@@ -3655,9 +3780,15 @@ export default defineComponent({
|
|||||||
handleRestTable();
|
handleRestTable();
|
||||||
};
|
};
|
||||||
const createkk = () => {
|
const createkk = () => {
|
||||||
|
state.xjkkinputV1 = state.newCourseName
|
||||||
state.offcoursePlanId = null;
|
state.offcoursePlanId = null;
|
||||||
state.itemType = 3;
|
state.itemType = 3;
|
||||||
state.member = {};
|
state.member = {};
|
||||||
|
state.offteachers = [{
|
||||||
|
teacherId: "",
|
||||||
|
teacherName: "",
|
||||||
|
weight: '',
|
||||||
|
}]
|
||||||
state.cstm_hs = true;
|
state.cstm_hs = true;
|
||||||
};
|
};
|
||||||
const handleCancelStu = () => {
|
const handleCancelStu = () => {
|
||||||
@@ -3672,7 +3803,7 @@ export default defineComponent({
|
|||||||
state.onceName = "";
|
state.onceName = "";
|
||||||
state.xjkkinputV2 = "";
|
state.xjkkinputV2 = "";
|
||||||
state.duration = "";
|
state.duration = "";
|
||||||
state.xjkkinputV3 = "";
|
state.xjkkinputV3 = [];
|
||||||
state.xjkkinputV4 = null;
|
state.xjkkinputV4 = null;
|
||||||
state.checked1 = false;
|
state.checked1 = false;
|
||||||
state.checked4 = false;
|
state.checked4 = false;
|
||||||
@@ -3696,7 +3827,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
let startTime,
|
let startTime,
|
||||||
endTime = 0;
|
endTime = 0;
|
||||||
if (state.xjkkinputV3) {
|
if (state.xjkkinputV3.length!=0) {
|
||||||
startTime = dayjs(state.xjkkinputV3[0]).format("YYYY-MM-DD HH:mm"); //parseInt(state.xjkkinputV3[0].$d.getTime() / 1000);
|
startTime = dayjs(state.xjkkinputV3[0]).format("YYYY-MM-DD HH:mm"); //parseInt(state.xjkkinputV3[0].$d.getTime() / 1000);
|
||||||
endTime = dayjs(state.xjkkinputV3[1]).format("YYYY-MM-DD HH:mm"); //parseInt(state.xjkkinputV3[1].$d.getTime() / 1000);
|
endTime = dayjs(state.xjkkinputV3[1]).format("YYYY-MM-DD HH:mm"); //parseInt(state.xjkkinputV3[1].$d.getTime() / 1000);
|
||||||
}
|
}
|
||||||
@@ -3734,8 +3865,9 @@ export default defineComponent({
|
|||||||
name: state.xjkkinputV1,
|
name: state.xjkkinputV1,
|
||||||
signFlag: state.xjkkradioV1 ? 1 : 0, //是否允许未报名的签到:1是0否
|
signFlag: state.xjkkradioV1 ? 1 : 0, //是否允许未报名的签到:1是0否
|
||||||
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
// signWordFlag: state.xjkkradioV1 === 1 ? 1 : 0, //签到是否需要口令:1是0否
|
||||||
teacherId: state.member.value,
|
// teacherId: state.member.value,
|
||||||
teacher: state.member.name,
|
// teacher: state.member.name,
|
||||||
|
offteachers: state.offteachers,
|
||||||
workInfo: state.workInfo, //提交的作业信息
|
workInfo: state.workInfo, //提交的作业信息
|
||||||
examInfo: state.examInfo, //提交的考试信息
|
examInfo: state.examInfo, //提交的考试信息
|
||||||
beforeStart: state.beforeValue, //考勤 开始前
|
beforeStart: state.beforeValue, //考勤 开始前
|
||||||
@@ -3745,15 +3877,27 @@ export default defineComponent({
|
|||||||
if(!postData.name){
|
if(!postData.name){
|
||||||
return message.error("请输入开课名称");
|
return message.error("请输入开课名称");
|
||||||
}
|
}
|
||||||
if(!postData.beginTime){
|
if(!state.xjkkinputV3[0]){
|
||||||
return message.error("请选择开课时间");
|
return message.error("开始时间未填写");
|
||||||
}
|
}
|
||||||
if(!postData.endTime){
|
if(!state.xjkkinputV3[1]){
|
||||||
return message.error("请选择结束时间");
|
return message.error("结束时间未填写");
|
||||||
}
|
}
|
||||||
if(!postData.teacherId){
|
if(state.offteachers.some(item => !item.teacherName)){
|
||||||
return message.error("请选择授课老师");
|
return message.error("请填写教师名称和设置权重");
|
||||||
}
|
}
|
||||||
|
if(state.offteachers.length==1&& totalWeightSum.value!=100){
|
||||||
|
message.error('单名教师您设置的权重应该是100%')
|
||||||
|
return
|
||||||
|
}else if(state.offteachers.length>1&& totalWeightSum.value!=100){
|
||||||
|
message.error('多名教师权重合计值为100%')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(state.offteachers.some(item => item.weight==0)){
|
||||||
|
message.error('权重值不能为0%')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log(postData,'传输的数据')
|
||||||
// if(!postData.duration){
|
// if(!postData.duration){
|
||||||
// return message.error("请输入持续时间");
|
// return message.error("请输入持续时间");
|
||||||
// }
|
// }
|
||||||
@@ -3827,7 +3971,8 @@ export default defineComponent({
|
|||||||
//是否允许未报名的签到:1是0否
|
//是否允许未报名的签到:1是0否
|
||||||
state.xjkkradioV1 = true;
|
state.xjkkradioV1 = true;
|
||||||
}
|
}
|
||||||
state.member = { value: item.teacherId, name: item.teacher };
|
// state.member = { value: item.teacherId, name: item.teacher };
|
||||||
|
state.offteachers = [...item.offteachers]
|
||||||
state.cstm_hs = true;
|
state.cstm_hs = true;
|
||||||
state.kk_eidt = true;
|
state.kk_eidt = true;
|
||||||
};
|
};
|
||||||
@@ -4417,10 +4562,11 @@ export default defineComponent({
|
|||||||
state.chang_jin = String(item.sceneId);
|
state.chang_jin = String(item.sceneId);
|
||||||
state.tags_val = item.tips ? item.tips.split(",") : [];
|
state.tags_val = item.tips ? item.tips.split(",") : [];
|
||||||
//state.qdms_inputV5 = item.teacherId;
|
//state.qdms_inputV5 = item.teacherId;
|
||||||
state.teacher = item.teacher;
|
// state.teacher = item.teacher;
|
||||||
state.teacherId = item.teacherId;
|
// state.teacherId = item.teacherId;
|
||||||
state.qdms_inputV6 = item.intro;
|
state.qdms_inputV6 = item.intro;
|
||||||
state.member = { value: item.teacherId, name: item.teacher };
|
// state.member = { value: item.teacherId, name: item.teacher };
|
||||||
|
state.offteachers = [...item.offteachers]
|
||||||
if (item.attach == "") {
|
if (item.attach == "") {
|
||||||
state.imgList = [];
|
state.imgList = [];
|
||||||
} else {
|
} else {
|
||||||
@@ -4902,9 +5048,11 @@ export default defineComponent({
|
|||||||
const qrcodeVisible = (record, type) => {
|
const qrcodeVisible = (record, type) => {
|
||||||
// `${location.protocol}//${location.host}${import.meta.env.VUE_APP_BASE_API}/stu/project/redirectDetail?courseId=${record.id}`
|
// `${location.protocol}//${location.host}${import.meta.env.VUE_APP_BASE_API}/stu/project/redirectDetail?courseId=${record.id}`
|
||||||
state.codevisible = true;
|
state.codevisible = true;
|
||||||
|
let teacherNames = record.offteachers?.filter(teacher => teacher.teacherName !== null).map(teacher => teacher.teacherName);
|
||||||
state.codeInfo = {
|
state.codeInfo = {
|
||||||
title: type == 1 ? "【课程】二维码" : "【签到】二维码",
|
title: type == 1 ? "【课程】二维码" : "【签到】二维码",
|
||||||
name: record.name ? record.name : "",
|
name: record.name ? record.name : "",
|
||||||
|
teacherName: teacherNames.length > 0 ? teacherNames.join(' ') : "",
|
||||||
url:
|
url:
|
||||||
type == 1
|
type == 1
|
||||||
? process.env.VUE_APP_BASE_API +
|
? process.env.VUE_APP_BASE_API +
|
||||||
@@ -5054,8 +5202,19 @@ export default defineComponent({
|
|||||||
logW,
|
logW,
|
||||||
logT,
|
logT,
|
||||||
qrcodeVisible,
|
qrcodeVisible,
|
||||||
timeChange,
|
// timeChange,
|
||||||
editBeginClass
|
editBeginClass,
|
||||||
|
|
||||||
|
onDateSelect,
|
||||||
|
onBlurStart,
|
||||||
|
onFocusStart,
|
||||||
|
// timeChangeEnd,
|
||||||
|
onDateEnd,
|
||||||
|
onFocusEnd,
|
||||||
|
inputWeightChange,
|
||||||
|
totalWeightSum,
|
||||||
|
inputAdd,
|
||||||
|
inputRemove
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -5560,6 +5719,28 @@ export default defineComponent({
|
|||||||
margin: auto;
|
margin: auto;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 23px;
|
margin-bottom: 23px;
|
||||||
|
.teacher_input{
|
||||||
|
.ant-input-number{
|
||||||
|
width: 15%;
|
||||||
|
height: 40px !important;
|
||||||
|
border-radius: 8px !important;
|
||||||
|
border: 1px solid #C7CBD2 !important;
|
||||||
|
margin: 0 10px 0 10px;
|
||||||
|
}
|
||||||
|
.btn-add{
|
||||||
|
margin: 0 10px 0 10px;
|
||||||
|
}
|
||||||
|
.btn-circle{
|
||||||
|
text-align: center;
|
||||||
|
line-height: 100%;
|
||||||
|
margin-top: 5px;
|
||||||
|
span{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
font-size: 33px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.signbox {
|
.signbox {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
Reference in New Issue
Block a user