|
@@ -6,11 +6,8 @@
|
|
|
firstDay="1"
|
|
|
:defaultDate="defaultDate"
|
|
|
weekNumberCalculation="ISO"
|
|
|
- :header="{
|
|
|
- left: 'prev',
|
|
|
- center: 'title',
|
|
|
- right: 'today ,next',
|
|
|
- }"
|
|
|
+ :customButtons="btn"
|
|
|
+ :header="headers"
|
|
|
:button-text="{
|
|
|
today: '今天',
|
|
|
}"
|
|
@@ -41,6 +38,7 @@ export default {
|
|
|
events: { type: Array, default: () => [] },
|
|
|
useDraft: { type: Boolean, default: true },
|
|
|
useEvent: { type: Boolean, default: true },
|
|
|
+ selfBtn: { type: Object, default: () => {} },
|
|
|
},
|
|
|
components: {
|
|
|
FullCalendar, // make the <FullCalendar> tag available
|
|
@@ -58,6 +56,12 @@ export default {
|
|
|
// calendarEvents: [],
|
|
|
planList: [],
|
|
|
addTitle: '',
|
|
|
+ headers: {
|
|
|
+ left: 'prev',
|
|
|
+ center: 'title',
|
|
|
+ right: 'today ,next',
|
|
|
+ },
|
|
|
+ btn: {},
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
@@ -70,6 +74,17 @@ export default {
|
|
|
clickEvent(arg) {
|
|
|
if (this.useEvent) this.$emit('eventClick', arg);
|
|
|
},
|
|
|
+ setBtn() {
|
|
|
+ let selfBtn = _.cloneDeep(this.selfBtn);
|
|
|
+ let keys = Object.keys(selfBtn);
|
|
|
+ for (const key of keys) {
|
|
|
+ let { position, ...info } = selfBtn[key];
|
|
|
+ selfBtn[key] = { ...info };
|
|
|
+ if (position === 'left') this.headers.left = `${this.headers.left}, ${key}`;
|
|
|
+ else this.headers.right = `${this.headers.right}, ${key}`;
|
|
|
+ }
|
|
|
+ this.$set(this, `btn`, selfBtn);
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
defaultDate() {
|
|
@@ -82,6 +97,14 @@ export default {
|
|
|
return `${this.year}-12-31`;
|
|
|
},
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ selfBtn: {
|
|
|
+ immediate: true,
|
|
|
+ handler(val) {
|
|
|
+ if (val) this.setBtn();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less">
|