|
@@ -27,7 +27,7 @@
|
|
|
<image :src="item.icon" class="service-img" mode="aspectFit" />
|
|
|
|
|
|
<!-- 文本 -->
|
|
|
- <text class="grid-text">111{{ item.name }}</text>
|
|
|
+ <text class="grid-text">{{ item.name }}</text>
|
|
|
</up-grid-item>
|
|
|
</up-grid>
|
|
|
|
|
@@ -36,8 +36,8 @@
|
|
|
</template>
|
|
|
|
|
|
<Calendar ref="calendar" class="uni-calendar--hook" :clear-date="false" :date="info.date" :insert="info.insert"
|
|
|
- :lunar="info.lunar" :range="info.range" @change="change"
|
|
|
- @confirm="confirm" :selected="selected" />
|
|
|
+ :lunar="info.lunar" :range="info.range" @change="change" :clearDate="true"
|
|
|
+ @confirm="confirm" :selected="selected" @delete="onDelete"/>
|
|
|
|
|
|
|
|
|
</view>
|
|
@@ -55,20 +55,18 @@
|
|
|
typeOptionSelect
|
|
|
} from "@/api/volunteerDetailsApi/details.js"
|
|
|
import dayjs from 'dayjs';
|
|
|
- import { workDate } from '@/api/volunteer.js'
|
|
|
+ import { workDate,getDataTime } from '@/api/volunteer.js'
|
|
|
import Calendar from '../../components/uni-calendar/components/uni-calendar/uni-calendar.vue'
|
|
|
|
|
|
// Toast 控制宫格
|
|
|
const uToastRef = ref(null);
|
|
|
const userType = uni.getStorageSync('userType') //读取本地存储
|
|
|
|
|
|
- const calendar =ref(null)
|
|
|
- const datas = ref(["2025-04-10","2025-04-11",]);
|
|
|
+ const calendar = ref(null)
|
|
|
const info = ref({
|
|
|
lunar: true,
|
|
|
- range: false,
|
|
|
+ range: true,
|
|
|
insert: false,
|
|
|
- // mode:'multiple',//multiple:多选
|
|
|
})
|
|
|
const selected = ref([])
|
|
|
|
|
@@ -134,35 +132,16 @@
|
|
|
},
|
|
|
{
|
|
|
icon: '/static/img/清空.png',
|
|
|
- name: '时间管理',
|
|
|
+ name: '排班管理',
|
|
|
key:7
|
|
|
},
|
|
|
]);
|
|
|
|
|
|
|
|
|
- //选中的日期展示格式;
|
|
|
-const formatter = (day) => {
|
|
|
-
|
|
|
-
|
|
|
- const d = dayjs(day.date).format('YYYY-MM-DD')
|
|
|
- for (let i = 0; i < datas.value.length; i++) {
|
|
|
- const e = datas.value[i].split(' ');
|
|
|
- if(e[0] === d){
|
|
|
- console.log('e',e,e[0] === d,d);
|
|
|
- console.log(day,d.e);
|
|
|
- day.bottomInfo = 'xx'
|
|
|
- // day.dot = true
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- return day
|
|
|
-}
|
|
|
// 宫格点击事件
|
|
|
const handleGridClick = async (index) => {
|
|
|
- console.log('userType',userType);
|
|
|
-
|
|
|
+ console.log('userType', userType);
|
|
|
+
|
|
|
if (userType == 1) {
|
|
|
const res = await typeOptionSelect()
|
|
|
console.log((res, '获取健值成功'))
|
|
@@ -186,46 +165,80 @@ const handleGridClick = async (index) => {
|
|
|
|
|
|
const change = (e) => {
|
|
|
console.log('change', e);
|
|
|
- selected.value = [...selected.value,
|
|
|
- {
|
|
|
- date: e.fulldate,
|
|
|
- info: `${e.time.startTime}~${e.time.endTime}`,
|
|
|
- time:e.time
|
|
|
- }
|
|
|
- ]
|
|
|
+ let dates = [{
|
|
|
+ date: e.fulldate,
|
|
|
+ info: `${e.time.startTime}~${e.time.endTime}`,
|
|
|
+ time: e.time
|
|
|
+ }]
|
|
|
+ if (e.range.before && e.range.after) {
|
|
|
+ dates = e.range.data.map(item => {
|
|
|
+ return {
|
|
|
+ date: item,
|
|
|
+ info: `${e.time.startTime}~${e.time.endTime}`,
|
|
|
+ time: e.time
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ selected.value = [...selected.value, ...dates]
|
|
|
}
|
|
|
-const confirm = () => {
|
|
|
|
|
|
+const onDelete = (e) =>{
|
|
|
+ selected.value = selected.value.filter(item => {
|
|
|
+ console.log('item.fulldate !== e.date',item.date , e.fulldate);
|
|
|
+
|
|
|
+ return item.date !== e.fulldate
|
|
|
+ })
|
|
|
+ console.log(e,selected.value);
|
|
|
+}
|
|
|
+const confirm = (e) => {
|
|
|
const parmas = selected.value.map(item => {
|
|
|
return {
|
|
|
workDate: item.date,
|
|
|
- workStartTime: item.startTime,
|
|
|
- workEndTime: item.endTime
|
|
|
+ workStartTime: item.time.startTime,
|
|
|
+ workEndTime: item.time.endTime
|
|
|
}
|
|
|
})
|
|
|
- console.log('确定',parmas);
|
|
|
-
|
|
|
+ console.log('确定', parmas);
|
|
|
workDate(parmas).then(res => {
|
|
|
- if(res.code == 200){
|
|
|
- uni.showToast({
|
|
|
- title: '修改成功',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- close();
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (res.code == 200) {
|
|
|
uni.showToast({
|
|
|
- title: res.msg,
|
|
|
+ title: '修改成功',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
+ close();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ uni.showToast({
|
|
|
+ title: res.msg,
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
})
|
|
|
};
|
|
|
const close = () => {
|
|
|
calendar.value.close();
|
|
|
}
|
|
|
|
|
|
-onMounted(() => {
|
|
|
+const init = () => {
|
|
|
+ getDataTime().then(res => {
|
|
|
+ console.log('res', res);
|
|
|
+ selected.value = res.data.map(item =>{
|
|
|
+ return {
|
|
|
+ date: item.workDate,
|
|
|
+ info: `${item.workStartTime}~${item.workEndTime}`,
|
|
|
+ time: {
|
|
|
+ startTime: item.workStartTime,
|
|
|
+ endTime: item.workEndTime
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ init();
|
|
|
});
|
|
|
</script>
|
|
|
|