You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
342 lines
7.6 KiB
342 lines
7.6 KiB
<template>
|
|
<view class="container-main">
|
|
<view class="list">
|
|
<view class="list-item" v-for="(item, index) in list" :key="index" @click="getInfo(item.id)">
|
|
<view class="item-state" :class="
|
|
item.status == '未生效'
|
|
? 'state0'
|
|
: item.status == '生效中'
|
|
? 'state1'
|
|
: 'state2'
|
|
">
|
|
{{ item.status }}
|
|
</view>
|
|
<view class="item-data">
|
|
<view class="data-main">
|
|
<view class="data-title">{{ item.productName }}</view>
|
|
<view class="data-lable-value">
|
|
<view class="row-item">
|
|
<view class="item-lable">
|
|
<view class="lable-icon">
|
|
<image :src="baseImgUrl + 'liao-ning/icon_shijian.png'" mode=""></image>
|
|
</view>
|
|
<view class="lable-text">保险公司:</view>
|
|
</view>
|
|
<view class="item-value">{{ item.companyName }}</view>
|
|
</view>
|
|
<view class="row-item">
|
|
<view class="item-lable">
|
|
<view class="lable-icon">
|
|
<image :src="baseImgUrl + 'liao-ning/icon_faburen.png'" mode=""></image>
|
|
</view>
|
|
<view class="lable-text">保险期间:</view>
|
|
</view>
|
|
<view class="item-value">{{ item.insurancePeriod }}至{{
|
|
item.insurancePeriodEnd
|
|
}}</view>
|
|
</view>
|
|
<view class="row-item">
|
|
<view class="item-lable">
|
|
<view class="lable-icon">
|
|
<image :src="baseImgUrl + 'liao-ning/icon_danwei.png'" mode=""></image>
|
|
</view>
|
|
<view class="lable-text">保费合计:</view>
|
|
</view>
|
|
<view class="item-value" style="color: #3976f1; font-weight: 520">
|
|
{{ item.totalPremium }}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<u-loadmore :status="status" :load-text="loadText" color="#C4CCD8" font-size="24" />
|
|
</view>
|
|
<fixedButton title="我要投保" @click="clickSub" />
|
|
</view>
|
|
</template>
|
|
<script>
|
|
//查询企业详细信息
|
|
//行政
|
|
//根据统一社会信用代码查询产品
|
|
import {
|
|
getInfo,
|
|
getAdministrative,
|
|
getAllFoodList,
|
|
insureSystem,
|
|
} from "@/api/shianliaoning/enterpriseSEARCH.js";
|
|
import fixedButton from "@/components/fixedButton/fixedButton.vue";
|
|
import {
|
|
getInsureList
|
|
} from "@/api/shianliaoning/insure.js";
|
|
import {
|
|
ReactiveFlags
|
|
} from "vue";
|
|
import {
|
|
getToken
|
|
} from "@/utils/auth";
|
|
export default {
|
|
components: {
|
|
fixedButton,
|
|
},
|
|
data() {
|
|
return {
|
|
data: {},
|
|
baseImgUrl: getApp().globalData.config.iamgeBaseUrl,
|
|
list: [],
|
|
queryParms: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
//统一社会信用代码
|
|
code: "",
|
|
//企业名称
|
|
enterpriseName: "",
|
|
},
|
|
total: 0, //总数
|
|
flag: true,
|
|
loadText: {
|
|
nomore: "已经到底了~",
|
|
loading: "努力加载中",
|
|
},
|
|
status: "nomore",
|
|
statusFlag: false,
|
|
one: null,
|
|
two: null,
|
|
three: null,
|
|
};
|
|
},
|
|
onLoad() {
|
|
|
|
|
|
this.queryParms.code = uni.getStorageSync("USER_DATA").userDto.code;
|
|
this.queryParms.enterpriseName =
|
|
uni.getStorageSync("USER_DATA").userDto.enterpriseName;
|
|
this.getList();
|
|
//请求三个接口获取数据从而可以跳转
|
|
this.httpThreeGet();
|
|
},
|
|
onReachBottom() {
|
|
if (this.total > this.list.length) {
|
|
if (this.statusFlag) {
|
|
return;
|
|
}
|
|
this.queryParms.pageNum++;
|
|
this.getList();
|
|
}
|
|
},
|
|
methods: {
|
|
//
|
|
httpThreeGet() {
|
|
let _this = this;
|
|
this.one = new Promise((resolve, rejects) => {
|
|
getInfo(this.queryParms.code).then((res) => {
|
|
resolve(res.data.result);
|
|
});
|
|
});
|
|
this.two = new Promise((resolve, rejects) => {
|
|
getAdministrative(this.queryParms.code).then((res) => {
|
|
resolve(res.data.result[0]);
|
|
});
|
|
});
|
|
this.three = new Promise((resolve, rejects) => {
|
|
getAllFoodList({
|
|
uniscid: this.queryParms.code,
|
|
pageNum: 1,
|
|
pageSize: 1,
|
|
}).then((res) => {
|
|
resolve(res.data.result.list[0]);
|
|
});
|
|
});
|
|
Promise.all([this.one, this.two, this.three]).then((res) => {
|
|
_this.data = {
|
|
address: res[0].address,
|
|
appliName: res[0].mainName,
|
|
busDesc: res[1].licContent,
|
|
busEdate: res[1].valTo,
|
|
//食品生产流通许可证号
|
|
busLicenseNo: res[1].licNo,
|
|
//食品经营许可证号
|
|
// busSLicenseNo: res[1].licAuthCode,
|
|
busSLicenseNo: null,
|
|
//省市区
|
|
province: null,
|
|
//食品生产流通许可证起期
|
|
busSdate: null,
|
|
busType: res[0].entType,
|
|
identifyNumber: res[0].uniscid,
|
|
};
|
|
});
|
|
},
|
|
//下拉加载效果
|
|
reachStart() {
|
|
this.statusFlag = true;
|
|
this.status = "loading";
|
|
},
|
|
//下拉结束效果
|
|
reachEnd() {
|
|
this.statusFlag = false;
|
|
this.status = "nomore";
|
|
},
|
|
//加载列表
|
|
getList() {
|
|
this.reachStart();
|
|
getInsureList(this.queryParms).then((res) => {
|
|
this.flag = false;
|
|
this.list = [...this.list, ...res.rows];
|
|
this.total = res.total;
|
|
this.reachEnd();
|
|
});
|
|
},
|
|
getInfo(e) {
|
|
uni.navigateTo({
|
|
url: `/sub-enterprise/toubao-xiangqing/toubao-xiangqing?id=${e}`,
|
|
});
|
|
},
|
|
clickSub() {
|
|
insureSystem(this.data).then((res) => {
|
|
let token = getToken();
|
|
window.location.href =
|
|
`https://pay.tpi.cntaiping.com/weshop/dfs/lnsz/SN05/index#/?insureId=${res.data}&token=${token}`
|
|
// window.location.href = `
|
|
// `
|
|
// https
|
|
// : //testiapp.etaiping.com:7443/weshop/dfs/lnsz/SN05/index#/?insureId=${res.data}&token=${token}`;
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
uni-page-body,
|
|
page {
|
|
background: rgba(245, 247, 250, 1);
|
|
}
|
|
|
|
.list {
|
|
padding: 30rpx 20rpx;
|
|
// padding-bottom: 128rpx;
|
|
|
|
.list-item {
|
|
margin-bottom: 100rpx;
|
|
|
|
position: relative;
|
|
}
|
|
|
|
.item-state {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 66rpx;
|
|
line-height: 66rpx;
|
|
box-sizing: border-box;
|
|
padding-left: 30rpx;
|
|
border-radius: 16rpx 16rpx 0 0;
|
|
font-size: 28rpx;
|
|
font-family: "PingFang SC-中黑体";
|
|
font-weight: 500;
|
|
}
|
|
|
|
.state0 {
|
|
background: linear-gradient(180deg,
|
|
#bcd2ff 0%,
|
|
rgba(206, 222, 255, 0) 100%);
|
|
|
|
color: #3976f1;
|
|
}
|
|
|
|
.state1 {
|
|
background: linear-gradient(180deg,
|
|
#ffe7ac 0%,
|
|
rgba(255, 231, 173, 0) 100%);
|
|
|
|
color: #f5b923;
|
|
}
|
|
|
|
.state2 {
|
|
background: linear-gradient(180deg,
|
|
rgba(255, 168, 162, 0.4) 0%,
|
|
rgba(247, 99, 89, 0) 100%);
|
|
|
|
color: #f76359;
|
|
}
|
|
|
|
.item-data {
|
|
position: relative;
|
|
left: 0;
|
|
top: 60rpx;
|
|
z-index: 10;
|
|
width: 100%;
|
|
min-height: 100rpx;
|
|
background: #fff;
|
|
border-radius: 16rpx;
|
|
|
|
.data-main {
|
|
box-sizing: border-box;
|
|
padding: 30rpx 37rpx;
|
|
|
|
.data-title {
|
|
font-size: 34rpx;
|
|
font-weight: 600;
|
|
color: #34373b;
|
|
margin-bottom: 30rpx;
|
|
}
|
|
}
|
|
|
|
.row-item {
|
|
margin-bottom: 20rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.item-lable {
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 170rpx;
|
|
|
|
.lable-icon {
|
|
height: 26rpx;
|
|
width: 26rpx;
|
|
|
|
image {
|
|
height: 100%;
|
|
width: 100%;
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
.lable-text {
|
|
margin-left: 10rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #9da2ab;
|
|
}
|
|
}
|
|
|
|
.item-value {
|
|
flex: 1;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #34373b;
|
|
}
|
|
}
|
|
|
|
.data-lable-value {
|
|
&>view:last-child {
|
|
margin: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.data-btn {
|
|
border-top: 1px solid rgba(220, 227, 236, 1);
|
|
height: 80rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 28rpx;
|
|
font-weight: 500;
|
|
color: #3976f1;
|
|
}
|
|
}
|
|
</style> |