screenFront/src/store/module/Mechanics.ts

294 lines
7.6 KiB
TypeScript
Raw Normal View History

2023-05-12 08:41:33 +00:00
/*
* @FilePath: \wwwd:\code\screenFront\src\store\module\Mechanics.ts
* @Author:
* @文件版本: V1.0.0
* @Date: 2023-02-06 15:58:13
* @Description:
*
* 版权信息 : 2023 by ${}, All Rights Reserved.
*/
import { defineStore } from "pinia";
import { Names } from "@/store/storeName";
import { development, production } from "@/utils/devSever";
import { formatter } from "element-plus";
import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage";
import zhMessages from "@/locales/lang/zh";
import enMessages from "@/locales/lang/en";
let language = getStoredLanguage() || "简体中文";
let messages = language == "简体中文" ? zhMessages.messages : enMessages.messages;
2023-05-12 08:41:33 +00:00
export const useMechanicsStore = defineStore(Names.Mechanics, {
// 使用方式
// const Index= useIndexStore()
// 1、Index.{数据}++
// 2、Index.$patch({数据:??})
// 3、Index.$patch((state)=>{ state.数据=??})
// 4、通过action修改
state: () => {
return {
page: null, //当前页,
allNum: 0,
loading: false,
mechanicsData: [
{
id: null,
index: 1,
title: "精加",
titleChild: messages.DevDiagram_JingJia,
2023-05-12 08:41:33 +00:00
titleI18n:'messages.DevDiagram_JingJia',
type: "精加车间",
num: null,
data: null,
gateway: 1,
dom: null,
domName: "bottontip1",
},
{
id: null,
index: 2,
title: "机加",
titleChild: messages.DevDiagram_JiJia,
2023-05-12 08:41:33 +00:00
titleI18n:'messages.DevDiagram_JiJia',
type: "机加车间",
num: null,
data: null,
gateway: 1,
dom: null,
domName: "bottontip2",
},
{
id: null,
index: 3,
title: "大件",
titleChild: messages.DevDiagram_DaJian,
2023-05-12 08:41:33 +00:00
titleI18n:'messages.DevDiagram_DaJian',
type: "大件车间",
num: null,
data: null,
gateway: 1,
dom: null,
domName: "bottontip3",
},
{
id: null,
index: 4,
title: "精饰",
titleChild: messages.DevDiagram_JingShi,
2023-05-12 08:41:33 +00:00
titleI18n:'messages.DevDiagram_JingShi',
type: "精饰车间",
num: null,
data: null,
gateway: 1,
dom: null,
domName: "bottontip4",
},
{
id: null,
index: 5,
title: "焊接",
titleChild: messages.DevDiagram_HanJie,
2023-05-12 08:41:33 +00:00
titleI18n:'messages.DevDiagram_HanJie',
type: "焊接车间",
num: null,
data: null,
gateway: 0,
dom: null,
domName: "bottontip5",
},
],
devstatus: null,
};
},
//computed 修改一些值
//需要使用return将数据抛出
//getters内可相互使用计算结果
//使用时可直接放入标签内<div>Index.方法()</div>
getters: {},
//methods 可同步/异步提交state
//actions内获取state数据使用this
// 使用方式
// 1、Index.方法()
//异步方法需要添加async和await
actions: {
changePage(val: number) {
this.page = val;
this.changeImgSrc();
},
changegateway(val: any) {
val.forEach((res) => {
this.mechanicsData.forEach((ele) => {
if (ele.type == res.name) {
ele.id = res.id;
ele.gateway = res.status;
}
});
});
},
changegatewaynum(val: any) {
this.allNum = 0;
val.forEach((res) => {
this.mechanicsData.forEach((ele) => {
if (ele.type == res.name) {
ele.num = res.counts;
}
});
this.allNum += res.counts;
});
},
changeMechanicsDatadata(val: any) {
for (let key in val) {
val[key].forEach((ele) => {
//按照环境更改src
if (process.env.NODE_ENV === "development") {
ele.data = development.imgxhr + ele.data;
ele.imgsrc = "";
} else if (process.env.NODE_ENV === "production") {
ele.data = production.imgxhr + ele.data; //正式环境+
ele.imgsrc = "";
}
});
this.mechanicsData.forEach((res) => {
if (res.type == key) {
res.data = val[key];
}
});
}
this.changeImgSrc();
},
socketMechanicsDatadata(val: any) {
val.forEach((res) => {
this.mechanicsData.forEach((ele) => {
if (res.dept == ele.type) {
ele.data?.forEach((item) => {
if (item.id == res.id) {
item.status = res.status;
}
});
}
});
});
// this.changeImgSrc();
},
socketDeviceStatusInMF(val: any){
this.mechanicsData.forEach((ele) => {
ele.data?.forEach((item) => {
if (item.id == val.id) {
item.status == val.status?'':item.status = val.status;
}
});
});
// this.changeImgSrc();
},
changeloading(val: boolean) {
this.loading = val;
},
changedevstatus(val: any) {
let newdata = [];
for (let key in val) {
let data = [];
let status = [0, 0, 0, 0];
val[key].forEach((ele) => {
if (ele.name == "H_ON") {
data.push({
value: ele.counts,
name: "messages.work",
itemStyle:{
color:'#91CC75'
}
});
status[0] = 1;
}
if (ele.name == "H_IDLE") {
data.push({
value: ele.counts,
name: "messages.halt",
itemStyle:{
color:'#AAAAAA'
}
});
status[1] = 1;
}
if (ele.name == "H_OFF") {
data.push({
value: ele.counts,
name:"messages.Standby",
itemStyle:{
color:'#FAC858'
}
});
status[2] = 1;
}
if (ele.name == "H_E_STOP") {
data.push({
value: ele.counts,
name: "messages.STOP",
itemStyle:{
color:'#EE6666'
}
});
status[3] = 1;
}
});
if (status[0] == 0) {
data.push({
value: null,
name: "messages.work",
itemStyle:{
color:'#91CC75'
}
});
}
if (status[1] == 0) {
data.push({
value: null,
name: "messages.halt",
itemStyle:{
color:'#AAAAAA'
}
});
}
if (status[2] == 0) {
data.push({
value: null,
name: "messages.Standby",
itemStyle:{
color:'#FAC858'
}
});
}
if (status[3] == 0) {
data.push({
value: null,
name: "messages.halt",
itemStyle:{
color:'#EE6666'
}
});
}
newdata.push({
name: key,
data: data,
});
data = [];
status = [0, 0, 0, 0];
}
this.devstatus = newdata;
2023-05-24 03:59:27 +00:00
// console.log(newdata);
2023-05-12 08:41:33 +00:00
},
changeImgSrc() {
this.mechanicsData.forEach((res) => {
if (res.data) {
if (res.index == this.page) {
res.data.forEach((ele) => {
ele.imgsrc = ele.data;
});
}
}
});
},
},
});