材料管理功能开发

dev_xd
lj7788@126.com 2025-07-16 18:45:54 +08:00
parent 6186598b52
commit 9c2f8de8c3
3 changed files with 313 additions and 20 deletions

View File

@ -84,6 +84,21 @@ body {
height: 30px; height: 30px;
line-height: 28px; line-height: 28px;
} }
.mytable th .cell {
font-size: 14px;
}
.mytable td .cell {
font-size: 12px;
}
.mytable td .cell .el-tag {
font-size: 12px;
}
.mytable .el-table__empty-text {
font-size: 12px;
}
.mytable .el-icon-close {
font-size: 20px;
}
} }
@media (min-width: 1921px) and (max-width: 2560px) { @media (min-width: 1921px) and (max-width: 2560px) {
.w-scroll::-webkit-scrollbar { .w-scroll::-webkit-scrollbar {
@ -159,18 +174,18 @@ body {
display: inline-flex !important; display: inline-flex !important;
} }
.mytable th .cell { .mytable th .cell {
font-size: 20px; font-size: 18px;
} }
.mytable td .cell { .mytable td .cell {
font-size: 20px; font-size: 16px;
} }
.mytable td .cell .el-tag { .mytable td .cell .el-tag {
font-size: 20px; font-size: 16px;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
} }
.mytable .el-table__empty-text { .mytable .el-table__empty-text {
font-size: 20px; font-size: 16px;
} }
.mytable .el-table__row:nth-child(odd) { .mytable .el-table__row:nth-child(odd) {
background-size: 100% 70px; background-size: 100% 70px;
@ -294,8 +309,11 @@ body {
.mytable .el-table__row:nth-child(odd) { .mytable .el-table__row:nth-child(odd) {
background-size: 100% 90px; background-size: 100% 90px;
} }
.mytable .el-table__row:hover {
background-size: 100% 100px !important;
}
.mytable .el-table__row td { .mytable .el-table__row td {
height: 100px; height: 100px !important;
} }
.mytable .el-image.att-img img { .mytable .el-image.att-img img {
height: 80px; height: 80px;

View File

@ -95,6 +95,32 @@ body {
height: 30px; height: 30px;
line-height: 28px; line-height: 28px;
} }
.mytable {
th {
.cell {
font-size: 14px;
}
}
td {
.cell {
font-size: 12px;
.el-tag {
font-size: 12px;
}
}
}
.el-table__empty-text {
font-size: 12px;
}
.el-icon-close {
font-size: 20px;
}
}
} }
@media (min-width: 1921px) and (max-width: 2560px) { @media (min-width: 1921px) and (max-width: 2560px) {
@ -176,16 +202,16 @@ body {
.mytable { .mytable {
th { th {
.cell { .cell {
font-size: 20px; font-size: 18px;
} }
} }
td { td {
.cell { .cell {
font-size: 20px; font-size: 16px;
.el-tag { .el-tag {
font-size: 20px; font-size: 16px;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
} }
@ -193,7 +219,7 @@ body {
} }
.el-table__empty-text { .el-table__empty-text {
font-size: 20px; font-size: 16px;
} }
.el-table__row { .el-table__row {
@ -345,9 +371,11 @@ body {
&:nth-child(odd) { &:nth-child(odd) {
background-size: 100% 90px; background-size: 100% 90px;
} }
&:hover{
background-size: 100% 100px !important;
}
td { td {
height: 100px; height: 100px !important;
} }
} }

View File

@ -1,7 +1,13 @@
<template> <template>
<div class="material-manage main-page"> <div class="material-manage main-page">
<el-col :span="18" class="h100"> <el-col :span="18" class="h100">
<module-one-2-3 label="近期工单" class="h66"> </module-one-2-3> <module-one-2-3 label="近期工单" class="h66 order-data-module">
<div class="element-table-ranking" :key="orderDataKey">
<el-table :data="todaysWorkOrderData.data" class="scroll mytable" :height="orderDataHeight">
<el-table-column v-for="(st, idx) in todaysWorkOrderData.labels" :prop="st.data" :key="idx" :width="st.width" :label="st.label" show-overflow-tooltip></el-table-column>
</el-table>
</div>
</module-one-2-3>
<module-one-1-3 label="混凝土使用情况" class="h33"> </module-one-1-3> <module-one-1-3 label="混凝土使用情况" class="h33"> </module-one-1-3>
</el-col> </el-col>
@ -14,15 +20,23 @@
<script> <script>
import debounce from "lodash.debounce"; import debounce from "lodash.debounce";
import request from "@/utils/request";
export default { export default {
data() { data() {
return { return {
dpi: "", dpi: "",
selProject: null, selProject: null,
//
todaysWorkOrderData: {
labels: [],
data: [],
},
orderDataHeight: 500,
orderInterval: null,
orderDataKey: 0,
}; };
}, },
mounted() { mounted() {
window.materApp = this;
this.$store.dispatch("ChangeNav", 802); this.$store.dispatch("ChangeNav", 802);
this.$bus.$on( this.$bus.$on(
"projectChange", "projectChange",
@ -46,20 +60,229 @@ export default {
resize() { resize() {
let is1K = this.$dpi() == "1K"; let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K"; let is2K = this.$dpi() == "2K";
console.log("---->", is1K, is2K);
this.orderDataHeight = is1K ? 580 : is2K ? 810 : 1275;
this.getOrderDataLabel();
this.chartKey++; this.chartKey++;
this.orderDataKey++;
}, },
init() { init() {
if (!this.selProject) { if (!this.selProject) {
return; return;
} }
let data={
projectId:this.selProject.id, //
startTime:this.$dt("2025-01-01").format("YYYY-MM-DD HH:mm:ss"), this.loadTodaysWorkOrderData();
endTime:this.$dt(new Date()).format("YYYY-MM-DD HH:mm:ss"),
// let data = {
// projectId: this.selProject.id,
// startTime: this.$dt("2025-01-01").format("YYYY-MM-DD HH:mm:ss"),
// endTime: this.$dt(new Date()).format("YYYY-MM-DD HH:mm:ss"),
// };
// this.$api.machMater.materGetConcreteMaterialActQuantityBuildingNoInfoService(data).then((d) => {
// console.log("====>", d);
// });
},
loadTodaysWorkOrderData() {
let data = {
projectId: this.selProject.id,
//startTime: this.$dt("2025-01-01").format("YYYY-MM-DD HH:mm:ss"),
//endTime: this.$dt(new Date()).format("YYYY-MM-DD HH:mm:ss"),
};
this.$api.machMater.materGetConcreteOrderDetailsInfoService(data).then((d) => {
let newFormatData = (d.data?.data || []).map((item, index) => {
let { applyType, materielModel, mixName, applyQuantity, actQuantity, addUserName, approvalUserName, addTime, placingMethod, receiptNum, load, receipt, initialId } = item;
return {
index: index + 1,
initialId,
applyName: item.applyName.split(">>")[0],
placingLocation: item.applyName.split(">>").length > 1 ? item.applyName.split(">>")[item.applyName.split(">>").length - 1] : item.applyName,
concrteGrade: materielModel,
mixName,
applyQuantity,
actQuantity,
addUserName,
approvalUserName,
addTime: this.$dt(addTime).format("YYYY-MM-DD"),
placingMethod: "泵送",
receiptNum: actQuantity,
load: index == 0 ? actQuantity * 2.4 : "",
receipt: index == 0 ? (actQuantity % 8 == 0 ? parseInt(actQuantity / 8) : parseInt(actQuantity / 8) + 1) : "",
orderChFlag: applyType == "超耗申领" ? "是" : "否",
};
});
this.todaysWorkOrderData.data = newFormatData;
this.getOrderDataLabel();
this.orderDataKey++;
});
},
getOrderDataLabel() {
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
let newFormatData=this.todaysWorkOrderData.data;
this.todaysWorkOrderData.labels = [
{
label: "序号",
width: is1K ? 50 : is2K ? 80 : 110,
color: "",
isShow: true,
type: "",
type_color: "",
data: "number",
},
{
label: "工单ID",
width: "",
color: "",
isShow: false,
type: "",
type_color: "",
data: "number",
},
{
label: "工号",
width: "",
color: "",
isShow: true,
type: "",
type_color: "",
data: "job_number",
},
{
label: "浇筑部位",
width: "",
color: "",
isShow: true,
type: "",
type_color: "",
data: "pouring_location",
},
{
label: "混凝土标号",
width: "",
color: "",
isShow: true,
type: "",
type_color: "",
data: "concrete_grade",
},
{
label: "外加剂名称",
width: "",
color: "",
isShow: true,
type: "",
type_color: "",
data: "admixture_name",
},
{
label: "设计量(m³)",
width: is1K ? 90 : is2K ? 120 : 180,
color: "",
isShow: true,
type: "",
type_color: "",
data: "design_quantity",
},
{
label: "申请方量(m³)",
width: is1K ? 105 : is2K ? 138 : 210,
color: "",
isShow: true,
type: "",
type_color: "",
data: "number_applicants",
},
{
label: "申请人",
width: is1K ? 80 : is2K ? 85 : 120,
color: "",
isShow: true,
type: "",
type_color: "",
data: "applicant",
},
{
label: "审核人",
width: is1K ? 76 : is2K ? 85 : 120,
color: "",
isShow: true,
type: "",
type_color: "",
data: "reviewed_by",
},
{
label: "申请时间",
width: "",
color: "",
isShow: true,
type: "",
type_color: "",
data: "application_time",
},
{
label: "浇筑方式",
width: is1K ? 70 : is2K ? 105 : 150,
color: "",
isShow: true,
type: "",
type_color: "",
data: "pouring_method",
},
{
label: "小票方量(m³)",
width: is1K ? 105 : is2K ? 138 : 210,
color: "",
isShow: true,
type: "",
type_color: "",
data: "small_ticket_quantity",
},
{
label: "载重(t)",
width: is1K ? 90 : is2K ? 88 : 130,
color: "",
isShow: true,
type: "",
type_color: "",
data: "carrying_capacity",
},
{
label: "小票数量(张)",
width: is1K ? 110 : is2K ? 135 : 210,
color: "",
isShow: true,
type: "",
type_color: "",
data: "small_ticket_number",
},
{
label: "是否超耗",
width: is1K ? 68 : is2K ? 105 : 150,
color: "",
isShow: true,
type: "state",
type_color: "consume_above_color",
data: "consume_above",
},
];
if (newFormatData.length > 0) {
let i = 0;
for (let key in newFormatData[0]) {
this.todaysWorkOrderData.labels[i] = {
label: this.todaysWorkOrderData.labels[i].label,
width: this.todaysWorkOrderData.labels[i].width,
color: "",
isShow: this.todaysWorkOrderData.labels[i].isShow,
type: "",
type_color: "",
data: key,
};
i++;
}
} }
this.$api.machMater.materGetConcreteMaterialActQuantityBuildingNoInfoService(data).then(d=>{
console.log("====>",d)
})
}, },
}, },
}; };
@ -78,5 +301,29 @@ export default {
height: calc(33% - 20px); height: calc(33% - 20px);
} }
} }
.order-data-module {
.module-ctx {
padding: 0px 1px 0px 0px;
}
.element-table-ranking {
padding: 0px;
}
}
@media (max-width: 1920px) {
.order-data-module {
.element-table-ranking {
.el-table {
th {
padding: 0px;
.cell {
padding-left: 0px;
padding-right: 0px;
}
}
}
}
}
}
} }
</style> </style>