294 lines
7.6 KiB
TypeScript
294 lines
7.6 KiB
TypeScript
/*
|
||
* @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;
|
||
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,
|
||
titleI18n:'messages.DevDiagram_JingJia',
|
||
type: "精加车间",
|
||
num: null,
|
||
data: null,
|
||
gateway: 1,
|
||
dom: null,
|
||
domName: "bottontip1",
|
||
},
|
||
{
|
||
id: null,
|
||
index: 2,
|
||
title: "机加",
|
||
titleChild: messages.DevDiagram_JiJia,
|
||
titleI18n:'messages.DevDiagram_JiJia',
|
||
type: "机加车间",
|
||
num: null,
|
||
data: null,
|
||
gateway: 1,
|
||
dom: null,
|
||
domName: "bottontip2",
|
||
},
|
||
{
|
||
id: null,
|
||
index: 3,
|
||
title: "大件",
|
||
titleChild: messages.DevDiagram_DaJian,
|
||
titleI18n:'messages.DevDiagram_DaJian',
|
||
type: "大件车间",
|
||
num: null,
|
||
data: null,
|
||
gateway: 1,
|
||
dom: null,
|
||
domName: "bottontip3",
|
||
},
|
||
{
|
||
id: null,
|
||
index: 4,
|
||
title: "精饰",
|
||
titleChild: messages.DevDiagram_JingShi,
|
||
titleI18n:'messages.DevDiagram_JingShi',
|
||
type: "精饰车间",
|
||
num: null,
|
||
data: null,
|
||
gateway: 1,
|
||
dom: null,
|
||
domName: "bottontip4",
|
||
},
|
||
{
|
||
id: null,
|
||
index: 5,
|
||
title: "焊接",
|
||
titleChild: messages.DevDiagram_HanJie,
|
||
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;
|
||
// console.log(newdata);
|
||
|
||
},
|
||
changeImgSrc() {
|
||
this.mechanicsData.forEach((res) => {
|
||
if (res.data) {
|
||
if (res.index == this.page) {
|
||
res.data.forEach((ele) => {
|
||
ele.imgsrc = ele.data;
|
||
});
|
||
}
|
||
}
|
||
});
|
||
},
|
||
},
|
||
});
|