小程序:
1.要求开始生产退出后,在进入不弹框 2.时间显示错误纠正 3.计算错误纠正
This commit is contained in:
parent
68c24314f5
commit
c2d538f532
@ -11,28 +11,30 @@ const dictInfo = userStore?.dictInfo || []
|
||||
const unitDictData = dictInfo.filter(e => e.dictType == 'heli_material_unit') || []
|
||||
const userId = userStore.userInfo.userId
|
||||
|
||||
const isShowStart = computed(() => {
|
||||
let flag = true
|
||||
if (historyList.value.length) {
|
||||
const obj = historyList.value[0]
|
||||
if (!obj?.endTime) {
|
||||
flag = false
|
||||
}
|
||||
}
|
||||
return flag
|
||||
})
|
||||
const isShowEnd = computed(() => {
|
||||
let flag = true
|
||||
if (historyList.value.length) {
|
||||
const obj = historyList.value[0]
|
||||
if (obj?.endTime) {
|
||||
flag = false
|
||||
}
|
||||
} else {
|
||||
flag = false
|
||||
}
|
||||
return flag
|
||||
})
|
||||
const isShowStart = ref(false)
|
||||
const isShowEnd = ref(false)
|
||||
// const isShowStart = computed(() => {
|
||||
// let flag = true
|
||||
// if (historyList.value.length) {
|
||||
// const obj = historyList.value[0]
|
||||
// if (!obj?.endTime) {
|
||||
// flag = false
|
||||
// }
|
||||
// }
|
||||
// return flag
|
||||
// })
|
||||
// const isShowEnd = computed(() => {
|
||||
// let flag = true
|
||||
// if (historyList.value.length) {
|
||||
// const obj = historyList.value[0]
|
||||
// if (obj?.endTime) {
|
||||
// flag = false
|
||||
// }
|
||||
// } else {
|
||||
// flag = false
|
||||
// }
|
||||
// return flag
|
||||
// })
|
||||
const amount = ref(null)
|
||||
const workTime = ref(null)
|
||||
// 详情数据
|
||||
@ -56,28 +58,42 @@ const getData = async () => {
|
||||
e.endTimeStr = e.endTime && formatDate(e.endTime, 'YYYY-MM-DD HH:mm')
|
||||
// e.endTimeStr = '2025-01-13 00:00'
|
||||
})
|
||||
// if (data.list[0]) {
|
||||
// formObj.value = data.list[0]
|
||||
// const time = formObj.value.endTime - formObj.value.startTime //时间差秒
|
||||
// console.log(time)
|
||||
// const leave1 = time % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
|
||||
// workTime.value = Math.floor(leave1 / (3600 * 1000))
|
||||
// }
|
||||
// if (data.list[0]) {
|
||||
// // 将字符串转换为Date对象
|
||||
// formObj.value = data.list[0]
|
||||
// const endTime= new Date(formObj.value.endTimeStr);
|
||||
// const startTime = new Date(formObj.value.startTimeStr);
|
||||
|
||||
// // 计算两个日期之间的毫秒差
|
||||
// const timeDifferenceInMs = endTime - startTime;
|
||||
|
||||
// // 将毫秒差转换为小时
|
||||
// const timeDifferenceInHours = timeDifferenceInMs / (3600 * 1000);
|
||||
// const roundedTimeDifference = parseFloat(timeDifferenceInHours.toFixed(2));
|
||||
// workTime.value = roundedTimeDifference;
|
||||
// }
|
||||
if (data.list[0]) {
|
||||
// 将字符串转换为Date对象
|
||||
formObj.value = data.list[0]
|
||||
const endTime= new Date(formObj.value.endTimeStr);
|
||||
const startTime = new Date(formObj.value.startTimeStr);
|
||||
// 计算两个日期之间的毫秒差
|
||||
const timeDifferenceInMs = endTime - startTime;
|
||||
|
||||
// 将毫秒差转换为小时
|
||||
const timeDifferenceInHours = timeDifferenceInMs / (3600 * 1000);
|
||||
const roundedTimeDifference = parseFloat(timeDifferenceInHours.toFixed(2));
|
||||
if ("Y"==detailInfo.value.isOutsourcing){
|
||||
|
||||
}else {
|
||||
workTime.value = roundedTimeDifference;
|
||||
}
|
||||
|
||||
}
|
||||
historyList.value = data.list
|
||||
isShowEnd.value = true;
|
||||
isShowStart.value = true
|
||||
if (historyList.value.length) {
|
||||
const obj = historyList.value[0]
|
||||
console.log('s')
|
||||
if (!obj?.amount) {
|
||||
isShowStart.value= false
|
||||
}
|
||||
}
|
||||
if (historyList.value.length) {
|
||||
const obj = historyList.value[0]
|
||||
if (obj?.amount) {
|
||||
isShowEnd.value = false
|
||||
}
|
||||
} else {
|
||||
isShowEnd.value = false
|
||||
}
|
||||
if(historyList.value!=null&&historyList.value.length>0){
|
||||
var totalAmount = detailInfo.value.amount;
|
||||
var beforeAmount = detailInfo.value.totalReportAmount
|
||||
@ -88,6 +104,7 @@ const getData = async () => {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
isLoading.value = false
|
||||
}
|
||||
@ -107,27 +124,28 @@ const getDetailData = async (id) => {
|
||||
data.startTime = formatDate(data.startTime, 'YYYY-MM-DD HH:mm');
|
||||
data.endTime = formatDate(data.endTime, 'YYYY-MM-DD HH:mm'); // 去掉了末尾的空格
|
||||
|
||||
const endTime = new Date(data.endTime);
|
||||
const startTime = new Date(data.startTime);
|
||||
// // 计算两个日期之间的毫秒差
|
||||
const timeDifferenceInMs = endTime - startTime;
|
||||
// // 将毫秒差转换为小时
|
||||
const timeDifferenceInHours = timeDifferenceInMs / (3600 * 1000);
|
||||
const roundedTimeDifference = parseFloat(timeDifferenceInHours.toFixed(2));
|
||||
workTime.value = roundedTimeDifference;
|
||||
// const endTime = new Date(data.endTime);
|
||||
// const startTime = new Date(data.startTime);
|
||||
// // // 计算两个日期之间的毫秒差
|
||||
// const timeDifferenceInMs = endTime - startTime;
|
||||
// // // 将毫秒差转换为小时
|
||||
// const timeDifferenceInHours = timeDifferenceInMs / (3600 * 1000);
|
||||
// const roundedTimeDifference = parseFloat(timeDifferenceInHours.toFixed(2));
|
||||
// workTime.value = roundedTimeDifference;
|
||||
// 单位枚举
|
||||
const lineObj = unitDictData.find((q) => q.value == data.unit) || {}
|
||||
data.unit = lineObj.label
|
||||
detailInfo.value = data || {}
|
||||
isLoading.value = false
|
||||
}
|
||||
const popupShow = ref(false)
|
||||
onLoad(async (options: any) => {
|
||||
await getDetailData(options.id)
|
||||
await getData()
|
||||
const obj = historyList.value[0]
|
||||
// 最新的报工是否完成
|
||||
if (obj && obj?.workTime == null && obj.endTime) {
|
||||
popup.value?.open()
|
||||
popupShow.value = true
|
||||
}
|
||||
})
|
||||
|
||||
@ -151,6 +169,7 @@ const handleComplate = async () => {
|
||||
}
|
||||
// 提交报工
|
||||
const handleOk = async (active) => {
|
||||
console.log(amount.value)
|
||||
const params = {
|
||||
id: detailInfo.value?.id,
|
||||
active: 'SUBMIT',
|
||||
@ -182,10 +201,11 @@ const handleStop = async () => {
|
||||
active: 'END',
|
||||
}
|
||||
const data = await postOperateAPI(params)
|
||||
const url = `/pages/productionReport/productionReport-detail?id=${detailInfo.value.id}`
|
||||
uni.redirectTo({
|
||||
url,
|
||||
})
|
||||
await getData()
|
||||
// const url = `/pages/productionReport/productionReport-detail?id=${detailInfo.value.id}`
|
||||
// uni.redirectTo({
|
||||
// url,
|
||||
// })
|
||||
popup.value?.open()
|
||||
}
|
||||
</script>
|
||||
@ -260,8 +280,8 @@ const handleStop = async () => {
|
||||
</view>
|
||||
</view>
|
||||
<view class="action" v-if="detailInfo.procedureStatus !== 2">
|
||||
<view class="action-item start" v-if="isShowStart" @click="handleStart">开始生产</view>
|
||||
<view class="action-item stop" v-if="isShowEnd" @click="handleStop">结束生产</view>
|
||||
<view class="action-item start" v-if="isShowStart" @click="handleStart">开始生产</view>
|
||||
<view class="action-item stop" v-if="isShowEnd" @click="handleStop">结束生产</view>
|
||||
<!-- <view class="action-item finish" v-if="isShowFinish" @click="handleComplate">生产完成</view> -->
|
||||
</view>
|
||||
</template>
|
||||
@ -274,20 +294,20 @@ const handleStop = async () => {
|
||||
<view class="cont">
|
||||
<view class="item">
|
||||
<view class="label">开始生产时间:</view>
|
||||
<view class="val">{{ detailInfo.startTime }}</view>
|
||||
<view class="val">{{ formObj.startTimeStr }}</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label">结束生产时间:</view>
|
||||
<view class="val">{{ detailInfo.endTime }}</view>
|
||||
<view class="val">{{ formObj.endTimeStr }}</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label"><span class="star">*</span>本次报工工时:</view>
|
||||
<uni-easyinput class="val" type="digit" v-model="amount" placeholder="请输入本次报工工时"></uni-easyinput>
|
||||
<uni-easyinput class="val" type="digit" v-model="workTime" placeholder="请输入本次报工工时"></uni-easyinput>
|
||||
<view class="unit">时</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="label"><span class="star">*</span>本次报工数量:</view>
|
||||
<uni-easyinput class="val" type="number" v-model="workTime" placeholder="请输入本次报工数量"></uni-easyinput>
|
||||
<uni-easyinput class="val" type="number" v-model="amount" placeholder="请输入本次报工数量"></uni-easyinput>
|
||||
<view class="unit"> {{ detailInfo.unit }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user