|
@@ -91,6 +91,26 @@
|
|
|
@change="changeCollegeMajor"
|
|
@change="changeCollegeMajor"
|
|
|
/>
|
|
/>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
+ <a-form-item label="开始时间" name="startTime">
|
|
|
|
|
+ <a-date-picker
|
|
|
|
|
+ v-model:value="formState.startTime"
|
|
|
|
|
+ placeholder="请选择开始时间"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ format="YYYY-MM-DD"
|
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
|
+ />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <a-form-item label="结束时间" name="endTime">
|
|
|
|
|
+ <a-date-picker
|
|
|
|
|
+ v-model:value="formState.endTime"
|
|
|
|
|
+ placeholder="请选择结束时间"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ format="YYYY-MM-DD"
|
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
|
+ />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+
|
|
|
<a-form-item label="状态" name="status">
|
|
<a-form-item label="状态" name="status">
|
|
|
<a-select
|
|
<a-select
|
|
|
v-model:value="formState.status"
|
|
v-model:value="formState.status"
|
|
@@ -107,6 +127,7 @@
|
|
|
import { reactive, ref } from 'vue'
|
|
import { reactive, ref } from 'vue'
|
|
|
import resourceAuditApi from '@/api/resourceAudit.js'
|
|
import resourceAuditApi from '@/api/resourceAudit.js'
|
|
|
import { downList, userAllList, gradesQueryList, courseinfoAllList } from '@/api/semester/index.js'
|
|
import { downList, userAllList, gradesQueryList, courseinfoAllList } from '@/api/semester/index.js'
|
|
|
|
|
+ import dayjs from 'dayjs'
|
|
|
const collegeMajorOptions = ref([]) //院系
|
|
const collegeMajorOptions = ref([]) //院系
|
|
|
const majorIdName = ref([]) //院系回显
|
|
const majorIdName = ref([]) //院系回显
|
|
|
const majorOptions = ref([]) //专业
|
|
const majorOptions = ref([]) //专业
|
|
@@ -124,7 +145,7 @@
|
|
|
const formRef = ref() //专业
|
|
const formRef = ref() //专业
|
|
|
const mode = ref('add') //专业
|
|
const mode = ref('add') //专业
|
|
|
const title = ref('添加') //专业
|
|
const title = ref('添加') //专业
|
|
|
- import { addItem, detail, editItem } from '@/api/courseopen'
|
|
|
|
|
|
|
+ import { addItem, detail, editItem } from '@/api/courseOpen'
|
|
|
import tool from '@/utils/tool'
|
|
import tool from '@/utils/tool'
|
|
|
import { message } from 'ant-design-vue'
|
|
import { message } from 'ant-design-vue'
|
|
|
const visible = ref(false)
|
|
const visible = ref(false)
|
|
@@ -145,6 +166,8 @@
|
|
|
endPeriod: undefined,
|
|
endPeriod: undefined,
|
|
|
scheduleTime: undefined,
|
|
scheduleTime: undefined,
|
|
|
weekType: undefined,
|
|
weekType: undefined,
|
|
|
|
|
+ startTime: undefined,
|
|
|
|
|
+ endTime: undefined,
|
|
|
status: undefined
|
|
status: undefined
|
|
|
})
|
|
})
|
|
|
const rules = {
|
|
const rules = {
|
|
@@ -157,6 +180,8 @@
|
|
|
endPeriod: [{ required: true, message: '请输入结束节次', trigger: 'blur' }],
|
|
endPeriod: [{ required: true, message: '请输入结束节次', trigger: 'blur' }],
|
|
|
scheduleTime: [{ required: true, message: '请选择上课周期', trigger: 'change' }],
|
|
scheduleTime: [{ required: true, message: '请选择上课周期', trigger: 'change' }],
|
|
|
weekType: [{ required: true, message: '请选择单双周', trigger: 'change' }],
|
|
weekType: [{ required: true, message: '请选择单双周', trigger: 'change' }],
|
|
|
|
|
+ startTime: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
|
|
|
|
|
+ endTime: [{ required: true, message: '请选择结束时间', trigger: 'change' }],
|
|
|
status: [{ required: true, message: '请选择状态', trigger: 'change' }]
|
|
status: [{ required: true, message: '请选择状态', trigger: 'change' }]
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -198,6 +223,21 @@
|
|
|
{ deep: true, immediate: true }
|
|
{ deep: true, immediate: true }
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+ // 监听开始时间和结束时间的变化
|
|
|
|
|
+ watch(
|
|
|
|
|
+ () => [formState.value.startTime, formState.value.endTime],
|
|
|
|
|
+ ([startTime, endTime]) => {
|
|
|
|
|
+ if (startTime && endTime) {
|
|
|
|
|
+ const start = dayjs(startTime)
|
|
|
|
|
+ const end = dayjs(endTime)
|
|
|
|
|
+ if (end.isBefore(start)) {
|
|
|
|
|
+ message.error('结束时间不能早于开始时间')
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ { deep: true }
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
const open = () => {
|
|
const open = () => {
|
|
|
visible.value = true
|
|
visible.value = true
|
|
|
mode.value = 'add'
|
|
mode.value = 'add'
|
|
@@ -220,12 +260,30 @@
|
|
|
formState.value.gradesId = Number(formState.value.gradesId)
|
|
formState.value.gradesId = Number(formState.value.gradesId)
|
|
|
// formState.value.semesterId = Number(formState.value.semesterId)
|
|
// formState.value.semesterId = Number(formState.value.semesterId)
|
|
|
|
|
|
|
|
|
|
+ // 处理日期格式,确保日期选择器能正确显示
|
|
|
|
|
+ if (formState.value.startTime) {
|
|
|
|
|
+ formState.value.startTime = dayjs(formState.value.startTime).format('YYYY-MM-DD')
|
|
|
|
|
+ }
|
|
|
|
|
+ if (formState.value.endTime) {
|
|
|
|
|
+ formState.value.endTime = dayjs(formState.value.endTime).format('YYYY-MM-DD')
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
console.log('会先对象', formState.value)
|
|
console.log('会先对象', formState.value)
|
|
|
// changeCollegeMajor(formState.collegeId)
|
|
// changeCollegeMajor(formState.collegeId)
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
const handleOk = (e) => {
|
|
const handleOk = (e) => {
|
|
|
|
|
+ // 验证时间逻辑
|
|
|
|
|
+ if (formState.value.startTime && formState.value.endTime) {
|
|
|
|
|
+ const start = dayjs(formState.value.startTime)
|
|
|
|
|
+ const end = dayjs(formState.value.endTime)
|
|
|
|
|
+ if (end.isBefore(start)) {
|
|
|
|
|
+ message.error('结束时间不能早于开始时间')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (startPeriodTag.value == false && endPeriodTag.value == false) {
|
|
if (startPeriodTag.value == false && endPeriodTag.value == false) {
|
|
|
formRef.value.validate().then(() => {
|
|
formRef.value.validate().then(() => {
|
|
|
let json = JSON.parse(JSON.stringify(formState.value))
|
|
let json = JSON.parse(JSON.stringify(formState.value))
|