质量统计完成

This commit is contained in:
qianhao.xu
2023-12-18 16:00:52 +08:00
parent a3cb9c2c8d
commit e2a6b3e49b
7 changed files with 452 additions and 418 deletions

View File

@@ -1,15 +1,15 @@
<template>
<div>
<div class="animate__animated animate__shakeX title">车镜油漆缺陷采集系统</div>
<div class="animate__animated animate__shakeX title">车镜油漆缺陷采集系统(二检)</div>
<el-row>
<el-col :span="1">
<div style="height: 225px">
<div class="title_Line">抛光</div>
<div class="title_Line">打磨</div>
<div class="title_Line">报废</div>
</div>
<div style="height: 250px">
<div class="title_Line">抛光</div>
<div class="title_Line">打磨</div>
<div class="title_Line">报废</div>
</div>
@@ -20,7 +20,7 @@
<div class="a">
<div class="title_sub">{{ paint[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of paint" :key="index">
<div class="a_11" v-for="(item, index) of paint" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
@@ -32,7 +32,7 @@
<div class="b">
<div class="title_sub">{{ device[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of device" :key="index">
<div class="a_11" v-for="(item, index) of device" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
@@ -44,7 +44,7 @@
<div class="c">
<div class="title_sub">{{ blank[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of blank" :key="index">
<div class="a_11" v-for="(item, index) of blank" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
@@ -56,7 +56,7 @@
<div class="d">
<div class="title_sub">{{ program[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of program" :key="index">
<div class="a_11" v-for="(item, index) of program" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
@@ -68,7 +68,7 @@
<div class="e">
<div class="title_sub">{{ team[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of team" :key="index">
<div class="a_11" v-for="(item, index) of team" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
@@ -123,7 +123,7 @@
workorderid:"VW123456",
productName: 'VW12309',
direction: '左',
color: 'blued',
color: 'blue',
team: 'A',
inputNum: 7852,
},
@@ -132,30 +132,33 @@
}
},
watch: {
'$store.getters.counterList': {
immediate: true,
deep: true,
handler(newValue, oldValue) {
switch (this.$store.getters.counterList.Moudle) {
'$store.getters.counterList_v2': {
immediate: true,
deep: true,
handler(newValue, oldValue) {
if (newValue.checkid && newValue.checkid.length > 0) {
let checkid_ = newValue.checkid.substring(0, 3)
switch (this.$store.getters.counterList_v2.Moudle) {
case '油漆':
this.paint.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.paint.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v2.sum
break
case '设备':
this.device.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.device.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v2.sum
break
case '毛坯':
this.blank.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.blank.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v2.sum
break
case '程序':
this.program.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.program.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v2.sum
break
case '班组操作':
this.team.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.team.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v2.sum
break
}
},
}
},
},
},
computed: {
...mapGetters(['counterList']),
},
@@ -198,29 +201,29 @@
switch (item.inspectionModule) {
case '油漆':
// 把数据传递到redis
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '油漆', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v2', this.ProductSituationForm.workorderid, '油漆', item.id + '').catch((err) => {
console.log(err)
})
// redis再将数据返回
break
case '设备':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '设备', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v2', this.ProductSituationForm.workorderid, '设备', item.id + '').catch((err) => {
console.log(err)
})
break
case '毛坯':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '毛坯', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v2', this.ProductSituationForm.workorderid, '毛坯', item.id + '').catch((err) => {
console.log(err)
})
break
case '程序':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '程序', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v2', this.ProductSituationForm.workorderid, '程序', item.id + '').catch((err) => {
console.log(err)
})
break
case '班组操作':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '班组操作', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v2', this.ProductSituationForm.workorderid, '班组操作', item.id + '').catch((err) => {
console.log(err)
})
break

View File

@@ -1,6 +1,6 @@
<template>
<div>
<div class="animate__animated animate__shakeX title">车镜油漆缺陷采集系统</div>
<div class="animate__animated animate__shakeX title">车镜油漆缺陷采集系统首检</div>
<el-row>
<el-col :span="1">
<div style="height: 225px">
@@ -120,10 +120,10 @@ export default {
team: [{ inspectionModule: '' }], //班组
ProductSituationForm: {
workorderid:"VW123456",
workorderid: 'VW123456',
productName: 'VW12309',
direction: '左',
color: 'blued',
color: 'blue',
team: 'A',
inputNum: 7852,
},
@@ -132,33 +132,34 @@ export default {
}
},
watch: {
'$store.getters.counterList': {
'$store.getters.counterList_v1': {
immediate: true,
deep: true,
handler(newValue, oldValue) {
switch (this.$store.getters.counterList.Moudle) {
case '油漆':
this.paint.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
break
case '设备':
this.device.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
break
case '毛坯':
this.blank.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
break
case '程序':
this.program.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
break
case '班组操作':
this.team.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
break
if (newValue.checkid && newValue.checkid.length > 0) {
let checkid_ = newValue.checkid.substring(0, 3)
switch (this.$store.getters.counterList_v1.Moudle) {
case '油漆':
this.paint.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v1.sum
break
case '设备':
this.device.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v1.sum
break
case '毛坯':
this.blank.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v1.sum
break
case '程序':
this.program.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v1.sum
break
case '班组操作':
this.team.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v1.sum
break
}
}
},
},
},
computed: {
...mapGetters(['counterList']),
},
created() {
this.getCheckItemList()
},
@@ -198,29 +199,29 @@ export default {
switch (item.inspectionModule) {
case '油漆':
// 把数据传递到redis
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '油漆', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v1', this.ProductSituationForm.workorderid, '油漆', item.id + '').catch((err) => {
console.log(err)
})
// redis再将数据返回
break
case '设备':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '设备', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v1', this.ProductSituationForm.workorderid, '设备', item.id + '').catch((err) => {
console.log(err)
})
break
case '毛坯':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '毛坯', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v1', this.ProductSituationForm.workorderid, '毛坯', item.id + '').catch((err) => {
console.log(err)
})
break
case '程序':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '程序', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v1', this.ProductSituationForm.workorderid, '程序', item.id + '').catch((err) => {
console.log(err)
})
break
case '班组操作':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '班组操作', item.id + '').catch((err) => {
this.signalr.SR.invoke('SaveCacheInformation_v1', this.ProductSituationForm.workorderid, '班组操作', item.id + '').catch((err) => {
console.log(err)
})
break

View File

@@ -1,242 +1,242 @@
<template>
<div>
<div class="animate__animated animate__shakeX title">车镜油漆缺陷采集系统</div>
<el-row>
<el-col :span="1">
<div style="height: 225px">
<div class="title_Line">抛光</div>
<div class="title_Line">打磨</div>
<div class="title_Line">报废</div>
</div>
<div style="height: 250px">
<div class="title_Line">抛光</div>
<div class="title_Line">打磨</div>
<div class="title_Line">报废</div>
</div>
</el-col>
<el-col :span="23">
<div>
<div class="grid">
<div class="a">
<div class="title_sub">{{ paint[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of paint" :key="index">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
<div>
<div class="animate__animated animate__shakeX title">车镜油漆缺陷采集系统(三检)</div>
<el-row>
<el-col :span="1">
<div style="height: 225px">
<div class="title_Line">打磨</div>
<div class="title_Line">报废</div>
</div>
<div style="height: 250px">
<div class="title_Line">打磨</div>
<div class="title_Line">报废</div>
</div>
</el-col>
<el-col :span="23">
<div>
<div class="grid">
<div class="a">
<div class="title_sub">{{ paint[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of paint" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
<div class="b">
<div class="title_sub">{{ device[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of device" :key="index">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="c">
<div class="title_sub">{{ blank[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of blank" :key="index">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="d">
<div class="title_sub">{{ program[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of program" :key="index">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="e">
<div class="title_sub">{{ team[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of team" :key="index">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="f">
<div class="f_item">
<div class="f_name">工单id{{ ProductSituationForm.workorderid }}</div>
</div>
<div class="f_item">
<div class="f_name">产品名称{{ ProductSituationForm.productName }}</div>
</div>
<div class="f_item">
<div class="f_name">左右:{{ ProductSituationForm.direction }}</div>
</div>
<div class="f_item">
<div class="f_name">颜色:{{ ProductSituationForm.color }}</div>
</div>
<div class="f_item">
<div class="f_name">班组: {{ ProductSituationForm.team }}</div>
</div>
<div class="f_item">
<div class="f_name">投入数:{{ ProductSituationForm.inputNum }}</div>
</div>
</div>
</div>
<div class="b">
<div class="title_sub">{{ device[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of device" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="c">
<div class="title_sub">{{ blank[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of blank" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="d">
<div class="title_sub">{{ program[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of program" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="e">
<div class="title_sub">{{ team[0].inspectionModule }}</div>
<div class="grid_sub">
<div class="a_11" v-for="(item, index) of team" :key="index" v-show="parseInt((item.id / 10) % 10) > 1">
<div @click="Accumulator(item, index)" class="button_">
<el-badge :value="item.counter" type="primary"
><div class="context">{{ item.inspectionName }}</div></el-badge
>
</div>
</div>
</div>
</div>
<div class="f">
<div class="f_item">
<div class="f_name">工单id{{ ProductSituationForm.workorderid }}</div>
</div>
<div class="f_item">
<div class="f_name">产品名称{{ ProductSituationForm.productName }}</div>
</div>
<div class="f_item">
<div class="f_name">左右:{{ ProductSituationForm.direction }}</div>
</div>
<div class="f_item">
<div class="f_name">颜色:{{ ProductSituationForm.color }}</div>
</div>
<div class="f_item">
<div class="f_name">班组: {{ ProductSituationForm.team }}</div>
</div>
<div class="f_item">
<div class="f_name">投入数:{{ ProductSituationForm.inputNum }}</div>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import { GetcheckItemTable } from '@/api/qualityManagement/firstFQC.js'
import { mapGetters } from 'vuex'
export default {
name: 'thirtyFQC',
data() {
return {
paint: [{ inspectionModule: '' }],
device: [{ inspectionModule: '' }],
blank: [{ inspectionModule: '' }], // 毛坯
program: [{ inspectionModule: '' }], // 程序
team: [{ inspectionModule: '' }], //班组
ProductSituationForm: {
workorderid:"VW123456",
productName: 'VW12309',
direction: '左',
color: 'blued',
team: 'A',
inputNum: 7852,
},
signal: null,
data: null,
}
},
watch: {
'$store.getters.counterList': {
immediate: true,
deep: true,
handler(newValue, oldValue) {
switch (this.$store.getters.counterList.Moudle) {
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import { GetcheckItemTable } from '@/api/qualityManagement/firstFQC.js'
import { mapGetters } from 'vuex'
export default {
name: 'thirtyFQC',
data() {
return {
paint: [{ inspectionModule: '' }],
device: [{ inspectionModule: '' }],
blank: [{ inspectionModule: '' }], // 毛坯
program: [{ inspectionModule: '' }], // 程序
team: [{ inspectionModule: '' }], //班组
ProductSituationForm: {
workorderid: 'VW123456',
productName: 'VW12309',
direction: '',
color: 'blue',
team: 'A',
inputNum: 7852,
},
signal: null,
data: null,
}
},
watch: {
'$store.getters.counterList_v3': {
immediate: true,
deep: true,
handler(newValue, oldValue) {
if (newValue.checkid && newValue.checkid.length > 0) {
let checkid_ = newValue.checkid.substring(0, 3)
switch (this.$store.getters.counterList_v3.Moudle) {
case '油漆':
this.paint.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.paint.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v3.sum
break
case '设备':
this.device.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.device.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v3.sum
break
case '毛坯':
this.blank.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.blank.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v3.sum
break
case '程序':
this.program.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.program.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v3.sum
break
case '班组操作':
this.team.filter((it) => it.id == this.$store.getters.counterList.checkid)[0].counter = this.$store.getters.counterList.sum
this.team.filter((it) => it.id == checkid_)[0].counter = this.$store.getters.counterList_v3.sum
break
}
},
},
},
computed: {
...mapGetters(['counterList']),
},
created() {
this.getCheckItemList()
},
mounted() {},
methods: {
//todo 获取检测项
getCheckItemList() {
GetcheckItemTable()
.then((result) => {
if (result.code == 200) {
this.paint = result.data.paint
this.paint.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.device = result.data.device
this.device.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.blank = result.data.blank
this.blank.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.program = result.data.program
this.program.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.team = result.data.team
this.team.forEach((item) => {
if (item.counter == null) item.counter = 0
})
}
})
.catch((err) => {})
},
//todo 累加器
Accumulator(item, index) {
switch (item.inspectionModule) {
case '油漆':
// 把数据传递到redis
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '油漆', item.id + '').catch((err) => {
console.log(err)
})
// redis再将数据返回
break
case '设备':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '设备', item.id + '').catch((err) => {
console.log(err)
})
break
case '毛坯':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '毛坯', item.id + '').catch((err) => {
console.log(err)
})
break
case '程序':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '程序', item.id + '').catch((err) => {
console.log(err)
})
break
case '班组操作':
this.signalr.SR.invoke('SaveCacheInformation', this.ProductSituationForm.workorderid, '班组操作', item.id + '').catch((err) => {
console.log(err)
})
break
default:
this.$notify.warning('异常操作,警告')
break
}
},
//todo 数据同步
/*
},
},
created() {
this.getCheckItemList()
},
mounted() {},
methods: {
//todo 获取检测项
getCheckItemList() {
GetcheckItemTable()
.then((result) => {
if (result.code == 200) {
this.paint = result.data.paint
this.paint.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.device = result.data.device
this.device.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.blank = result.data.blank
this.blank.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.program = result.data.program
this.program.forEach((item) => {
if (item.counter == null) item.counter = 0
})
this.team = result.data.team
this.team.forEach((item) => {
if (item.counter == null) item.counter = 0
})
}
})
.catch((err) => {})
},
//todo 累加器
Accumulator(item, index) {
switch (item.inspectionModule) {
case '油漆':
// 把数据传递到redis
this.signalr.SR.invoke('SaveCacheInformation_v3', this.ProductSituationForm.workorderid, '油漆', item.id + '').catch((err) => {
console.log(err)
})
// redis再将数据返回
break
case '设备':
this.signalr.SR.invoke('SaveCacheInformation_v3', this.ProductSituationForm.workorderid, '设备', item.id + '').catch((err) => {
console.log(err)
})
break
case '毛坯':
this.signalr.SR.invoke('SaveCacheInformation_v3', this.ProductSituationForm.workorderid, '毛坯', item.id + '').catch((err) => {
console.log(err)
})
break
case '程序':
this.signalr.SR.invoke('SaveCacheInformation_v3', this.ProductSituationForm.workorderid, '程序', item.id + '').catch((err) => {
console.log(err)
})
break
case '班组操作':
this.signalr.SR.invoke('SaveCacheInformation_v3', this.ProductSituationForm.workorderid, '班组操作', item.id + '').catch((err) => {
console.log(err)
})
break
default:
this.$notify.warning('异常操作,警告')
break
}
},
//todo 数据同步
/*
1.从后台获取数据
*/
//todo 初始话 signalR
/*initSignalR() {
//todo 初始话 signalR
/*initSignalR() {
this.signal = new signalR.HubConnectionBuilder()
//服务器地址
// .withUrl('http://192.168.0.110:8100/myHub', {})
@@ -261,143 +261,142 @@
// this.signalr.SR.invoke('SendMessage', 'All', 'root', '123456').catch((err) => console.log('err', err))
},*/
},
}
</script>
<style lang="scss" scoped>
.title {
font-family: Arial, sans-serif;
font-size: 30px;
color: #303133;
line-height: 1.5;
text-align: center;
}
.grid {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr;
grid-gap: 0.5em;
.a {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
},
}
</script>
<style lang="scss" scoped>
.title {
font-family: Arial, sans-serif;
font-size: 30px;
color: #303133;
line-height: 1.5;
text-align: center;
}
.grid {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr;
grid-gap: 0.5em;
.a {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.b {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.c {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.d {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.e {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.f {
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.grid > * {
height: 250px;
background-color: #ebeef5;
color: white;
border-radius: 0.5em;
}
.grid_sub > * {
height: 60px;
background-color: #11a983;
color: white;
border-radius: 0.2em;
transition: all 0.2s ease-in-out;
&:hover {
cursor: pointer;
box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 #c6e2ff, inset 18px 18px 30px rgba(0, 0, 0, 0.1), inset -18px -18px 30px #c6e2ff;
.b {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.title_Line {
color: #409eff;
font-family: Arial, sans-serif;
font-size: 1.5rem;
text-align: center;
margin-top: 40px;
.c {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.f_item {
margin-top: 10px;
margin-left: 20px;
.d {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.f_name {
color: #dd7118;
font-family: Arial, sans-serif;
font-size: 1.2rem;
.e {
.title_sub {
font-family: Arial, sans-serif;
font-size: 1.5rem;
color: #303133;
text-align: center;
}
.grid_sub {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-gap: 0.5em;
}
}
.context {
margin: 0.5em 1em;
.f {
}
.button_ {
width: 100%;
height: 100%;
}
.grid > * {
height: 250px;
background-color: #ebeef5;
color: white;
border-radius: 0.5em;
}
.grid_sub > * {
height: 60px;
background-color: #11a983;
color: white;
border-radius: 0.2em;
transition: all 0.2s ease-in-out;
&:hover {
cursor: pointer;
box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 #c6e2ff, inset 18px 18px 30px rgba(0, 0, 0, 0.1), inset -18px -18px 30px #c6e2ff;
}
</style>
}
.title_Line {
color: #409eff;
font-family: Arial, sans-serif;
font-size: 1.5rem;
text-align: center;
margin-top: 40px;
}
.f_item {
margin-top: 10px;
margin-left: 20px;
}
.f_name {
color: #dd7118;
font-family: Arial, sans-serif;
font-size: 1.2rem;
}
.context {
margin: 0.5em 1em;
}
.button_ {
width: 100%;
height: 100%;
}
</style>