This commit is contained in:
weipengfei 2023-08-19 16:47:05 +08:00
commit c5cd4d79d2
11 changed files with 3540 additions and 2991 deletions

40
App.vue
View File

@ -4,7 +4,27 @@ const jpushModule = uni.requireNativePlugin("JG-JPush");
// #endif
export default {
onLaunch: async function() {
const audioContext = uni.createInnerAudioContext()
//
audioContext.src = './static/mp3/order.mp3'
let noticeArr = []
//
//#ifdef APP-PLUS
jpushModule.addNotificationListener(res => {
if (!noticeArr.includes(res.messageID)) {
console.log(res.messageID)
audioContext.play()
noticeArr.push(res.messageID)
uni.vibrateLong({
success: function() {
console.log('success');
}
});
}
})
// #endif
console.log('App Launch')
try {
if (!this.$store.state.app.token) uni.redirectTo({
@ -30,18 +50,18 @@ export default {
onShow: function() {
console.log('App Show')
//
const audioContext = uni.createInnerAudioContext()
// const audioContext = uni.createInnerAudioContext()
//
audioContext.src = './static/mp3/order.mp3'
// //
// audioContext.src = './static/mp3/order.mp3'
//
//#ifdef APP-PLUS
jpushModule.addNotificationListener(res => {
console.log("监听成功")
audioContext.play()
})
// #endif
// //
// //#ifdef APP-PLUS
// jpushModule.addNotificationListener(res => {
// console.log("")
// audioContext.play()
// })
// // #endif
},
onHide: function() {
console.log('App Hide')

View File

@ -1,7 +1,8 @@
<template>
<view>
<view class="item">
<u-skeleton :loading="skeleton" :animate="true" title rows="1" rows-width="100%" rowsHeight="56"></u-skeleton>
<u-skeleton :loading="skeleton" :animate="true" title rows="1" rows-width="100%"
rowsHeight="56"></u-skeleton>
<!-- <block v-if="!skeleton">
<view class="title">公司基本信息</view>
<view class="card">
@ -29,6 +30,7 @@
-->
<view class="personnel_list" v-if="!skeleton">
<view class="cards">
<view class="cards_head">
<text style="font-size: 32rpx">公司基本信息</text>
</view>
@ -51,7 +53,11 @@
<text> {{c_address}} </text>
</view>
</view>
</view>
<view class="cards_head">
<text style="font-size: 32rpx">公司联系人</text>
</view>
@ -74,7 +80,13 @@
<text> {{company.master_email}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
@ -504,7 +516,6 @@
text:nth-child(2) {
margin-left: 20rpx;
}
}
}
@ -530,7 +541,7 @@
.contract_img {
width: 102rpx;
height: 102rpx;
background: #F5F5F5;
background: #f5f5f5;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-right: 21rpx;
}
@ -542,7 +553,6 @@
.name {
font-size: 32rpx;
;
font-weight: 500;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
@ -576,17 +586,13 @@
height: 39rpx;
background-color: $theme-oa-color;
opacity: 1;
margin-right: 10rpx
margin-right: 10rpx;
}
}
}
}
.item {
padding-top: 0;
&:nth-child(1) {
@ -702,14 +708,8 @@
.contract {
display: flex;
justify-content: space-between;
}
.image_box {
display: flex;
justify-content: space-between;

View File

@ -15,7 +15,14 @@
<view class="f_nav">
<view class="title">账单流水</view>
<view class="right">
<!-- <u-tabs :list="[{
name: '日账单',
}, {
name: '月账单'
}]" @click="changeCurrent" lineColor='#0122C7' :scrollable="false" lineWidth='40' inactiveStyle='color:black'
activeStyle="color:#0122C7"></u-tabs> -->
<view class="btn" :class="current==0?'active':''" @click="current=0;initLoad()">今日账单</view>
<view class="btn" :class="current==0?'active':''" @click="current=0;initLoad()">月账单</view>
<!-- <view class="btn" :class="current==1?'active':''" @click="current=1;initLoad()">月账单</view> -->
<view class="btn" @click="navTo('/subpkg/companyFinance/companyFinance')">更多</view>
</view>
@ -40,22 +47,31 @@
<view class="tips">
<!-- {{current?item.remark:item.type_desc}} -->
<text v-if="item.change_type==202" style="color: #46be61;">{{item.type_desc}}</text>
<text v-else-if="item.change_type==203" style="color: #ff7c32;">{{item.type_desc}}</text>
<text v-else-if="item.change_type==203"
style="color: #ff7c32;">{{item.type_desc}}</text>
<text v-else="item.change_type==203">{{item.type_desc}}</text>
</view>
</view>
</view>
<view class="price">{{current?(item.expenditure==0?'+'+item.income:'-'+item.income):item.change_amount_desc}}</view>
<view class="price">
{{current?(item.expenditure==0?'+'+item.income:'-'+item.income):item.change_amount_desc}}
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText" :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
</view>
</template>
<script>
import { accountMonthList, accountDateList } from "@/api/company.js"
import { Toast } from "../../libs/uniApi";
import {
accountMonthList,
accountDateList
} from "@/api/company.js"
import {
Toast
} from "../../libs/uniApi";
export default {
name: "companyFinance",
data() {
@ -139,7 +155,7 @@
margin: 0 auto;
width: 694rpx;
height: 158rpx;
background: #3175F9;
background: $theme-oa-color;
border-radius: 18rpx 18rpx 18rpx 18rpx;
opacity: 1;
padding: 28rpx;
@ -244,12 +260,15 @@
font-weight: 400;
color: #999999;
line-height: 39rpx;
.t_item {
display: flex;
.t_title {
margin-bottom: 16rpx;
flex-shrink: 0 !important;
}
.tips {
font-size: 28rpx;
font-weight: 400;
@ -257,6 +276,7 @@
}
}
}
.price {
display: flex;
align-items: center;

View File

@ -238,7 +238,7 @@
"style": {
"navigationBarTitleText": "合同管理",
"enablePullDownRefresh": true,
"navigationBarBackgroundColor": "#0122C7",
"navigationBarBackgroundColor": "#0022C7",
"navigationBarTextStyle": "white"
}

View File

@ -2,10 +2,7 @@
<view class="oa_home" style="oaColor">
<!-- <image class="header_bg" src="../../static/img/home/head-bg.png"></image> -->
<view
class="home_header"
:class="!ApproveList.length > 0 ? 'home_header_no_data' : ''"
>
<view class="home_header" :class="!ApproveList.length > 0 ? 'home_header_no_data' : ''">
<!-- #ifdef APP-PLUS||H5 -->
<view style="height: var(--status-bar-height)"></view>
<view style="height: 100rpx"></view>
@ -13,13 +10,8 @@
<view class="my_info">
<view class="head_img">
<view class="img_box">
<u--image
:showLoading="true"
width="131.43rpx"
height="131.43rpx"
:src="myOaInfo.avatar || '../../static/img/public/avatar.png'"
shape="circle"
></u--image>
<u--image :showLoading="true" width="131.43rpx" height="131.43rpx"
:src="myOaInfo.avatar || '../../static/img/public/avatar.png'" shape="circle"></u--image>
</view>
<text class="nickname">工作证: {{ myOaInfo.nickname }}</text>
@ -61,26 +53,18 @@
</block>
</view> -->
<view
class="backlog"
:class="!ApproveList.length > 0 ? 'backlog_no_data' : ''"
>
<view class="backlog" :class="!ApproveList.length > 0 ? 'backlog_no_data' : ''">
<view class="head_title flex_a_c_j_sb">
<view class="title">公告列表</view>
<view class="flex_a_c" @click="navTo('/subpkg/noticeList/noticeList')"
>更多
<view class="flex_a_c" @click="navTo('/subpkg/noticeList/noticeList')">更多
<view class="iconfont icon-you">
<uni-icons type="forward"></uni-icons>
</view>
</view>
</view>
<block v-if="ApproveList.length > 0">
<view
class="backlog_item flex_a_c_j_sb"
v-for="(item, index) in ApproveList.slice(0, 2)"
:key="index"
@click="clickNotice(item.id)"
>
<view class="backlog_item flex_a_c_j_sb" v-for="(item, index) in ApproveList.slice(0, 2)"
:key="index" @click="clickNotice(item.id)">
<view class="text">
<text class="text_time">{{
item.create_time.substring(0, 10)
@ -88,24 +72,19 @@
{{ item.title }}
</view>
<i class="iconfont icon-you"
><uni-icons type="forward"></uni-icons
></i>
<i class="iconfont icon-you"><uni-icons type="forward"></uni-icons></i>
</view>
</block>
<view v-else class="backlog_no flex_a_c_j_sb">
<view class="text">暂无更多消息</view>
<i class="iconfont icon-you"
><uni-icons type="forward"></uni-icons
></i>
<i class="iconfont icon-you"><uni-icons type="forward"></uni-icons></i>
</view>
</view>
</view>
<view class="my_task">
<view class="task_title flex_a_c_j_sb">
<view class="title">工作管理</view>
<view class="flex_a_c"
>更多
<view class="flex_a_c">更多
<view class="iconfont icon-you">
<uni-icons type="forward"></uni-icons>
</view>
@ -116,12 +95,7 @@
<view class="fast_track">
<block v-for="(item, index) in oaHomeData" :key="index">
<view class="track_item" @click="navTwo(item.url, index)">
<u--image
:showLoading="true"
:src="item.icon"
width="77.19rpx"
height="77.19rpx"
></u--image>
<u--image :showLoading="true" :src="item.icon" width="77.19rpx" height="77.19rpx"></u--image>
<view class="title">{{ item.text }}</view>
</view>
</block>
@ -130,8 +104,7 @@
<view class="my_task">
<view class="task_title flex_a_c_j_sb">
<view class="title">配送信息</view>
<view class="flex_a_c" @click="goOrderList"
>更多
<view class="flex_a_c" @click="goOrderList">更多
<view class="iconfont icon-you">
<uni-icons type="forward"></uni-icons>
</view>
@ -143,19 +116,13 @@
</block> -->
<view v-if="orderList.length > 0">
<globalPopup ref="globalPopup"></globalPopup>
<logistiBriefCard
v-for="(item, index) in orderList"
:key="index"
:goodsInfo="item"
>
<logistiBriefCard v-for="(item, index) in orderList" :key="index" :goodsInfo="item">
</logistiBriefCard>
</view>
<view v-else class="no_task">
<view class="title">暂无配送信息</view>
<view class="tips" v-if="!$store.state.app.token"
>登录后查看配送信息详情</view
>
<view class="tips" v-if="!$store.state.app.token">登录后查看配送信息详情</view>
</view>
<!-- <view class="head_title flex_a_c_j_sb">
<view class="">我的任务</view>
@ -196,10 +163,18 @@
<script>
import logistiBriefCard from "@/components/logistiComptent/logistiCard/logistiBriefCard.vue";
import globalPopup from "@/components/GlobalPopup/GlobalPopup.vue";
import { getList } from "@/api/logistics.js";
import { Toast } from "@/libs/uniApi.js";
import { oaHomeData } from "@/static/server/server.js";
import { noticeList } from "@/api/notice.js";
import {
getList
} from "@/api/logistics.js";
import {
Toast
} from "@/libs/uniApi.js";
import {
oaHomeData
} from "@/static/server/server.js";
import {
noticeList
} from "@/api/notice.js";
// import tabbar from '../components/tabbar'
import {
getIndexListAPI,
@ -223,8 +198,7 @@ export default {
orderList: [],
oaHomeData: [],
src: "https://cdn.uviewui.com/uview/album/1.jpg",
assessData: [
{
assessData: [{
num: "0",
name: "任务",
},
@ -264,21 +238,21 @@ export default {
});
},
onLoad() {
//#ifdef APP-PLUS
const audioContext = uni.createInnerAudioContext();
audioContext.volume = 1;
audioContext.src = "../../static/mp3/order.mp3";
let that = this;
jpushModule.addNotificationListener(function (result) {
if (!that.notArr.includes(result.messageID)) {
that.$refs.globalPopup.showPopu();
that.getOrderList();
console.log("idnex的");
audioContext.play();
}
that.notArr.push(result.messageID);
});
// #endif
// //#ifdef APP-PLUS
// const audioContext = uni.createInnerAudioContext();
// audioContext.volume = 1;
// audioContext.src = "../../static/mp3/order.mp3";
// let that = this;
// jpushModule.addNotificationListener(function (result) {
// if (!that.notArr.includes(result.messageID)) {
// that.$refs.globalPopup.showPopu();
// that.getOrderList();
// console.log("idnex");
// audioContext.play();
// }
// that.notArr.push(result.messageID);
// });
// // #endif
},
onShow() {
// this.getUserIndex()
@ -320,9 +294,9 @@ export default {
});
},
initUserInfo() {
this.$store.state.app.userInfo
? (this.myOaInfo = this.$store.state.app.userInfo)
: (this.myOaInfo.avatar = "");
this.$store.state.app.userInfo ?
(this.myOaInfo = this.$store.state.app.userInfo) :
(this.myOaInfo.avatar = "");
},
initOaHomeDada() {
if (this.$store.state.app.userInfo.admin_id == 0) {
@ -357,7 +331,10 @@ export default {
this.ApproveList = res.data.lists;
},
async getIndexList() {
const { project, task } = await getIndexListAPI();
const {
project,
task
} = await getIndexListAPI();
console.log(task, "222");
this.assessData[0].num = project.count;
this.assessData[1].num = project.count_ok;
@ -383,15 +360,16 @@ export default {
},
navTo(url) {
url
? uni.navigateTo({
?
uni.navigateTo({
url: url,
fail() {
uni.switchTab({
url: url,
});
},
})
: Toast("暂未开放");
}) :
Toast("暂未开放");
},
navTwo(url, key) {
let role_id = this.$store.state.app?.userInfo?.admin?.role_id || null;
@ -475,15 +453,18 @@ export default {
display: flex;
justify-content: space-between;
padding-right: 50rpx;
color: white;
font-size: 34rpx;
padding-left: 150rpx;
box-sizing: border-box;
.img_box {
width: 131.43rpx;
height: 131.43rpx;
position: absolute;
border: 1px dashed #707070;
left: -10rpx;
top: -15rpx;
}
// font-we

View File

@ -29,7 +29,8 @@
<view class="work">
电话:{{oaUserInfo.account}}<br />
公司:<text v-if="oaUserInfo.company">{{ oaUserInfo.company.company_name }}</text><br />
公司类型:<text v-if="oaUserInfo.company">{{ oaUserInfo.company.company_type_name }}</text><br/>
公司类型:<text
v-if="oaUserInfo.company">{{ oaUserInfo.company.company_type_name }}</text><br />
<!-- {{ oaUserInfo.did_name }}({{ oaUserInfo.label_name }}) -->
</view>
</view>
@ -39,32 +40,12 @@
<view class="">编辑</view>
</view> -->
</view>
<view class="assess">
<view class="ass_cent flex_a_c_j_sb">
<view class="cent_item" @click="navTo('/subpkg/finance/finance')">
<!-- <view class="num">{{ oaUserInfo.achievements_money }}</view> -->
<view class="num" v-if="!$store.state.app.token">*</view>
<view class="num" v-else-if="eyeType">{{oaUserInfo.user_money||'0.00'}}</view>
<view class="num" v-if="!eyeType">****</view>
<view class="name">账户余额()</view>
</view>
<!-- <view class="cent_item" @click="navTo('/subpkg/finance/finance')">
<view class="num">0.00</view>
<view class="name">冻结金额</view>
</view> -->
<view class="cent_item" @click="navTo('/subpkg/finance/finance')">
<!-- <view class="num">{{ oaUserInfo.company_money }}</view> -->
<view class="num" v-if="!$store.state.app.token">*</view>
<view class="num" v-else-if="eyeType">{{oaUserInfo.income||'0.00'}}</view>
<view class="num" v-if="!eyeType">****</view>
<view class="name">收益金额()</view>
</view>
</view>
</view>
</view>
</view>
<view class="other_guide">
<block v-for="(item,i) in myOaData" :key="i">
<view class="other_item flex_a_c_j_sb" @click="navTo(item.url)">
<view class="flex_a_c left">
<!-- <view class="iconfont2" :class="item.icon"></view> -->
@ -78,17 +59,28 @@
<view class="log_out" v-if="$store.state.app.token" @click="modelShow=true">退出登录</view>
<view class="log_out" v-else @click="login">登录账号</view>
<u-modal :show="modelShow" title="警告" content='确定要退出登录吗' closeOnClickOverlay showCancelButton @close="modelShow=false" @cancel="modelShow=false" @confirm="logout"></u-modal>
<u-modal :show="modelShow" title="警告" content='确定要退出登录吗' closeOnClickOverlay showCancelButton
@close="modelShow=false" @cancel="modelShow=false" @confirm="logout"></u-modal>
<!-- <tabbar></tabbar> -->
</view>
</template>
<script>
import { mapActions } from 'vuex'
import { getUserIndexAPI } from '@/api/oaApi.js'
import { userInfo } from '@/api/oaUser.js'
import { Toast } from '@/libs/uniApi.js'
import { myOaData } from '@/static/server/server.js'
import {
mapActions
} from 'vuex'
import {
getUserIndexAPI
} from '@/api/oaApi.js'
import {
userInfo
} from '@/api/oaUser.js'
import {
Toast
} from '@/libs/uniApi.js'
import {
myOaData
} from '@/static/server/server.js'
// import tabbar from '../components/tabbar'
export default {
components: {
@ -118,7 +110,14 @@
return this.$store.state.config.eyeType;
},
oaUserInfo() {
return this.$store.state.app.userInfo || { avatar: '', admin: { company: { company_name: '' } } };
return this.$store.state.app.userInfo || {
avatar: '',
admin: {
company: {
company_name: ''
}
}
};
}
},
methods: {

View File

@ -41,8 +41,8 @@
</view>
<view style="margin-top: 40rpx;">
<u-icon style="display: inline-block;margin-left: 10rpx;" color="white"
name="edit-pen-fill"></u-icon> {{item.is_contract?"已签约":"未签约"}}
<u-icon style="display: inline-block;" color="white" name="edit-pen-fill"></u-icon>
{{item.is_contract?"已签约":"未签约"}}
</view>
</view>
<view class="right">
@ -216,9 +216,8 @@
.left {
text-align: center;
// padding: 15rpx 25rpx;
padding: 15rpx 25rpx;
padding-top: 20rpx;
margin-right: 50rpx;
width: 160rpx;
background-color: $theme-oa-color;
@ -229,7 +228,8 @@
width: 120rpx;
height: 120rpx;
background-color: #FFFFFF;
margin-left: 25rpx;
// margin-left: 25rpx;
padding: 0 25rpx;
border-radius: 120rpx;
position: relative;

View File

@ -11,6 +11,69 @@
</view> -->
<view class="contract_list">
<view class="item" v-for="(item,index) in list" :key="item.id">
<view class="personnel_list">
<view class="cards">
<view class="cards_head">
<text style="font-size: 32rpx">电子合同</text>
</view>
<view class="cards_content">
<view class="right">
<view class="">
<text>甲方 :</text>
<text> { item.name }</text>
</view>
<view class="">
<text>乙方 :</text>
<text>{ item.phone }</text>
</view>
<view class="">
<text>合同类型 :</text>
<text> {{item.company.contract_type_name}} </text>
</view>
<view class="">
<text>合同编号 :</text>
<text> {{item.contract_no}} </text>
</view>
</view>
</view>
<view class="hr">
</view>
<view class="contract_box">
<view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<view class="text">
<view class="name">{{item.company.contract_type_name}}</view>
<view>
<text>{{item.update_time}}</text>
</view>
</view>
</view>
<view class="right" @click="navTo('/subpkg/contractDetail/contractDetail?id='+item.id)">
<uni-icons type="paperclip" color="#0022C7"></uni-icons>
<view>查看</view>
</view>
</view>
</view>
</view>
<!--
<view class="top">
<image src="../../static/img/contract/pdf.png" style="height: 140rpx; width: 140rpx;"></image>
<view class="text">
@ -20,7 +83,7 @@
</view>
</view>
<view class="date">
<!-- <text class="time">2023-04-27 2024-04-28 </text> -->
<view class="number">
<view class="num_left">合同编号:</view>
<text>{{item.contract_no}}</text>
@ -41,8 +104,14 @@
<view class="left" v-if="item.status">已签订</view>
<view class="left yellow" v-else-if="item.check_status>=2">签订中</view>
<view class="left red" v-else>未签订</view>
<button class="right" @click="navTo('/subpkg/contractDetail/contractDetail?id='+item.id)">详情</button>
<button class="right"
@click="navTo('/subpkg/contractDetail/contractDetail?id='+item.id)">详情</button>
</view>
-->
</view>
</view>
<u-empty v-if="loadConfig.status=='nomore'&& list.length==0" text="暂无合同"
@ -53,7 +122,9 @@
</template>
<script>
import { contractList } from "@/api/contract.js"
import {
contractList
} from "@/api/contract.js"
export default {
data() {
return {
@ -159,33 +230,88 @@
}
}
.contract_list {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 28rpx;
.personnel_list {
padding: 28rpx 0;
margin-bottom: 130rpx;
.item {
.cards {
margin: 0 auto;
margin-bottom: 28rpx;
width: 694rpx;
min-height: 263rpx;
background: #ffffff;
border-radius: 30rpx;
opacity: 1;
overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head {
padding: 28rpx;
margin-bottom: 28rpx;
background: #FFFFFF;
border-radius: 14rpx 14rpx 14rpx 14rpx;
background-color: $theme-oa-color;
color: white;
height: 100rpx;
display: flex;
justify-content: space-between;
}
.cards_content {
padding: 28rpx;
display: flex;
justify-content: space-between;
.left {
text-align: center;
// padding: 15rpx 25rpx;
padding-top: 20rpx;
width: 160rpx;
background-color: $theme-oa-color;
color: white;
border-radius: 40rpx;
.cir {
width: 120rpx;
height: 120rpx;
background-color: #ffffff;
margin-left: 25rpx;
border-radius: 120rpx;
position: relative;
}
}
.right {
display: flex;
flex-direction: column;
justify-content: space-between;
.top {
display: flex;
margin-bottom: 28rpx;
view {
margin-bottom: 10rpx;
image {
width: 87.6rpx;
height: 87.6rpx;
margin-right: 28rpx;
flex-shrink: 0;
text:nth-child(2) {
margin-left: 20rpx;
}
}
}
}
.hr {
border-top: 1px dashed #0022C7;
margin-bottom: 30rpx;
}
.contract_box {
padding: 0 28rpx 20rpx;
display: flex;
justify-content: space-between;
.left {
display: flex;
.contract_img {
width: 102rpx;
height: 102rpx;
background: #F5F5F5;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-right: 21rpx;
}
.text {
@ -194,74 +320,156 @@
justify-content: space-between;
.name {
.title {
font-size: 32rpx;
font-weight: 400;
color: #333333;
margin-right: 17.5rpx;
}
;
font-weight: 500;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
}
.date {
font-size: 25rpx;
font-weight: 400;
color: #F9AA32;
line-height: 36rpx;
.number, .time{
display: flex;
justify-content: left;
flex-wrap: wrap;
.num_left{
margin-right: 18rpx;
}
.nickname {
margin-right: 35rpx;
}
.time {
color: #CCCCCCFF;
margin-right: 10rpx;
}
}
}
}
.bottom {
display: flex;
justify-content: space-between;
margin-top: 28rpx;
.left {
text {
height: 39rpx;
font-size: 28rpx;
font-weight: 400;
color: #34A853;
color: #666666;
line-height: 35rpx;
}
.yellow {
color: #F9AA32;
}
.red {
color: #F02828FF;
}
.right {
width: 158rpx;
// height: 53rpx;
// border-radius: 26rpx 26rpx 26rpx 26rpx;
// border: 2rpx solid #3274F9;
// display: flex;
// justify-content: center;
// align-items: center;
text-align: right;
background: #FFFFFF;
opacity: 1;
font-size: 28rpx;
font-weight: 400;
font-weight: 500;
color: #3274F9;
}
line-height: 35rpx;
display: flex;
justify-content: center;
align-items: center;
.icon {
width: 35rpx;
height: 39rpx;
background-color: #3274F9;
opacity: 1;
margin-right: 10rpx
}
}
}
}
}
// .contract_list {
// display: flex;
// flex-direction: column;
// justify-content: space-between;
// align-items: center;
// padding: 28rpx;
// .item {
// width: 694rpx;
// min-height: 263rpx;
// padding: 28rpx;
// margin-bottom: 28rpx;
// background: #FFFFFF;
// border-radius: 14rpx 14rpx 14rpx 14rpx;
// display: flex;
// flex-direction: column;
// justify-content: space-between;
// .top {
// display: flex;
// margin-bottom: 28rpx;
// image {
// width: 87.6rpx;
// height: 87.6rpx;
// margin-right: 28rpx;
// flex-shrink: 0;
// }
// .text {
// display: flex;
// flex-direction: column;
// justify-content: space-between;
// .name {
// .title {
// font-size: 32rpx;
// font-weight: 400;
// color: #333333;
// margin-right: 17.5rpx;
// }
// }
// .date {
// font-size: 25rpx;
// font-weight: 400;
// color: #F9AA32;
// line-height: 36rpx;
// .number,
// .time {
// display: flex;
// justify-content: left;
// flex-wrap: wrap;
// .num_left {
// margin-right: 18rpx;
// }
// }
// .time {
// color: #CCCCCCFF;
// margin-right: 10rpx;
// }
// }
// }
// }
// .bottom {
// display: flex;
// justify-content: space-between;
// margin-top: 28rpx;
// .left {
// font-size: 28rpx;
// font-weight: 400;
// color: #34A853;
// }
// .yellow {
// color: #F9AA32;
// }
// .red {
// color: #F02828FF;
// }
// .right {
// width: 158rpx;
// // height: 53rpx;
// // border-radius: 26rpx 26rpx 26rpx 26rpx;
// // border: 2rpx solid #3274F9;
// // display: flex;
// // justify-content: center;
// // align-items: center;
// text-align: right;
// background: #FFFFFF;
// opacity: 1;
// font-size: 28rpx;
// font-weight: 400;
// color: #3274F9;
// }
// }
// }
// }
</style>

View File

@ -2,14 +2,19 @@
<view class="">
<view class="finance_head">
<view class="top">
<view class="left" @click="navTo()">
<view v-if="user_id==0">
<u--image :showLoading="true" :src="userInfo.avatar||'../../static/img/public/man.png'" width="44px" height="44px" shape="circle"></u--image>
<view @click="navTo()">
<view v-if="user_id==0" class="accont">
<u--image :showLoading="true" :src="userInfo.avatar||'../../static/img/public/man.png'"
width="44px" height="44px" shape="circle"></u--image>
<view class="name">{{userInfo.nickname}}</view>
<u-icon name="setting-fill" color="white" size="20"></u-icon>
</view>
<view v-else>
<u--image :showLoading="true" :src="userInfo.avatar||'../../static/img/public/man.png'" width="44px" height="44px" shape="circle"></u--image>
<view v-else class="accont">
<u--image :showLoading="true" :src="userInfo.avatar||'../../static/img/public/man.png'"
width="44px" height="44px" shape="circle"></u--image>
<view class="name">{{userInfo.nickname}}</view>
<u-icon name="setting-fill" color="white" size="20"></u-icon>
</view>
</view>
<!-- <view class="right" @click="navTo('/subpkg/topUp/topUp')">
@ -18,7 +23,8 @@
</view>
<view class="center">
<view class="title">
<text style="margin-right: 20rpx;">账户总金额()</text><uni-icons @click="updateEye()" :type="eyeType?'eye-filled':'eye-slash-filled'" color="#fff"></uni-icons>
<text style="margin-right: 20rpx;">账户总金额()</text><uni-icons @click="updateEye()"
:type="eyeType?'eye-filled':'eye-slash-filled'" color="#fff"></uni-icons>
</view>
<view class="price" v-show="eyeType">{{userInfo.user_money||0.00}}</view>
<view class="price" v-show="!eyeType">****</view>
@ -70,7 +76,7 @@
</view>
</view>
</view> -->
<view class="item" v-for="(item, index) in billList" :key="item.id">
<!-- <view class="item" v-for="(item, index) in billList" :key="item.id">
<view class="top">
账单日期: {{current?item.month:item.create_time}}
</view>
@ -87,18 +93,44 @@
<view class="t_item">
<view class="t_title">收益来源</view>
<view class="tips">
<!-- {{current?item.remark:item.type_desc}} -->
<text v-if="item.change_type==202" style="color: #46be61;">{{item.type_desc}}</text>
<text v-else-if="item.change_type==203" style="color: #ff7c32;">{{item.type_desc}}</text>
<text v-else-if="item.change_type==203"
style="color: #ff7c32;">{{item.type_desc}}</text>
<text v-else="item.change_type==203">{{item.type_desc}}</text>
</view>
</view>
</view>
<view class="price">{{current?(item.expenditure==0?'+'+item.income:'-'+item.income):item.change_amount_desc}}</view>
<view class="price">
{{current?(item.expenditure==0?'+'+item.income:'-'+item.income):item.change_amount_desc}}
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText" :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
-->
<view class="card" v-for="(item, index) in billList" :key="index">
<view class="top">
<view class="blue">账单详情</view>
<view>账单日期{{current?item.month:item.create_time}}</view>
</view>
<view class="bottom">
<view class="left">
<view>收益金额()</view>
<view class="num">
{{current?(item.expenditure==0?item.income:'-'+item.income):item.change_amount_desc}}
</view>
</view>
<view class="right">
<view>支出金额:{{item.expenditure>0?item.expenditure:'0.00'}}</view>
<view>入账金额:{{item.income>0?item.income:'0.00'}}</view>
</view>
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
<!-- 月账单 -->
<view class="bill_list" v-show="current==1">
@ -127,10 +159,17 @@
</template>
<script>
import { accountLogLists, accountLogListsMonth } from "@/api/pay.js"
import { userInfo } from "@/api/oaUser.js"
import {
accountLogLists,
accountLogListsMonth
} from "@/api/pay.js"
import {
userInfo
} from "@/api/oaUser.js"
import { Toast } from '@/libs/uniApi.js'
import {
Toast
} from '@/libs/uniApi.js'
export default {
data() {
return {
@ -233,6 +272,7 @@ export default {
page {
// background-color: #fff;
}
.finance_head {
background-color: $theme-oa-color;
height: 400rpx;
@ -243,12 +283,24 @@ page{
background-size: 100% 35%;
background-repeat: no-repeat;
background-position: center bottom;
.top {
display: flex;
justify-content: space-between;
align-items: center;
color: #fff;
padding: 10rpx 28rpx;
.accont {
// background-color: red;
display: flex;
width: 32vw;
justify-content: space-between;
vertical-align: bottom;
line-height: 44px;
}
.left {
display: flex;
align-items: center;
@ -256,30 +308,36 @@ page{
font-size: 28rpx;
font-weight: 500;
color: #FFFFFF;
.name {
margin: 0 17.5rpx;
}
image {
width: 40rpx;
height: 40rpx;
}
}
.right {
font-size: 24.53rpx;
font-weight: 400;
color: #FFFFFF;
}
}
.center {
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.title {
font-size: 25rpx;
font-weight: 400;
line-height: 39rpx;
}
.price {
font-size: 60rpx;
font-weight: bold;
@ -287,15 +345,17 @@ page{
margin-top: 28rpx;
margin-bottom: 14rpx;
}
.bubble {
padding: 20rpx 28rpx 10rpx 28rpx;
background-image: url('../../static/img/contract/bubble.png');
background-repeat: no-repeat;
background-size: 100% 100%;
.text{
}
.text {}
}
}
.bottom {
position: absolute;
bottom: -78rpx;
@ -309,12 +369,14 @@ page{
display: flex;
justify-content: space-around;
align-items: center;
.item {
text-align: center;
font-size: 25rpx;
font-weight: 400;
color: #666666;
line-height: 39rpx;
.num {
font-size: 39rpx;
font-weight: 500;
@ -324,14 +386,17 @@ page{
}
}
}
.bill {
// padding: 28rpx;
// padding-top: 90rpx;
padding-bottom: 32rpx;
background-color: #f5f5f5;
.type_box {
background-color: #fff;
padding: 32rpx 0;
.type {
height: 53rpx;
width: 333rpx;
@ -339,6 +404,7 @@ page{
align-items: center;
overflow: hidden;
margin: 0 auto;
view {
flex: 1;
color: $theme-oa-color;
@ -346,28 +412,34 @@ page{
display: flex;
align-items: center;
justify-content: center;
border: 1px solid $theme-oa-color;
border: 1px solid #3274F9;
&:nth-child(1) {
border-radius: 30rpx 0 0 30rpx;
}
&:nth-child(2) {
border-radius: 0 30rpx 30rpx 0;
}
}
.active {
background-color: $theme-oa-color;
background-color: #3274F9;
color: #fff;
}
}
}
.bill_list {
// background-color: #f5f5f5;
padding-bottom: 100rpx;
padding-top: 28rpx;
.card {
padding: 28rpx;
background-color: #fff;
margin-bottom: 21rpx;
.top {
display: flex;
align-items: center;
@ -375,10 +447,11 @@ page{
font-weight: 400;
color: #333333FF;
line-height: 39rpx;
.blue {
width: 137rpx;
height: 49rpx;
background: $theme-oa-color;
background: #3274F9;
border-radius: 26rpx 26rpx 26rpx 26rpx;
font-size: 25rpx;
font-weight: 400;
@ -390,11 +463,13 @@ page{
margin-right: 28rpx;
}
}
.bottom {
display: flex;
justify-content: space-between;
align-items: center;
height: 160rpx;
.left {
flex: 1;
text-align: center;
@ -402,6 +477,7 @@ page{
font-weight: 400;
color: #666666;
line-height: 39rpx;
.num {
font-size: 39rpx;
font-weight: 500;
@ -409,6 +485,7 @@ page{
line-height: 39rpx;
}
}
.right {
flex: 1;
font-size: 25rpx;
@ -418,6 +495,7 @@ page{
}
}
}
.item {
margin: 0 auto;
margin-bottom: 28rpx;
@ -458,12 +536,15 @@ page{
font-weight: 400;
color: #999999;
line-height: 39rpx;
.t_item {
display: flex;
.t_title {
margin-bottom: 16rpx;
flex-shrink: 0 !important;
}
.tips {
font-size: 28rpx;
font-weight: 400;
@ -471,6 +552,7 @@ page{
}
}
}
.price {
display: flex;
align-items: center;

View File

@ -58,7 +58,7 @@
<view class="personnel_list">
<view class="card" v-for="(item, index) in userList" :key="item.id">
<view class="card_head">
<text style="font-size: 32rpx">创建时间: 2020-25-2</text>
<text style="font-size: 32rpx">创建时间: {{item.create_time||"2020-10-10"}}</text>
<text @click="navTo('/subpkg/finance/finance?id='+item.id)">财务查看</text>
<text @click="navTo('/subpkg/personnelDetails/personnelDetails?id='+item.id)">信息查看</text>
</view>
@ -71,8 +71,8 @@
</view>
<view style="margin-top: 40rpx;" @click="changeSign(item)">
<u-icon style="display: inline-block;margin-left: 10rpx;" color="white"
name="edit-pen-fill"></u-icon> {{item.is_contract?'已签约':'未签约'}}
<u-icon style="display: inline-block;" color="white" name="edit-pen-fill"></u-icon>
{{item.is_contract?'已签约':'未签约'}}
</view>
</view>
<view class="right">
@ -234,7 +234,7 @@
.left {
text-align: center;
// padding: 15rpx 25rpx;
padding: 15rpx 25rpx;
padding-top: 20rpx;
margin-right: 50rpx;
@ -247,7 +247,8 @@
width: 120rpx;
height: 120rpx;
background-color: #FFFFFF;
margin-left: 25rpx;
// margin-left: 25rpx;
padding: 0 25rpx;
border-radius: 120rpx;
position: relative;

View File

@ -1,7 +1,14 @@
<template>
<view class="page">
<view class="basic">
<u-skeleton :loading="skeleton" :animate="true" title rows="1" rows-width="100%" rowsHeight="56">
<u-skeleton
:loading="skeleton"
:animate="true"
title
rows="1"
rows-width="100%"
rowsHeight="56"
>
</u-skeleton>
<block v-if="!skeleton">
<view class="title">人员基本信息</view>
@ -11,7 +18,14 @@
<view class="text">
<view class="basic_name">
<view class="name">{{ userInfo.name }}</view>
<image class="icon" :src="userInfo.sex==1?'../../static/icons/man.png':'../../static/icons/woman.png'">
<image
class="icon"
:src="
userInfo.sex == 1
? '../../static/icons/man.png'
: '../../static/icons/woman.png'
"
>
</image>
<!-- <view class="role" v-if="userInfo.roles">{{userInfo.roles[0]}}</view> -->
</view>
@ -21,35 +35,64 @@
<uni-icons type="compose" color="#F9AA32"></uni-icons>
</view> -->
</view>
<view class="phone">
联系电话{{userInfo.phone}}
<view class="phone"> 联系电话{{ userInfo.phone }} </view>
</view>
</view>
</view>
<view class="bottom" style="margin-bottom: 10rpx;display: flex;align-items: center;">
<view
class="bottom"
style="margin-bottom: 10rpx; display: flex; align-items: center"
>
是否为小队长
<u-radio-group v-model="userInfo.is_captain" style="margin-left: 16rpx;" disabled>
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
:name="item.value">
<u-radio-group
v-model="userInfo.is_captain"
style="margin-left: 16rpx"
disabled
>
<u-radio
:customStyle="{ marginRight: '16px' }"
v-for="(item, index) in [
{ value: 1, label: '是' },
{ value: 0, label: '否' },
]"
:key="index"
:label="item.label"
:name="item.value"
>
</u-radio>
</u-radio-group>
<view class="update" @click="updateShow(userInfo.is_captain, 'is_captain')">
<view
class="update"
@click="updateShow(userInfo.is_captain, 'is_captain')"
>
<uni-icons type="compose" color="#F9AA32"></uni-icons>
</view>
</view>
<view class="bottom">
负责区域<text>{{(userInfo.street_name||'')+(userInfo.village_name||'')+(userInfo.brigade_name||'')}}</text>
负责区域<text>{{
(userInfo.street_name || "") +
(userInfo.village_name || "") +
(userInfo.brigade_name || "")
}}</text>
</view>
<u-popup :show="show.is_captain" :round="10" mode="center">
<view class="popup">
<view class="p_title">修改信息</view>
<view class="p_body">
是否为小队长
<u-radio-group v-model="updateForm.is_captain" style="margin: 16rpx;">
<u-radio :customStyle="{marginRight: '16px'}"
v-for="(item, index) in [{value:1,label:'是'},{value:0,label:'否'}]" :key="index" :label="item.label"
:name="item.value">
<u-radio-group
v-model="updateForm.is_captain"
style="margin: 16rpx"
>
<u-radio
:customStyle="{ marginRight: '16px' }"
v-for="(item, index) in [
{ value: 1, label: '是' },
{ value: 0, label: '否' },
]"
:key="index"
:label="item.label"
:name="item.value"
>
</u-radio>
</u-radio-group>
</view>
@ -62,9 +105,16 @@
<u-popup :show="show.id_card" :round="10" mode="center">
<view class="popup">
<view class="p_title">修改信息</view>
<u--form style="padding: 0 28rpx;">
<u-form-item label="身份证号:" labelWidth="auto" labelPosition="top">
<u--input style="border:1px solid #3175f9;" v-model="updateForm.id_card"></u--input>
<u--form style="padding: 0 28rpx">
<u-form-item
label="身份证号:"
labelWidth="auto"
labelPosition="top"
>
<u--input
style="border: 1px solid #3175f9"
v-model="updateForm.id_card"
></u--input>
</u-form-item>
</u--form>
<view class="p_button">
@ -77,139 +127,330 @@
</block>
</view>
<view class="certification">
<u-skeleton :loading="skeleton" :animate="true" title rows="3" rows-width="100%" rowsHeight="56">
<u-skeleton
:loading="skeleton"
:animate="true"
title
rows="3"
rows-width="100%"
rowsHeight="56"
>
</u-skeleton>
<block v-if="!skeleton">
<view class="title">资质信息</view>
<view class="c_item">
<uni-section style="background-color: transparent;" title="身份证" titleFontSize="32rpx" type="line">
<uni-section
style="background-color: transparent"
title="身份证"
titleFontSize="32rpx"
type="line"
>
</uni-section>
<view class="card_box">
<image :src="userInfo.qualification&&userInfo.qualification.id_card"
@click="previewImg([userInfo.qualification&&userInfo.qualification.id_card,userInfo.qualification&&userInfo.qualification.id_card_b], 0)">
<image
:src="userInfo.qualification && userInfo.qualification.id_card"
@click="
previewImg(
[
userInfo.qualification && userInfo.qualification.id_card,
userInfo.qualification && userInfo.qualification.id_card_b,
],
0
)
"
>
</image>
<image :src="userInfo.qualification&&userInfo.qualification.id_card_b"
@click="previewImg([userInfo.qualification&&userInfo.qualification.id_card,userInfo.qualification&&userInfo.qualification.id_card_b], 1)">
<image
:src="userInfo.qualification && userInfo.qualification.id_card_b"
@click="
previewImg(
[
userInfo.qualification && userInfo.qualification.id_card,
userInfo.qualification && userInfo.qualification.id_card_b,
],
1
)
"
>
</image>
</view>
</view>
<view class="c_item">
<uni-section style="background-color: transparent;" title="银行卡照片" titleFontSize="32rpx" type="line">
<uni-section
style="background-color: transparent"
title="银行卡照片"
titleFontSize="32rpx"
type="line"
>
</uni-section>
<view class="card_box">
<image :src="userInfo.qualification&&userInfo.qualification.bank_account"
@click="previewImg([userInfo.qualification&&userInfo.qualification.bank_account,userInfo.qualification&&userInfo.qualification.bank_account_b], 0)">
<image
:src="
userInfo.qualification && userInfo.qualification.bank_account
"
@click="
previewImg(
[
userInfo.qualification &&
userInfo.qualification.bank_account,
userInfo.qualification &&
userInfo.qualification.bank_account_b,
],
0
)
"
>
</image>
<image :src="userInfo.qualification&&userInfo.qualification.bank_account_b"
@click="previewImg([userInfo.qualification&&userInfo.qualification.bank_account,userInfo.qualification&&userInfo.qualification.bank_account_b], 1)">
<image
:src="
userInfo.qualification && userInfo.qualification.bank_account_b
"
@click="
previewImg(
[
userInfo.qualification &&
userInfo.qualification.bank_account,
userInfo.qualification &&
userInfo.qualification.bank_account_b,
],
1
)
"
>
</image>
</view>
</view>
<view class="c_item"
v-if="userInfo.qualification&&userInfo.qualification.car_card||(userInfo.qualification&&userInfo.qualification.car_card)">
<uni-section style="background-color: transparent;" title="驾驶证" titleFontSize="32rpx" type="line">
<view
class="c_item"
v-if="
(userInfo.qualification && userInfo.qualification.car_card) ||
(userInfo.qualification && userInfo.qualification.car_card)
"
>
<uni-section
style="background-color: transparent"
title="驾驶证"
titleFontSize="32rpx"
type="line"
>
</uni-section>
<view class="card_box">
<image v-if="userInfo.qualification&&userInfo.qualification.car_card"
<image
v-if="userInfo.qualification && userInfo.qualification.car_card"
:src="userInfo.qualification && userInfo.qualification.car_card"
@click="previewImg([userInfo.qualification&&userInfo.qualification.car_card,userInfo.qualification&&userInfo.qualification.car_card_b], 0)">
@click="
previewImg(
[
userInfo.qualification && userInfo.qualification.car_card,
userInfo.qualification && userInfo.qualification.car_card_b,
],
0
)
"
>
</image>
<image v-if="userInfo.qualification&&userInfo.qualification.car_card"
<image
v-if="userInfo.qualification && userInfo.qualification.car_card"
:src="userInfo.qualification && userInfo.qualification.car_card_b"
@click="previewImg([userInfo.qualification&&userInfo.qualification.car_card,userInfo.qualification&&userInfo.qualification.car_card_b], 1)">
@click="
previewImg(
[
userInfo.qualification && userInfo.qualification.car_card,
userInfo.qualification && userInfo.qualification.car_card_b,
],
1
)
"
>
</image>
</view>
</view>
</block>
</view>
<view class="contract">
<u-skeleton :loading="skeleton" :animate="true" title rows="2" rows-width="100%" rowsHeight="56">
<u-skeleton
:loading="skeleton"
:animate="true"
title
rows="2"
rows-width="100%"
rowsHeight="56"
>
</u-skeleton>
<block v-if="!skeleton">
<view class="title">电子合同</view>
<view v-if="userInfo.contract&&userInfo.is_contract&&userInfo.contract.status" class="card">
<uni-section style="background-color: transparent;" :title="userInfo.name" titleFontSize="32rpx"
type="line"></uni-section>
<view class="c_text">性别{{userInfo.sex==1?'男':'女'}}</view>
<view
v-if="
userInfo.contract &&
userInfo.is_contract &&
userInfo.contract.status
"
class="card"
>
<uni-section
style="background-color: transparent"
:title="userInfo.name"
titleFontSize="32rpx"
type="line"
></uni-section>
<view class="c_text"
>性别{{ userInfo.sex == 1 ? "男" : "女" }}</view
>
<view class="c_text">身份证号码{{ userInfo.id_card }}</view>
<view class="c_text">联系电话{{ userInfo.phone }}</view>
<view class="c_text">合同类型{{userInfo.contract&&userInfo.contract.contract_type_name}}</view>
<view class="c_text">合同编号{{userInfo.contract&&userInfo.contract.contract_no}}</view>
<u-line v-if="userInfo.contract&&userInfo.contract.file" color="#999999FF" style="margin: 31rpx 0;">
<view class="c_text"
>合同类型{{
userInfo.contract && userInfo.contract.contract_type_name
}}</view
>
<view class="c_text"
>合同编号{{
userInfo.contract && userInfo.contract.contract_no
}}</view
>
<u-line
v-if="userInfo.contract && userInfo.contract.file"
color="#999999FF"
style="margin: 31rpx 0"
>
</u-line>
<view v-if="userInfo.contract&&userInfo.contract.file" class="contract_box">
<view
v-if="userInfo.contract && userInfo.contract.file"
class="contract_box"
>
<view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<image
class="contract_img"
src="../../static/img/contract/pdf.png"
></image>
<view class="text">
<view class="name">{{userInfo.contract.contract_type_name||'合同'}}</view>
<view class="name">{{
userInfo.contract.contract_type_name || "合同"
}}</view>
<view>
<text>{{userInfo.contract&&userInfo.contract.create_time}}</text>
<text>{{
userInfo.contract && userInfo.contract.create_time
}}</text>
</view>
</view>
</view>
<view class="right" @click="naviToContract(userInfo.contract.contract_no)">
<view
class="right"
@click="naviToContract(userInfo.contract.contract_no)"
>
<!-- <image class="icon"></image> -->
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view>
</view>
<picker v-if="!userInfo.is_contract&&!userInfo.contract||(userInfo.contract&&userInfo.contract.check_status==0)"
:range="contractTypeList" range-key="name" @change="changeType">
<picker
v-if="
(!userInfo.is_contract && !userInfo.contract) ||
(userInfo.contract && userInfo.contract.check_status == 0)
"
:range="contractTypeList"
range-key="name"
@change="changeType"
>
<button class="btn">生成合同</button>
</picker>
<view v-if="userInfo.contract && userInfo.contract.check_status == 1">
<button class="btn tips_center">合同已生成,请等待审核</button>
</view>
<view v-if="!userInfo.is_contract&&userInfo.contract&&userInfo.contract.check_status==2" class="card">
<view
v-if="
!userInfo.is_contract &&
userInfo.contract &&
userInfo.contract.check_status == 2
"
class="card"
>
<view class="contract_box send">
<view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<image
class="contract_img"
src="../../static/img/contract/pdf.png"
></image>
<view class="text">
<view class="name">{{userInfo.contract.contract_type_name||'合同'}}</view>
<view class="name">{{
userInfo.contract.contract_type_name || "合同"
}}</view>
<view>
<text>{{userInfo.contract&&userInfo.contract.create_time}}</text>
<text>{{
userInfo.contract && userInfo.contract.create_time
}}</text>
</view>
</view>
</view>
<view class="right" @click="naviToContract(userInfo.contract.contract_no)">
<view
class="right"
@click="naviToContract(userInfo.contract.contract_no)"
>
<!-- <image class="icon"></image> -->
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view>
<u-line color="#999999FF" style="margin: 31rpx 0;"></u-line>
<u-line color="#999999FF" style="margin: 31rpx 0"></u-line>
<view class="bottom">
<button class="send_btn" @click="addContract" v-if="timerCount==0">发送合同</button>
<button class="send_btn tips_center" v-else>{{cTimerCount+'秒后可继续发送合同'}}</button>
<button
class="send_btn"
@click="addContract"
v-if="timerCount == 0"
>
发送合同
</button>
<button class="send_btn tips_center" v-else>
{{ cTimerCount + "秒后可继续发送合同" }}
</button>
</view>
</view>
<view v-if="!userInfo.is_contract&&userInfo.contract&&userInfo.contract.check_status==3" class="card">
<view
v-if="
!userInfo.is_contract &&
userInfo.contract &&
userInfo.contract.check_status == 3
"
class="card"
>
<view class="contract_box send">
<view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<image
class="contract_img"
src="../../static/img/contract/pdf.png"
></image>
<view class="text">
<view class="name">{{userInfo.contract.contract_type_name}}</view>
<view class="name">{{
userInfo.contract.contract_type_name
}}</view>
<view>
<text>{{userInfo.contract&&userInfo.contract.create_time}}</text>
<text>{{
userInfo.contract && userInfo.contract.create_time
}}</text>
</view>
</view>
</view>
<view class="right" @click="naviToContract(userInfo.contract.contract_no)">
<view
class="right"
@click="naviToContract(userInfo.contract.contract_no)"
>
<!-- <image class="icon"></image> -->
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view>
<u-line color="#999999FF" style="margin: 31rpx 0;"></u-line>
<u-line color="#999999FF" style="margin: 31rpx 0"></u-line>
<view class="bottom">
<button class="send_btn" @click="getPostsms" v-if="timerCount==0">再次发送短信</button>
<button class="send_btn tips_center" v-else>{{cTimerCount+'秒后可继续再次发送短信'}}</button>
<button class="send_btn" @click="getPostsms" v-if="timerCount == 0">
再次发送短信
</button>
<button class="send_btn tips_center" v-else>
{{ cTimerCount + "秒后可继续再次发送短信" }}
</button>
</view>
</view>
</block>
</view>
</view>
</template>
@ -458,7 +699,7 @@
.card {
width: 694rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 14rpx 14rpx 14rpx 14rpx;
padding: 28rpx;
}
@ -477,7 +718,7 @@
.avatar {
width: 154rpx;
height: 154rpx;
background: #CCCCCC;
background: #cccccc;
border-radius: 7rpx 7rpx 7rpx 7rpx;
margin-right: 28rpx;
}
@ -502,7 +743,7 @@
.name {
font-size: 32rpx;
font-weight: 500;
color: #000000CC;
color: #000000cc;
}
.role {
@ -527,7 +768,7 @@
.update {
display: flex;
align-items: center;
color: #F9AA32;
color: #f9aa32;
}
}
@ -590,9 +831,9 @@
image {
width: 336rpx;
height: 238rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 14rpx 14rpx 14rpx 14rpx;
border: 2rpx solid #CCCCCC;
border: 2rpx solid #cccccc;
}
}
}
@ -605,7 +846,6 @@
width: 694rpx;
}
.card {
padding-top: 0;
@ -619,7 +859,7 @@
.contract_img {
width: 102rpx;
height: 102rpx;
background: #F5F5F5;
background: #f5f5f5;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-right: 21rpx;
}
@ -631,7 +871,6 @@
.name {
font-size: 32rpx;
;
font-weight: 500;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
@ -654,7 +893,7 @@
.right {
font-size: 28rpx;
font-weight: 500;
color: #3274F9;
color: #3274f9;
line-height: 35rpx;
display: flex;
justify-content: center;
@ -663,12 +902,11 @@
.icon {
width: 35rpx;
height: 39rpx;
background-color: #3274F9;
background-color: #3274f9;
opacity: 1;
margin-right: 10rpx
margin-right: 10rpx;
}
}
}
.send {