页面样式修改
This commit is contained in:
parent
3684c3a7ce
commit
281b61a609
66
App.vue
66
App.vue
@ -1,10 +1,30 @@
|
||||
<script>
|
||||
//#ifdef APP-PLUS
|
||||
const jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||
// #endif
|
||||
export default {
|
||||
onLaunch: async function () {
|
||||
//#ifdef APP-PLUS
|
||||
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({
|
||||
@ -27,34 +47,34 @@ export default {
|
||||
// ida.push(result.messageID)
|
||||
// })
|
||||
},
|
||||
onShow: function () {
|
||||
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 () {
|
||||
onHide: function() {
|
||||
console.log('App Hide')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
/*每个页面公共css */
|
||||
@import "static/css/base.css";
|
||||
@import "static/css/style.scss";
|
||||
/*每个页面公共css */
|
||||
@import "static/css/base.css";
|
||||
@import "static/css/style.scss";
|
||||
|
||||
view {
|
||||
view {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -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>
|
||||
@ -321,22 +315,22 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
import {
|
||||
contractView
|
||||
} from "@/api/contract.js"
|
||||
import {
|
||||
} from "@/api/contract.js"
|
||||
import {
|
||||
companyView
|
||||
} from "@/api/company.js"
|
||||
import {
|
||||
} from "@/api/company.js"
|
||||
import {
|
||||
download_file
|
||||
} from "@/api/junziqian.js"
|
||||
import {
|
||||
} from "@/api/junziqian.js"
|
||||
import {
|
||||
Toast
|
||||
} from '@/libs/uniApi.js'
|
||||
} from '@/libs/uniApi.js'
|
||||
|
||||
export default {
|
||||
export default {
|
||||
name: "company",
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
skeleton: true,
|
||||
company: {
|
||||
@ -353,11 +347,11 @@ export default {
|
||||
}
|
||||
},
|
||||
props: ['id', 'type'],
|
||||
mounted () {
|
||||
mounted() {
|
||||
this.initContract(this.$props.id, this.$props.type || null);
|
||||
},
|
||||
computed: {
|
||||
c_address () {
|
||||
c_address() {
|
||||
let str = '';
|
||||
if (this.company.company_type == 16) {
|
||||
this.company?.province_name ? str += this.company?.province_name : null;
|
||||
@ -374,7 +368,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
navTo (contract_no) {
|
||||
navTo(contract_no) {
|
||||
download_file({
|
||||
applyNo: contract_no
|
||||
}).then(res => {
|
||||
@ -386,10 +380,10 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
naviBack () {
|
||||
naviBack() {
|
||||
uni.navigateBack()
|
||||
},
|
||||
async initContract (id, type = "contract") {
|
||||
async initContract(id, type = "contract") {
|
||||
let res;
|
||||
//判断是合同还是公司
|
||||
if (id && (type == "contract" || type == null)) {
|
||||
@ -414,22 +408,22 @@ export default {
|
||||
// console.log(res.data);
|
||||
},
|
||||
//查看图片
|
||||
priview (url) {
|
||||
priview(url) {
|
||||
uni.previewImage({
|
||||
urls: [url],
|
||||
longPressActions: {
|
||||
itemList: ['保存图片'],
|
||||
success: function (data) {
|
||||
success: function(data) {
|
||||
if (data.tapIndex === 0) {
|
||||
uni.saveImageToPhotosAlbum({
|
||||
filePath: url,
|
||||
success: function () {
|
||||
success: function() {
|
||||
uni.showToast({
|
||||
title: '保存成功',
|
||||
icon: 'success'
|
||||
})
|
||||
},
|
||||
fail: function () {
|
||||
fail: function() {
|
||||
uni.showToast({
|
||||
title: '保存失败',
|
||||
icon: 'none'
|
||||
@ -441,7 +435,7 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
copyPhone (str = "", type = "号码") {
|
||||
copyPhone(str = "", type = "号码") {
|
||||
if (str) uni.setClipboardData({
|
||||
data: str + "",
|
||||
success: (e) => {
|
||||
@ -453,7 +447,7 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@ -726,6 +720,7 @@ export default {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 28rpx;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
|
||||
@ -802,9 +797,9 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.back_btn {
|
||||
.back_btn {
|
||||
width: 694rpx;
|
||||
height: 84rpx;
|
||||
background: $theme-oa-color;
|
||||
@ -814,9 +809,9 @@ export default {
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
margin: 30rpx auto;
|
||||
}
|
||||
}
|
||||
|
||||
.stop_btn {
|
||||
.stop_btn {
|
||||
width: 694rpx;
|
||||
height: 84rpx;
|
||||
border-radius: 42rpx 42rpx 42rpx 42rpx;
|
||||
@ -826,5 +821,5 @@ export default {
|
||||
color: $theme-oa-color;
|
||||
background-color: transparent;
|
||||
margin: 30rpx auto;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -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,33 +47,42 @@
|
||||
<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() {
|
||||
return {
|
||||
current: 0,
|
||||
list: [],
|
||||
company:{
|
||||
company: {
|
||||
company_money: "0",
|
||||
deposit: "0"
|
||||
},
|
||||
loadConfig:{
|
||||
loadConfig: {
|
||||
page: 1,
|
||||
limit: 15,
|
||||
lastpage: '',
|
||||
@ -78,30 +94,30 @@
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
uni.$on('companyInfo', (e)=>{
|
||||
uni.$on('companyInfo', (e) => {
|
||||
this.company = e;
|
||||
console.log(this.company);
|
||||
this.initLoad();
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
navTo(url) {
|
||||
url ?
|
||||
uni.navigateTo({
|
||||
url: url,
|
||||
}) : Toast('暂未开放')
|
||||
},
|
||||
initLoad(){
|
||||
initLoad() {
|
||||
this.loadConfig.page = 1;
|
||||
this.loadConfig.status = "loadmore";
|
||||
this.list = [];
|
||||
this.initList();
|
||||
},
|
||||
async initList(){
|
||||
if(this.loadConfig.status=="nomore")return;
|
||||
this.loadConfig.status="loading";
|
||||
async initList() {
|
||||
if (this.loadConfig.status == "nomore") return;
|
||||
this.loadConfig.status = "loading";
|
||||
let res;
|
||||
if(this.current==0) res = await accountDateList({
|
||||
if (this.current == 0) res = await accountDateList({
|
||||
page: this.loadConfig.page,
|
||||
limit: this.loadConfig.limit,
|
||||
company_id: this.$store.state.app.userInfo.company_id
|
||||
@ -111,19 +127,19 @@
|
||||
limit: this.loadConfig.limit,
|
||||
company_id: this.$store.state.app.userInfo.company_id
|
||||
})
|
||||
this.loadConfig.status="loadmore"
|
||||
if(res.data.length<this.loadConfig.limit){
|
||||
this.loadConfig.status="nomore"
|
||||
}else {
|
||||
this.loadConfig.status = "loadmore"
|
||||
if (res.data.length < this.loadConfig.limit) {
|
||||
this.loadConfig.status = "nomore"
|
||||
} else {
|
||||
this.loadConfig.page++;
|
||||
}
|
||||
this.list = [...this.list, ...res.data]
|
||||
},
|
||||
// 格式化数据
|
||||
cCount(value=0){
|
||||
try{
|
||||
cCount(value = 0) {
|
||||
try {
|
||||
return value.toFixed(2);
|
||||
}catch(e){
|
||||
} catch (e) {
|
||||
return "0.00";
|
||||
}
|
||||
}
|
||||
@ -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,20 +260,24 @@
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
line-height: 39rpx;
|
||||
.t_item{
|
||||
|
||||
.t_item {
|
||||
display: flex;
|
||||
.t_title{
|
||||
|
||||
.t_title {
|
||||
margin-bottom: 16rpx;
|
||||
flex-shrink: 0 !important;
|
||||
}
|
||||
.tips{
|
||||
|
||||
.tips {
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
.price{
|
||||
|
||||
.price {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 32rpx;
|
||||
|
@ -238,7 +238,7 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "合同管理",
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarBackgroundColor": "#0122C7",
|
||||
"navigationBarBackgroundColor": "#0022C7",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
|
||||
|
@ -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>
|
||||
@ -194,24 +161,32 @@
|
||||
</template>
|
||||
|
||||
<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 tabbar from '../components/tabbar'
|
||||
import {
|
||||
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 tabbar from '../components/tabbar'
|
||||
import {
|
||||
getIndexListAPI,
|
||||
getTaskListAPI,
|
||||
getMyTaskListAPI,
|
||||
getApproveListAPI,
|
||||
getUserIndexAPI,
|
||||
} from "@/api/oaApi.js";
|
||||
//#ifdef APP-PLUS
|
||||
var jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||
// #endif
|
||||
export default {
|
||||
} from "@/api/oaApi.js";
|
||||
//#ifdef APP-PLUS
|
||||
var jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||
// #endif
|
||||
export default {
|
||||
components: {
|
||||
// tabbar
|
||||
logistiBriefCard,
|
||||
@ -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;
|
||||
@ -440,21 +418,21 @@ export default {
|
||||
// this.getIndexList()
|
||||
uni.stopPullDownRefresh();
|
||||
},
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.oa_home {
|
||||
.oa_home {
|
||||
padding-bottom: 120rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.header_bg {
|
||||
.header_bg {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
// z-index: -1;
|
||||
}
|
||||
}
|
||||
|
||||
.home_header {
|
||||
.home_header {
|
||||
position: relative;
|
||||
padding: 28rpx;
|
||||
// height: 607.02rpx;
|
||||
@ -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
|
||||
@ -607,13 +588,13 @@ export default {
|
||||
.backlog_no_data {
|
||||
bottom: -70rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.home_header_no_data {
|
||||
.home_header_no_data {
|
||||
margin-bottom: 93.33rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.fast_track {
|
||||
.fast_track {
|
||||
width: 694rpx;
|
||||
// height: 331rpx;
|
||||
display: flex;
|
||||
@ -637,9 +618,9 @@ export default {
|
||||
margin-top: 14.04rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.my_task {
|
||||
.my_task {
|
||||
width: 694.74rpx;
|
||||
margin: 0 auto;
|
||||
// margin-top: 31.58rpx;
|
||||
@ -752,9 +733,9 @@ export default {
|
||||
font-size: 24.56rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.no_login {
|
||||
.no_login {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
@ -792,5 +773,5 @@ export default {
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -28,8 +28,9 @@
|
||||
</view>
|
||||
<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_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: {
|
||||
@ -135,7 +134,7 @@
|
||||
// success: (e) => {
|
||||
// if (e.confirm) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/oaLogin/oaLogin?clear='+true,
|
||||
url: '/pages/oaLogin/oaLogin?clear=' + true,
|
||||
success() {
|
||||
that.$store.commit('CLEAR');
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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>
|
@ -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,21 +159,28 @@
|
||||
</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'
|
||||
export default {
|
||||
import {
|
||||
Toast
|
||||
} from '@/libs/uniApi.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
user_id:0,
|
||||
userInfo:{},
|
||||
otherUserInfo:{},
|
||||
billTypeList:['日账单','月账单'],
|
||||
user_id: 0,
|
||||
userInfo: {},
|
||||
otherUserInfo: {},
|
||||
billTypeList: ['日账单', '月账单'],
|
||||
current: 0,
|
||||
billList: [],
|
||||
billListMonth: [],
|
||||
loadConfig:{
|
||||
loadConfig: {
|
||||
page: 1,
|
||||
limit: 25,
|
||||
loadingText: '努力加载中',
|
||||
@ -152,23 +191,23 @@ export default {
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
if(e.id>0){
|
||||
this.user_id=e.id
|
||||
if (e.id > 0) {
|
||||
this.user_id = e.id
|
||||
|
||||
}
|
||||
this.loadBill()
|
||||
},
|
||||
onShow() {
|
||||
// console.log(this.userInfo);
|
||||
if(this.user_id==0){
|
||||
if (this.user_id == 0) {
|
||||
this.userInfo = this.$store.state.app.userInfo;
|
||||
}else{
|
||||
} else {
|
||||
this.OtherUserInfo()
|
||||
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
eyeType(){
|
||||
computed: {
|
||||
eyeType() {
|
||||
return this.$store.state.config.eyeType;
|
||||
}
|
||||
},
|
||||
@ -183,41 +222,41 @@ export default {
|
||||
url: url
|
||||
}) : Toast('暂未开放')
|
||||
},
|
||||
async OtherUserInfo(){
|
||||
async OtherUserInfo() {
|
||||
let res = await userInfo({
|
||||
id:this.user_id
|
||||
id: this.user_id
|
||||
});
|
||||
this.userInfo=res.data
|
||||
this.userInfo = res.data
|
||||
},
|
||||
updateEye(){
|
||||
updateEye() {
|
||||
this.$store.commit('SET_EYE_TYPE')
|
||||
},
|
||||
// 选择日账单月账单
|
||||
changeBillType(type){
|
||||
changeBillType(type) {
|
||||
this.current = type;
|
||||
if(type==1)this.loadBillMonth();
|
||||
if (type == 1) this.loadBillMonth();
|
||||
},
|
||||
async loadBill(){
|
||||
if(this.loadConfig.status=="nomore")return;
|
||||
this.loadConfig.status="loading"
|
||||
async loadBill() {
|
||||
if (this.loadConfig.status == "nomore") return;
|
||||
this.loadConfig.status = "loading"
|
||||
let res = await accountLogLists({
|
||||
type: 'um', //账户余额
|
||||
page_no: this.loadConfig.page,
|
||||
page_size: this.loadConfig.limit,
|
||||
user_id:this.user_id
|
||||
user_id: this.user_id
|
||||
});
|
||||
this.loadConfig.status="loadmore"
|
||||
if(res.data.lists.length<this.loadConfig.limit){
|
||||
this.loadConfig.status="nomore"
|
||||
}else {
|
||||
this.loadConfig.status = "loadmore"
|
||||
if (res.data.lists.length < this.loadConfig.limit) {
|
||||
this.loadConfig.status = "nomore"
|
||||
} else {
|
||||
this.loadConfig.page++;
|
||||
}
|
||||
this.billList = [...this.billList, ...res.data.lists];
|
||||
},
|
||||
async loadBillMonth(){
|
||||
async loadBillMonth() {
|
||||
let res = await accountLogListsMonth();
|
||||
let list = [];
|
||||
for(let key in res.data){
|
||||
for (let key in res.data) {
|
||||
list.push(res.data[key])
|
||||
}
|
||||
this.billListMonth = list;
|
||||
@ -230,10 +269,11 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page{
|
||||
page {
|
||||
// background-color: #fff;
|
||||
}
|
||||
.finance_head{
|
||||
}
|
||||
|
||||
.finance_head {
|
||||
background-color: $theme-oa-color;
|
||||
height: 400rpx;
|
||||
position: relative;
|
||||
@ -243,60 +283,80 @@ page{
|
||||
background-size: 100% 35%;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center bottom;
|
||||
.top{
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
padding: 10rpx 28rpx;
|
||||
.left{
|
||||
|
||||
.accont {
|
||||
// background-color: red;
|
||||
display: flex;
|
||||
width: 32vw;
|
||||
justify-content: space-between;
|
||||
vertical-align: bottom;
|
||||
line-height: 44px;
|
||||
}
|
||||
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
.name{
|
||||
|
||||
.name {
|
||||
margin: 0 17.5rpx;
|
||||
}
|
||||
image{
|
||||
|
||||
image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
.right{
|
||||
|
||||
.right {
|
||||
font-size: 24.53rpx;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
.center{
|
||||
|
||||
.center {
|
||||
color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
.title{
|
||||
|
||||
.title {
|
||||
font-size: 25rpx;
|
||||
font-weight: 400;
|
||||
line-height: 39rpx;
|
||||
}
|
||||
.price{
|
||||
|
||||
.price {
|
||||
font-size: 60rpx;
|
||||
font-weight: bold;
|
||||
line-height: 39rpx;
|
||||
margin-top: 28rpx;
|
||||
margin-bottom: 14rpx;
|
||||
}
|
||||
.bubble{
|
||||
|
||||
.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{
|
||||
|
||||
.bottom {
|
||||
position: absolute;
|
||||
bottom: -78rpx;
|
||||
left: 50%;
|
||||
@ -304,18 +364,20 @@ page{
|
||||
width: 694rpx;
|
||||
height: 140rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 0rpx 18rpx 2rpx rgba(50,116,249,0.1);
|
||||
box-shadow: 0rpx 0rpx 18rpx 2rpx rgba(50, 116, 249, 0.1);
|
||||
border-radius: 14rpx 14rpx 14rpx 14rpx;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
.item{
|
||||
|
||||
.item {
|
||||
text-align: center;
|
||||
font-size: 25rpx;
|
||||
font-weight: 400;
|
||||
color: #666666;
|
||||
line-height: 39rpx;
|
||||
.num{
|
||||
|
||||
.num {
|
||||
font-size: 39rpx;
|
||||
font-weight: 500;
|
||||
color: #F02828;
|
||||
@ -323,62 +385,73 @@ page{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.bill{
|
||||
}
|
||||
|
||||
.bill {
|
||||
// padding: 28rpx;
|
||||
// padding-top: 90rpx;
|
||||
padding-bottom: 32rpx;
|
||||
background-color: #f5f5f5;
|
||||
.type_box{
|
||||
|
||||
.type_box {
|
||||
background-color: #fff;
|
||||
padding: 32rpx 0;
|
||||
.type{
|
||||
|
||||
.type {
|
||||
height: 53rpx;
|
||||
width: 333rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
margin: 0 auto;
|
||||
view{
|
||||
|
||||
view {
|
||||
flex: 1;
|
||||
color: $theme-oa-color;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 1px solid $theme-oa-color;
|
||||
&:nth-child(1){
|
||||
border: 1px solid #3274F9;
|
||||
|
||||
&:nth-child(1) {
|
||||
border-radius: 30rpx 0 0 30rpx;
|
||||
}
|
||||
&:nth-child(2){
|
||||
|
||||
&:nth-child(2) {
|
||||
border-radius: 0 30rpx 30rpx 0;
|
||||
}
|
||||
}
|
||||
.active{
|
||||
background-color: $theme-oa-color;
|
||||
|
||||
.active {
|
||||
background-color: #3274F9;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bill_list{
|
||||
|
||||
.bill_list {
|
||||
// background-color: #f5f5f5;
|
||||
padding-bottom: 100rpx;
|
||||
padding-top: 28rpx;
|
||||
.card{
|
||||
|
||||
.card {
|
||||
padding: 28rpx;
|
||||
background-color: #fff;
|
||||
margin-bottom: 21rpx;
|
||||
.top{
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 25rpx;
|
||||
font-weight: 400;
|
||||
color: #333333FF;
|
||||
line-height: 39rpx;
|
||||
.blue{
|
||||
|
||||
.blue {
|
||||
width: 137rpx;
|
||||
height: 49rpx;
|
||||
background: $theme-oa-color;
|
||||
background: #3274F9;
|
||||
border-radius: 26rpx 26rpx 26rpx 26rpx;
|
||||
font-size: 25rpx;
|
||||
font-weight: 400;
|
||||
@ -390,26 +463,30 @@ page{
|
||||
margin-right: 28rpx;
|
||||
}
|
||||
}
|
||||
.bottom{
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 160rpx;
|
||||
.left{
|
||||
|
||||
.left {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 25rpx;
|
||||
font-weight: 400;
|
||||
color: #666666;
|
||||
line-height: 39rpx;
|
||||
.num{
|
||||
|
||||
.num {
|
||||
font-size: 39rpx;
|
||||
font-weight: 500;
|
||||
color: #F02828;
|
||||
line-height: 39rpx;
|
||||
}
|
||||
}
|
||||
.right{
|
||||
|
||||
.right {
|
||||
flex: 1;
|
||||
font-size: 25rpx;
|
||||
font-weight: 400;
|
||||
@ -418,6 +495,7 @@ page{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
margin: 0 auto;
|
||||
margin-bottom: 28rpx;
|
||||
@ -458,20 +536,24 @@ page{
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
line-height: 39rpx;
|
||||
.t_item{
|
||||
|
||||
.t_item {
|
||||
display: flex;
|
||||
.t_title{
|
||||
|
||||
.t_title {
|
||||
margin-bottom: 16rpx;
|
||||
flex-shrink: 0 !important;
|
||||
}
|
||||
.tips{
|
||||
|
||||
.tips {
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
.price{
|
||||
|
||||
.price {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 32rpx;
|
||||
@ -482,7 +564,7 @@ page{
|
||||
}
|
||||
}
|
||||
|
||||
.btn{
|
||||
.btn {
|
||||
color: #fff;
|
||||
border-radius: 100px;
|
||||
text-align: center;
|
||||
@ -498,5 +580,5 @@ page{
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -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;
|
||||
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user