|
|
@@ -16,9 +16,10 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
- <van-cell class="cell-item28" title="日期时间" :value="formatTime(taskInfo.planStartTime,taskInfo.planEndTime)" />
|
|
|
- <van-cell class="cell-item28" title="受检机构" :value="taskInfo.beCheckedOrgName" />
|
|
|
- <van-cell class="cell-item28" v-if="!enable" title="检查组成员" :value="taskInfo.checkTeam || '无'" />
|
|
|
+ <van-cell class="cell-item28" title="日期时间"
|
|
|
+ :value="formatTime(taskInfo.planStartTime,taskInfo.planEndTime)"/>
|
|
|
+ <van-cell class="cell-item28" title="受检机构" :value="taskInfo.beCheckedOrgName"/>
|
|
|
+ <van-cell class="cell-item28" v-if="!enable" title="检查组成员" :value="taskInfo.checkTeam || '无'"/>
|
|
|
<van-field
|
|
|
v-else
|
|
|
v-model="taskInfo.checkTeam"
|
|
|
@@ -36,17 +37,20 @@
|
|
|
<div class="card">
|
|
|
<p class="legend">检查项<span v-if="enable" @click="addCheck">添加检查内容</span></p>
|
|
|
<!-- 搜索框 -->
|
|
|
- <van-search v-model="itemName" class="van-hairline--top" placeholder="请输入检查内容" />
|
|
|
+ <van-search v-model="itemName" class="van-hairline--top" placeholder="请输入检查内容"/>
|
|
|
<van-collapse v-model="activeNames" v-for="(v,i) in resultList" :key="v.itemId">
|
|
|
<van-collapse-item :title="`${i+1}.${v.itemName}`" :name="v.itemName">
|
|
|
- <div v-for="(item, index) in v.pointList" :key="item.pointId" class="collapse-box" :class="{'van-hairline--bottom':item.status}">
|
|
|
+ <div v-for="(item, index) in v.pointList" :key="item.pointId" class="collapse-box"
|
|
|
+ :class="{'van-hairline--bottom':item.status}">
|
|
|
<van-cell :border="true">
|
|
|
<template #title>
|
|
|
- <pre> <span>{{`${i+1}-${index+1}`}}.</span> {{ item.pointName }}</pre>
|
|
|
+ <pre> <span>{{ `${i + 1}-${index + 1}` }}.</span> {{ item.pointName }}</pre>
|
|
|
</template>
|
|
|
<template #right-icon>
|
|
|
<span v-if="item.nfcList && item.nfcList.length" @click="clickNFCNum(item.nfcList)">
|
|
|
- <span style="color:#009240;">{{ getNfcState(item.nfcList) }}</span>/<span >{{item.nfcList.length}}</span>
|
|
|
+ <span style="color:#009240;">{{
|
|
|
+ getNfcState(item.nfcList)
|
|
|
+ }}</span>/<span>{{ item.nfcList.length }}</span>
|
|
|
</span>
|
|
|
<img
|
|
|
v-if="enable && item.nfcList && item.nfcList.length"
|
|
|
@@ -79,7 +83,7 @@
|
|
|
:key="img.img"
|
|
|
@click="preViewNFC(i)"
|
|
|
>
|
|
|
- <img :src="imgUrl(img.img)" alt="" />
|
|
|
+ <img :src="imgUrl(img.img)" alt=""/>
|
|
|
<span>{{ img.checkName }}</span>
|
|
|
</div>
|
|
|
</van-cell>
|
|
|
@@ -103,14 +107,14 @@
|
|
|
:data-list="dateList"
|
|
|
/>
|
|
|
<div class="upload-box">
|
|
|
- <uploader v-if="enable" :maxCount="5" v-model="item.imgData" />
|
|
|
+ <uploader v-if="enable" :maxCount="5" v-model="item.imgData"/>
|
|
|
<van-cell v-else-if="item.imgData">
|
|
|
<div
|
|
|
class="nfc-img"
|
|
|
v-for="(v, i) in item.imgData"
|
|
|
:key="v.imgPath"
|
|
|
@click="clickWarnImage(item.imgData, i)">
|
|
|
- <img :src="imgUrl(v.imgPath)" alt="" />
|
|
|
+ <img :src="imgUrl(v.imgPath)" alt=""/>
|
|
|
</div>
|
|
|
<!-- <img class="nfc-img" v-for="v in item.imgData" :src="imgUrl(v.imgPath)" alt="" :key="v.id">-->
|
|
|
</van-cell>
|
|
|
@@ -123,11 +127,14 @@
|
|
|
</fieldset>
|
|
|
|
|
|
</div>
|
|
|
+ <van-action-sheet v-model="showSign" title="签署名字" class="sheet">
|
|
|
+ <writingPad ref="esign" @resultImg="resultImg"></writingPad>
|
|
|
+ </van-action-sheet>
|
|
|
<!-- 按钮 -->
|
|
|
<div v-if="enable" class="bottom-box">
|
|
|
<div class="flex-box">
|
|
|
<van-button type="default" plain @click="accredit" v-if="showGrantBtn">授权</van-button>
|
|
|
- <van-button type="info" :disabled="Boolean(!isSubmit)" plain hairline @click="saveData">保存</van-button>
|
|
|
+ <van-button type="info" :disabled="Boolean(!isSubmit)" plain hairline @click="saveData">保存</van-button>
|
|
|
<van-button type="info" :disabled="Boolean(!isSubmit)" @click="submitData">提交</van-button>
|
|
|
</div>
|
|
|
<p v-show="Boolean(!isSubmit)">注:不在任务登记时间内,禁止操作</p>
|
|
|
@@ -144,18 +151,18 @@
|
|
|
<div v-if="unmetList.length > 0" class="nfc-list">
|
|
|
<van-cell v-for="item in unmetList" :title="item.nfcName" :key="item.nfcCode">
|
|
|
<!-- <img :src="require('../../../assets/svg/NFC.svg')" class="nfc-icon"/>-->
|
|
|
-<!-- <span >{{item.pointScan == 1?'必扫':'可选'}}</span>-->
|
|
|
+ <!-- <span >{{item.pointScan == 1?'必扫':'可选'}}</span>-->
|
|
|
</van-cell>
|
|
|
</div>
|
|
|
- <van-empty v-else description="" />
|
|
|
+ <van-empty v-else description=""/>
|
|
|
</van-tab>
|
|
|
<van-tab title="已扫描" name="a">
|
|
|
<div v-if="fullList.length > 0" class="nfc-list">
|
|
|
<van-cell v-for="item in fullList" :title="item.nfcName" :key="item.nfcCode">
|
|
|
- <span style="color: green"> {{item.scanMethod == 0?'NFC扫描':'拍照上传'}}</span>
|
|
|
+ <span style="color: green"> {{ item.scanMethod == 0 ? 'NFC扫描' : '拍照上传' }}</span>
|
|
|
</van-cell>
|
|
|
</div>
|
|
|
- <van-empty v-else description="" />
|
|
|
+ <van-empty v-else description=""/>
|
|
|
</van-tab>
|
|
|
</van-tabs>
|
|
|
</div>
|
|
|
@@ -174,14 +181,18 @@ import DateCell from '@/components/dateCell'
|
|
|
import Uploader from '@/components/upload/gxuploader'
|
|
|
import NfcPopup from '@/components/nfcPopup/more'
|
|
|
import AddCheck from './addCheck'
|
|
|
-import { registerDetail, registerSubmit } from './api'
|
|
|
-import { imgUrl} from '@/utils'
|
|
|
+import {registerDetail, registerSubmit} from './api'
|
|
|
+import {imgUrl} from '@/utils'
|
|
|
import {Dialog, ImagePreview} from 'vant'
|
|
|
-import { mapGetters } from 'vuex'
|
|
|
+import {mapGetters} from 'vuex'
|
|
|
import dayjs from 'dayjs'
|
|
|
+import writingPad from '@/components/writingPad/index.vue'
|
|
|
+import {base64ToBlob} from "@/utils/base64TurnImg";
|
|
|
+import {upload} from "api/public";
|
|
|
+
|
|
|
export default {
|
|
|
name: 'securityDetail',
|
|
|
- components: { NavBar, SelectCell, DateCell, Uploader, NfcPopup, AddCheck },
|
|
|
+ components: {NavBar, SelectCell, DateCell, Uploader, NfcPopup, AddCheck, writingPad},
|
|
|
data() {
|
|
|
return {
|
|
|
id: null,
|
|
|
@@ -202,12 +213,13 @@ export default {
|
|
|
checkNum: 0,
|
|
|
//nfc图片
|
|
|
nfcImage: [],
|
|
|
+ showSign: false,
|
|
|
//是否能提交
|
|
|
- isSubmit:false, //未到提交时间不能提交
|
|
|
+ isSubmit: false, //未到提交时间不能提交
|
|
|
enable: false,
|
|
|
stateList: [],
|
|
|
dayList: [],
|
|
|
- itemName:null,
|
|
|
+ itemName: null,
|
|
|
preViewImages: {
|
|
|
images: [],
|
|
|
startPosition: 0
|
|
|
@@ -216,33 +228,33 @@ export default {
|
|
|
showPreView: false,
|
|
|
selected: null,
|
|
|
active: true,
|
|
|
- dateList:[],
|
|
|
+ dateList: [],
|
|
|
/* 以下为NFC弹窗详情数据*/
|
|
|
- total_show:false,
|
|
|
- fullList:[],
|
|
|
- unmetList:[],
|
|
|
+ total_show: false,
|
|
|
+ fullList: [],
|
|
|
+ unmetList: [],
|
|
|
go: {
|
|
|
type: 'replace',
|
|
|
path: '/securityCheckRegister'
|
|
|
},
|
|
|
- event:null,
|
|
|
+ event: null,
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapGetters(['dictionary',"roleList",'orgId']),
|
|
|
- showGrantBtn(){
|
|
|
+ ...mapGetters(['dictionary', "roleList", 'orgId']),
|
|
|
+ showGrantBtn() {
|
|
|
let userRoleIds = this.roleList.map((r) => r.roleId);
|
|
|
let taskRoleIds = this.taskInfo.checkRoles
|
|
|
? this.taskInfo.checkRoles.map((r) => r.id)
|
|
|
: [];
|
|
|
return (
|
|
|
this.taskInfo.status != 3 &&
|
|
|
- this.taskInfo.planType==3 &&
|
|
|
+ this.taskInfo.planType == 3 &&
|
|
|
this.taskInfo.checkOrgId == this.orgId &&
|
|
|
userRoleIds.find((ur) => taskRoleIds.includes(ur))
|
|
|
);
|
|
|
},
|
|
|
- resultList(){
|
|
|
+ resultList() {
|
|
|
if (!this.itemName) {
|
|
|
return this.checkList;
|
|
|
}
|
|
|
@@ -268,34 +280,34 @@ export default {
|
|
|
clearInterval(this.timer);
|
|
|
},
|
|
|
methods: {
|
|
|
- barGoBack(){
|
|
|
+ barGoBack() {
|
|
|
this.getRouter();
|
|
|
- if(this.fromPages.name === "works"){
|
|
|
+ if (this.fromPages.name === "works") {
|
|
|
this.$router.go(-1);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
this.$router.replace({
|
|
|
- name:'securityCheckRegister',
|
|
|
- path:'/securityCheckRegister',
|
|
|
- params:{event:this.event}
|
|
|
+ name: 'securityCheckRegister',
|
|
|
+ path: '/securityCheckRegister',
|
|
|
+ params: {event: this.event}
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
//点击NFC数字图标
|
|
|
clickNFCNum(arr) {
|
|
|
- arr.forEach(v=>{
|
|
|
- if(v.status){
|
|
|
+ arr.forEach(v => {
|
|
|
+ if (v.status) {
|
|
|
this.fullList.push(v);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
this.unmetList.push(v)
|
|
|
}
|
|
|
})
|
|
|
- this.total_show =true;
|
|
|
+ this.total_show = true;
|
|
|
},
|
|
|
- closedNfcList(){
|
|
|
+ closedNfcList() {
|
|
|
this.fullList = [];
|
|
|
this.unmetList = [];
|
|
|
},
|
|
|
- onClose(){
|
|
|
+ onClose() {
|
|
|
window.openCameraCallBack = null;
|
|
|
window.openNFCScanCallBack = null;
|
|
|
this.$toast.clear();
|
|
|
@@ -304,21 +316,23 @@ export default {
|
|
|
//长度校验
|
|
|
validator(val) {
|
|
|
let len = val.length;
|
|
|
- if( len > 5) {
|
|
|
+ if (len > 5) {
|
|
|
this.$toast.fail('问题情况输入长度不能超过200');
|
|
|
return true
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
return false
|
|
|
}
|
|
|
},
|
|
|
//获取NFC已扫描数据
|
|
|
- getNfcState(arr){
|
|
|
- arr = arr || [];
|
|
|
- let nums = arr.filter(v=>{return v.status === 1});
|
|
|
- return nums.length;
|
|
|
+ getNfcState(arr) {
|
|
|
+ arr = arr || [];
|
|
|
+ let nums = arr.filter(v => {
|
|
|
+ return v.status === 1
|
|
|
+ });
|
|
|
+ return nums.length;
|
|
|
},
|
|
|
//调用nfc
|
|
|
- checkNFC(){
|
|
|
+ checkNFC() {
|
|
|
//设置nfc调用后的回调
|
|
|
window.openNFCScanCallBack = this.openNFCScanCallBack;
|
|
|
//设置loading弹窗
|
|
|
@@ -332,7 +346,7 @@ export default {
|
|
|
let second = 30;
|
|
|
this.timer = setInterval(() => {
|
|
|
second--;
|
|
|
- if(!second){
|
|
|
+ if (!second) {
|
|
|
this.$toast.clear();
|
|
|
clearInterval(this.timer);
|
|
|
this.$toast.fail({
|
|
|
@@ -345,14 +359,14 @@ export default {
|
|
|
this.useNFC();
|
|
|
},
|
|
|
//调用nfc后的回调
|
|
|
- openNFCScanCallBack(nfcStr){
|
|
|
+ openNFCScanCallBack(nfcStr) {
|
|
|
//alert(JSON.stringify(nfcStr))
|
|
|
clearInterval(this.timer);
|
|
|
let nfcCode = '';
|
|
|
- try{
|
|
|
+ try {
|
|
|
let nfc = JSON.parse(nfcStr);
|
|
|
- nfcCode = nfc.content;
|
|
|
- }catch (e) {
|
|
|
+ nfcCode = nfc.content;
|
|
|
+ } catch (e) {
|
|
|
nfcCode = nfcStr.content;
|
|
|
}
|
|
|
// let nfc = JSON.parse(nfcStr);
|
|
|
@@ -361,13 +375,13 @@ export default {
|
|
|
this.checkNfcFilter(nfcCode);
|
|
|
},
|
|
|
//验证nfc数据
|
|
|
- checkNfcFilter(nfcCode){
|
|
|
+ checkNfcFilter(nfcCode) {
|
|
|
//let areaId = null;
|
|
|
- let checkOk = false;
|
|
|
+ let checkOk = false;
|
|
|
//alert(JSON.stringify(this.NFCList,'NFCList'));
|
|
|
this.NFCList.forEach(v => {
|
|
|
- if(v.nfcCode === nfcCode){
|
|
|
- if(v.status === 1){
|
|
|
+ if (v.nfcCode === nfcCode) {
|
|
|
+ if (v.status === 1) {
|
|
|
this.$toast.fail('NFC:' + v.nfcName + '已扫描,请勿重复扫描!');
|
|
|
}
|
|
|
v.status = 1;
|
|
|
@@ -377,17 +391,17 @@ export default {
|
|
|
checkOk = true;
|
|
|
}
|
|
|
});
|
|
|
- if(!checkOk){
|
|
|
- this.$toast.fail( "扫描结果不在本次检查范围内!");
|
|
|
- }else{
|
|
|
+ if (!checkOk) {
|
|
|
+ this.$toast.fail("扫描结果不在本次检查范围内!");
|
|
|
+ } else {
|
|
|
this.saveData();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
//是否显示nfc图标
|
|
|
- nfcState(item){
|
|
|
- if(item.nfcList && item.nfcList.length > 0){
|
|
|
- return item.nfcList.some(v=>{
|
|
|
+ nfcState(item) {
|
|
|
+ if (item.nfcList && item.nfcList.length > 0) {
|
|
|
+ return item.nfcList.some(v => {
|
|
|
return v.status === 0
|
|
|
})
|
|
|
}
|
|
|
@@ -395,8 +409,8 @@ export default {
|
|
|
},
|
|
|
|
|
|
//格式化时间范围
|
|
|
- formatTime(start,end,format){
|
|
|
- format = format || 'YYYY年MM月DD日'
|
|
|
+ formatTime(start, end, format) {
|
|
|
+ format = format || 'YYYY年MM月DD日'
|
|
|
return `${this.dayjs(start).format(format)} ~ ${this.dayjs(end).format(format)}`;
|
|
|
},
|
|
|
//插入检查项
|
|
|
@@ -420,7 +434,7 @@ export default {
|
|
|
}
|
|
|
} else {
|
|
|
this.checkList.push({
|
|
|
- isAdd:1,
|
|
|
+ isAdd: 1,
|
|
|
itemId: valItem.itemId,
|
|
|
itemName: valItem.itemName,
|
|
|
pointList: [valItem]
|
|
|
@@ -433,7 +447,7 @@ export default {
|
|
|
this.active = true
|
|
|
},
|
|
|
getState(state) {
|
|
|
- switch (state){
|
|
|
+ switch (state) {
|
|
|
case '待检查':
|
|
|
return '#008cd6';
|
|
|
case '进行中':
|
|
|
@@ -473,9 +487,9 @@ export default {
|
|
|
this.activeNames = this.checkList.map(v => v.itemName);
|
|
|
//判断是否可提交(在任务时间内)
|
|
|
this.isSubmit = res.data.inRegisterTime;
|
|
|
- this.checkList.forEach(v=>{
|
|
|
- v.pointList.forEach(item=>{
|
|
|
- if(item.status == null ){
|
|
|
+ this.checkList.forEach(v => {
|
|
|
+ v.pointList.forEach(item => {
|
|
|
+ if (item.status == null) {
|
|
|
item.status = 0
|
|
|
}
|
|
|
})
|
|
|
@@ -502,8 +516,8 @@ export default {
|
|
|
this.$toast('保存成功');
|
|
|
this.event = 'refresh';
|
|
|
//this.toPagesFcn();
|
|
|
- }).catch(error=>{
|
|
|
- if( error === '任务已完成'){
|
|
|
+ }).catch(error => {
|
|
|
+ if (error === '任务已完成') {
|
|
|
this.toPagesFcn();
|
|
|
}
|
|
|
})
|
|
|
@@ -519,14 +533,14 @@ export default {
|
|
|
//验证必填项
|
|
|
let pointData = this.checkList.flatMap(v => v.pointList);
|
|
|
let allNfcList = [];
|
|
|
- pointData.forEach(v=>{
|
|
|
- if(v.nfcList && v.nfcList.length > 0){
|
|
|
+ pointData.forEach(v => {
|
|
|
+ if (v.nfcList && v.nfcList.length > 0) {
|
|
|
allNfcList.push(...v.nfcList)
|
|
|
}
|
|
|
})
|
|
|
- if(allNfcList.length > 0){
|
|
|
- let result = allNfcList.some(v=>v.status != 1);
|
|
|
- if(result){
|
|
|
+ if (allNfcList.length > 0) {
|
|
|
+ let result = allNfcList.some(v => v.status != 1);
|
|
|
+ if (result) {
|
|
|
this.$toast('请先扫描NFC标签');
|
|
|
return;
|
|
|
}
|
|
|
@@ -538,15 +552,8 @@ export default {
|
|
|
})
|
|
|
if (arr.length) return this.$toast(`${arr[0].itemName}:该信息不完整请填写`);
|
|
|
this.taskInfo.isSubmit = 1;
|
|
|
- console.log(this.taskInfo,'taskInfo');
|
|
|
- registerSubmit(this.taskInfo).then(res => {
|
|
|
- this.$toast('提交成功');
|
|
|
- this.toPagesFcn();
|
|
|
- }).catch(error=>{
|
|
|
- if( error === '任务已完成'){
|
|
|
- this.toPagesFcn();
|
|
|
- }
|
|
|
- });
|
|
|
+ console.log(this.taskInfo, 'taskInfo');
|
|
|
+ this.signatureHandler()
|
|
|
})
|
|
|
.catch(() => {
|
|
|
// on cancel
|
|
|
@@ -554,21 +561,21 @@ export default {
|
|
|
|
|
|
},
|
|
|
//页面跳转逻辑
|
|
|
- toPagesFcn(){
|
|
|
+ toPagesFcn() {
|
|
|
this.getRouter();
|
|
|
- if(this.fromPages.name === "works"){
|
|
|
+ if (this.fromPages.name === "works") {
|
|
|
this.$router.go(-1)
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
this.$router.replace({
|
|
|
- name:'securityCheckRegister',
|
|
|
- path:'/securityCheckRegister',
|
|
|
- params:{event:'refresh'}
|
|
|
+ name: 'securityCheckRegister',
|
|
|
+ path: '/securityCheckRegister',
|
|
|
+ params: {event: 'refresh'}
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
//授权
|
|
|
accredit() {
|
|
|
- let { checkOrgId, ymdDate, planId, beCheckedOrgId, id } = this.taskInfo
|
|
|
+ let {checkOrgId, ymdDate, planId, beCheckedOrgId, id} = this.taskInfo
|
|
|
this.$router.push({
|
|
|
path: '/addWorker',
|
|
|
query: {
|
|
|
@@ -617,19 +624,52 @@ export default {
|
|
|
})
|
|
|
this.saveData();
|
|
|
},
|
|
|
+ signatureHandler() {
|
|
|
+ this.showSign = true
|
|
|
+ },
|
|
|
+ //上传签名图到服务器
|
|
|
+ resultImg(img) {
|
|
|
+ let obj = base64ToBlob(img)
|
|
|
+ let formData = new FormData()
|
|
|
+
|
|
|
+ obj.name = '签名.jpg'
|
|
|
+ formData.append('file', base64ToBlob(img))
|
|
|
+
|
|
|
+ upload(formData, 'image')
|
|
|
+ .then(res => {
|
|
|
+ console.log(process.env.NODE_ENV)
|
|
|
+ /*上传成功*/
|
|
|
+ this.taskInfo.signImg = process.env.NODE_ENV === 'development' ? res.data.url : res.data.url
|
|
|
+ // this.submitSign(imgUrl)
|
|
|
+ registerSubmit(this.taskInfo).then(res => {
|
|
|
+ this.$toast('提交成功');
|
|
|
+ this.toPagesFcn();
|
|
|
+ }).catch(error => {
|
|
|
+ if (error === '任务已完成') {
|
|
|
+ this.toPagesFcn();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // this.$emit("imgUrl", res.data.url);
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ /*上传失败*/
|
|
|
+ })
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
-.register-edit{
|
|
|
- .van-collapse-item__content{
|
|
|
- padding:0 20px;
|
|
|
+.register-edit {
|
|
|
+ .van-collapse-item__content {
|
|
|
+ padding: 0 20px;
|
|
|
}
|
|
|
}
|
|
|
-.collapse-box{
|
|
|
- .van-cell{
|
|
|
- padding:20px 30px;
|
|
|
- &:last-child{
|
|
|
+
|
|
|
+.collapse-box {
|
|
|
+ .van-cell {
|
|
|
+ padding: 20px 30px;
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
border-bottom: none;
|
|
|
}
|
|
|
}
|
|
|
@@ -639,38 +679,45 @@ export default {
|
|
|
.register-edit {
|
|
|
height: 100%;
|
|
|
overflow: hidden;
|
|
|
+
|
|
|
.page-container {
|
|
|
height: calc(100vh - 262px);
|
|
|
overflow: auto;
|
|
|
padding: 20px;
|
|
|
- -border:1px solid red;
|
|
|
+ -border: 1px solid red;
|
|
|
}
|
|
|
- .bottom-box{
|
|
|
+
|
|
|
+ .bottom-box {
|
|
|
height: 170px;
|
|
|
- padding:20px 20px 20px 20px;
|
|
|
- >P{
|
|
|
+ padding: 20px 20px 20px 20px;
|
|
|
+
|
|
|
+ > P {
|
|
|
padding-left: 10px;
|
|
|
font-size: 22px;
|
|
|
color: red;
|
|
|
line-height: 36px;
|
|
|
}
|
|
|
+
|
|
|
.flex-box {
|
|
|
width: 100%;
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
|
|
|
- >button{
|
|
|
+ > button {
|
|
|
&:first-child {
|
|
|
margin-left: 0;
|
|
|
}
|
|
|
+
|
|
|
&:last-child {
|
|
|
margin-right: 0;
|
|
|
}
|
|
|
- flex:1;
|
|
|
- margin:0 10px;
|
|
|
+
|
|
|
+ flex: 1;
|
|
|
+ margin: 0 10px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.legend {
|
|
|
background-color: #fff;
|
|
|
padding: 0 20px;
|
|
|
@@ -679,20 +726,25 @@ export default {
|
|
|
font-size: 30px;
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
+
|
|
|
> span {
|
|
|
color: orange;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.card {
|
|
|
margin-bottom: 20px;
|
|
|
box-shadow: 0 10px 10px #eaeaea;
|
|
|
+
|
|
|
&:last-child {
|
|
|
margin-bottom: 0;
|
|
|
}
|
|
|
}
|
|
|
- .collapse-box{
|
|
|
+
|
|
|
+ .collapse-box {
|
|
|
-padding-bottom: 10px;
|
|
|
}
|
|
|
+
|
|
|
.check-area {
|
|
|
background-color: #f1f1f1;
|
|
|
margin: 10px;
|
|
|
@@ -704,39 +756,47 @@ export default {
|
|
|
align-items: center;
|
|
|
box-shadow: 0 2px 6px #ddd;
|
|
|
}
|
|
|
+
|
|
|
.nfc-icon {
|
|
|
width: 50px;
|
|
|
height: 50px;
|
|
|
margin: 0 20px;
|
|
|
}
|
|
|
+
|
|
|
.custom-title {
|
|
|
align-self: center;
|
|
|
vertical-align: middle;
|
|
|
}
|
|
|
+
|
|
|
.upload-box {
|
|
|
padding: 30px;
|
|
|
}
|
|
|
+
|
|
|
.warning-msg {
|
|
|
color: orange;
|
|
|
text-align: center;
|
|
|
height: 80px;
|
|
|
line-height: 80px;
|
|
|
}
|
|
|
+
|
|
|
.active {
|
|
|
color: #fff;
|
|
|
background-color: #1989fa;
|
|
|
}
|
|
|
+
|
|
|
.nfc-img {
|
|
|
display: inline-block;
|
|
|
width: 140px;
|
|
|
height: 140px;
|
|
|
margin: 0 10px;
|
|
|
position: relative;
|
|
|
+
|
|
|
> img {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
border: none;
|
|
|
}
|
|
|
+
|
|
|
> span {
|
|
|
position: absolute;
|
|
|
padding: 0 10px;
|
|
|
@@ -754,7 +814,8 @@ export default {
|
|
|
height: 30px;
|
|
|
}
|
|
|
}
|
|
|
- .nfc-list{
|
|
|
+
|
|
|
+ .nfc-list {
|
|
|
min-height: 300px;
|
|
|
max-height: 600px;
|
|
|
overflow: auto;
|
|
|
@@ -769,25 +830,33 @@ export default {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
.select-cell {
|
|
|
- ::v-deep .van-cell__title{
|
|
|
+ ::v-deep .van-cell__title {
|
|
|
min-width: 32%;
|
|
|
}
|
|
|
- ::v-deep .van-cell__value {
|
|
|
- min-width: 68%; //可根据自己需求设定值
|
|
|
+
|
|
|
+ ::v-deep .van-cell__value {
|
|
|
+ min-width: 68%; //可根据自己需求设定值
|
|
|
color: #0e0e0e;
|
|
|
text-align: left;
|
|
|
}
|
|
|
}
|
|
|
- .cell-item28{
|
|
|
- ::v-deep .van-cell__title{
|
|
|
+
|
|
|
+ .cell-item28 {
|
|
|
+ ::v-deep .van-cell__title {
|
|
|
min-width: 22%;
|
|
|
}
|
|
|
- ::v-deep .van-cell__value {
|
|
|
- min-width: 78%; //可根据自己需求设定值
|
|
|
+
|
|
|
+ ::v-deep .van-cell__value {
|
|
|
+ min-width: 78%; //可根据自己需求设定值
|
|
|
color: #0e0e0e;
|
|
|
text-align: left;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .sheet {
|
|
|
+ height: 45%;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|