@@ -372,6 +384,7 @@ export default {
start_time: "",
end_time: "",
address:'',
+ color:'',
content: "",
},
rules: {
@@ -495,6 +508,7 @@ export default {
: "";
this.form.date = item.start_date;
this.form.url = item.url;
+ this.form.color = item.type_detail.color?item.type_detail.color:''
}
});
}
@@ -601,6 +615,7 @@ export default {
start_time: "",
end_time: "",
address:'',
+ color:'',
content: "",
};
this.$refs["dialog"].reset();
diff --git a/src/views/calendar/index.vue b/src/views/calendar/index.vue
index 103be8d..45bb4ea 100644
--- a/src/views/calendar/index.vue
+++ b/src/views/calendar/index.vue
@@ -31,7 +31,7 @@
{
+ if (event.color) {
+ const colorClass = event.color.replace('#', '')
+ cssRules += `
+ .admin-calendar .event-item.event-color-${colorClass},
+ .admin-calendar .continuous-event.event-color-${colorClass} {
+ background: ${event.color} !important;
+ }
+ .admin-calendar .event-item.event-color-${colorClass}:hover,
+ .admin-calendar .continuous-event.event-color-${colorClass}:hover {
+ background: ${this.adjustBrightness(event.color, -20)} !important;
+ }
+ `
+ }
+ })
+
+ style.textContent = cssRules
+ document.head.appendChild(style)
+ },
+
+ // 调整颜色亮度
+ adjustBrightness(hex, percent) {
+ const num = parseInt(hex.replace('#', ''), 16)
+ const amt = Math.round(2.55 * percent)
+ const R = (num >> 16) + amt
+ const G = (num >> 8 & 0x00FF) + amt
+ const B = (num & 0x0000FF) + amt
+ return '#' + (0x1000000 + (R < 255 ? R < 1 ? 0 : R : 255) * 0x10000 +
+ (G < 255 ? G < 1 ? 0 : G : 255) * 0x100 +
+ (B < 255 ? B < 1 ? 0 : B : 255)).toString(16).slice(1)
}
},
filters: {
@@ -688,6 +756,16 @@ import addCalendar from './components/addCalendar.vue'
background: #409EFF; /* 默认 - 蓝色 */
}
+ /* 动态颜色支持 - 根据color字段设置背景色 */
+ .event-item[class*="event-color-"] {
+ /* 默认样式,会被具体的颜色类覆盖 */
+ }
+
+ /* 连续事件的动态颜色支持 */
+ .continuous-event[class*="event-color-"] {
+ /* 默认样式,会被具体的颜色类覆盖 */
+ }
+
/* 悬停效果 */
.event-item.event-type-1:hover {
background: #5CB85C;
diff --git a/src/views/course/components/addCourse.vue b/src/views/course/components/addCourse.vue
index 841030d..818de10 100644
--- a/src/views/course/components/addCourse.vue
+++ b/src/views/course/components/addCourse.vue
@@ -387,11 +387,11 @@
address_detail: '',
longitude: '',
latitude: '',
- is_fee: 1,
- is_arrange: 1,
- show_txl: 1,
- show_mobile: 0,
- auto_schoolmate: 0,
+ is_fee: '',
+ is_arrange: '',
+ show_txl: '',
+ show_mobile: '',
+ auto_schoolmate: '',
qun_image_id: '',
image_id: '',
publicize_ids: [],
@@ -408,6 +408,26 @@
required: true,
message: '请选择课程体系'
}],
+ is_fee: [{
+ required: true,
+ message: '请选择是否收费'
+ }],
+ is_arrange: [{
+ required: true,
+ message: '请选择是否排课'
+ }],
+ show_txl: [{
+ required: true,
+ message: '请选择是否显示通讯录'
+ }],
+ show_mobile: [{
+ required: true,
+ message: '请选择是否显示手机号'
+ }],
+ auto_schoolmate: [{
+ required: true,
+ message: '请选择是否自动成为校友'
+ }],
sign_start_date: [{
required: true,
message: '请选择报名开始日期'
@@ -493,6 +513,36 @@
},
changeType(e) {
+ if (e) {
+ // 根据选择的课程体系ID,从courseTypesList中找到对应的数据
+ const selectedCourseType = this.courseTypesList.find(item => item.id === e);
+
+ if (selectedCourseType) {
+ // 只赋值课程体系中的实际值,不设置默认值
+ this.form.is_fee = selectedCourseType.is_fee;
+ this.form.is_arrange = selectedCourseType.is_arrange;
+ this.form.show_txl = selectedCourseType.show_txl;
+ this.form.show_mobile = selectedCourseType.show_mobile;
+ this.form.auto_schoolmate = selectedCourseType.auto_schoolmate;
+
+ console.log('课程体系选择变更,自动填充字段:', {
+ is_fee: this.form.is_fee,
+ is_arrange: this.form.is_arrange,
+ show_txl: this.form.show_txl,
+ show_mobile: this.form.show_mobile,
+ auto_schoolmate: this.form.auto_schoolmate
+ });
+ }
+ } else {
+ // 如果清空选择,重置为空值,让用户自己选择
+ this.form.is_fee = '';
+ this.form.is_arrange = '';
+ this.form.show_txl = '';
+ this.form.show_mobile = '';
+ this.form.auto_schoolmate = '';
+ }
+
+ // 原有的逻辑(已注释)
// if (e == 1) {
// this.form.is_arrange = 1
// this.form.is_fee = 1
@@ -776,13 +826,13 @@
address_detail: '',
longitude: '',
latitude: '',
- is_arrange: 1,
- is_fee: 1,
- show_txl: 1,
- show_mobile: 1,
- auto_schoolmate: 0,
+ is_arrange: '',
+ is_fee: '',
+ show_txl: '',
+ show_mobile: '',
+ auto_schoolmate: '',
qun_image_id: '',
- image_id: '',
+ image_id: '',
publicize_ids: [],
content: '',
url_title:''
diff --git a/src/views/course/components/addTypes.vue b/src/views/course/components/addTypes.vue
index ed38edd..a272c76 100644
--- a/src/views/course/components/addTypes.vue
+++ b/src/views/course/components/addTypes.vue
@@ -12,6 +12,7 @@