From 6b39979d0676a653d94904b685a1f7d6a59c58d9 Mon Sep 17 00:00:00 2001 From: xuesinan <1404152492@qq.com> Date: Thu, 28 Apr 2022 15:39:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=A4=E4=BB=98=E7=89=A92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +- common/styles/tailwind.scss | 2 +- components/Plugin/Plugin.vue | 4 +- pages/submitLog/submitLog.vue | 69 ++++++++++++++ .../p-deliver-check-second-detail.vue | 91 +++++++++++++------ .../p-deliver-upload-second.vue | 20 ++-- 6 files changed, 150 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31e67c9..a48a659 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# 1.0.0 (2022-04-18) +# 1.0.0 (2022-04-28) ### 🌟 新功能 范围|描述|commitId @@ -19,6 +19,7 @@ - | 登录按钮 | [527b0e5](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/527b0e5) - | 登录图标、日历页今日 | [7de419d](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/7de419d) - | 登录页标题 | [25e1a86](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/25e1a86) + - | 点击滚动到对应位置 | [c063de8](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/c063de8) - | 服务、插件缓存、导入选择服务列表、 | [cc8004b](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/cc8004b) - | 给财务条传参数 | [5ff7706](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/5ff7706) - | 给财务条详情页传参 | [fa92a11](https://101.201.226.163:50022/ccsens_tall/TALL-MUI-4/commits/fa92a11) diff --git a/common/styles/tailwind.scss b/common/styles/tailwind.scss index 9062b2c..4885bf1 100644 --- a/common/styles/tailwind.scss +++ b/common/styles/tailwind.scss @@ -883,7 +883,7 @@ .my-0 { margin-top: 0px; margin-bottom: 0px; -} +} .my-1 { margin-top: 0.25rem; diff --git a/components/Plugin/Plugin.vue b/components/Plugin/Plugin.vue index 9d8beae..a3e6449 100644 --- a/components/Plugin/Plugin.vue +++ b/components/Plugin/Plugin.vue @@ -20,8 +20,8 @@ --> - - + + diff --git a/pages/submitLog/submitLog.vue b/pages/submitLog/submitLog.vue index c635d89..9d7140e 100644 --- a/pages/submitLog/submitLog.vue +++ b/pages/submitLog/submitLog.vue @@ -59,6 +59,21 @@ + + + + 默认值:{{ initialDuration / 3600000 }}小时 + + + + 工作量时长:{{ item.duration / 3600000 }}小时 + + + + 确认工作:{{ checkItem.checkDuration / 3600000 }}小时 + + + 待审核 @@ -104,6 +119,8 @@ const clickList = [ ]; const current = ref(0); const url = ref(null); +let maxDuration = ref(null); +let initialDuration = ref(null); // 历史交付物默认值 onLoad(options => { deliverData.value = JSON.parse(options.deliverData); @@ -119,7 +136,13 @@ onLoad(options => { const param = { deliverId: options.deliverId }; const data = await uni.$u.api.getDeliverHistory(param, options.url); deliverName.value = data.deliverName; + initialDuration.value = data.initialDuration; listRef.value = data.deliverRecordList; + + listRef.value.forEach(item => { + handleDataRender(item); + }) + } catch (error) { console.log('error: ', error); uni.$ui.showToast('获取交付物历史失败'); @@ -155,6 +178,33 @@ async function getDeliverData() { console.log('error: ', error); } } + +// 处理审核记录数据 +async function handleDataRender(data) { + maxDuration.value = initialDuration.value > deliverData.value.duration ? initialDuration.value : deliverData.value.duration; + + data.checkerList.forEach(item => { + if (item.checkDuration) { + maxDuration.value = maxDuration.value > item.checkDuration ? maxDuration.value : item.checkDuration; + + if (maxDuration.value == initialDuration.value) { + item.initialPercent = 100; + item.currPercent = Math.floor(deliverData.value.duration / initialDuration.value * 100); + item.checkPercent = Math.floor(item.checkDuration / initialDuration.value * 100); + } else if (maxDuration.value == deliverData.value.duration) { + item.currPercent = 100; + item.initialPercent = Math.floor(initialDuration.value / deliverData.value.duration * 100); + item.checkPercent = Math.floor(item.checkDuration / deliverData.value.duration * 100); + } else if (maxDuration.value == item.checkDuration) { + item.checkPercent = 100; + item.initialPercent = Math.floor(initialDuration.value / item.checkDuration * 100); + item.currPercent = Math.floor(deliverData.value.duration / item.checkDuration * 100); + } + } + }) + + return data; +} diff --git a/plugins/p-deliver-check-second-detail/p-deliver-check-second-detail.vue b/plugins/p-deliver-check-second-detail/p-deliver-check-second-detail.vue index a729aff..ffedf02 100644 --- a/plugins/p-deliver-check-second-detail/p-deliver-check-second-detail.vue +++ b/plugins/p-deliver-check-second-detail/p-deliver-check-second-detail.vue @@ -30,9 +30,18 @@ - - - + + + 默认值:{{ deliverData.initialDuration / 3600000 }}小时 + + + + 工作量时长:{{ deliverData.duration / 3600000 }}小时 + + + + 确认工作:{{ item.checkDuration / 3600000 }}小时 + @@ -69,8 +78,9 @@ - + + 小时 @@ -121,9 +131,18 @@ - - - + + + 默认值:{{ deliverData.initialDuration / 3600000 }}小时 + + + + 工作量时长:{{ deliverData.duration / 3600000 }}小时 + + + + 确认工作:{{ item.checkDuration / 3600000 }}小时 + @@ -165,7 +184,7 @@ const deliverData = computed(() => (Object.keys(props.deliverData).length ? prop const tasks = inject('task'); const task = computed(() => (Object.keys(props.task).length ? props.task : tasks.value)); -const checkDuration = ref('2小时'); // 工作量时长 +const checkDuration = ref(2); // 工作量时长 const checkedIndex = ref(2); // 默认选中 const score = ref(100); // 评分 const commit = ref(''); // 提交的信息 @@ -175,44 +194,46 @@ const showWords = ref(false); // 是否显示常用语 const emits = defineEmits(['submit-end']); if (Object.keys(deliverData.value).length) { - checkDuration.value = deliverData.value.duration; // 工作量时长 - checkedIndex.value = checkDuration.value === '半小时' ? 0 : checkDuration.value === '1小时' ? 1 : checkDuration.value === '2小时' ? 2 : -1; + checkDuration.value = Number(deliverData.value.duration) / 3600000; // 工作量时长 + checkedIndex.value = checkDuration.value == 0.5 ? 0 : checkDuration.value == 1 ? 1 : checkDuration.value == 2 ? 2 : -1; + + handleDataRender(deliverData.value); + console.log('deliverData',deliverData.value) } watch(deliverData, () => { - checkDuration.value = deliverData.value.duration; // 工作量时长 - checkedIndex.value = checkDuration.value === '半小时' ? 0 : checkDuration.value === '1小时' ? 1 : checkDuration.value === '2小时' ? 2 : -1; + checkDuration.value = Number(deliverData.value.duration) / 3600000; // 工作量时长 + checkedIndex.value = checkDuration.value == 0.5 ? 0 : checkDuration.value == 1 ? 1 : checkDuration.value == 2 ? 2 : -1; - handleDataRender(deliverData.value.checkerList); + handleDataRender(deliverData.value); }) // 选择工作量时长 function handleSelectTime(data) { checkedIndex.value = data; - checkDuration.value = data === 0 ? '半小时' : data === 1 ? '1小时' : '2小时'; + checkDuration.value = data === 0 ? 0.5 : data === 1 ? 1 : 2; } // 处理审核记录数据 async function handleDataRender(data) { - console.log('111111', data); maxDuration.value = deliverData.value.initialDuration > deliverData.value.duration ? deliverData.value.initialDuration : deliverData.value.duration; data.checkerList.forEach(item => { if (item.checkDuration) { - maxDuration.value = maxDuration > item.checkDuration ? maxDuration : item.checkDuration; + maxDuration.value = maxDuration.value > item.checkDuration ? maxDuration.value : item.checkDuration; - if (maxDuration === deliverData.value.initialDuration) { + if (maxDuration.value == deliverData.value.initialDuration) { item.initialPercent = 100; - item.currPercent = Math.floor(deliverData.value.duration / deliverData.value.initialDuration); - item.checkPercent = Math.floor(item.checkDuration / deliverData.value.initialDuration); - } else if (maxDuration === deliverData.value.duration) { + item.currPercent = Math.floor(deliverData.value.duration / deliverData.value.initialDuration * 100); + item.checkPercent = Math.floor(item.checkDuration / deliverData.value.initialDuration * 100); + } else if (maxDuration.value == deliverData.value.duration) { item.currPercent = 100; - item.initialPercent = Math.floor(deliverData.value.initialDuration / deliverData.value.duration); - item.checkPercent = Math.floor(item.checkDuration / deliverData.value.duration); - } else if (maxDuration === item.checkDuration) { + item.initialPercent = Math.floor(deliverData.value.initialDuration / deliverData.value.duration * 100); + item.checkPercent = Math.floor(item.checkDuration / deliverData.value.duration * 100); + } else if (maxDuration.value == item.checkDuration) { item.checkPercent = 100; - item.initialPercent = Math.floor(deliverData.value.initialDuration / item.checkDuration); - item.currPercent = Math.floor(deliverData.value.duration / item.checkDuration); + item.initialPercent = Math.floor(deliverData.value.initialDuration / item.checkDuration * 100); + item.currPercent = Math.floor(deliverData.value.duration / item.checkDuration * 100); } } }) @@ -236,7 +257,7 @@ async function handleSubmit(mode) { type: mode, remark: commit.value, score: score.value, - checkDuration: checkDuration.value, + checkDuration: checkDuration.value * 3600000, msgId: task.value.msgId, }; @@ -270,4 +291,22 @@ function handleHide() { .word-item { border-bottom: 1px solid #E5E7EB; } + + .time-box { + width: 120px; + + view { + height: 15px; + border-radius: 2px; + margin: 2px 0; + } + + .duration-value { + height: 15px; + line-height: 15px; + font-size: 12px; + top: 0; + left: 0; + } + } diff --git a/plugins/p-deliver-upload-second/p-deliver-upload-second.vue b/plugins/p-deliver-upload-second/p-deliver-upload-second.vue index bf38b1d..bfc5ec0 100644 --- a/plugins/p-deliver-upload-second/p-deliver-upload-second.vue +++ b/plugins/p-deliver-upload-second/p-deliver-upload-second.vue @@ -82,8 +82,9 @@ - + + 小时 @@ -96,6 +97,7 @@