This commit is contained in:
zty 2024-12-30 10:59:59 +08:00
commit 2c58eec472
12 changed files with 194 additions and 240 deletions

View File

@ -77,6 +77,7 @@
>
{{ item1 }}
</div>
<div style="display: none;" v-if="ind == 8">{{ item1 }}</div>
<el-popover
trigger="hover"
placement="top"

View File

@ -89,6 +89,7 @@
>
{{ item1 }}
</div>
<div style="display: none;" v-if="ind == 8">{{ item1 }}</div>
<el-popover
trigger="hover"
placement="top"

View File

@ -88,6 +88,7 @@
>
{{ item1 }}
</div>
<div style="display: none;" v-if="ind == 9">{{ item1 }}</div>
<el-popover
trigger="hover"
placement="top"

View File

@ -77,6 +77,7 @@
>
{{ item1 }}
</div>
<div style="display: none;" v-if="ind == 8">{{ item1 }}</div>
<el-popover
trigger="hover"
placement="top"

View File

@ -26,7 +26,7 @@
<thead class="myTableHead">
<tr>
<th colspan="6">
生料工序主要设备100KW以上单位产品电耗数据表
生料辅料工序主要设备100KW以上单位产品电耗数据表
</th>
</tr>
<tr>
@ -235,7 +235,7 @@ export default {
mgroup: "",
},
mpoint: "",
tableName: "主要设备100KW以上单位产品电耗数据表",
tableName: "生料辅料工序主要设备100KW以上单位产品电耗数据表",
tableDatas: [
["立磨主电机", "", "kW·h/t", "", "", ""],
["循环风机", "", "kW·h/t", "", "", ""],

View File

@ -38,14 +38,13 @@
>
<thead class="myTableHead">
<tr>
<th colspan="23">生料工序班组月度对比分析</th>
<th colspan="22">生料工序班组月度对比分析</th>
</tr>
<tr>
<th rowspan="2">月份</th>
<th rowspan="2">班组</th>
<th colspan="2">产量</th>
<th>运转率</th>
<th>成本</th>
<th colspan="7">质量</th>
<th colspan="9">单位产品电耗</th>
<th rowspan="2">得分</th>
@ -54,7 +53,6 @@
<th>总产量t</th>
<th>台时产量t/h</th>
<th>运转率%</th>
<th>单位产品成本/</th>
<th>细度%</th>
<th>Fe₂O₃%</th>
<th>水分%</th>
@ -207,50 +205,50 @@ export default {
arr.push(item.total_production);
arr.push(item.production_hour);
arr.push(item.run_rate);
arr.push(item.production_cost_unit);
// arr.push(item.production_cost_unit);
//
arr[6] =
arr[5] =
item.辅料_细度_rate_pass != null
? item.辅料_细度_rate_pass
: "/";
arr[7] =
arr[6] =
item.辅料_Fe2O3_rate_pass != null
? item.辅料_Fe2O3_rate_pass
: "/";
arr[8] =
arr[7] =
item.辅料_水分_rate_pass != null
? item.辅料_水分_rate_pass
: "/";
arr[9] =
arr[8] =
item.干混生料_细度_rate_pass != null
? item.干混生料_细度_rate_pass
: "/";
arr[10] =
arr[9] =
item.干混生料_Fe2O3_rate_pass != null
? item.干混生料_Fe2O3_rate_pass
: "/";
arr[11] =
arr[10] =
item.干混生料_水分_rate_pass != null
? item.干混生料_水分_rate_pass
: "/";
arr[12] =
arr[11] =
item.干混生料_CaO_rate_pass != null
? item.干混生料_CaO_rate_pass
: "/";
//
arr[13] =
arr[12] =
item.循环风机_consume_unit != null
? item.循环风机_consume_unit
: "/";
arr[14] =
arr[13] =
item.立磨主电机_consume_unit != null
? item.立磨主电机_consume_unit
: "/";
//
arr[15] = item.elec_consume_unit; //kW·h/t
arr[14] = item.elec_consume_unit; //kW·h/t
let keyVale = "goal_val_" + n;
arr[16] = goalData[keyVale]?goalData[keyVale]:0; //kW·h/t//
arr[17] = (arr[15] - arr[16]).toFixed(2); //kW·h/t
arr[15] = goalData[keyVale]?goalData[keyVale]:0; //kW·h/t//
arr[16] = (arr[14] - arr[15]).toFixed(2); //kW·h/t
let ind_pre = 0,
huanbi = 0;
if (item.month_s == 1) {
@ -266,22 +264,22 @@ export default {
}
})
}
arr[18] = huanbi; //kW·h/t
arr[17] = Number(huanbi) ; //kW·h/t
//kW·h/t
if (arr[19] !== "/"){
arr[19] = (arr[15] - arr[18]).toFixed(2); //kW·h/t
if (arr[18] !== "/"){
arr[18] = (arr[14] - arr[17]).toFixed(2); //kW·h/t
}else{
arr[19] = "/"; //kW·h/t
arr[18] = "/"; //kW·h/t
}
arr[20] = 0; //%
if (arr[18] !=="/" && arr[19] !==0 && arr[19] !== "undefined" && arr[18] !== 0){
arr[20] = ((arr[19]/arr[18])*100).toFixed(2);
arr[19] = 0; //%
if (arr[17] !=="/" && arr[18] !==0 && arr[18] !== "undefined" && arr[17] !== 0){
arr[19] = ((arr[18]/arr[17])*100).toFixed(2);
}else{
arr[20] = "/"; //%= kW·h/t/kW·h/t*100%
arr[19] = "/"; //%= kW·h/t/kW·h/t*100%
}
arr[21] = item.celec_consume_unit; //%
arr[20] = item.celec_consume_unit; //%
arr[22] = 0;
arr[21] = 0;
if (month_obj[n]) {
const monthData = month_obj[n];
const itemValue = item.elec_consume_unit; //
@ -297,7 +295,7 @@ export default {
} else if (index === 3) {
elec_score= 0;
}
arr[22] += elec_score;
arr[21] += elec_score;
const run_rate_itemValue = item.run_rate; //
const run_rate_sortedData = monthData.sort((a, b) => parseFloat(b.run_rate) - parseFloat(a.run_rate));
@ -312,7 +310,7 @@ export default {
} else if (run_rate_index === 3) {
run_rate_score= 0;
}
arr[22] += run_rate_score;
arr[21] += run_rate_score;
const production_hour_itemValue = item.production_hour; //
const production_hour_sortedData = monthData.sort((a, b) => parseFloat(b.production_hour) - parseFloat(a.production_hour));
@ -327,7 +325,7 @@ export default {
} else if (production_hour_index === 3) {
production_hour_score= 0;
}
arr[22] += production_hour_score;
arr[21] += production_hour_score;
const production_cost_unit_itemValue = item.production_cost_unit; //
const production_cost_unit_sortedData = monthData.sort((a, b) => parseFloat(b.production_cost_unit) - parseFloat(a.production_cost_unit));
@ -342,7 +340,7 @@ export default {
} else if (production_cost_unit_index === 3) {
production_cost_unit_score= 0;
}
arr[22] += production_cost_unit_score;
arr[21] += production_cost_unit_score;
const xidu_itemValue = item.辅料_细度_rate_pass; //
const xidu_sortedData = monthData.sort((a, b) => parseFloat(b.xidu) - parseFloat(a.xidu));
@ -357,7 +355,7 @@ export default {
} else if (xidu_index === 3) {
xidu_score= 0;
}
arr[22] += xidu_score;
arr[21] += xidu_score;
const Fe203_itemValue = item.辅料_Fe2O3_rate_pass; // Fe203
const Fe203_sortedData = monthData.sort((a, b) => parseFloat(b.Fe203) - parseFloat(a.Fe203));
@ -372,7 +370,7 @@ export default {
} else if (Fe203_index === 3) {
Fe203_score= 0;
}
arr[22] += Fe203_score;
arr[21] += Fe203_score;
}
wrapArr.push(arr);
});

View File

@ -77,6 +77,7 @@
>
{{ item1 }}
</div>
<div style="display: none;" v-if="ind == 8">{{ item1 }}</div>
<el-popover
trigger="hover"
placement="top"

View File

@ -49,11 +49,11 @@
<th rowspan="2">得分</th>
</tr>
<tr>
<th>当期值kkW·h/t</th>
<th>目标值kkW·h/t</th>
<th>当期与目标值差值kW·h/t</th>
<th>环期值kW·h/t</th>
<th>当期与环期值差值kW·h/t</th>
<th>当期值kKW·h/t</th>
<th>目标值kKW·h/t</th>
<th>当期与目标值差值KW·h/t</th>
<th>环期值KW·h/t</th>
<th>当期与环期值差值KW·h/t</th>
<th>环比增长率%</th>
<th>同比增长率%</th>
</tr>
@ -95,23 +95,10 @@ export default {
let year = myDate.getFullYear();
this.timeStamp = myDate.getTime();
that.query.year_s = year;
this.$API.mtm.mgroup.list
.req({ page: 0, search: "电石渣" })
.then((res) => {
this.$API.mtm.mgroup.list.req({ page: 0, search: "电石渣" }).then((res) => {
console.log("工段数据:", res);
that.query.mgroup = res[0].id;
let params = {};
params.page = 0;
params.year = year;
params.mgroup = that.query.mgroup;
this.$API.mtm.goal.list.req(params).then((res) => {
if (res.length > 0) {
res.forEach((item) => {
if (item.goal_cate_name == "单位产品分布电耗kW·h/t") {
that.getData(item);
}
})
}
});
that.getGoalData();
});
},
methods: {
@ -121,16 +108,16 @@ export default {
params.page = 0;
params.year = self.query.year_s;
params.mgroup = self.query.mgroup;
this.$API.mtm.goal.list.req(params).then((res) => {
self.$API.mtm.goal.list.req(params).then((res) => {
if (res.length > 0) {
res.forEach((item) => {
if (item.goal_cate_name == "单位产品分布电耗kW·h/t") {
this.getData(item);
console.log("目标数据:", item);
self.getData(item);
}
})
}
})
.catch((error) => {
}).catch((error) => {
console.error('获取目标数据失败:', error);
});
},
@ -187,13 +174,12 @@ export default {
arr.push(item.total_production);
arr.push(item.production_hour);
arr[4] = item.elec_consume_unit; //kW·h/t
arr[4] = item.elec_consume_unit; //KW·h/t
let keyVale = "goal_val_" + n;
arr[5] = goalData[keyVale]; //kW·h/t//
arr[6] = (arr[4] - arr[5]).toFixed(2); //kW·h/t
arr[5] = goalData[keyVale]; //KW·h/t//
arr[6] = (arr[4] - arr[5]).toFixed(2); //KW·h/t
let ind_pre = 0,
huanqi = 0,
huanqicha = 0,
tongqi = 0,
tongqicha = 0;
if (n == 1) {
@ -209,16 +195,15 @@ export default {
}
})
}
arr[7] = huanqi; //kW·h/t
arr[7] = Number(huanqi); //KW·h/t
if (arr[6] !== "/"){
arr[8] = (arr[4] - arr[7]).toFixed(2); //kW·h/t
arr[8] = (Number(arr[4]) - arr[7]).toFixed(2); //KW·h/t
}else{
arr[8] = "/"; //kW·h/t
arr[8] = "/"; //KW·h/t
}
// arr[8] = huanqicha; //kW·h/t
let growthRate = 0;
if (arr[8]!== "/" && arr[7]!== 0 && arr[8]!== 0 ) {
growthRate = ((arr[8] / arr[7]) * 100).toFixed(2);
growthRate = ((Number(arr[8]) /arr[7]) * 100).toFixed(2);
} else{
growthRate = "/";
}
@ -278,13 +263,6 @@ export default {
this.type = type;
this.asynDialog = true;
},
itemClick1(type, item) {
this.chartShow = false;
this.$API.bi.dataset.exec.req("3322567213885833216").then((res) => {
this.myOption = JSON.parse(res.echart_options);
this.chartShow = true;
});
},
handlePrint() {
this.$PRINT("#myReport");
},

View File

@ -75,6 +75,7 @@
>
{{ item1 }}
</div>
<div style="display: none;" v-if="ind == 8">{{ item1 }}</div>
<el-popover
trigger="hover"
placement="top"

View File

@ -401,7 +401,7 @@ export default {
key = "退火";
} else if (
item5.车间 == "6车间" &&
item5.工序 == "管料成型"
item5.工序 == "管料退火"
) {
key = "库存";
} else if (

View File

@ -195,6 +195,7 @@
</el-descriptions-item>
</el-descriptions>
</div>
<!-- 检测项和判断项 -->
<div style="padding-left: 50px" v-else>
<el-descriptions :column="4">
<el-descriptions-item label="划伤">{{

View File

@ -34,37 +34,10 @@
</el-select>
</el-form-item>
<el-form-item label="批次号" prop="wm_in">
<el-input ref="codeInput" v-model="wm_in" clearable @change="formWminChange"></el-input>
<!-- <el-select
v-model="form.wm_in"
placeholder="交接物料"
clearable
style="width: 100%"
>
<el-option
v-for="item in materialOptions"
:key="item.id"
:label="item.batch"
:value="item.id"
>
<div
style="
display: flex;
justify-content: space-between;
"
>
<span>{{ item.batch }}</span
><span>{{ item.count }}</span>
</div>
</el-option>
</el-select> -->
<el-input ref="codeInput" v-model="wm_in" clearable @change="formWminChange(wm_in)"></el-input>
</el-form-item>
</el-form>
</el-main>
<el-footer>
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button>
<el-button @click="visible = false">取消</el-button>
</el-footer>
</el-container>
</el-dialog>
</template>
@ -74,7 +47,9 @@ const defaultForm = {
mlog: "",
mtask: "",
batch: "",
wn_in: "",
count_use: 1,
note:''
};
export default {
props: {
@ -110,14 +85,7 @@ export default {
message: "请填写批次号",
trigger: "blur",
},
],
count_use: [
{
required: true,
message: "请填写领用数量",
trigger: "blur",
},
],
]
},
wm_in:'',
options: [],
@ -135,6 +103,7 @@ export default {
open() {
this.visible = true;
},
//
getMtask() {
let that = this;
this.$API.pm.mtask.list
@ -158,29 +127,31 @@ export default {
});
},
//
formWminChange(){
//
this.materialOptions.forEach((item) => {
if (item.batch == this.wm_in) {
this.form.wm_in = item.id;
//
this.submit();
}
formWminChange(wm_in){
// wn_in:
let that = this;
let arr = that.materialOptions.filter((item) => {
return item.batch == wm_in;
});
if (arr.length > 0) {
that.form.wm_in = arr[0].id;
that.form.mlog = that.mlog;
that.form.mtask = that.mtask;
//
that.submit();
}else{
that.wm_in = '';
that.$message.error("批次号不存在");
}
},
//
submit() {
let that = this;
that.$refs.dialogForm.validate(async (valid) => {
if (valid) {
that.form.mlog = that.mlog;
that.$API.wpm.mlogb.in.req(that.form).then((res) => {
that.$emit("mlogbinSuccess");
that.$message.success("添加成功");
}).catch((err) => {
});
}
});
that.wm_in = '';
}).catch((err) => {});
},
//
setFilters(filters) {