<template> <view class="main"> <!--轮播图--> <view class="banner"> <u-swiper circular :radius="5" :indicator="true" keyName="pic" :list="bannerList" :height="150" class="uni-swiper" @click="click"></u-swiper> </view> <!--通知公告--> <view class="notice"> <u-notice-bar color="#848484" :text="noticeList" :step="true" direction="column" mode="link" bgColor="white" speed="300" url="/pages/notice/index"></u-notice-bar> </view> <view class="flow"> <view class="title">操作流程</view> <!--实名认证--> <view class="item" @click="go('auth')"> <view class="icon tb"></view> <view class="con"> <view class="bt">实名认证</view> <view class="bor" style="background: linear-gradient(to right, rgb(198 187 250), rgb(251 251 251))"></view> <view class="zt">{{ !user.isAuthentication || user.isAuthentication == 0 ? '尚未提交资料' : '已提交资料' }}</view> </view> <view class="state" v-if="user.isAuthentication === 1"> <text class="zt">已认证</text> <text class="icon"></text> </view> <view class="state" v-else> <view class="go">去认证</view> </view> </view> <!--关联企业--> <view class="item" @click="go('company')"> <view class="icon tb"></view> <view class="con"> <view class="bt">关联企业</view> <view class="bor" style="background: linear-gradient(to right, #eecce0, rgb(253 253 253))"></view> <view class="zt">{{ !user.isCompany || user.isCompany == 0 ? '尚未关联企业' : '已完成' }}</view> </view> <view class="state" v-if="user.isCompany > 0"> <text class="zt">{{ user.isCompany }}家</text> <text class="icon"></text> </view> <view class="state" v-else> <view class="go" :style="{ backgroundColor: user.isAuthentication === 1 ? '#5a7afc' : '#d6d6d6' }">去关联</view> </view> </view> <!--电子签约--> <view class="item" @click="go('contract')"> <view class="icon tb"></view> <view class="con"> <view class="bt">电子签约</view> <view class="bor" style="background: linear-gradient(to right, #f6f6bf, rgb(246 246 246))"></view> <view class="zt">{{ !user.isContract || user.isContract == 0 ? '尚未签约' : '已签约' }}</view> </view> <view class="state"> <view class="go" :style="{ backgroundColor: user.isCompany > 0 ? '#5a7afc' : '#d6d6d6' }" v-if="!user.isContract || user.isContract == 0">去签约</view> <text class="icon" v-if="user.isContract == 1"></text> </view> </view> <!--开始接包--> <view class="item" @click="go('packages')"> <view class="icon tb"></view> <view class="con"> <view class="bt">开始接包</view> <view class="bor" style="background: linear-gradient(to right, #c9f1d4, rgb(250 255 252))"></view> <view class="zt">{{ !user.isCompany || user.isCompany == 0 ? '请先完成上一步' : '去接包' }}</view> </view> <view class="state"> <view class="go" :style="{ backgroundColor: user.isCompany > 0 && user.isContract == 1 ? '#5a7afc' : '#d6d6d6' }">去接包</view> </view> </view> </view> <u-action-sheet round="20" :actions="actions" @select="selectClick" cancelText="取消" :show="show" @close="show = false"></u-action-sheet> <signature ref="sig" @sign="sign" v-if=""></signature> </view> </template> <script> export default { data() { return { ip: this.http.ip, user: {}, bannerList: [], noticeList: [], contract: {}, show: false, actions: [{ name: '查看合同' }, { name: '去签字' }] }; }, onShow() { if (this.hasLogin()) { this.getUserInfo(); } }, onLoad() { this.getData(); }, methods: { getUserInfo() { this.http.request({ url: '/app/user/info', success: (res) => { this.user = res.data.data; } }); }, getData() { this.http.request({ url: '/app/home/index', success: (res) => { this.contract = res.data.data.contract; this.bannerList = res.data.data.bannerList; res.data.data.noticeList.forEach((item) => { this.noticeList.push(item.title); }); } }); }, go(url) { if (this.hasLogin()) { if (url == 'auth') { uni.navigateTo({ url: '/pages/auth/index' }); } if (url == 'company' && this.user.isAuthentication === 1) { uni.navigateTo({ url: '/pages/company/index' }); } if (url == 'packages' && this.user.isCompany > 0 && this.user.isContract == 1) { uni.switchTab({ url: '/pages/packages/index' }); } if (url == 'contract' && this.user.isContract == 1) { this.look(); } if (url == 'contract' && this.user.isContract == 0) { this.show = true; } } else { uni.navigateTo({ url: '/pages/user/login' }); } }, selectClick(e) { if (e.name == '查看合同') { this.look(); } else { this.$refs.sig.getSyncSignature(); } }, //查看合同 look() { uni.showLoading({ title: '正在打开合同...', mask: true }); uni.downloadFile({ url: this.user.isContract == 0 ? this.ip + this.contract.url : this.ip + '/app/contract/look', header: { Authorization: this.getUser().token }, success: (res) => { uni.openDocument({ filePath: res.tempFilePath, showMenu: true, success: (res) => { uni.hideLoading(); } }); }, fail: (res) => { uni.hideLoading(); } }); }, //电子签名 sign(val) { this.http.request({ url: '/app/contract/add', data: { contractId: this.contract.id, url: val }, method: 'POST', success: (res) => { uni.showModal({ title: '提示', content: '签约成功', showCancel: false, success: (res) => { this.getUserInfo(); } }); } }); } } }; </script> <style lang="scss"> .main { padding: 5px 15px 15px 15px; } .banner { } .notice { margin-top: 10px; } .flow { padding-top: 20px; .title { font-size: 15px; } .item { background-color: white; border-radius: 10px; padding: 18px; overflow: hidden; margin-top: 12px; .tb { float: left; padding: 13px; border: 1px solid $main-color; color: $main-color; border-radius: 50%; font-size: 23px; } .con { float: left; padding-left: 20px; .bt { font-size: 18px; } .bor { background-color: red; border-radius: 20px; height: 9px; margin-top: -9px; width: 105px; margin-left: -5px; } .zt { font-size: 13px; padding-top: 5px; color: #909090; } } .state { float: right; padding-top: 11px; .zt { font-size: 13px; color: $main-color; } .icon { color: #909090; } .go { padding: 5px 12px; font-size: 14px; background-color: #5a7afc; color: white; border-radius: 20px; } } } } </style>