页面样式修改

This commit is contained in:
THK3121 2023-08-19 16:39:16 +08:00
parent 3684c3a7ce
commit 281b61a609
11 changed files with 3367 additions and 3059 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,14 +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">
@ -75,7 +69,7 @@
</view>
<view class="" @click="copyPhone(company.master_email, '社会代码')">
<text>担任职务 :</text>
<text>{{company.organization_code}}</text>
<text>{{company.master_position}}</text>
</view>
<view class="" @click="copyPhone(company.master_email, '电话')">
<text>联系电话 :</text>
@ -726,6 +720,7 @@ export default {
flex-direction: column;
align-items: center;
padding: 28rpx;
.left {
display: flex;

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

@ -11,7 +11,8 @@
<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>
@ -30,8 +31,8 @@
是否为小队长
<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">
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')">
@ -48,8 +49,8 @@
是否为小队长
<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">
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>
@ -155,7 +156,8 @@
</view>
</view>
</view>
<picker v-if="!userInfo.is_contract&&!userInfo.contract||(userInfo.contract&&userInfo.contract.check_status==0)"
<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>