hldy_xcx/pages/addsupplier/all.vue

631 lines
17 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="container">
<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" :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>
<view style="margin:0 auto 0;width: 100%;color: red;" v-if="datas.suppliersStatus==3||datas.suppliersStatus==5">
<text style="color: #222;margin-left: 20rpx;">驳回原因</text> {{datas.auditContent}}
</view>
<view class="white-message">
<view>
<view v-for="(item,index) in nameArray1" :key="index" class="one"
@click="openLook(textArray1[index])">
<view class="one-left">{{item}}</view>
<view class="one-right">{{textArray1[index] ? textArray1[index] : "自动获取" }}</view>
</view>
</view>
</view>
</view>
<view class="white-content">
<view class="content-title" :style="!applyStatus?{height: `100rpx`}:{height: `140rpx`}"
style="position: relative;margin-bottom: 20rpx;z-index: 999;">
<view class="shu"></view>
<view class="content-weight">资质照片</view>
</view>
<view class="white-photo" @click="getMessage(headImge)">
<view class="photo-left">
<view class="photo-weight">资质照片</view>
<view class="photo-font">请上传资质照片</view>
</view>
<view style="position: relative;">
<image class="photo"
:src="headImge ? headImge : `https://www.focusnu.com/media/directive/index/IDcard.png`" />
<image v-if="!headImge"
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 style="display: flex;width: 100%;" v-if="code>0">
<view class="finish-button" @click="next" >
<text v-if="code==1">重新</text>申请
</view>
</view>
<!-- <view class="white-photo" style="margin-top: 30rpx;" @click="getMessage(backImge)">
<view class="photo-left">
<view class="photo-weight">国徽面</view>
<view class="photo-font">请上传身份证国徽面</view>
</view>
<view style="position: relative;">
<image class="photo"
:src="backImge ? backImge : `https://www.focusnu.com/media/directive/index/backIDcard.png`" />
<image v-if="!backImge"
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 class="white-content">
<view class="content-title" style="margin-bottom: 30rpx;">
<view class="shu"></view>
<view class="content-weight">银行卡</view>
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
</view>
<view class="white-photo" @click="getMessage(fontphoto0)">
<view class="photo-left">
<view class="photo-weight">银行卡正面</view>
<view class="photo-font">请上传银行卡正面</view>
</view>
<view style="position: relative;">
<image class="photo"
:src="fontphoto0 ? fontphoto0 : `https://www.focusnu.com/media/directive/index/bankfront.png`" />
<image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
:src="fontphoto0 ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
<image v-if="!fontphoto0"
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(endphoto0)">
<view class="photo-left">
<view class="photo-weight">银行卡反面</view>
<view class="photo-font">请上传银行卡反面</view>
</view>
<view style="position: relative;">
<image class="photo"
:src="endphoto0 ? endphoto0 : `https://www.focusnu.com/media/directive/index/bankend.png`" />
<image style="width: 100%;height: 100%;top: 0;left: 0;z-index: 1;position: absolute;"
:src="endphoto0 ? `` : `https://www.focusnu.com/media/directive/index/bian.png`" />
<image v-if="!endphoto0"
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: 30rpx 0;">
<view class="shu"></view>
<view class="content-weight">确认银行卡信息</view>
</view>
<view class="white-message">
<view>
<view v-for="(item,index) in nameArray0" :key="index" class="one"
@click="openLook(textArray0[index])">
<view class="one-left">{{item}}</view>
<view class="one-right">{{textArray0[index] ? textArray0[index] : "自动获取" }}</view>
</view>
</view>
</view>
</view> -->
<!-- <view class="white-content">
<view class="content-title" style="margin-bottom: 20rpx;">
<view class="shu"></view>
<view class="content-weight">健康证</view>
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
</view>
<view class="white-photo"
@click="getMessage(imgArray[0] ? `${media_base_url}${imgArray[0]}` : '')">
<view class="photo-left">
<view class="photo-weight">健康证正面</view>
<view class="photo-font">请上传健康证正面</view>
</view>
<view style="position: relative;">
<image class="photo" :src="imgArray[0] ? `${media_base_url}${imgArray[0]}` : ``" />
</view>
</view>
</view>
<view class="white-content">
<view class="content-title" style="margin: 20rpx 0;">
<view class="shu"></view>
<view class="content-weight">资质证</view>
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
</view>
<view class="white-photo"
@click="getMessage(imgArray[2] ? `${media_base_url}${imgArray[2]}` : '')">
<view class="photo-left">
<view class="photo-weight">资质证</view>
<view class="photo-font">请上传资质证</view>
</view>
<view style="position: relative;">
<image class="photo" :src="imgArray[2] ? `${media_base_url}${imgArray[2]}` : ``" />
</view>
</view>
</view>
<view class="white-content">
<view class="content-title" style="margin: 20rpx 0;">
<view class="shu"></view>
<view class="content-weight">无犯罪证明</view>
<view style="margin-top: 8rpx;margin-left: 12rpx;;font-size: 23rpx;">(选填)</view>
</view>
<view class="white-photo"
@click="getMessage(imgArray[3] ? `${media_base_url}${imgArray[3]}` : '')">
<view class="photo-left">
<view class="photo-weight">无犯罪证明</view>
<view class="photo-font">请上传无犯罪证明</view>
</view>
<view style="position: relative;">
<image class="photo" :src="imgArray[3] ? `${media_base_url}${imgArray[3]}` : ``" />
</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'
import {
applySupOrg
} from '../supplierindex/api.js'
const show = ref(false);
const content = ref("");
const showmarrylist = reactive(
[{
value: '代理商',
label: '代理商',
},
{
value: '批发商',
label: '批发商',
},
{
value: '制造商',
label: '制造商',
},
]
)
const next =()=>{
let data = {
orgCode: datas.value.orgCode,
openId: uni.getStorageSync('openid')
}
applySupOrg(data).then((data) => {
if (data.success) {
uni.requestSubscribeMessage({
// 这里填后台申请好的 templateId 数组
tmplIds: ['cWVzXm1C-iitx1gNFn1nZdijq9R_3fCv8vLbiqs9zww'],
success: (res) => {
uni.setStorageSync(
'isstaffchange',code.value==1?true:false);
uni.reLaunch({
url: `/pages/addsupplier/successpush`
});
},
fail: (err) => {
console.error('订阅接口调用失败:', err);
uni.showToast({
title: '订阅失败',
icon: 'none'
});
}
});
}
})
}
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 code = ref(0);
const contentred = ref("")
const applyStatus = ref(false);
const datas = ref({})
onLoad((options) => {
code.value = options.code?options.code:0;
// console.log("aaaa",JSON.parse(options.element) )
let data = JSON.parse(options.element)
console.log(data)
datas.value = data;
// if (options.applyStatus) {
// applyStatus.value = options.applyStatus
// }
// alldata.value = JSON.parse(options.element);
// // console.log("???")
// 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.birthDate;
// textArray[5] = data.idCardAddress;
// textArray[6] = data.issuingAuthority;
// textArray[7] = `${data.startTime}-${swapLongTerm(data.endTime)}`;
// headImge.value = `${media_base_url}${data.cardZmPath}`;
// backImge.value = `${media_base_url}${data.cardFmPath}`;
// textArray0[0] = data.openingBank;
// textArray0[1] = data.bankCard;
// fontphoto0.value = `${media_base_url}${data.bankZmPath}`;
// endphoto0.value = `${media_base_url}${data.bankFmPath}`;
// imgArray.value[0] = data.healthZmPath
// imgArray.value[1] = data.healthFmPath
// imgArray.value[2] = data.qualificationPath
// imgArray.value[3] = data.noCrimeCertificate
data.name = showmarrylist[Number(data.suppliersNature)-1].value
const keys = [
"suppliersName",
"name",
"suppliersAddress",
"personInCharge",
"contactNumber",
"openingBank",
"openingBankNo",
"orgCode"
]
keys.forEach((key, index) => {
textArray1[index] = data[key] || ""
})
headImge.value = `${media_base_url}${data.imgPath}`;
// textArray1[2] = Number(textArray1[2]) + "cm"
// textArray1[3] = Number(textArray1[3]) + "kg"
})
// const changeMessage = () => {
// // console.log("????", alldata.value)
// if (alldata.value.modifyState == '1') {
// openLook("该信息正在审核中,请等待")
// } else {
// uni.setStorageSync("baddata", alldata.value)
// uni.setStorageSync('specicalid', alldata.value.id);
// uni.setStorageSync("backhuancun", {})
// uni.navigateTo({
// url: `/pages/addstaff/information`
// });
// }
// }
</script>
<style lang="scss" scoped>
.finish-button {
display: flex;
justify-content: center;
align-items: center;
width: 80%;
height: 90rpx;
margin: 0rpx auto;
margin-bottom: 80rpx;
margin-top: 20rpx;
background: linear-gradient(to bottom, #e7f4ff, #c5e5ff);
border: 2rpx solid #9AD1FF;
color: #007CFF;
border-radius: 35rpx;
font-size: 33rpx;
}
.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;
align-items: center;
margin-bottom: 10rpx;
.one-left {
margin-left: 10rpx;
font-size: 30rpx;
// color: red;
color: black;
z-index: 1;
width: 250rpx;
}
.one-right {
margin-right: 10rpx;
font-size: 30rpx;
color: #999999;
overflow: hidden;
/* 隐藏超出内容 */
white-space: nowrap;
/* 不换行 */
text-overflow: ellipsis;
max-width: 330rpx;
}
}
}
}
.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>