|
|
|
@ -19,6 +19,7 @@
|
|
|
|
end-placeholder="结束日期"
|
|
|
|
end-placeholder="结束日期"
|
|
|
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
|
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
|
|
class="!w-240px"
|
|
|
|
class="!w-240px"
|
|
|
|
|
|
|
|
@change="handleQuery"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
@ -30,6 +31,7 @@
|
|
|
|
:key="item.id"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.nickname"
|
|
|
|
:label="item.nickname"
|
|
|
|
:value="item.id"
|
|
|
|
:value="item.id"
|
|
|
|
|
|
|
|
@change="handleQuery"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
@ -56,6 +58,7 @@
|
|
|
|
:key="item.id"
|
|
|
|
:key="item.id"
|
|
|
|
:label="item.name"
|
|
|
|
:label="item.name"
|
|
|
|
:value="item.id"
|
|
|
|
:value="item.id"
|
|
|
|
|
|
|
|
@change="handleQuery"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-select>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
@ -69,7 +72,7 @@
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.MES_ORG_TYPE)"
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.MES_ORG_TYPE)"
|
|
|
|
:key="dict.value"
|
|
|
|
:key="dict.value"
|
|
|
|
:label="dict.value"
|
|
|
|
:label="dict.value"
|
|
|
|
@change="changeDate"
|
|
|
|
@change="handleQuery"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
{{ dict.label }}
|
|
|
|
{{ dict.label }}
|
|
|
|
</el-radio>
|
|
|
|
</el-radio>
|
|
|
|
@ -96,6 +99,21 @@
|
|
|
|
<el-tab-pane label="计时报表" name="jishi" />
|
|
|
|
<el-tab-pane label="计时报表" name="jishi" />
|
|
|
|
</el-tabs>
|
|
|
|
</el-tabs>
|
|
|
|
<ContentWrap v-if="typeName==='jijian'">
|
|
|
|
<ContentWrap v-if="typeName==='jijian'">
|
|
|
|
|
|
|
|
<el-row>
|
|
|
|
|
|
|
|
<el-col :span="4">
|
|
|
|
|
|
|
|
<el-text>本页,产品总数:{{totalNumber}} </el-text>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="4">
|
|
|
|
|
|
|
|
<el-text>成品总数:{{totalQuality}} </el-text>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="4">
|
|
|
|
|
|
|
|
<el-text>废品总数:{{totalWaste}} </el-text>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="4">
|
|
|
|
|
|
|
|
<el-text>成品率:{{erpNumberFormatter(Number(totalQuality)/Number(totalNumber)*100,3)+'%'}} </el-text>
|
|
|
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
<el-divider />
|
|
|
|
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
|
|
|
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
|
|
|
<el-table-column
|
|
|
|
<el-table-column
|
|
|
|
label="报工日期"
|
|
|
|
label="报工日期"
|
|
|
|
@ -142,6 +160,8 @@
|
|
|
|
</ContentWrap>
|
|
|
|
</ContentWrap>
|
|
|
|
<!-- 列表 -->
|
|
|
|
<!-- 列表 -->
|
|
|
|
<ContentWrap v-if="typeName==='jishi'">
|
|
|
|
<ContentWrap v-if="typeName==='jishi'">
|
|
|
|
|
|
|
|
<el-text>本页总计时数:{{totalTime}} </el-text>
|
|
|
|
|
|
|
|
<el-divider />
|
|
|
|
<el-table v-loading="loading" :data="listJiShi" :stripe="true" :show-overflow-tooltip="true">
|
|
|
|
<el-table v-loading="loading" :data="listJiShi" :stripe="true" :show-overflow-tooltip="true">
|
|
|
|
<el-table-column
|
|
|
|
<el-table-column
|
|
|
|
label="报工日期"
|
|
|
|
label="报工日期"
|
|
|
|
@ -205,7 +225,7 @@ import {defaultProps, handleTree} from "@/utils/tree";
|
|
|
|
import * as UserApi from "@/api/system/user";
|
|
|
|
import * as UserApi from "@/api/system/user";
|
|
|
|
import {OrganizationApi} from "@/api/mes/organization";
|
|
|
|
import {OrganizationApi} from "@/api/mes/organization";
|
|
|
|
import {ProductApi, ProductVO} from "@/api/erp/product/product";
|
|
|
|
import {ProductApi, ProductVO} from "@/api/erp/product/product";
|
|
|
|
import {erpCountTableColumnFormatter} from "@/utils";
|
|
|
|
import {erpCountTableColumnFormatter, erpNumberFormatter} from "@/utils";
|
|
|
|
import {useUserStore} from "@/store/modules/user";
|
|
|
|
import {useUserStore} from "@/store/modules/user";
|
|
|
|
import {checkPermi} from "@/utils/permission";
|
|
|
|
import {checkPermi} from "@/utils/permission";
|
|
|
|
import ProduceReportDetailList
|
|
|
|
import ProduceReportDetailList
|
|
|
|
@ -228,6 +248,11 @@ const total = ref(0) // 列表的总页数
|
|
|
|
const listJiShi = ref<ProduceReportVO[]>([]) // 列表的数据
|
|
|
|
const listJiShi = ref<ProduceReportVO[]>([]) // 列表的数据
|
|
|
|
const totalJiShi = ref(0) // 列表的总页数
|
|
|
|
const totalJiShi = ref(0) // 列表的总页数
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const totalNumber = ref(0) // 总数
|
|
|
|
|
|
|
|
const totalQuality = ref(0) // 成品总数
|
|
|
|
|
|
|
|
const totalWaste = ref(0) //废品总数
|
|
|
|
|
|
|
|
const totalTime = ref(0) //计时总数
|
|
|
|
|
|
|
|
|
|
|
|
const queryParams = reactive({
|
|
|
|
const queryParams = reactive({
|
|
|
|
pageNo: 1,
|
|
|
|
pageNo: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
pageSize: 10,
|
|
|
|
@ -238,6 +263,7 @@ const queryParams = reactive({
|
|
|
|
orgId: undefined,
|
|
|
|
orgId: undefined,
|
|
|
|
orgType: undefined,
|
|
|
|
orgType: undefined,
|
|
|
|
wasteReason: undefined,
|
|
|
|
wasteReason: undefined,
|
|
|
|
|
|
|
|
totalTime: undefined,
|
|
|
|
remark: undefined,
|
|
|
|
remark: undefined,
|
|
|
|
isEnable: undefined,
|
|
|
|
isEnable: undefined,
|
|
|
|
createTime: [],
|
|
|
|
createTime: [],
|
|
|
|
@ -256,16 +282,33 @@ const getList = async () => {
|
|
|
|
queryParams.reportStatus = 2
|
|
|
|
queryParams.reportStatus = 2
|
|
|
|
//计时报表
|
|
|
|
//计时报表
|
|
|
|
if(typeName.value ==='jishi'){
|
|
|
|
if(typeName.value ==='jishi'){
|
|
|
|
const data = await ProduceReportApi.getProduceReportPage(queryParams)
|
|
|
|
queryParams.totalTime=0
|
|
|
|
|
|
|
|
const data = await ProduceReportApi.getDailyReportPage(queryParams)
|
|
|
|
listJiShi.value = data.list
|
|
|
|
listJiShi.value = data.list
|
|
|
|
totalJiShi.value = data.total
|
|
|
|
totalJiShi.value = data.total
|
|
|
|
|
|
|
|
let sumTime= 0;
|
|
|
|
|
|
|
|
// 遍历列表,累加每个实体对象的 value 属性值
|
|
|
|
|
|
|
|
for (let entity of listJiShi.value) {
|
|
|
|
|
|
|
|
sumTime += entity.totalTime
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
totalTime.value = sumTime
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//计件报表
|
|
|
|
//计件报表
|
|
|
|
else{
|
|
|
|
else{
|
|
|
|
const data = await ProduceReportDetailApi.getProduceReportDetailPage(queryParams)
|
|
|
|
const data = await ProduceReportDetailApi.getProduceReportDetailPage(queryParams)
|
|
|
|
list.value = data.list
|
|
|
|
list.value = data.list
|
|
|
|
total.value = data.total
|
|
|
|
total.value = data.total
|
|
|
|
|
|
|
|
// 初始化总和为 0
|
|
|
|
|
|
|
|
let sumQuality= 0;
|
|
|
|
|
|
|
|
let sumWaste= 0;
|
|
|
|
|
|
|
|
// 遍历列表,累加每个实体对象的 value 属性值
|
|
|
|
|
|
|
|
for (let entity of list.value) {
|
|
|
|
|
|
|
|
sumQuality += entity.qualityNumber;
|
|
|
|
|
|
|
|
sumWaste += entity.wasteNumber
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
totalQuality.value = sumQuality
|
|
|
|
|
|
|
|
totalWaste.value = sumWaste
|
|
|
|
|
|
|
|
totalNumber.value = Number(totalQuality.value)+Number(totalWaste.value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} finally {
|
|
|
|
} finally {
|
|
|
|
loading.value = false
|
|
|
|
loading.value = false
|
|
|
|
@ -293,6 +336,7 @@ const handleExport = async () => {
|
|
|
|
exportLoading.value = true
|
|
|
|
exportLoading.value = true
|
|
|
|
//只v查通过了的
|
|
|
|
//只v查通过了的
|
|
|
|
queryParams.reportStatus = 2
|
|
|
|
queryParams.reportStatus = 2
|
|
|
|
|
|
|
|
queryParams.totalTime=0
|
|
|
|
//计时报表
|
|
|
|
//计时报表
|
|
|
|
if(typeName.value ==='jishi'){
|
|
|
|
if(typeName.value ==='jishi'){
|
|
|
|
const data = await ProduceReportApi.exportProduceReport(queryParams)
|
|
|
|
const data = await ProduceReportApi.exportProduceReport(queryParams)
|
|
|
|
|