30天报工数据

main
sunshine 2 years ago
parent d69c1ac7d6
commit 018010a937

@ -110,7 +110,6 @@
import {processTypes, groupTypes} from "@/api/system/dict/data";
import {
getProductList,
createReport,
getOtherPersonalUser,
getOtherOrgList,
@ -202,7 +201,6 @@ export default {
submit(ref) {
if(this.customFormData.reportDateString.length<11)this.customFormData.reportDateString+=' 00:00:00';
this.customFormData.reportType = '代报工';
console.log(this.customFormData);
this.$refs[ref].validate().then(res => {
var ok = 1;
if(this.customFormData.produceReportDetails && this.customFormData.produceReportDetails.length > 0) {

@ -8,6 +8,8 @@
<text class="point">.</text>
<text class="title">报工报表</text>
</view>
<uni-data-select v-if="auth.hasPermi('mes:produce-report-detail:replace')" class="select" v-model="userId" :localdata="userList" placement="top" @change="handleChange()">
</uni-data-select>
<view class="top_desc">
<view>
<view class="text">上月报工汇总</view>
@ -104,6 +106,8 @@ import useUserStore from "@/store/modules/user";
import Config from '@/pages/js/config'
import { ref } from 'vue';
import { onLoad } from "@dcloudio/uni-app";
import auth from "@/plugins/auth";
import {getOtherPersonalUser} from "@/api/mes/organization";
const now = new Date();
const nowTime = {
@ -116,7 +120,6 @@ const useStore = useUserStore()
const userId = ref(useStore.userId)
const isCanvas2d = ref(Config.ISCANVAS2D)
let expendCount = 0;
let delayload = ref(false);
let historyData = ref({});
const reportTime = ref([])
@ -128,98 +131,118 @@ const detailList = ref([]);
const historyBtn = ref([
{
name: "总数",
state: 1,
state: true,
type: "sumNumber"
},
{
name: "合格数",
state: 0,
state: false,
type: "totalQualityNumber"
},
{
name: "废品数",
state: 0,
state: false,
type: "totalWasteNumber"
}
]);
const filterHistoryData = () => {
const userList = ref([])
const getUserList = ()=> {
getOtherPersonalUser().then(response => {
userList.value = response.data
})
}
const handleChange = ()=>{
getLastMonthSumList()
getThisMonthSumList()
getReportTimeList()
let type = historyBtn.value.filter(x => x.state === 1)[0].type;
switch (type) {
case "sumNumber":
historyData.value = dataOne.sumNumber;
break;
case "totalQualityNumber":
historyData.value = dataOne.totalQualityNumber;
break;
case "totalWasteNumber":
historyData.value = dataOne.totalWasteNumber;
break;
}
getSumReportTimeList()
getDayReportTimeList()
}
const changeHistoryBtn = (type) => {
historyBtn.value.forEach(btn => {
btn.state = false;
});
for (let i = 0; i < historyBtn.value.length; i++) {
if (historyBtn.value[i].type === type) {
historyBtn.value[i].state = 1;
} else {
historyBtn.value[i].state = 0;
historyBtn.value[i].state = historyBtn.value[i].type === type;
}
}
filterHistoryData();
}
// 30
const getReportTimeList = ()=>{
getReportTime(userId.value).then(response => {
reportTime.value = response.data;
if(type === 'sumNumber') {
dataOne.sumNumber.categories = []
dataOne.sumNumber.series[0].data = []
dataOne.totalQualityNumber.categories = []
dataOne.totalQualityNumber.series[0].data = []
dataOne.totalWasteNumber.categories = []
dataOne.totalWasteNumber.series[0].data = []
reportTime.value.forEach(item=>{
reportTime.value.forEach(item => {
dataOne.sumNumber.categories.push(`${new Date(item.reportDay).getMonth() + 1}${new Date(item.reportDay).getDate()}`)
dataOne.sumNumber.series[0].data.push(item.sumNumber)
})
historyData.value = dataOne.sumNumber
} else if (type === 'totalQualityNumber') {
dataOne.totalQualityNumber.categories = []
dataOne.totalQualityNumber.series[0].data = []
reportTime.value.forEach(item => {
dataOne.totalQualityNumber.categories.push(`${new Date(item.reportDay).getMonth() + 1}${new Date(item.reportDay).getDate()}`)
dataOne.totalQualityNumber.series[0].data.push(item.totalQualityNumber)
})
historyData.value = dataOne.totalQualityNumber
} else {
dataOne.totalWasteNumber.categories = []
dataOne.totalWasteNumber.series[0].data = []
reportTime.value.forEach(item => {
dataOne.totalWasteNumber.categories.push(`${new Date(item.reportDay).getMonth() + 1}${new Date(item.reportDay).getDate()}`)
dataOne.totalWasteNumber.series[0].data.push(item.totalWasteNumber)
})
historyData.value = dataOne.totalWasteNumber
}
}
// 30
const defaultBtnIndex = ref(0)
const getReportTimeList = async () => {
defaultBtnIndex.value = 0;
historyBtn.value.forEach((btn, index) => {
btn.state = (index === defaultBtnIndex.value);
});
historyData.value= {}
reportTime.value = []
dataOne.sumNumber.categories = [];
dataOne.sumNumber.series[0].data = [];
const response = await getReportTime(userId.value);
reportTime.value = response.data;
reportTime.value.forEach(item => {
const month = new Date(item.reportDay).getMonth() + 1;
const day = new Date(item.reportDay).getDate();
dataOne.sumNumber.categories.push(`${month}${day}`);
dataOne.sumNumber.series[0].data.push(item.sumNumber);
});
historyData.value = dataOne.sumNumber;
}
//
const getLastMonthSumList = ()=>{
getLastMonthSum(userId.value).then(response => {
const getLastMonthSumList = async () => {
const response = await getLastMonthSum(userId.value);
lastMonthSum.value = response.data;
});
}
//
const getThisMonthSumList = ()=>{
getThisMonthSum(userId.value).then(response => {
const getThisMonthSumList = async () => {
const response = await getThisMonthSum(userId.value);
thisMonthSum.value = response.data;
});
}
//
const getSumReportTimeList = ()=>{
getSumReportTime(userId.value).then(response => {
const getSumReportTimeList = async () => {
const response = await getSumReportTime(userId.value);
sumReportTime.value = response.data;
});
}
// 30
const getDayReportTimeList = ()=>{
getDayReportTime(userId.value).then(response => {
const getDayReportTimeList = async () => {
const response = await getDayReportTime(userId.value);
detailList.value = response.data;
});
}
onLoad(() => {
filterHistoryData()
getUserList()
getReportTimeList()
getLastMonthSumList()
getThisMonthSumList()
@ -382,12 +405,24 @@ onLoad(() => {
}
.top_head {
position: relative;
height: 495rpx;
width: 100%;
padding: 110rpx 10rpx 0 10rpx;
background: url('@/static/images/icon/background.png') no-repeat center 0;
box-sizing: border-box;
.select {
position: absolute;
width: 240rpx;
top: 155rpx;
right: 30rpx;
:deep(.uni-select__input-text) {
color: #ffffff;
font-weight: bold;
}
}
.top_desc {
width: 100%;
border-radius: 20rpx;
@ -433,6 +468,7 @@ onLoad(() => {
font-weight: 900;
position: relative;
margin-left: 60rpx;
margin-bottom: 40rpx;
text {
display: inline-block;
@ -464,4 +500,5 @@ onLoad(() => {
}
}
}
</style>

Loading…
Cancel
Save