|
|
@@ -15,13 +15,40 @@
|
|
|
v-show="tabPosition == 'first'"
|
|
|
>
|
|
|
<img
|
|
|
- style="width: 1250px; height: 700px"
|
|
|
+ style="width: 1250px; height: 700px;"
|
|
|
src="@/assets/images/marsBg.png"
|
|
|
alt=""
|
|
|
/>
|
|
|
- <img style="width: 35px;height: 35px;position: absolute;top:220px;left: 720px;"
|
|
|
- src="@/assets/images/marsPoint.png" alt=""
|
|
|
- >
|
|
|
+ <img
|
|
|
+ v-for="(ticket, index) in TicketListPage"
|
|
|
+ :key="ticket.ticketId"
|
|
|
+ :style="{
|
|
|
+ width: '35px',
|
|
|
+ cursor: 'pointer',
|
|
|
+ height: '35px',
|
|
|
+ position: 'absolute',
|
|
|
+ top: '220px',
|
|
|
+ left: `calc(700px + 40px * ${index})`
|
|
|
+ }"
|
|
|
+ :src="require('@/assets/images/marsPoint.png')"
|
|
|
+ alt=""
|
|
|
+ @click="handleTicketClick(ticket)"
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ v-for="(ticket, index) in COCOTicketListPage"
|
|
|
+ :key="ticket.ticketId"
|
|
|
+ :style="{
|
|
|
+ width: '35px',
|
|
|
+ cursor: 'pointer',
|
|
|
+ height: '35px',
|
|
|
+ position: 'absolute',
|
|
|
+ top: '440px',
|
|
|
+ left: `calc(880px + 40px * ${index})`
|
|
|
+ }"
|
|
|
+ :src="require('@/assets/images/marsPoint.png')"
|
|
|
+ alt=""
|
|
|
+ @click="handleTicketClick(ticket)"
|
|
|
+ />
|
|
|
<div class="deptXLG" @click="handelChange('second',8,'R&R')"
|
|
|
>R&R
|
|
|
</div>
|
|
|
@@ -94,9 +121,21 @@
|
|
|
<div class="left-bottom">
|
|
|
<el-card class="box-card" style="margin: 10px">
|
|
|
<div slot="header" class="clearfix">
|
|
|
- <span>LOTO站信息</span>
|
|
|
+ <span>锁定站信息</span>
|
|
|
</div>
|
|
|
- <MapData style="width: 300px;height: 320px;margin-left: 35%" :machineryId="this.machineryId"></MapData>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="9">
|
|
|
+ <el-table :data="selectPointList">
|
|
|
+ <el-table-column prop="pointName" label="隔离点"></el-table-column>
|
|
|
+ <el-table-column prop="powerTypeName" label="危险能量类型"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <MapData style="width: 300px;height: 320px;margin-left: 15%" :machineryId="this.machineryId"></MapData>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -117,13 +156,14 @@
|
|
|
<div style="width: 700px; height: 600px">
|
|
|
<div style="width: 100%; height: 100px">
|
|
|
<div>
|
|
|
- <el-table :data="EightStepForm" :show-header="false" style="margin-top: 100px">
|
|
|
- <el-table-column label="" prop="stepIndex">
|
|
|
+ <!-- :show-header="false"-->
|
|
|
+ <el-table :data="EightStepForm" style="margin-top: 60px">
|
|
|
+ <el-table-column label="步骤" prop="stepIndex">
|
|
|
<template slot-scope="scope">
|
|
|
<span>第{{ scope.row.stepIndex }}步</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="" prop="number">
|
|
|
+ <el-table-column label="步骤" prop="number">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.lockNum !== null">
|
|
|
<i class="el-icon-goods">{{ scope.row.lockNum }}</i>
|
|
|
@@ -136,7 +176,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="" prop="stepStatus">
|
|
|
+ <el-table-column label="状态" prop="stepStatus">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.stepStatus !== '1'">
|
|
|
<el-button type="primary" plain size="small" @click="addInside(scope.row)"
|
|
|
@@ -159,16 +199,32 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- label=""
|
|
|
+ label="内容"
|
|
|
prop="stepContent"
|
|
|
width="300"
|
|
|
></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="详情"
|
|
|
+ prop=""
|
|
|
+
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="scope.row.stepIndex == '5'||scope.row.stepIndex == '1'||scope.row.stepIndex == '8'">
|
|
|
+ <el-button type="text" size="small" @click="checkDetail(scope.row)"
|
|
|
+ >查看</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <el-button style="float:right" type="primary" @click="finshJobticket">结束作业</el-button>
|
|
|
+ <el-button style="float:right;margin-right: 10px" type="danger" @click="cancelJobticket">取消作业</el-button>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -261,7 +317,7 @@
|
|
|
stripe
|
|
|
height="400"
|
|
|
>
|
|
|
- <el-table-column type="selection" width="55" align="center"/>
|
|
|
+<!-- <el-table-column type="selection" width="55" align="center"/>-->
|
|
|
<!-- <el-table-column prop="userId" label="外部人员Id">-->
|
|
|
<!-- </el-table-column>-->
|
|
|
<el-table-column
|
|
|
@@ -280,7 +336,7 @@
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<span style="color: #2a87ff">{{
|
|
|
- scope.row.userType=='0'?'内部':'外部'
|
|
|
+ scope.row.userType == '0' ? '内部' : '外部'
|
|
|
}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -308,6 +364,175 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <!-- 第五步查看作业详情弹窗-->
|
|
|
+ <el-dialog :visible.sync="FiveDetailvisible"
|
|
|
+ width="1000px"
|
|
|
+
|
|
|
+ append-to-body
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-card class="box-cardStatus">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span style="font-weight: bolder">作业状态</span>
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :data="jobTicket"
|
|
|
+ :header-cell-style="{ 'text-align': 'center' }"
|
|
|
+ :cell-style="{ 'text-align': 'center' }"
|
|
|
+ >
|
|
|
+ <el-table-column label="作业编号" prop="ticketId">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="作业名称" prop="ticketName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="状态" align="center" prop="ticketStatus">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <dict-tag
|
|
|
+ :options="dict.type.ticket_status"
|
|
|
+ :value="scope.row.ticketStatus"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="上锁钥匙" prop="lockKeyName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="解锁钥匙" prop="colockKeyName">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="7" style="height: 400px">
|
|
|
+ <el-card class="box-card1">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span style="font-weight: bolder">人员状态</span>
|
|
|
+ </div>
|
|
|
+ <el-table :data="lockUserList">
|
|
|
+ <el-table-column label="上锁人" prop="userName"></el-table-column>
|
|
|
+ <el-table-column label="状态" align="center" prop="jobStatus">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div
|
|
|
+ class="box"
|
|
|
+ style="
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ border: 1px solid black;
|
|
|
+ background-color: white;
|
|
|
+ margin: 0 auto;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ scope.row.jobStatus == 0 ||
|
|
|
+ scope.row.jobStatus == 1 ||
|
|
|
+ scope.row.jobStatus == 2 ||
|
|
|
+ scope.row.jobStatus == 3
|
|
|
+ "
|
|
|
+ ></span>
|
|
|
+ <!-- 显示错号 -->
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.jobStatus == 4"
|
|
|
+ style="font-size: 20px; line-height: 30px"
|
|
|
+ >🔒</span
|
|
|
+ >
|
|
|
+ <!-- 显示对号 -->
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.jobStatus == 5"
|
|
|
+ style="font-size: 20px; line-height: 30px"
|
|
|
+ >✓</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="box-cardgsr">
|
|
|
+ <el-table :data="colockUserList">
|
|
|
+ <el-table-column label="共锁人" prop="userName"></el-table-column>
|
|
|
+ <el-table-column label="状态" align="center" prop="jobStatus">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div
|
|
|
+ class="box"
|
|
|
+ style="
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ border: 1px solid black;
|
|
|
+ background-color: white;
|
|
|
+ margin: 0 auto;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ scope.row.jobStatus == 0 ||
|
|
|
+ scope.row.jobStatus == 1 ||
|
|
|
+ scope.row.jobStatus == 2 ||
|
|
|
+ scope.row.jobStatus == 3
|
|
|
+ "
|
|
|
+ ></span>
|
|
|
+ <!-- 显示错号 -->
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.jobStatus == 4"
|
|
|
+ style="font-size: 20px; line-height: 30px"
|
|
|
+ >🔒</span
|
|
|
+ >
|
|
|
+ <!-- 显示对号 -->
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.jobStatus == 5"
|
|
|
+ style="font-size: 20px; line-height: 30px"
|
|
|
+ >✓</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-card class="box-card2">
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
+ <span style="font-weight: bolder">隔离点状态</span>
|
|
|
+ </div>
|
|
|
+ <el-table :data="ticketPointsList">
|
|
|
+ <el-table-column label="隔离点" prop="pointName" width="80">
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="状态" align="center" prop="pointStatus">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div
|
|
|
+ class="box"
|
|
|
+ style="
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ border: 1px solid black;
|
|
|
+ background-color: white;
|
|
|
+ margin: 0 auto;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span v-if="scope.row.pointStatus == 0" style=""></span>
|
|
|
+ <!-- 显示错号 -->
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.pointStatus == 1"
|
|
|
+ style="font-size: 20px; line-height: 30px"
|
|
|
+ >🔒</span
|
|
|
+ >
|
|
|
+ <!-- 显示对号 -->
|
|
|
+ <span
|
|
|
+ v-else-if="scope.row.pointStatus == 2"
|
|
|
+ style="font-size: 20px; line-height: 30px"
|
|
|
+ >✓</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="挂锁名称" prop="lockName">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="锁具机构" prop="locksetName"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button v-no-more-click @click="cancel">关 闭</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
@@ -317,14 +542,23 @@ import { listMarsDept } from '@/api/system/marsdept'
|
|
|
import { getTechnologyInfo, listTechnology } from '@/api/system/machinery'
|
|
|
import Template from '@/views/print/printtemplate/list.vue'
|
|
|
import { getIsMarsSopPage } from '@/api/mes/sop/sopindex'
|
|
|
-import { addJobTicket, addJobUsers, getJobTicketInfo, getStepInfo, updateJobStep } from '@/api/mes/job/job'
|
|
|
+import {
|
|
|
+ addJobTicket,
|
|
|
+ addJobUsers,
|
|
|
+ getJobTicketInfo, getStepEight,
|
|
|
+ getStepInfo, getWorkstationTicketList, listJobTicket,
|
|
|
+ updateJobStep, updateJobToCancel,
|
|
|
+ updateJobToFinish
|
|
|
+} from '@/api/mes/job/job'
|
|
|
import MapData from '@/views/mes/job/jobm/Mapdata.vue'
|
|
|
import { getUserList } from '@/api/mes/workCard'
|
|
|
+import { getJobPlayTicketInfo } from '@/api/mes/jobplay/jobplay'
|
|
|
+import { getLotoInfo, getLotoMapInfo } from '@/api/mes/lotoStation/lotoStation'
|
|
|
|
|
|
export default {
|
|
|
name: 'NewSop',
|
|
|
components: { Template, MapData },
|
|
|
- dicts: ['sop_type'],
|
|
|
+ dicts: ['sop_type', 'ticket_status'],
|
|
|
data() {
|
|
|
return {
|
|
|
tabPosition: 'first',
|
|
|
@@ -332,6 +566,7 @@ export default {
|
|
|
marsSopPage: [],//岗位对应sop列表
|
|
|
marsSopTitle: '',//岗位后 对应展示sop
|
|
|
marsDeptList: [],
|
|
|
+ listLockerOption: [],//上锁人下拉数据
|
|
|
form: null,//存储选中的设备工艺sop列表数据
|
|
|
machineryImg: null,//第三步作业执行渲染设备工艺图片
|
|
|
machineryId: null,//第三步作业执行渲染电柜的数据
|
|
|
@@ -349,7 +584,15 @@ export default {
|
|
|
// 弹出层标题
|
|
|
title: '',
|
|
|
// 弹框中显示的form表单内容
|
|
|
- newticketUserDTOList: [] //为了上锁人单独传递数据
|
|
|
+ newticketUserDTOList: [], //为了上锁人单独传递数据
|
|
|
+ FiveDetailvisible: false,//第五步详情弹窗
|
|
|
+ ticketPointsList: [],//第五步详情的隔离点信息
|
|
|
+ colockUserList: [],//第五步详情的共锁人信息
|
|
|
+ lockUserList: [],//第五步详情的上锁人信息
|
|
|
+ jobTicket: [],//第五步详情的作业票信息
|
|
|
+ TicketListPage: [],//作业票列表page接口传递的数据 底图循环渲染图标 RR岗位作业票
|
|
|
+ selectPointList:[],//隔离点选中的表格渲染
|
|
|
+ COCOTicketListPage:[],//CCO岗位的作业票
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -363,11 +606,42 @@ export default {
|
|
|
this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleTicketClick(data) {
|
|
|
+ console.log(data, '查看作业票详情')
|
|
|
+ this.ticketId=data.ticketId
|
|
|
+ this.tabPosition='third'
|
|
|
+ getStepInfo(this.ticketId).then((res) => {
|
|
|
+ this.EightStepForm = res.data
|
|
|
+ console.log(res, '作业票-详细信息')
|
|
|
+ })
|
|
|
+ this.machineryId=data.machineryId
|
|
|
+ // 获取设备工艺图
|
|
|
+ getTechnologyInfo(data.machineryId).then((res) => {
|
|
|
+ this.machineryImg = res.data.machineryImg
|
|
|
+ // 获取电柜选中隔离点
|
|
|
+ const lotoId=res.data.lotoId
|
|
|
+ const selectPointsIds=res.data.pointIdList
|
|
|
+
|
|
|
+ getLotoMapInfo(lotoId).then((response) => {
|
|
|
+ console.log(response, '电柜信息--NewMarsJob')
|
|
|
+ this.selectPointList = response.data.filter((item) =>
|
|
|
+ selectPointsIds.includes(item.pointId)
|
|
|
+ );
|
|
|
+ console.log(this.selectPointList, '拿到的选中隔离点数据');
|
|
|
+ })
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
getList() {
|
|
|
const data = {
|
|
|
pages: 1,
|
|
|
size: -1
|
|
|
}
|
|
|
+ getWorkstationTicketList(data).then((res) => {
|
|
|
+ console.log(res, '查看-正在进行中作业票列表')
|
|
|
+ this.TicketListPage = res.data.filter((item) =>item.workstationId=='8')
|
|
|
+ this.COCOTicketListPage=res.data.filter((item) =>item.workstationId=='7')
|
|
|
+ })
|
|
|
listTechnology(data).then((res) => {
|
|
|
console.log(res, 'technologyList')
|
|
|
this.technologyList = res.data.records
|
|
|
@@ -491,10 +765,10 @@ export default {
|
|
|
userId: item.userId,
|
|
|
userType: 0,
|
|
|
userRole: 'jtcolocker'
|
|
|
- });
|
|
|
+ })
|
|
|
}
|
|
|
- });
|
|
|
- console.log(this.AllUserTable, '内部人员');
|
|
|
+ })
|
|
|
+ console.log(this.AllUserTable, '内部人员')
|
|
|
},
|
|
|
|
|
|
OutSelectionChange(selection) {
|
|
|
@@ -505,10 +779,10 @@ export default {
|
|
|
userId: item.userId,
|
|
|
userType: 1,
|
|
|
userRole: 'jtcolocker'
|
|
|
- });
|
|
|
+ })
|
|
|
}
|
|
|
- });
|
|
|
- console.log(this.AllUserTable, '外部人员');
|
|
|
+ })
|
|
|
+ console.log(this.AllUserTable, '外部人员')
|
|
|
},
|
|
|
confirmAddUser() {
|
|
|
const data = {
|
|
|
@@ -518,11 +792,11 @@ export default {
|
|
|
console.log(data, '添加人员')
|
|
|
addJobUsers(data).then((res) => {
|
|
|
console.log(res, '添加人员')
|
|
|
- if(res.data){
|
|
|
+ if (res.data) {
|
|
|
this.$message.success('分配人员成功')
|
|
|
- this.open=false;
|
|
|
- this.AllUserTable = [];
|
|
|
- this.dialogForm.locker=''
|
|
|
+ this.open = false
|
|
|
+ this.AllUserTable = []
|
|
|
+ this.dialogForm.locker = ''
|
|
|
getStepInfo(this.ticketId).then((res) => {
|
|
|
this.EightStepForm = res.data
|
|
|
console.log(res, '作业票-详细信息')
|
|
|
@@ -546,8 +820,60 @@ export default {
|
|
|
// 取消按钮
|
|
|
cancel() {
|
|
|
this.open = false
|
|
|
- }
|
|
|
+ this.FiveDetailvisible = false
|
|
|
+ },
|
|
|
+ // 作业票结束
|
|
|
+ finshJobticket() {
|
|
|
+ const data = {
|
|
|
+ ticketId: this.ticketId
|
|
|
+ }
|
|
|
+ updateJobToFinish(data).then((res) => {
|
|
|
+ console.log(res, '结束作业票')
|
|
|
+ if (res.data) {
|
|
|
+ this.$message.success('作业票结束')
|
|
|
+ this.tabPosition = 'first'
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 作业票取消
|
|
|
+ cancelJobticket() {
|
|
|
+ const data = {
|
|
|
+ ticketId: this.ticketId
|
|
|
+ }
|
|
|
+ updateJobToCancel(data).then((res) => {
|
|
|
+ console.log(res, '取消作业票')
|
|
|
+ if (res.data) {
|
|
|
+ this.$message.success('作业票取消')
|
|
|
+ this.tabPosition = 'first'
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 查看详情八大步骤
|
|
|
+ checkDetail(row) {
|
|
|
+ if (row.stepIndex == '5') {
|
|
|
+ this.FiveDetailvisible = true
|
|
|
+ let ticketId = this.ticketId
|
|
|
+ getJobPlayTicketInfo(ticketId).then((res) => {
|
|
|
+ console.log(res, '作业执行详细信息')
|
|
|
+ this.jobTicket = [res.data.jobTicket].map((item) => ({
|
|
|
+ ...item,
|
|
|
+ lockKeyName: res.data.lockKeyName,
|
|
|
+ colockKeyName: res.data.colockKeyName
|
|
|
+ }))
|
|
|
+ this.lockUserList = res.data.lockUserList
|
|
|
+ this.colockUserList = res.data.colockUserList
|
|
|
+ this.ticketPointsList = res.data.ticketPointsList
|
|
|
+ })
|
|
|
+ } else if (row.stepIndex == '8') {
|
|
|
+ let ticketId = this.ticketId
|
|
|
+ getStepEight(ticketId).then((res) => {
|
|
|
+ console.log(res, '第八步查看作业票数据')
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -581,4 +907,63 @@ export default {
|
|
|
color: #fff;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+
|
|
|
+.box-cardStatus {
|
|
|
+ width: 850px;
|
|
|
+ margin: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.box-card1 {
|
|
|
+ width: 250px;
|
|
|
+ margin: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.box-cardgsr {
|
|
|
+ width: 250px;
|
|
|
+ height: auto;
|
|
|
+ margin: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.box-card2 {
|
|
|
+ width: 560px;
|
|
|
+ margin: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.status-container {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background: pink;
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+
|
|
|
+.box {
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ border: 1px solid #e7e5e5;
|
|
|
+ background-color: rgb(209, 77, 77);
|
|
|
+}
|
|
|
+
|
|
|
+.error-icon {
|
|
|
+ color: red;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
+.success-icon {
|
|
|
+ color: green;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
+//滚动条的宽度
|
|
|
+::-webkit-scrollbar {
|
|
|
+ width: 8px;
|
|
|
+ height: 8px;
|
|
|
+ background-color: #e4e4e4;
|
|
|
+ border-radius: 6px;
|
|
|
+}
|
|
|
+
|
|
|
+//滚动条的滑块
|
|
|
+::-webkit-scrollbar-thumb {
|
|
|
+ background-color: #a1a3a9;
|
|
|
+ border-radius: 6px;
|
|
|
+}
|
|
|
</style>
|