diff --git a/CHANGELOG.md b/CHANGELOG.md index df23cbb..ab08cec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ --|--|-- - | 表单验证 | [8f3bc1e](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/8f3bc1e) - | 插件面板分开显示 | [fb5e86b](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/fb5e86b) + - | 登录、日历页小绿点、二级项目列表 | [e676cf0](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/e676cf0) - | 更新代码 | [392c8cc](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/392c8cc) - | 日历页首页 | [561c8e6](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/561c8e6) - | 日历页添加 | [1b46a91](https://101.201.226.163:50022/TALL/TALL-MUI-4/commits/1b46a91) diff --git a/components/PrettyExchange/PrettyExchange.vue b/components/PrettyExchange/PrettyExchange.vue index 792528d..101cdec 100644 --- a/components/PrettyExchange/PrettyExchange.vue +++ b/components/PrettyExchange/PrettyExchange.vue @@ -3,17 +3,31 @@ - + - + + -111111111111 + @@ -36,10 +50,8 @@ - - + + @@ -47,28 +59,33 @@ - + v-for="(subItem, subIndex) in item.sonProjectList" + > + - - + {{ subItem.name }} - + {{ subItem.status === 0 ? '未开始' : subItem.status === 1 ? '进行中' : subItem.status === 2 ? '暂停' : '已完成' }} @@ -90,8 +107,8 @@ - - + + @@ -111,20 +128,20 @@ const projects = computed(() => store.state.project.projects); const data = reactive({ // itemTop: 0, - itemLeft: 0, + // itemLeft: 0, itemHeight: 0, // 移动元素的高度 + itemWidth: 0, // 移动元素的宽度 subItemHeight: 0, // 移动子元素的高度 - itemWidth: 0, // 移动元素的宽度 showMoveImage: false, - moveItem: '', - moveLeft: 0, - moveTop: 0, + moveItem: '', // 当前选中的项目信息 + moveLeft: 0, // 当前选中项目距左侧的距离 + moveTop: 0, // 当前选中项目距顶部的距离 deltaLeft: 0, deltaTop: 0, - beginleft: 0, - begintop: 0, + beginleft: 0, // 项目列表中第一个项目初始时距离左侧的距离 + begintop: 0, // 项目列表中第一个项目初始时距离顶部的距离 itemList: [], // 项目列表 - setSubItem: false, + setSubItem: false, // 选中的是否是二级项目 changeEvent: false, // 是否点击过操作面板 showMenu: false, tips: { text: '', color: '#909399', fontSize: 28, }, @@ -136,8 +153,9 @@ showItemIndex: undefined, }); - const emit = defineEmits(['changeHeight']); - + const emit = defineEmits(['changeHeight', 'change']); + + // 监听项目列表 watch(projects, (val) => { data.itemList = val; data.itemList.forEach(item => { @@ -158,10 +176,7 @@ // 展开子项目 function openSubProject(length, index) { - store.commit('project/setProjectItemShow', { - index, - show: data.itemList[index].show ? false : true - }); + store.commit('project/setProjectItemShow', { index, show: data.itemList[index].show ? false : true }); if (length && index) { emit('changeHeight', length, index); } @@ -169,12 +184,15 @@ } // 获取项目列表距离顶部的距离 - function getDate() { - const query = uni.createSelectorQuery().in(this); - query.select(`#cu-0`).boundingClientRect(res => { - console.log('data: ', res); - data.begintop = res.top; - data.beginleft = res.left; + function getDate() { + const query = uni.createSelectorQuery().select(`#cu-0`).fields({ + id: true, + dataset: true, + rect: true, + size: true + }, res => { + data.begintop = res.top; + data.beginleft = res.left; }).exec(); } @@ -189,7 +207,7 @@ index: e, projectId: data.projectId }; - // this.$emit('chooseAction', data); + // emit('chooseAction', data); actionFun(obj); } @@ -219,36 +237,50 @@ } function start(e, index) { - console.log('开始', e); + console.log('开始'); setTimeout(() => { getDate(); }, 300); - if (isNumber(index)) { - data.setSubItem = false; - const query = uni.createSelectorQuery().in(this); - console.log('2222', query) - query.select(`#cu-${index}`).boundingClientRect(res => { - data.moveTop = res.top; - data.moveLeft = res.left; - data.moveItem = data.itemList[index]; - data.itemWidth = res.width; - data.itemHeight = res.height; + if (isNumber(index)) { // 选中一级项目 + data.setSubItem = false; + const query = uni.createSelectorQuery().select(`#cu-${index}`).fields({ + id: true, + dataset: true, + rect: true, + size: true + }, res => { + data.moveTop = res.top; + data.moveLeft = res.left; + data.moveItem = data.itemList[index]; + data.itemWidth = res.width; + data.itemHeight = res.height; }).exec(); - } else { + } else { // 选中二级项目 let arr = index.split('-'); data.setSubItem = true; - const query = uni.createSelectorQuery().in(this); - query.select(`#cu-${arr[0] - 0}`).boundingClientRect(res => { - data.itemHeight = res.height; - }).exec(); - - query.select(`#cu-${index}`).boundingClientRect(res => { - data.moveTop = res.top; - data.moveLeft = res.left; - data.moveItem = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; - data.itemWidth = res.width; - data.subItemHeight = res.height; + + const query = uni.createSelectorQuery(); + query.select(`#cu-${arr[0] - 0}`).fields({ + id: true, + dataset: true, + rect: true, + size: true + }, res => { + data.itemHeight = res.height; + }).exec(); + + query.select(`#cu-${index}`).fields({ + id: true, + dataset: true, + rect: true, + size: true + }, res => { + data.moveTop = res.top; + data.moveLeft = res.left; + data.moveItem = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; + data.itemWidth = res.width; + data.subItemHeight = res.height; }).exec(); } } @@ -265,8 +297,7 @@ data.moveLeft = touch.pageX - data.deltaLeft; data.moveTop = touch.pageY - data.deltaTop; - let lastIndex = (lastIndex = findOverIndex(touch.pageY, length)); - console.log('111111', lastIndex); + let lastIndex = findOverIndex(touch.pageY, length); // 显示下划线 for (let i = 0; i < data.itemList.length; i++) { if (data.moveLeft > 35) { @@ -297,8 +328,8 @@ function stops(e, index, length) { console.log('结束'); - const touch = e.mp.changedTouches[0]; - let lastIndex = (lastIndex = findOverIndex(touch.pageY, length)); + const touch = e.changedTouches[0]; + let lastIndex = findOverIndex(touch.pageY, length); // 交换两个值 for (let i = 0; i < data.itemList.length; i++) { @@ -317,11 +348,11 @@ id: Value.id, parentId: 0, }; - this.$emit('change', options); + emit('change', options); } // 清空 clearSet(i); - this.$emit('change', data.itemList); + emit('change', data.itemList); return; } // 插入一级项目 @@ -343,11 +374,11 @@ id: Value.id, parentId: 0, }; - this.$emit('change', options); + emit('change', options); } // 清空 clearSet(i); - this.$emit('change', data.itemList); + emit('change', data.itemList); return; } // 插入二级项目 @@ -366,7 +397,7 @@ id: Value.id, parentId: data.itemList[lastIndex - 1].id, }; - this.$emit('change', options); + emit('change', options); } else { let arr = index.split('-'); let Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; @@ -382,13 +413,13 @@ id: Value.id, parentId: data.itemList[lastIndex].id, }; - this.$emit('change', options); + emit('change', options); const options1 = { id: Value.id, parentId: 0, }; - this.$emit('change', options1); + emit('change', options1); } return; } @@ -439,7 +470,7 @@ confirm }) => { if (confirm) { - await this.$u.api.delProject(id); + await uni.$u.api.delProject(id); let flag_index = 0; data.itemList.forEach((item, index) => { if (item.id == id) {