Compare commits
2 Commits
ed18c6fd5f
...
63f8c4feca
Author | SHA1 | Date |
---|---|---|
陈宜阳 | 63f8c4feca | 7 months ago |
陈宜阳 | cad84ab304 | 7 months ago |
4 changed files with 281 additions and 61 deletions
@ -0,0 +1,59 @@ |
|||||
|
import request from '@/config/axios' |
||||
|
|
||||
|
export interface HolidayCalendarVO { |
||||
|
id: number |
||||
|
holidayDate: Date |
||||
|
endTime: Date |
||||
|
textOne: string |
||||
|
textTwo: string |
||||
|
textThree: string |
||||
|
textFour: string |
||||
|
textFive: string |
||||
|
deleteTime: Date |
||||
|
status: string |
||||
|
concurrencyStamp: number |
||||
|
remark: string |
||||
|
deleter: string |
||||
|
siteId: number |
||||
|
} |
||||
|
|
||||
|
// 查询节假日设置日历列表
|
||||
|
export const getHolidayCalendarPage = async (params) => { |
||||
|
if (params.isSearch) { |
||||
|
delete params.isSearch |
||||
|
const data = {...params} |
||||
|
return await request.post({ url: '/mes/holidayCalendar/senior', data }) |
||||
|
} else { |
||||
|
return await request.get({ url: `/mes/holidayCalendar/page`, params }) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 查询节假日设置日历详情
|
||||
|
export const getHolidayCalendar = async (id: number) => { |
||||
|
return await request.get({ url: `/mes/holidayCalendar/get?id=` + id }) |
||||
|
} |
||||
|
|
||||
|
// 新增节假日设置日历
|
||||
|
export const createHolidayCalendar = async (data: HolidayCalendarVO) => { |
||||
|
return await request.post({ url: `/mes/holidayCalendar/create`, data }) |
||||
|
} |
||||
|
|
||||
|
// 修改节假日设置日历
|
||||
|
export const updateHolidayCalendar = async (data: HolidayCalendarVO) => { |
||||
|
return await request.put({ url: `/mes/holidayCalendar/update`, data }) |
||||
|
} |
||||
|
|
||||
|
// 删除节假日设置日历
|
||||
|
export const deleteHolidayCalendar = async (id: number) => { |
||||
|
return await request.delete({ url: `/mes/holidayCalendar/delete?id=` + id }) |
||||
|
} |
||||
|
|
||||
|
// 导出节假日设置日历 Excel
|
||||
|
export const exportHolidayCalendar = async (params) => { |
||||
|
return await request.download({ url: `/mes/holidayCalendar/export-excel`, params }) |
||||
|
} |
||||
|
|
||||
|
// 下载用户导入模板
|
||||
|
export const importTemplate = () => { |
||||
|
return request.download({ url: '/mes/holidayCalendar/get-import-template' }) |
||||
|
} |
@ -1,61 +0,0 @@ |
|||||
import request from '@/config/axios' |
|
||||
|
|
||||
export interface HolidaySettingVO { |
|
||||
id: number |
|
||||
textOne: string |
|
||||
textTwo: string |
|
||||
textThree: string |
|
||||
textFour: string |
|
||||
textFive: string |
|
||||
deleteTime: Date |
|
||||
status: string |
|
||||
concurrencyStamp: number |
|
||||
remark: string |
|
||||
deleter: string |
|
||||
siteId: number |
|
||||
changeEmplId: number |
|
||||
holidayDate: Date |
|
||||
holidayFlag: string |
|
||||
holidayName: string |
|
||||
} |
|
||||
|
|
||||
// 查询节假日设置列表
|
|
||||
export const getHolidaySettingPage = async (params) => { |
|
||||
if (params.isSearch) { |
|
||||
delete params.isSearch |
|
||||
const data = {...params} |
|
||||
return await request.post({ url: '/mes/holidaySetting/senior', data }) |
|
||||
} else { |
|
||||
return await request.get({ url: `/mes/holidaySetting/page`, params }) |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 查询节假日设置详情
|
|
||||
export const getHolidaySetting = async (id: number) => { |
|
||||
return await request.get({ url: `/mes/holidaySetting/get?id=` + id }) |
|
||||
} |
|
||||
|
|
||||
// 新增节假日设置
|
|
||||
export const createHolidaySetting = async (data: HolidaySettingVO) => { |
|
||||
return await request.post({ url: `/mes/holidaySetting/create`, data }) |
|
||||
} |
|
||||
|
|
||||
// 修改节假日设置
|
|
||||
export const updateHolidaySetting = async (data: HolidaySettingVO) => { |
|
||||
return await request.put({ url: `/mes/holidaySetting/update`, data }) |
|
||||
} |
|
||||
|
|
||||
// 删除节假日设置
|
|
||||
export const deleteHolidaySetting = async (id: number) => { |
|
||||
return await request.delete({ url: `/mes/holidaySetting/delete?id=` + id }) |
|
||||
} |
|
||||
|
|
||||
// 导出节假日设置 Excel
|
|
||||
export const exportHolidaySetting = async (params) => { |
|
||||
return await request.download({ url: `/mes/holidaySetting/export-excel`, params }) |
|
||||
} |
|
||||
|
|
||||
// 下载用户导入模板
|
|
||||
export const importTemplate = () => { |
|
||||
return request.download({ url: '/mes/holidaySetting/get-import-template' }) |
|
||||
} |
|
@ -0,0 +1,179 @@ |
|||||
|
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' |
||||
|
import { dateFormatter } from '@/utils/formatTime' |
||||
|
|
||||
|
// 表单校验
|
||||
|
export const HolidayCalendarRules = reactive({ |
||||
|
endTime: [required], |
||||
|
concurrencyStamp: [required], |
||||
|
}) |
||||
|
|
||||
|
export const HolidayCalendar = useCrudSchemas(reactive<CrudSchema[]>([ |
||||
|
{ |
||||
|
label: 'ID', |
||||
|
field: 'id', |
||||
|
sort: 'custom', |
||||
|
isForm: false, |
||||
|
}, |
||||
|
{ |
||||
|
label: '日期', |
||||
|
field: 'holidayDate', |
||||
|
sort: 'custom', |
||||
|
formatter: dateFormatter, |
||||
|
isSearch: true, |
||||
|
search: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', |
||||
|
type: 'daterange', |
||||
|
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] |
||||
|
} |
||||
|
}, |
||||
|
form: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
type: 'datetime', |
||||
|
valueFormat: 'x' |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: '结束时间', |
||||
|
field: 'endTime', |
||||
|
sort: 'custom', |
||||
|
formatter: dateFormatter, |
||||
|
isSearch: true, |
||||
|
search: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', |
||||
|
type: 'daterange', |
||||
|
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] |
||||
|
} |
||||
|
}, |
||||
|
form: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
type: 'datetime', |
||||
|
valueFormat: 'x' |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: '备用字段一', |
||||
|
field: 'textOne', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '备用字段二', |
||||
|
field: 'textTwo', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '备用字段三', |
||||
|
field: 'textThree', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '备用字段四', |
||||
|
field: 'textFour', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '备用字段五', |
||||
|
field: 'textFive', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '删除时间', |
||||
|
field: 'deleteTime', |
||||
|
sort: 'custom', |
||||
|
formatter: dateFormatter, |
||||
|
isSearch: true, |
||||
|
search: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', |
||||
|
type: 'daterange', |
||||
|
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] |
||||
|
} |
||||
|
}, |
||||
|
form: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
type: 'datetime', |
||||
|
valueFormat: 'x' |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: '状态', |
||||
|
field: 'status', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
form: { |
||||
|
component: 'Radio' |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: '并发乐观锁', |
||||
|
field: 'concurrencyStamp', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
form: { |
||||
|
component: 'InputNumber', |
||||
|
value: 0 |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: '备注', |
||||
|
field: 'remark', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '创建时间', |
||||
|
field: 'createTime', |
||||
|
sort: 'custom', |
||||
|
formatter: dateFormatter, |
||||
|
isSearch: true, |
||||
|
search: { |
||||
|
component: 'DatePicker', |
||||
|
componentProps: { |
||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', |
||||
|
type: 'daterange', |
||||
|
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] |
||||
|
} |
||||
|
}, |
||||
|
isForm: false, |
||||
|
}, |
||||
|
{ |
||||
|
label: '删除用户名', |
||||
|
field: 'deleter', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
}, |
||||
|
{ |
||||
|
label: '位置ID', |
||||
|
field: 'siteId', |
||||
|
sort: 'custom', |
||||
|
isSearch: true, |
||||
|
form: { |
||||
|
component: 'InputNumber', |
||||
|
value: 0 |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: '操作', |
||||
|
field: 'action', |
||||
|
isForm: false, |
||||
|
table: { |
||||
|
width: 150, |
||||
|
fixed: 'right' |
||||
|
} |
||||
|
} |
||||
|
])) |
@ -0,0 +1,43 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-calendar> |
||||
|
<template #date-cell="{ data }"> |
||||
|
<div |
||||
|
style="height: 100" |
||||
|
:class="data.isSelected ? 'is-selected' : ''" |
||||
|
@click="handleClick(data.day)"> |
||||
|
<div>{{ data.day.split('-').slice(1).join('-') }}</div> |
||||
|
<div v-if="arr.find((v) => v.date === data.day)">{{ arr.find((v) => v.date === data.day).content }} |
||||
|
</div> |
||||
|
<!-- <div>{{ data.isSelected ? '打羽毛球' : '' }}</div> --> |
||||
|
</div> |
||||
|
</template> |
||||
|
</el-calendar> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: 'Calendar', |
||||
|
data() { |
||||
|
return { |
||||
|
value: new Date(), |
||||
|
arr: [ |
||||
|
{ date: '2024-04-01', content: '打球' }, |
||||
|
{ date: '2024-04-02', content: '打台球' }, |
||||
|
{ date: '2024-04-03', content: '打篮球' }, |
||||
|
{ date: '2024-04-04', content: '踢足球' } |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
handleClick(date) { |
||||
|
alert(date) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
|
||||
|
</style> |
Loading…
Reference in new issue