|
@@ -1,237 +1,215 @@
|
|
|
<!-- 安全信息牌 -->
|
|
|
<template>
|
|
|
- <view id="safetyCard">
|
|
|
- <view class="top-name-max-box">
|
|
|
- <view class="name-box back-ff">
|
|
|
- <view v-for="(minItem,index1) in subject" :key="index1" v-if="minItem.dictValue === itemData.subDept">{{minItem.dictLabel}}</view>
|
|
|
- <view class="color-33">{{itemData.name}}</view>
|
|
|
- </view>
|
|
|
- <view class="address-box color-99">{{itemData.address}}</view>
|
|
|
- </view>
|
|
|
- <view class="text-max-box">
|
|
|
- <view class="text-min-box">
|
|
|
- <view>责任单位:</view>
|
|
|
- <view>{{itemData.deptName}}</view>
|
|
|
- </view>
|
|
|
- <view class="text-min-box">
|
|
|
- <view>实验室负责人:</view>
|
|
|
- <view>{{itemData.adminName}}</view>
|
|
|
- </view>
|
|
|
- <view class="text-min-box">
|
|
|
- <view>联系方式:</view>
|
|
|
- <view>{{itemData.adminPhone}}</view>
|
|
|
- </view>
|
|
|
- <view class="text-min-box">
|
|
|
- <view>安全负责人:</view>
|
|
|
- <view>{{itemData.safeUserName?itemData.safeUserName:'无'}}</view>
|
|
|
- </view>
|
|
|
- <view class="text-min-box">
|
|
|
- <view>联系方式:</view>
|
|
|
- <view>{{itemData.safeUserPhone?itemData.safeUserPhone:'无'}}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="safety-max-box" v-if="itemData.hazardCategory[0]||itemData.riskMeasure[0]||itemData.outfire[0]">
|
|
|
- <view class="max-for-box" v-if="itemData.hazardCategory[0]">
|
|
|
- <view class="title-box">主要危险类别</view>
|
|
|
- <view class="for-box" v-for="(item,index1) in itemData.hazardCategory" :key="index1">
|
|
|
- <view v-for="(minItem,index2) in hazardCategory" :key="index2" v-if="minItem.dictValue == item">● {{minItem.dictLabel}}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="max-for-box" v-if="itemData.riskMeasure[0]">
|
|
|
- <view class="title-box">风控防控措施</view>
|
|
|
- <view class="for-box" v-for="(item,index1) in itemData.riskMeasure" :key="index1">
|
|
|
- <view v-for="(minItem,index2) in riskMeasure" :key="index2" v-if="minItem.dictValue == item">● {{minItem.dictLabel}}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="max-for-box" v-if="itemData.outfire[0]">
|
|
|
- <view class="title-box">灭火要点</view>
|
|
|
- <view class="for-box" v-for="(item,index1) in itemData.outfire" :key="index1">
|
|
|
- <view v-for="(minItem,index2) in extinguishingKeyPoints" :key="index2" v-if="minItem.dictValue == item">● {{minItem.dictLabel}}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <view class="img-bottom-box" v-if="itemData.safeSigns[0]||itemData.qrCode">
|
|
|
- <view class="title-box">安全警示标识</view>
|
|
|
- <view class="for-box" :key="index1">
|
|
|
- <img class="img-ojb" src="@/pages_manage/images/icon_aqxxp_jzxy.png" v-if="item == 'xiyan'" v-for="(item,index) in itemData.safeSigns" :key="index">
|
|
|
- <img class="img-ojb" src="@/pages_manage/images/icon_aqxxp_jzys.png" v-if="item == 'yinshi'" v-for="(item,index) in itemData.safeSigns" :key="index">
|
|
|
- <img class="img-ojb" src="@/pages_manage/images/icon_aqxxp_dxaq.png" v-if="item == 'anquan'" v-for="(item,index) in itemData.safeSigns" :key="index">
|
|
|
- <img class="img-ojb" src="@/pages_manage/images/icon_aqxxp_gzf.png" v-if="item == 'gongzuofu'" v-for="(item,index) in itemData.safeSigns" :key="index">
|
|
|
- <img class="img-ojb" src="@/pages_manage/images/icon_aqxxp_gbmc.png" v-if="item == 'menchuang'" v-for="(item,index) in itemData.safeSigns" :key="index">
|
|
|
- <img class="img-ojb" src="@/pages_manage/images/icon_aqxxp_gbsd.png" v-if="item == 'shuidian'" v-for="(item,index) in itemData.safeSigns" :key="index">
|
|
|
- <img v-if="itemData.qrCode" class="code-img" :src="itemData.qrCode">
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <view class="safetyCard">
|
|
|
+ <view class="liability-unit">责任单位:{{newData.deptName}}</view>
|
|
|
+ <view class="small-title">实验室负责人</view>
|
|
|
+ <view class="sub-head" style="border:none;">
|
|
|
+ <view>{{newData.adminName}}</view>
|
|
|
+ <view>
|
|
|
+ <img src="@/images/basicsModules/icon_14.png">
|
|
|
+ <view>{{newData.adminPhone}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="small-title">安全员</view>
|
|
|
+ <view class="sub-head" v-for="(item,index) in newData.safeUserList">
|
|
|
+ <view>{{item.safeUserName}}</view>
|
|
|
+ <view>
|
|
|
+ <img src="@/images/basicsModules/icon_14.png">
|
|
|
+ <view>{{item.safeUserPhone}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="classify" v-for="(item,index) in newData.labInfoBrandModels">
|
|
|
+ <view v-if="item.privateList.length>0 && item.brandType==1" class="small-title">{{item.brandName}}</view>
|
|
|
+ <view v-if="item.privateList.length>0 && item.brandType==1" class="small-items" v-for="(item2,index2) in item.privateList">
|
|
|
+ <view>● </view>
|
|
|
+ <view>{{item2.infoName}}</view>
|
|
|
+ </view>
|
|
|
+ <view v-if="item.privateList.length>0 && item.brandType==2" class="logotype">{{item.brandName}}</view>
|
|
|
+ <view v-if="item.privateList.length>0 && item.brandType==2" class="logotype-img">
|
|
|
+ <img v-for="(item3,index3) in item.privateList" :src="baseUrl+item3.infoContent">
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 二维码 -->
|
|
|
+ <img v-if="newData.qrCode" class="code-img" :src="newData.qrCode">
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import { getDicts } from '@/api/apiDemo/index.js'
|
|
|
- export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- itemData:{},
|
|
|
- text:"",
|
|
|
- subject:[],
|
|
|
- safetyWarning:[],
|
|
|
- hazardCategory:[],
|
|
|
- riskMeasure:[],
|
|
|
- extinguishingKeyPoints:[]
|
|
|
- }
|
|
|
- },
|
|
|
- onLoad(option) {
|
|
|
- this.getSafetyWarning();
|
|
|
- this.getHazardCategory();
|
|
|
- this.getRiskMeasure();
|
|
|
- this.getExtinguishingKeyPoints();
|
|
|
- this.itemData = JSON.parse(decodeURIComponent(option.item));
|
|
|
- if(this.itemData.safeUserName){
|
|
|
- this.itemData.safeUserName = this.itemData.safeUserName.replace(/,/,'、');
|
|
|
- }
|
|
|
- if(this.itemData.safeUserPhone){
|
|
|
- this.itemData.safeUserPhone = this.itemData.safeUserPhone.replace(/,/,'、');
|
|
|
- }
|
|
|
- if(this.itemData.hazardCategory){
|
|
|
- this.itemData.hazardCategory = this.itemData.hazardCategory.split(',')
|
|
|
- }
|
|
|
- if(this.itemData.riskMeasure){
|
|
|
- this.itemData.riskMeasure = this.itemData.riskMeasure.split(',')
|
|
|
- }
|
|
|
- if(this.itemData.safeSigns){
|
|
|
- this.itemData.safeSigns = this.itemData.safeSigns.split(',')
|
|
|
- }
|
|
|
- if(this.itemData.outfire){
|
|
|
- this.itemData.outfire = this.itemData.outfire.split(',')
|
|
|
- }
|
|
|
- this.subject = JSON.parse(decodeURIComponent(option.subject));
|
|
|
- },
|
|
|
- methods: {
|
|
|
- async getSafetyWarning(){
|
|
|
- const {data} = await getDicts('sys_safety_warning');
|
|
|
- if(data.code == 200){
|
|
|
- this.safetyWarning = data.data;
|
|
|
- }
|
|
|
- },
|
|
|
- async getHazardCategory(){
|
|
|
- const {data} = await getDicts('sys_hazard_category');
|
|
|
- if(data.code == 200){
|
|
|
- this.hazardCategory = data.data;
|
|
|
- }
|
|
|
- },
|
|
|
- async getRiskMeasure(){
|
|
|
- const {data} = await getDicts('sys_risk_measure');
|
|
|
- if(data.code == 200){
|
|
|
- this.riskMeasure = data.data;
|
|
|
- }
|
|
|
- },
|
|
|
- async getExtinguishingKeyPoints(){
|
|
|
- const {data} = await getDicts('sys_extinguishing_key_points');
|
|
|
- if(data.code == 200){
|
|
|
- this.extinguishingKeyPoints = data.data;
|
|
|
- }
|
|
|
- },
|
|
|
- }
|
|
|
- }
|
|
|
+ import {} from '@/api/basicsModules/index.js'
|
|
|
+ import { config } from '@/api/request/config.js'
|
|
|
+ export default {
|
|
|
+ name: "safetyCard",
|
|
|
+ props: {
|
|
|
+ subjectData: {},
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ baseUrl:config.base_url,
|
|
|
+ newData:{
|
|
|
+ data1:'学院名称',
|
|
|
+ data2:'曹秀康',
|
|
|
+ data3:'155222663355',
|
|
|
+ data4:[{name:'曹秀康',phone:'155222663355'},{name:'曹秀康',phone:'155222663355'},],
|
|
|
+ data5:[
|
|
|
+ { type:1,
|
|
|
+ name:'主要危险类别',
|
|
|
+ child:[{name:'火灾'},{name:'盗窃'},{name:'高温'},{name:'化学试剂使用不当引发的燃烧、爆炸等风险化学试剂使用不当引发的燃烧、爆炸等风险'},]
|
|
|
+ },
|
|
|
+ { type:1,
|
|
|
+ name:'风险防控措施',
|
|
|
+ child:[{name:'配备灭火器、灭火毯'},{name:'安装监控、无人时关闭门窗'}]
|
|
|
+ },
|
|
|
+ { type:1,
|
|
|
+ name:'灭火要点',
|
|
|
+ child:[{name:'干粉灭火'},{name:'灭火毯灭火'}]
|
|
|
+ },
|
|
|
+ { type:2,
|
|
|
+ name:'安全警示标识',
|
|
|
+ child:[
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ {img: require('@/images/basicsModules/icon_yw_yc.png')},
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ qrCode:require('@/images/basicsModules/icon_yw_yc.png'),
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.$set(this, 'newData',this.subjectData);
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+
|
|
|
+ },
|
|
|
+ }
|
|
|
</script>
|
|
|
|
|
|
<style lang="stylus" scoped>
|
|
|
- #safetyCard{
|
|
|
- height:100%;
|
|
|
- overflow-y:scroll;
|
|
|
- overflow-x hidden
|
|
|
- .top-name-max-box{
|
|
|
- background #fff
|
|
|
- overflow hidden
|
|
|
- .name-box{
|
|
|
- margin:27rpx 20rpx 0;
|
|
|
- display:flex;
|
|
|
- view:nth-child(1){
|
|
|
- background:#f95f5f;
|
|
|
- color:#fff;
|
|
|
- border-radius:6rpx;
|
|
|
- font-size:20rpx;
|
|
|
- padding:0 10rpx;
|
|
|
- height:42rpx;
|
|
|
- line-height:42rpx;
|
|
|
- }
|
|
|
- view:nth-child(2){
|
|
|
- color:#333;
|
|
|
- margin-left:20rpx;
|
|
|
- font-size:28rpx;
|
|
|
- height:30rpx;
|
|
|
- line-height:42rpx;
|
|
|
- font-weight:700;
|
|
|
- }
|
|
|
- }
|
|
|
- .address-box{
|
|
|
- margin:22rpx 20rpx;
|
|
|
- font-size:26rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- .text-max-box{
|
|
|
- margin-top:20rpx;
|
|
|
- background #fff
|
|
|
- padding:8rpx 20rpx;
|
|
|
- .text-min-box{
|
|
|
- display:flex;
|
|
|
- view{
|
|
|
- line-height:66rpx;
|
|
|
- height:66rpx;
|
|
|
- font-size:28rpx;
|
|
|
- }
|
|
|
- view:nth-child(1){
|
|
|
- width:220rpx;
|
|
|
- color:#333;
|
|
|
- }
|
|
|
- view:nth-child(2){
|
|
|
- flex:1;
|
|
|
- color:#999;
|
|
|
- text-align:right;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .safety-max-box{
|
|
|
- margin-top:20rpx;
|
|
|
- background #fff
|
|
|
- padding:8rpx 20rpx;
|
|
|
- .max-for-box{
|
|
|
- .title-box{
|
|
|
- line-height:76rpx;
|
|
|
- font-size:28rpx;
|
|
|
- color:#333;
|
|
|
- }
|
|
|
- .for-box{
|
|
|
- line-height:48rpx;
|
|
|
- font-size:26rpx;
|
|
|
- color:#999;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .img-bottom-box{
|
|
|
- margin-top:20rpx;
|
|
|
- background #fff
|
|
|
- padding:8rpx 20rpx 20rpx;
|
|
|
- .title-box{
|
|
|
- line-height:76rpx;
|
|
|
- font-size:28rpx;
|
|
|
- color:#333;
|
|
|
- }
|
|
|
- .for-box{
|
|
|
- line-height:48rpx;
|
|
|
- font-size:26rpx;
|
|
|
- color:#999;
|
|
|
- .img-ojb{
|
|
|
- display inline-block
|
|
|
- width:86rpx;
|
|
|
- height:114rpx;
|
|
|
- margin-right:20rpx;
|
|
|
- }
|
|
|
- .code-img{
|
|
|
- width:200rpx;
|
|
|
- height:200rpx;
|
|
|
- margin:20rpx auto 40rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-</style>
|
|
|
+ .safetyCard {
|
|
|
+ width: 750rpx;
|
|
|
+ .liability-unit{
|
|
|
+ width: 750rpx;
|
|
|
+ height: 100rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #222222;
|
|
|
+ line-height: 100rpx;
|
|
|
+ padding-left: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #fff;
|
|
|
+ }
|
|
|
+ .small-title{
|
|
|
+ width: 750rpx;
|
|
|
+ height: 100rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: #222222;
|
|
|
+ line-height: 100rpx;
|
|
|
+ padding-left: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ .sub-head{
|
|
|
+ width: 750rpx;
|
|
|
+ height: 100rpx;
|
|
|
+ background: #fff;
|
|
|
+ padding:0 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ border-bottom: 1rpx solid #E0E0E0;
|
|
|
+ >view:nth-of-type(1){
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #999999;
|
|
|
+ line-height: 30rpx;
|
|
|
+ }
|
|
|
+ >view:nth-of-type(2){
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ align-items: center;
|
|
|
+ >img{
|
|
|
+ width: 34rpx;
|
|
|
+ height: 34rpx;
|
|
|
+ margin-right: 14rpx;
|
|
|
+ }
|
|
|
+ >view{
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #0183FA;
|
|
|
+ line-height: 30rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .sub-head:last-child{
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+ .classify{
|
|
|
+ .small-items{
|
|
|
+ padding-left: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #fff;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ padding: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ >view:nth-of-type(1){
|
|
|
+ color: #999999;
|
|
|
+ margin-right: 12rpx;
|
|
|
+ }
|
|
|
+ >view:nth-of-type(2){
|
|
|
+ display: block;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 28rpx;
|
|
|
+ line-height: 34rpx;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ .logotype{
|
|
|
+ width: 750rpx;
|
|
|
+ height: 100rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: #333333;
|
|
|
+ line-height: 100rpx;
|
|
|
+ padding-left: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #0183FA;
|
|
|
+ }
|
|
|
+ .logotype-img{
|
|
|
+ padding: 26rpx 0 34rpx 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #fff;
|
|
|
+ >img{
|
|
|
+ display: inline-block;
|
|
|
+ width: 86rpx;
|
|
|
+ height: 114rpx;
|
|
|
+ margin-left: 30rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .code-img{
|
|
|
+ width: 178rpx;
|
|
|
+ height: 178rpx;
|
|
|
+ margin: 22rpx 0 50rpx 276rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|