hldy_xcx/pages/addoldman/oldmanall.vue

427 lines
10 KiB
Vue

<template>
<div class="container">
<!-- <u-modal v-model="show" :content="content"></u-modal> -->
<model :show="show" @close="show=false" :content="content" />
<image class="greenbgc" src="https://www.focusnu.com/media/directive/index/greenbgc.png" />
<!-- <view class="title-back">
<view class="left-father" @click="goBack">
<image class="back-img" src="https://www.focusnu.com/media/directive/index/left.png" />
<view style="font-size: 30rpx;">长者信息</view>
</view>
</view> -->
<view class="title-back" :style="{height:`${uni.getStorageSync('moveHeight')+40}px`}">
<view class="left-father" @click="goBack">
<image class="back-img" src="https://www.focusnu.com/media/directive/index/left.png" />
<view style="font-size: 30rpx;">长者信息</view>
</view>
</view>
<view :style="{height:`${uni.getStorageSync('moveHeight') + 30}px`}"></view>
<view class="white-content">
<view class="content-title" style="margin: 20rpx 0;justify-content: space-between;">
<view style="display: flex;">
<view class="shu"></view>
<view class="content-weight" style="margin-top: -2rpx;">身份证</view>
<image class="shu-img"
:src="applyStatus? `https://www.focusnu.com/media/directive/index/${statusarray[applyStatus-1]}.png`:``" />
</view>
<view class="small-blue" @click="changeMessage" v-if="!applyStatus">
修改长者信息
</view>
</view>
</view>
<view class="white-content">
<view class="white-photo" @click="getMessage(`${media_base_url}${specialImge}`)">
<view class="photo-left">
<view class="photo-weight">人像面</view>
<view class="photo-font">请上传身份证人像面</view>
</view>
<view style="position: relative;">
<image class="photo"
:src="specialImge ? `${media_base_url}${specialImge}` : `https://www.focusnu.com/media/directive/index/IDcard.png`" />
<image v-if="!specialImge"
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
</view>
</view>
<view class="white-photo" style="margin-top: 30rpx;"
@click="getMessage(`${media_base_url}${endphoto}`)">
<view class="photo-left">
<view class="photo-weight">国徽面</view>
<view class="photo-font">请上传身份证国徽面</view>
</view>
<view style="position: relative;">
<image class="photo"
:src="endphoto ? `${media_base_url}${endphoto}` : `https://www.focusnu.com/media/directive/index/backIDcard.png`" />
<image v-if="!endphoto"
style="position: absolute;top: 50%;left: 50%;width: 70rpx;height: 60rpx;transform: translate(-50%,-50%);"
src="https://www.focusnu.com/media/directive/index/takephoto.png" />
</view>
</view>
<view class="content-title" style="margin: 20rpx 0;">
<view class="shu"></view>
<view class="content-weight">确认身份证信息</view>
</view>
<view class="white-message">
<view>
<view v-for="(item,index) in nameArray" :key="index" class="one"
@click="openLook(textArray[index])">
<view class="one-left">{{item}}</view>
<view class="one-right">{{textArray[index] ? textArray[index] : "自动获取" }}</view>
</view>
</view>
</view>
</view>
<view style="display: flex;width: 100%;margin-top: 40rpx;"></view>
</div>
</template>
<script setup>
import {
ref,
reactive
} from 'vue'
import {
onLoad
} from '@dcloudio/uni-app';
import {
media_base_url
} from '@/request/index.js';
import {
getrel
} from '@/pages/addjigou/api/addjigou.js';
import model from "@/compontent/public/model.vue"
import {
swapLongTerm
} from '@/compontent/public/long.js'
const show = ref(false);
const content = ref("");
const statusarray = ["loading", "success", "fail"]
const nameArray = ["姓名", "性别", "身份证号码", "民族", "出生日期", "住址", "签发机关", "有效期限"];
const textArray = reactive(["", "", "", "", "", "", "", ""]);
const headImge = ref("");
const headImge0 = ref("");
const fontphoto0 = ref("")
const endphoto0 = ref("")
const imgArray = ref(["", "", "", ""])
const nameArray0 = ["开户行", "开户行卡号"];
const textArray0 = reactive(["", "", ]);
const nameArray1 = ["婚否", "联系电话", "身高", "体重", "健康状态", "政治面貌", "紧急联系人", "紧急联系人电话", "联系人与本人关系", "户口性质", ];
const textArray1 = reactive(["", "", "", "", "", "", "", "", "", ""]);
const backImge = ref("");
const states = ["待提交", "审核中", "审核通过", "审核未通过"];
const fontphoto = ref("");
const endphoto = ref("");
const statesTarget = ref(0);
// 本地保存的临时文件路径
const tempImagePath = ref('')
// 拍照并上传
function getMessage(url) {
if (!url) {
return
}
uni.previewImage({
current: url, // 当前显示图片的链接
urls: [url], // 可以预览的图片列表
indicator: 'default', // 显示面板指示点,'default'|'number'|'none'
loop: true, // 是否可循环预览
longPressActions: {
itemList: ['保存图片'],
success: (data) => {
console.log('长按操作成功', data)
},
fail: (err) => {
console.error('长按操作失败', err)
}
}
})
}
function isAtLeastEightChars(str) {
return typeof str === 'string' && str.length >= 12;
}
const openLook = (res) => {
if (isAtLeastEightChars(res)) {
content.value = res;
show.value = true
}
}
const goBack = () => {
uni.navigateBack()
}
const alldata = ref("");
const contentred = ref("")
const specialImge = ref("")
const applyStatus = ref(false);
onLoad((options) => {
if (options.applyStatus) {
applyStatus.value = options.applyStatus
}
alldata.value = JSON.parse(options.element);
let data = alldata.value
if (data.content) {
contentred.value = data.content
}
textArray[0] = data.name;
textArray[1] = data.sex;
textArray[2] = data.idCard;
textArray[3] = data.national;
textArray[4] = data.dateOfBirth;
textArray[5] = data.houseAddress;
textArray[6] = data.issuingAuthority;
textArray[7] = `${data.startTime}-${swapLongTerm(data.endTime)}`;
fontphoto.value = data.idCardPositive
endphoto.value = data.idCardNegative
specialImge.value = data.idCardPositive
})
const changeMessage = () => {
if (alldata.value.elderModifyStatus == '1') {
openLook("该长者信息正在审核中,请等待")
} else {
let item = alldata.value
uni.setStorageSync("baddata", item)
uni.setStorageSync('specicalid', item.id);
uni.setStorageSync("backhuancun", {})
let data = {
nuId: item.nuId,
orgCode: item.orgCode
}
uni.setStorageSync('oldman', data);
uni.navigateTo({
url: "/pages/addoldman/oldIDcard"
})
}
}
</script>
<style lang="scss" scoped>
.container {
display: flex;
flex-direction: column;
min-height: 100vh;
width: 100%;
background-color: #F7F7F7;
position: relative;
.white-content {
width: 90%;
margin-left: 5%;
border-radius: 35rpx;
.content-title {
display: flex;
align-items: center;
height: 100rpx;
position: relative;
font-weight: 600;
.content-weight {
font-size: 32rpx;
}
.content-img {
position: absolute;
right: 0;
top: 0;
width: 400rpx;
height: 100%;
}
}
}
.white-photo {
width: 100%;
height: 300rpx;
border-radius: 35rpx;
background-color: #fff;
justify-content: space-around;
align-items: center;
display: flex;
.photo {
width: 300rpx;
height: 200rpx;
}
}
.white-message {
width: 100%;
margin-top: 20rpx;
padding-top: 20rpx;
padding-bottom: 20rpx;
margin-bottom: 30rpx;
border-radius: 35rpx;
background-color: #fff;
justify-content: space-around;
display: flex;
flex-direction: column;
.one {
width: 90%;
margin-left: 5%;
height: 100rpx;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10rpx;
.one-left {
margin-left: 10rpx;
font-size: 30rpx;
// color: red;
color: black;
z-index: 1;
}
.one-right {
margin-right: 10rpx;
font-size: 30rpx;
color: #999999;
overflow: hidden;
/* 隐藏超出内容 */
white-space: nowrap;
/* 不换行 */
text-overflow: ellipsis;
max-width: 380rpx;
}
}
}
}
.photo-left {
z-index: 1;
.photo-weight {
font-size: 32rpx;
font-weight: 600;
color: #333;
}
.photo-font {
font-size: 28rpx;
margin-top: 10rpx;
color: #666;
}
}
.gray-font {
padding: 20rpx 60rpx;
padding-bottom: 35rpx;
color: #999999;
}
.title-back {
background-color: #F7F7F7;
width: 100%;
height: 70rpx;
display: flex;
justify-content: space-between;
align-items: flex-end;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #cbd1d2;
position: fixed;
top: 0;
left: 0;
z-index: 9999;
}
.left-father {
display: flex;
align-items: center;
z-index: 1;
.back-img {
width: 45rpx;
height: 40rpx;
margin-left: 40rpx;
margin-right: 15rpx;
}
}
.shu {
width: 14rpx;
height: 36rpx;
background-color: #0097FF;
border-radius: 10rpx;
margin: 3rpx 20rpx 0 30rpx;
}
.line {
margin: 10rpx 0;
}
.shu-img {
position: absolute;
right: 20rpx;
top: 40%;
transform: translateY(-40%);
width: 150rpx;
height: 130rpx;
}
.greenbgc {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 700rpx;
}
.contentred {
width: 90%;
border: dashed 3rpx #FF4B2F;
border-radius: 15rpx;
margin: 15rpx 0;
margin-left: 5%;
padding: 5rpx;
.contentred-bgc {
background-color: rgb(240, 228, 228);
border-radius: 15rpx;
color: red;
padding: 20rpx;
padding-bottom: 30rpx;
}
}
.small-blue {
display: flex;
justify-content: center;
align-items: center;
width: 35%;
height: 70rpx;
background: linear-gradient(to bottom, #e7f4ff, #c5e5ff);
border: 2rpx solid #9AD1FF;
color: #007CFF;
border-radius: 30rpx;
font-size: 30rpx;
z-index: 9999;
}
</style>