页面修改

This commit is contained in:
THK3121 2023-08-21 11:35:12 +08:00
parent a6614b7f90
commit 64f7189963
34 changed files with 1506 additions and 1633 deletions

View File

@ -480,7 +480,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head { .cards_head {
padding: 28rpx; padding: 28rpx;

View File

@ -1,10 +1,13 @@
<template> <template>
<view class="card" @click="goDetil(goodsInfo.id)"> <view class="card">
<view class="tit"> <view class="tit">
<view v-if="goodsInfo.status==0">取货点:&nbsp;&nbsp;{{goodsInfo.shop_name}}</view> <view v-if="goodsInfo.status==0">取货点:&nbsp;&nbsp;{{goodsInfo.shop_name}}</view>
<view v-else>收货人:&nbsp;&nbsp;{{ fuzzyName(goodsInfo.receiver_name) }}</view> <view v-else>收货人:&nbsp;&nbsp;{{ fuzzyName(goodsInfo.receiver_name) }}</view>
<view style="float: right;">
<u-icon name="arrow-right" color="black" size="20"></u-icon>
</view>
</view> </view>
<view class="content"> <view class="content" @click="callFn(goodsInfo.shop_phone)">
<view v-if="goodsInfo.status==0"> <view v-if="goodsInfo.status==0">
<view class="address">店主姓名:&nbsp;&nbsp;{{goodsInfo.shop_user}}</view> <view class="address">店主姓名:&nbsp;&nbsp;{{goodsInfo.shop_user}}</view>
<view @click.stop="callFn(goodsInfo.shop_phone)" class="address"> <view @click.stop="callFn(goodsInfo.shop_phone)" class="address">
@ -24,12 +27,12 @@
</view> </view>
</view> </view>
<view class="qh_btn" v-if='goodsInfo.status==0'> <view class="qh_btn" v-if='goodsInfo.status==0' @click.stop="goDetil(goodsInfo.id)">
<u-button type="primary" class="custom-style" style="background-color: #0122C7;border: 0;"> <u-button type="primary" class="custom-style" style="background-color: #0122C7;border: 0;">
<u-icon name="scan" color="white" size="25" style="margin-right: 10rpx;"></u-icon> <u-icon name="scan" color="white" size="25" style="margin-right: 10rpx;"></u-icon>
待取货/点击查看</u-button> 待取货/点击查看</u-button>
</view> </view>
<view class="" v-if='goodsInfo.status==1'> <view class="" v-if='goodsInfo.status==1' @click.stop="goDetil(goodsInfo.id)">
<u-button type="primary" style="background-color: #FF7C32; border: 0;"><u-icon name="car-fill" color="white" <u-button type="primary" style="background-color: #FF7C32; border: 0;"><u-icon name="car-fill" color="white"
size="25" style="margin-right: 10rpx;"></u-icon> 待配送/点击查看</u-button> size="25" style="margin-right: 10rpx;"></u-icon> 待配送/点击查看</u-button>
</view> </view>
@ -88,6 +91,8 @@
font-size: 30rpx; font-size: 30rpx;
font-weight: bold; font-weight: bold;
padding: 20rpx 15rpx; padding: 20rpx 15rpx;
display: flex;
justify-content: space-between
} }
.content { .content {

View File

@ -383,7 +383,7 @@
overflow: hidden; overflow: hidden;
margin: 2vh 2vw; margin: 2vh 2vw;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); */
/* padding: 2vh 2vw; */ /* padding: 2vh 2vw; */
.tit { .tit {

View File

@ -22,14 +22,15 @@
</block> </block>
<block v-else>进行中</block> <block v-else>进行中</block>
</block> </block>
</view> </view>
</view> </view>
<view style="display: flex;justify-content: space-between;align-items: center;"> <view style="display: flex;justify-content: space-between;align-items: center;">
<view> <view>
<text>完成时间 :</text> <text>完成时间 :</text>
<text>{{datas.end_time}}</text> <text>{{datas.end_time}}</text>
</view> </view>
<text v-if="datas.status==2||datas.status==1" style="background-color: #ff7c32;" class="status">进行中</text> <text v-if="datas.status==2||datas.status==1" style="background-color: #ff7c32;"
class="status">进行中</text>
<text v-if="datas.status==3" style="background-color: #488F00;" class="status">已完成</text> <text v-if="datas.status==3" style="background-color: #488F00;" class="status">已完成</text>
<text v-if="datas.status==5" style="background-color: #ccc;" class="status">已关闭</text> <text v-if="datas.status==5" style="background-color: #ccc;" class="status">已关闭</text>
</view> </view>
@ -221,7 +222,7 @@
.personnel_list { .personnel_list {
// padding: 28rpx 0; // padding: 28rpx 0;
padding-bottom: 28rpx; padding-bottom: 28rpx;
.cards { .cards {
@ -232,7 +233,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head { .cards_head {
padding: 28rpx; padding: 28rpx;

View File

@ -105,6 +105,7 @@
export default { export default {
data() { data() {
return { return {
is_captain: 0,
mapClass: 'custom-map', mapClass: 'custom-map',
showLoading: true, showLoading: true,
showPop: false, showPop: false,
@ -290,6 +291,7 @@
}, },
}, },
onLoad(options) { onLoad(options) {
console.log(JSON.parse(uni.getStorageSync("USER_INFO")).is_captain)
getDetil({ getDetil({
logistics_id: options.id logistics_id: options.id
}).then(res => { }).then(res => {

View File

@ -346,7 +346,7 @@
overflow: hidden; overflow: hidden;
margin: 2vh 2vw; margin: 2vh 2vw;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); */
/* padding: 2vh 2vw; */ /* padding: 2vh 2vw; */
.tit { .tit {

View File

@ -5,12 +5,12 @@
<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 --> <!-- #ifdef APP-PLUS||H5 -->
<view style="height: var(--status-bar-height)"></view> <view style="height: var(--status-bar-height)"></view>
<view style="height: 100rpx"></view> <view style="height: 30rpx"></view>
<!-- #endif --> <!-- #endif -->
<view class="my_info"> <view class="my_info">
<view class="head_img"> <view class="head_img">
<view class="img_box"> <view class="img_box">
<u--image :showLoading="true" width="131.43rpx" height="131.43rpx" <u--image :showLoading="true" width="131.43rpx" height="131.43rpx" class="img_box_img"
:src="myOaInfo.avatar || '../../static/img/public/avatar.png'" shape="circle"></u--image> :src="myOaInfo.avatar || '../../static/img/public/avatar.png'" shape="circle"></u--image>
</view> </view>
@ -67,7 +67,7 @@
:key="index" @click="clickNotice(item.id)"> :key="index" @click="clickNotice(item.id)">
<view class="text"> <view class="text">
<text class="text_time">{{ <text class="text_time">{{
item.create_time.substring(0, 10) item.create_time.substring(0, 10).replace(/-/g, ".")
}}</text> }}</text>
{{ item.title }} {{ item.title }}
</view> </view>
@ -95,7 +95,8 @@
<view class="fast_track"> <view class="fast_track">
<block v-for="(item, index) in oaHomeData" :key="index"> <block v-for="(item, index) in oaHomeData" :key="index">
<view class="track_item" @click="navTwo(item.url, 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="iconList[index]" mode="widthFix" width="77.19rpx"
height="77.19rpx"></u--image>
<view class="title">{{ item.text }}</view> <view class="title">{{ item.text }}</view>
</view> </view>
</block> </block>
@ -194,6 +195,15 @@
}, },
data() { data() {
return { return {
iconList: [
"../../static/img/home/GSXX.png",
"../../static/img/home/RYGL.png",
"../../static/img/home/HTGL.png",
"../../static/img/home/RWGL.png",
"../../static/img/home/DAGL.png",
"../../static/img/home/GRCW.png",
],
notArr: [], notArr: [],
orderList: [], orderList: [],
oaHomeData: [], oaHomeData: [],
@ -421,7 +431,7 @@
<style lang="scss"> <style lang="scss">
.oa_home { .oa_home {
padding-bottom: 120rpx; // padding-bottom: rpx;
} }
.header_bg { .header_bg {
@ -457,12 +467,22 @@
box-sizing: border-box; box-sizing: border-box;
.img_box { .img_box {
width: 131.43rpx;
height: 131.43rpx;
position: absolute; position: absolute;
left: -10rpx; left: -10rpx;
top: -15rpx; top: -15rpx;
width: 140rpx;
height: 140rpx;
background-color: white;
border-radius: 140rpx;
.img_box_img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
} }
// font-we // font-we

View File

@ -1,337 +1,304 @@
<template> <template>
<view class="login"> <view class="login">
<image <!-- <image class="bg-iamge" src="../../static/img/login/login_back_img.png"></image> -->
class="bg-iamge" <!-- #ifdef APP-PLUS||H5 -->
src="../../static/img/login/login_back_img.png" <view style="height: var(--status-bar-height)"></view>
></image> <!-- #endif -->
<!-- #ifdef APP-PLUS||H5 --> <view class="body">
<view style="height: var(--status-bar-height)"></view> <view class="title">欢迎进入里海供销平台</view>
<!-- #endif --> <view class="login-card">
<view class="body"> <view class="top">
<view class="title">欢迎进入里海供销平台</view> <view class="text item">
<view class="login-card"> <u-tabs :list="tabList" @click="changeTabs" lineColor="#0122c7"
<view class="top"> itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;font-size: 32rpx;"></u-tabs>
<view class="text item"> </view>
<u-tabs <input v-if="current == 0" @click="getId" class="mobile item" v-model="formData.account"
:list="tabList" placeholder="输入账号" />
@click="changeTabs" <input v-if="current == 0" @click="getId" class="mobile item" v-model="formData.password"
lineColor="#0122c7" maxlength="26" placeholder="输入密码" password type="safe-password" />
itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;font-size: 32rpx;" <input v-if="current == 1" class="mobile item" v-model="formData.account" placeholder="输入手机号" />
></u-tabs> <view v-if="current == 1" class="code item">
</view> <input placeholder="输入验证码" v-model="formData.code" maxlength="6" />
<input <u-code :seconds="seconds" @end="end" @start="start" ref="uCode" @change="codeChange"></u-code>
v-if="current == 0" <view class="get-code" @click="getCode">{{ tips }}</view>
@click="getId" </view>
class="mobile item" <view class="btn">
v-model="formData.account" <!-- <view>新用户注册</view> -->
placeholder="输入账号" <!-- <view @click="forgetPWD">忘记密码?</view> -->
/> </view>
<input </view>
v-if="current == 0" <button class="submit_btn" @click="login">登录</button>
@click="getId" </view>
class="mobile item" </view>
v-model="formData.password" </view>
maxlength="26"
placeholder="输入密码"
password
type="safe-password"
/>
<input
v-if="current == 1"
class="mobile item"
v-model="formData.account"
placeholder="输入手机号"
/>
<view v-if="current == 1" class="code item">
<input
placeholder="输入验证码"
v-model="formData.code"
maxlength="6"
/>
<u-code
:seconds="seconds"
@end="end"
@start="start"
ref="uCode"
@change="codeChange"
></u-code>
<view class="get-code" @click="getCode">{{ tips }}</view>
</view>
<view class="btn">
<!-- <view>新用户注册</view> -->
<!-- <view @click="forgetPWD">忘记密码?</view> -->
</view>
</view>
<button class="submit_btn" @click="login">登录</button>
</view>
</view>
</view>
</template> </template>
<script> <script>
import { import {
loginAccount, loginAccount,
userInfo, userInfo,
test test
} from "@/api/oaUser.js" } from "@/api/oaUser.js"
import { import {
Toast Toast
} from "../../libs/uniApi"; } from "../../libs/uniApi";
// #ifdef APP-PLUS // #ifdef APP-PLUS
var jpushModule = uni.requireNativePlugin("JG-JPush"); var jpushModule = uni.requireNativePlugin("JG-JPush");
// #endif // #endif
export default { export default {
data () { data() {
return { return {
tabList: [{ tabList: [{
name: '账号登录' name: '账号登录'
}, },
// {name:''}, // {name:''},
], ],
current: 0, current: 0,
formData: { formData: {
account: '', account: '',
password: '', password: '',
code: '', code: '',
terminal: 6, //6APP terminal: 6, //6APP
scene: 1, scene: 1,
register_id: "" register_id: ""
}, },
tips: '获取验证码', tips: '获取验证码',
// refCode: null, // refCode: null,
seconds: 60, seconds: 60,
}; };
}, },
methods: { methods: {
changeTabs (e) { changeTabs(e) {
this.current = e.index; this.current = e.index;
this.formData.scene = e.index + 1; this.formData.scene = e.index + 1;
}, },
// id // id
getId () { getId() {
// #ifdef APP-PLUS // #ifdef APP-PLUS
if (this.formData.register_id) return if (this.formData.register_id) return
jpushModule.initJPushService() jpushModule.initJPushService()
jpushModule.getRegistrationID(result => { jpushModule.getRegistrationID(result => {
// id // id
this.formData.register_id = result.registerID || 0 this.formData.register_id = result.registerID || 0
console.log("设备----", this.formData) console.log("设备----", this.formData)
}) })
// #endif // #endif
}, },
async login () { async login() {
if (!this.formData.account) return Toast('账号不能为空'); if (!this.formData.account) return Toast('账号不能为空');
if (this.formData.scene == 1 && !this.formData.password) return Toast('密码不能为空'); if (this.formData.scene == 1 && !this.formData.password) return Toast('密码不能为空');
if (this.formData.scene == 2 && !this.formData.code) return Toast('验证码不能为空'); if (this.formData.scene == 2 && !this.formData.code) return Toast('验证码不能为空');
let that = this; let that = this;
// let res = await test(); // let res = await test();
// console.log(res); // console.log(res);
uni.showLoading({ uni.showLoading({
title: '正在登录中' title: '正在登录中'
}) })
let res = await loginAccount(that.formData); let res = await loginAccount(that.formData);
console.log(that.formData) console.log(that.formData)
this.$store.commit('SET_USERINFO', { this.$store.commit('SET_USERINFO', {
user: data, user: data,
token: res.data.token token: res.data.token
}) })
let { let {
data data
} = await userInfo(); } = await userInfo();
this.$store.commit('setUserInfo', data); this.$store.commit('setUserInfo', data);
uni.hideLoading() uni.hideLoading()
if (data.is_new_user) { if (data.is_new_user) {
uni.showLoading({ uni.showLoading({
mask: true, mask: true,
title: '加载中' title: '加载中'
}) })
uni.switchTab({ uni.switchTab({
url: '/pages/oaHome/oaHome', url: '/pages/oaHome/oaHome',
success: () => { success: () => {
uni.$emit('initOaTask'); // uni.$emit('initOaTask'); //
uni.hideLoading() uni.hideLoading()
} }
}) })
} else uni.navigateTo({ } else uni.navigateTo({
url: '/pages/updatePasswprd/updatePasswprd' url: '/pages/updatePasswprd/updatePasswprd'
}); });
}, },
initTerminal () { initTerminal() {
// #ifndef APP-PLUS // #ifndef APP-PLUS
this.formData.terminal = 6; this.formData.terminal = 6;
// #endif // #endif
uni.getSystemInfo({ uni.getSystemInfo({
success: (res) => { success: (res) => {
const platform = res.platform.toLowerCase(); const platform = res.platform.toLowerCase();
if (platform === 'ios') { if (platform === 'ios') {
this.formData.terminal = 5; this.formData.terminal = 5;
} else if (platform === 'windows') { } else if (platform === 'windows') {
this.formData.terminal = 4; this.formData.terminal = 4;
} else if (platform === 'mac') { } else if (platform === 'mac') {
this.formData.terminal = 4; this.formData.terminal = 4;
} }
} }
}) })
// #ifdef H5 // #ifdef H5
this.formData.terminal = 3; this.formData.terminal = 3;
// #endif // #endif
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
this.formData.terminal = 1; this.formData.terminal = 1;
// #endif // #endif
}, },
codeChange (text) { codeChange(text) {
this.tips = text; this.tips = text;
}, },
getCode () { getCode() {
if (this.$refs.uCode.canGetCode) { if (this.$refs.uCode.canGetCode) {
// //
uni.showLoading({ uni.showLoading({
title: '正在获取验证码' title: '正在获取验证码'
}) })
setTimeout(() => { setTimeout(() => {
uni.hideLoading(); uni.hideLoading();
// this.start() // this.start()
uni.$u.toast('验证码已发送'); uni.$u.toast('验证码已发送');
// //
this.$refs.uCode.start(); this.$refs.uCode.start();
}, 2000); }, 2000);
} else { } else {
uni.$u.toast('倒计时结束后再发送'); uni.$u.toast('倒计时结束后再发送');
} }
}, },
end () { end() {
// uni.$u.toast(''); // uni.$u.toast('');
}, },
start () { start() {
// uni.$u.toast(''); // uni.$u.toast('');
}, },
// //
forgetPWD () { forgetPWD() {
Toast('暂未开放') Toast('暂未开放')
} }
}, },
mounted () { mounted() {
this.initTerminal(); this.initTerminal();
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.login { .login {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
position: relative; position: relative;
/* #ifdef H5 */ background-color: $theme-oa-color;
background-image: url("../../static/img/login/login_back_img.png"); /* #ifdef H5 */
// background-image: url("../../static/img/login/login_back_img.png");
background-color: $theme-oa-color;
/* #endif */ /* #endif */
.bg-iamge { // .bg-iamge {
width: 100vw; // width: 100vw;
height: 100vh; // height: 100vh;
position: absolute; // position: absolute;
z-index: -99; // z-index: -99;
} // }
.body { .body {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.title { .title {
width: 694rpx; width: 694rpx;
height: 74rpx; height: 74rpx;
margin-top: 200rpx; margin-top: 200rpx;
margin-bottom: 51rpx; margin-bottom: 51rpx;
font-size: 53rpx; font-size: 53rpx;
font-weight: 500; font-weight: 500;
color: #ffffff; color: #ffffff;
line-height: 68rpx; line-height: 68rpx;
-webkit-background-clip: text; -webkit-background-clip: text;
} }
.login-card { .login-card {
width: 694rpx; width: 694rpx;
height: 643rpx; height: 643rpx;
background: #ffffff; background: #ffffff;
border-radius: 21rpx 21rpx 21rpx 21rpx; border-radius: 21rpx 21rpx 21rpx 21rpx;
opacity: 1; opacity: 1;
box-sizing: border-box; box-sizing: border-box;
padding: 38.5rpx 0; padding: 38.5rpx 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.top { .top {
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;
flex-direction: column; flex-direction: column;
.item { .item {
margin-bottom: 35rpx; margin-bottom: 35rpx;
} }
.text { .text {
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
color: rgba(0, 0, 0, 0.8); color: rgba(0, 0, 0, 0.8);
line-height: 35rpx; line-height: 35rpx;
} }
.mobile, .mobile,
.code { .code {
width: 613rpx; width: 613rpx;
height: 112rpx; height: 112rpx;
background: #f5f5f5; background: #f5f5f5;
border-radius: 56rpx 56rpx 56rpx 56rpx; border-radius: 56rpx 56rpx 56rpx 56rpx;
opacity: 1; opacity: 1;
padding: 0 45.56rpx; padding: 0 45.56rpx;
box-sizing: border-box; box-sizing: border-box;
font-size: 28rpx; font-size: 28rpx;
font-weight: 400; font-weight: 400;
color: #333; color: #333;
line-height: 35rpx; line-height: 35rpx;
} }
.code { .code {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
input { input {
font-size: 28rpx; font-size: 28rpx;
} }
.get-code { .get-code {
color: $theme-oa-color; color: $theme-oa-color;
} }
} }
.btn { .btn {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
} }
.submit_btn { .submit_btn {
width: 613rpx; width: 613rpx;
height: 112rpx; height: 112rpx;
background: $theme-oa-color; background: $theme-oa-color;
border-radius: 56rpx 56rpx 56rpx 56rpx; border-radius: 56rpx 56rpx 56rpx 56rpx;
opacity: 1; opacity: 1;
text-align: center; text-align: center;
line-height: 112rpx; line-height: 112rpx;
color: #ffffff; color: #ffffff;
font-size: 35rpx; font-size: 35rpx;
font-weight: 500; font-weight: 500;
} }
} }
} }
} }
</style> </style>

View File

@ -178,9 +178,11 @@
padding: 28rpx; padding: 28rpx;
width: 100vw; width: 100vw;
margin-bottom: 30rpx; margin-bottom: 30rpx;
background-image: url('../../static/img/home/my_bg.png'); // background-image: url('../../static/img/home/my_bg.png');
background-size: 100% 100%; background-color: $theme-oa-color;
background-repeat: no-repeat; border-radius: 0 0 30rpx 30rpx;
// background-size 100% 100%;
// background-repeat: no-repeat;
// .head_img { // .head_img {
// position: absolute; // position: absolute;
@ -326,7 +328,7 @@
margin-top: 84.21rpx; margin-top: 84.21rpx;
width: 614.04rpx; width: 614.04rpx;
height: 84.21rpx; height: 84.21rpx;
background: #3274F9; background: $theme-oa-color;
box-shadow: 0px 9px 26px 1px #E9EFF5; box-shadow: 0px 9px 26px 1px #E9EFF5;
} }
</style> </style>

BIN
static/img/company/DAGL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

BIN
static/img/home/DAGL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
static/img/home/DAGL2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/img/home/GRCW.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/img/home/GSXX.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/img/home/HTGL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/img/home/RWGL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
static/img/home/RYGL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -32,10 +32,10 @@
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" /> :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view> </view>
--> -->
<u-sticky bgColor="#0022C7" v-if="task_id>0&& !is_admin"> <u-sticky bgColor="#0022C7" v-if="task_id>0&& !is_admin">
<u-tabs :list="tabLists" @click="changeCurrent" lineColor='white' :scrollable="false" lineWidth='40' <u-tabs :list="tabLists" @click="changeCurrent" lineColor='white' :scrollable="false" lineWidth='40'
inactiveStyle='color:white' activeStyle="color:white"></u-tabs> inactiveStyle='color:white' activeStyle="color:white"></u-tabs>
</u-sticky> </u-sticky>
<view class="personnel_list"> <view class="personnel_list">
<view class="card" v-for="(item, index) in list" :key="item.id"> <view class="card" v-for="(item, index) in list" :key="item.id">
<view class="card_head"> <view class="card_head">
@ -65,7 +65,7 @@
<view class="left"> <view class="left">
<view class="cir"> <view class="cir">
<u--image class="u_avatar" :showLoading="true" :src=" '../../static/img/public/man.png'" <u--image class="u_avatar" :showLoading="true" :src=" '../../static/img/company/DAGL.png'"
width="112.28rpx" height="112.28rpx" shape="circle"></u--image> width="112.28rpx" height="112.28rpx" shape="circle"></u--image>
</view> </view>
</view> </view>
@ -144,12 +144,12 @@
task_id: -1, task_id: -1,
is_admin: false, is_admin: false,
list: [], list: [],
current: 0, current: 0,
tabLists: [{ tabLists: [{
name: '未更新', name: '未更新',
}, { }, {
name: '已更新' name: '已更新'
}], }],
loadConfig: { loadConfig: {
page: 1, page: 1,
limit: 15, limit: 15,
@ -218,19 +218,18 @@
this.loadConfig.status = "loading" this.loadConfig.status = "loading"
let res = {}; let res = {};
if (this.is_admin) { if (this.is_admin) {
res = await taskInformationgist({ res = await taskInformationgist({
id: this.task_id id: this.task_id
}); });
} } else {
else { let params = {
let params = { page: this.loadConfig.page,
page: this.loadConfig.page, limit: this.loadConfig.limit,
limit: this.loadConfig.limit, user_id: that.user_id,
user_id: that.user_id, };
}; this.task_id > 0 ? params.is_update = this.current : null;
this.task_id > 0 ? params.is_update = this.current:null; res = await informationList(params);
res = await informationList(params); }
}
this.loadConfig.status = "loadmore" this.loadConfig.status = "loadmore"
if (res.data.length < this.loadConfig.limit) { if (res.data.length < this.loadConfig.limit) {
this.loadConfig.status = "nomore" this.loadConfig.status = "nomore"
@ -239,10 +238,10 @@
} }
this.list = [...this.list, ...res.data]; this.list = [...this.list, ...res.data];
}, },
changeCurrent(e) { changeCurrent(e) {
this.current = e.index; this.current = e.index;
this.initLoad(); this.initLoad();
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.initLoad(); this.initLoad();
@ -279,7 +278,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.card_head { .card_head {
padding: 28rpx; padding: 28rpx;
@ -302,7 +301,7 @@
width: 160rpx; width: 160rpx;
background-color: $theme-oa-color; // background-color: $theme-oa-color;
color: white; color: white;
border-radius: 40rpx; border-radius: 40rpx;

View File

@ -459,7 +459,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.card_head { .card_head {
padding: 28rpx; padding: 28rpx;

View File

@ -198,7 +198,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.card_head { .card_head {
padding: 28rpx; padding: 28rpx;

View File

@ -1,349 +1,366 @@
<template> <template>
<view class=""> <view class="">
<company :id="id" type="company"></company> <company :id="id" type="company"></company>
<view class="need_contract" v-if="!company.contract||!company.contract.status||!company.company.is_contract"> <view class="need_contract" v-if="!company.contract||!company.contract.status||!company.company.is_contract">
<view class="title">电子合同</view> <view class="title">电子合同</view>
<picker v-if="company.contract&&company.contract.check_status==0||!company.contract" :range="contractTypeList" range-key="name" @change="changeType"> <picker v-if="company.contract&&company.contract.check_status==0||!company.contract"
<button class="btn">生成合同</button> :range="contractTypeList" range-key="name" @change="changeType">
<!-- <mybtn text="生成合同" position="false"></mybtn> --> <button class="btn">
</picker> <image src="../../static/img/contract/FQHT.png" width="35rpx" height="35rpx" mode="widthFix">
<view v-if="company.contract&&company.contract.check_status==1"> </image> 发起合同
<button class="btn tips_center">合同已生成,请等待审核</button> </button>
<!-- <mybtn text="生成合同" position="false" disabled></mybtn> --> <!-- <mybtn text="生成合同" position="false"></mybtn> -->
</view> </picker>
<view v-if="company.contract&&company.contract.check_status==2&&company.contract.file" class="card"> <view v-if="company.contract&&company.contract.check_status==1">
<view class="contract_box send"> <button class="btn tips_center">合同已生成,请等待审核</button>
<view class="left"> <!-- <mybtn text="生成合同" position="false" disabled></mybtn> -->
<image class="contract_img" src="../../static/img/contract/pdf.png"></image> </view>
<view class="text"> <view v-if="company.contract&&company.contract.check_status==2&&company.contract.file" class="card">
<view class="name">{{company.contract.contract_type_name}}</view> <view class="contract_box send">
<view> <view class="left">
<text>{{company.contract&&company.contract.create_time}}</text> <image class="contract_img" src="../../static/img/contract/pdf.png"></image>
</view> <view class="text">
</view> <view class="name">{{company.contract.contract_type_name}}</view>
</view> <view>
<view class="right" @click="naviToContract(company.contract.file)"> <text>{{company.contract&&company.contract.create_time}}</text>
<!-- <image class="icon"></image> --> </view>
<uni-icons type="paperclip" color="#3274F9"></uni-icons> </view>
<view>查看</view> </view>
</view> <view class="right" @click="naviToContract(company.contract.file)">
</view> <!-- <image class="icon"></image> -->
<u-line color="#999999FF" style="margin: 31rpx 0;"></u-line> <uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view class="bottom"> <view>查看</view>
<button class="send_btn" @click="addContract">发送合同</button> </view>
</view> </view>
</view> <u-line color="#999999FF" style="margin: 31rpx 0;"></u-line>
<view v-if="company.contract&&company.contract.check_status==3" class="card"> <view class="bottom">
<view class="contract_box send"> <button class="send_btn" @click="addContract">发送合同</button>
<view class="left"> </view>
<image class="contract_img" src="../../static/img/contract/pdf.png"></image> </view>
<view class="text"> <view v-if="company.contract&&company.contract.check_status==3" class="card">
<view class="name">{{company.contract.contract_type_name}}</view> <view class="contract_box send">
<view> <view class="left">
<text>{{company.contract&&company.contract.create_time}}</text> <image class="contract_img" src="../../static/img/contract/pdf.png"></image>
</view> <view class="text">
</view> <view class="name">{{company.contract.contract_type_name}}</view>
</view> <view>
<view class="right" @click="naviToContract(company.contract.file)"> <text>{{company.contract&&company.contract.create_time}}</text>
<!-- <image class="icon"></image> --> </view>
<uni-icons type="paperclip" color="#3274F9"></uni-icons> </view>
<view>查看</view> </view>
</view> <view class="right" @click="naviToContract(company.contract.file)">
</view> <!-- <image class="icon"></image> -->
<u-line color="#999999FF" style="margin: 31rpx 0;"></u-line> <uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view class="bottom"> <view>查看</view>
<button class="send_btn" @click="getPostsms" v-if="timerCount==0">再次发送短信</button> </view>
<button class="send_btn tips_center" v-else>{{cTimerCount+'秒后可继续再次发送短信'}}</button> </view>
</view> <u-line color="#999999FF" style="margin: 31rpx 0;"></u-line>
</view> <view class="bottom">
</view> <button class="send_btn" @click="getPostsms" v-if="timerCount==0">再次发送短信</button>
</view> <button class="send_btn tips_center" v-else>{{cTimerCount+'秒后可继续再次发送短信'}}</button>
</view>
</view>
</view>
</view>
</template> </template>
<script> <script>
import { companyView, initiateContract, Draftingcontracts, postsms } from "@/api/company.js" import {
import { dictDataLists } from "@/api/oaPbulic.js" companyView,
import { Toast } from "../../libs/uniApi"; initiateContract,
import {companyContractType} from "@/static/server/contract.js"; Draftingcontracts,
export default { postsms
data() { } from "@/api/company.js"
return { import {
id: '', dictDataLists
company: {}, } from "@/api/oaPbulic.js"
skeleton: true, import {
show: false, Toast
typeShow: false, } from "../../libs/uniApi";
timer: null, // import {
timerCount: 0, // companyContractType
contractTypeList: [] } from "@/static/server/contract.js";
} export default {
}, data() {
onLoad(options) { return {
this.id = options.id; id: '',
this.initCompany(); company: {},
this.initContractTypeList(); skeleton: true,
let time = uni.getStorageSync('ctime' + this.id); show: false,
if(time>0&&(time - Date.now())/1000>0){ typeShow: false,
this.startTimer((time - Date.now())/1000); timer: null, //
} timerCount: 0, //
}, contractTypeList: []
onUnload() { }
if(this.timerCount>0) uni.setStorageSync('ctime'+this.id, this.timerCount*1000+Date.now()); },
}, onLoad(options) {
computed: { this.id = options.id;
cTimerCount() { this.initCompany();
return this.timerCount; this.initContractTypeList();
} let time = uni.getStorageSync('ctime' + this.id);
}, if (time > 0 && (time - Date.now()) / 1000 > 0) {
methods: { this.startTimer((time - Date.now()) / 1000);
async initCompany() { }
let res = await companyView({ },
id: this.id, onUnload() {
}) if (this.timerCount > 0) uni.setStorageSync('ctime' + this.id, this.timerCount * 1000 + Date.now());
this.company = res.data; },
if (this.company.contract == [] || this.company.contract == {} || this.company.contract.length == 0) this computed: {
.company.contract = null; cTimerCount() {
}, return this.timerCount;
changeType(e) { }
// console.log(this.contractTypeList[e.detail.value]); },
this.createContract({ methods: {
party_b: this.id, async initCompany() {
contract_type: this.contractTypeList[e.detail.value].id, let res = await companyView({
type: 1 //1-,2- id: this.id,
}) })
}, this.company = res.data;
// if (this.company.contract == [] || this.company.contract == {} || this.company.contract.length == 0)
naviToContract(file) { this
uni.navigateTo({ .company.contract = null;
url: `/subpkg/pdfView/pdfView?url=${file}` },
}) changeType(e) {
}, // console.log(this.contractTypeList[e.detail.value]);
// this.createContract({
async initContractTypeList() { party_b: this.id,
let res = await dictDataLists({ contract_type: this.contractTypeList[e.detail.value].id,
type_id: 7 type: 1 //1-,2-
}) })
res.data = res.data.filter(item=>{ },
return companyContractType.find(t=>item.id==t); //
}) naviToContract(file) {
this.contractTypeList = res.data; uni.navigateTo({
}, url: `/subpkg/pdfView/pdfView?url=${file}`
// })
async createContract(data) { },
uni.showModal({ //
content: '请检查信息无误后再生成合同', async initContractTypeList() {
confirmText: '确认无误', let res = await dictDataLists({
cancelText: '我再看看', type_id: 7
confirmColor: '#3175f9', })
success: async (e) => { res.data = res.data.filter(item => {
if (e.confirm) { return companyContractType.find(t => item.id == t);
uni.showLoading({ })
title:'合同生成中', this.contractTypeList = res.data;
mask: true },
}) //
let res = await initiateContract({ async createContract(data) {
party_b: data.party_b, uni.showModal({
contract_type: data.contract_type, content: '请检查信息无误后再生成合同',
type: data.type confirmText: '确认无误',
}) cancelText: '我再看看',
this.initCompany(); confirmColor: '#3175f9',
uni.hideLoading(); success: async (e) => {
Toast(res.msg || '合同已生成'); if (e.confirm) {
this.navTo('/subpkg/submit/submit?type=' + 1); uni.showLoading({
} title: '合同生成中',
} mask: true
}) })
}, let res = await initiateContract({
// party_b: data.party_b,
async addContract(data) { contract_type: data.contract_type,
uni.showModal({ type: data.type
content: '请检查合同无误后再发送', })
confirmText: '确认无误', this.initCompany();
cancelText: '我再看看', uni.hideLoading();
confirmColor: '#3175f9', Toast(res.msg || '合同已生成');
success: async (e) => { this.navTo('/subpkg/submit/submit?type=' + 1);
if (e.confirm) { }
try{ }
uni.showLoading({ })
title:'合同发送中', },
mask: true //
}) async addContract(data) {
let res = await Draftingcontracts({ uni.showModal({
id: this.id content: '请检查合同无误后再发送',
}); confirmText: '确认无误',
this.initCompany(); cancelText: '我再看看',
this.startTimer(); confirmColor: '#3175f9',
uni.hideLoading(); success: async (e) => {
Toast('合同已发送'); if (e.confirm) {
// this.navTo('/subpkg/submit/submit'); try {
}catch(e){ uni.showLoading({
uni.hideLoading(); title: '合同发送中',
Toast(e.msg||'合同发送失败'); mask: true
} })
} let res = await Draftingcontracts({
} id: this.id
}) });
}, this.initCompany();
// this.startTimer();
async getPostsms() { uni.hideLoading();
try { Toast('合同已发送');
uni.showLoading({ // this.navTo('/subpkg/submit/submit');
title: '发送中', } catch (e) {
mask: true uni.hideLoading();
}) Toast(e.msg || '合同发送失败');
if (this.timerCount == 0) { }
this.startTimer(); }
let res = await postsms({ }
id: this.id })
}) },
Toast('短信已发送'); //
// this.navTo('/subpkg/submit/submit'); async getPostsms() {
} try {
} catch (e) { uni.showLoading({
uni.hideLoading(); title: '发送中',
Toast(e.msg || '合同发送失败'); mask: true
} })
}, if (this.timerCount == 0) {
// this.startTimer();
startTimer(time=60){ let res = await postsms({
this.timerCount = time.toFixed(0); id: this.id
this.timer = setInterval(() => { })
this.timerCount--; Toast('短信已发送');
if (this.timerCount <= 0) { // this.navTo('/subpkg/submit/submit');
clearInterval(this.timer); }
this.loadUserDetail(); } catch (e) {
} uni.hideLoading();
}, 1000); Toast(e.msg || '合同发送失败');
}, }
navTo(url) { },
url ? //
uni.navigateTo({ startTimer(time = 60) {
url: url this.timerCount = time.toFixed(0);
}) : Toast('暂未开放') this.timer = setInterval(() => {
}, this.timerCount--;
}, if (this.timerCount <= 0) {
onPullDownRefresh() { clearInterval(this.timer);
uni.stopPullDownRefresh() this.loadUserDetail();
} }
} }, 1000);
},
navTo(url) {
url ?
uni.navigateTo({
url: url
}) : Toast('暂未开放')
},
},
onPullDownRefresh() {
uni.stopPullDownRefresh()
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
.need_contract { .need_contract {
padding-bottom: 30rpx; padding-bottom: 30rpx;
.title{
font-size: 35rpx;
font-weight: 500;
color: #333333;
margin-bottom: 21rpx;
margin-left: 28rpx;
}
.card { .title {
padding-top: 0; font-size: 35rpx;
margin: 28rpx; font-weight: 500;
padding: 28rpx; color: #333333;
background-color: #fff; margin-bottom: 21rpx;
border-radius: 14rpx; margin-left: 28rpx;
}
.contract_box { .card {
display: flex; padding-top: 0;
justify-content: space-between; margin: 28rpx;
padding: 28rpx;
background-color: #fff;
border-radius: 14rpx;
.left { .contract_box {
display: flex; display: flex;
justify-content: space-between;
.contract_img { .left {
width: 102rpx; display: flex;
height: 102rpx;
background: #F5F5F5;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-right: 21rpx;
}
.text { .contract_img {
display: flex; width: 102rpx;
flex-direction: column; height: 102rpx;
justify-content: space-between; background: #F5F5F5;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-right: 21rpx;
}
.name { .text {
font-size: 32rpx; display: flex;
; flex-direction: column;
font-weight: 500; justify-content: space-between;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
}
.nickname { .name {
margin-right: 35rpx; font-size: 32rpx;
} ;
font-weight: 500;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
}
text { .nickname {
height: 39rpx; margin-right: 35rpx;
font-size: 28rpx; }
font-weight: 400;
color: #666666;
line-height: 35rpx;
}
}
}
.right { text {
font-size: 28rpx; height: 39rpx;
font-weight: 500; font-size: 28rpx;
color: #3274F9; font-weight: 400;
line-height: 35rpx; color: #666666;
display: flex; line-height: 35rpx;
justify-content: center; }
align-items: center; }
}
.icon { .right {
width: 35rpx; font-size: 28rpx;
height: 39rpx; font-weight: 500;
background-color: #3274F9; color: #3274F9;
opacity: 1; line-height: 35rpx;
margin-right: 10rpx display: flex;
} justify-content: center;
} align-items: center;
} .icon {
width: 35rpx;
height: 39rpx;
background-color: #3274F9;
opacity: 1;
margin-right: 10rpx
}
}
.send { }
padding-top: 28rpx;
}
.send_btn { .send {
width: 100%; padding-top: 28rpx;
height: 84rpx; }
background: $theme-oa-color;
border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
.tips_center { .send_btn {
background-color: #666; width: 100%;
color: #eee; height: 84rpx;
} background: $theme-oa-color;
} border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
.btn { .tips_center {
margin: 0 auto; background-color: #666;
margin-top: 32rpx; color: #eee;
// margin-bottom: 40rpx; }
width: 694rpx; }
height: 84rpx;
background: $theme-oa-color;
border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
.tips_center { .btn {
background-color: #666; margin: 0 auto;
color: #eee; margin-top: 32rpx;
} // margin-bottom: 40rpx;
} width: 694rpx;
height: 84rpx;
background: $theme-oa-color;
border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
.tips_center {
background-color: #666;
color: #eee;
}
}
</style> </style>

View File

@ -182,7 +182,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head { .cards_head {
padding: 28rpx; padding: 28rpx;

View File

@ -10,7 +10,8 @@
</view> </view>
</view> --> </view> -->
<view class="contract_list"> <view class="contract_list">
<view class="item" v-for="(item,index) in list" :key="item.id" @click="navTo('/subpkg/contractDetail/contractDetail?id='+item.id)"> <view class="item" v-for="(item,index) in list" :key="item.id"
@click="navTo('/subpkg/contractDetail/contractDetail?id='+item.id)">
<view class="personnel_list"> <view class="personnel_list">
<view class="cards"> <view class="cards">
<view class="cards_head"> <view class="cards_head">
@ -25,7 +26,8 @@
<view class=""> <view class="">
<text>乙方 :</text> <text>乙方 :</text>
<text v-if="item.party_b_info">{{item.party_b_info.company_name}}</text> <text v-if="item.party_b_info">{{item.party_b_info.company_name}}</text>
<text v-else-if="item.party_b==$store.state.app.userInfo.id">{{$store.state.app.userInfo.nickname}}</text> <text
v-else-if="item.party_b==$store.state.app.userInfo.id">{{$store.state.app.userInfo.nickname}}</text>
</view> </view>
<view class=""> <view class="">
<text>合同类型 :</text> <text>合同类型 :</text>
@ -125,7 +127,7 @@
contractList contractList
} from "@/api/contract.js" } from "@/api/contract.js"
import { import {
download_file download_file
} from "@/api/junziqian.js" } from "@/api/junziqian.js"
export default { export default {
data() { data() {
@ -153,17 +155,17 @@
url: url url: url
}) : Toast('暂未开放') }) : Toast('暂未开放')
}, },
navToContract (contract_no) { navToContract(contract_no) {
download_file({ download_file({
applyNo: contract_no applyNo: contract_no
}).then(res => { }).then(res => {
if (res.code != 1) { if (res.code != 1) {
Toast(res.msg) Toast(res.msg)
} }
uni.navigateTo({ uni.navigateTo({
url: `/subpkg/pdfView/pdfView?url=${res.data.url}` url: `/subpkg/pdfView/pdfView?url=${res.data.url}`
}) })
}) })
}, },
initLoadConfig() { initLoadConfig() {
this.loadConfig.page = 1; this.loadConfig.page = 1;
@ -250,7 +252,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head { .cards_head {
padding: 28rpx; padding: 28rpx;

View File

@ -202,10 +202,10 @@
// console.log(this.userInfo); // console.log(this.userInfo);
if (this.user_id == 0) { if (this.user_id == 0) {
// this.userInfo = this.$store.state.app.userInfo; // this.userInfo = this.$store.state.app.userInfo;
userInfo().then((res)=>{ userInfo().then((res) => {
this.$store.commit('setUserInfo', res.data); this.$store.commit('setUserInfo', res.data);
this.userInfo = res.data; this.userInfo = res.data;
}) })
} else { } else {
this.OtherUserInfo() this.OtherUserInfo()
} }
@ -291,7 +291,7 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
flex: 1; flex: 1;
color: #fff; color: #fff;
padding: 10rpx 28rpx; padding: 10rpx 28rpx;
@ -299,7 +299,7 @@
// background-color: red; // background-color: red;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
vertical-align: bottom; width: 24vw;
line-height: 44px; line-height: 44px;
} }

View File

@ -58,7 +58,7 @@
<view class="personnel_list"> <view class="personnel_list">
<view class="card" v-for="(item, index) in userList" :key="item.id"> <view class="card" v-for="(item, index) in userList" :key="item.id">
<view class="card_head"> <view class="card_head">
<text style="font-size: 32rpx;">创建时间: {{creTime(item.create_time)}} <text>创建时间: {{creTime(item.create_time)}}
</text> </text>
<text @click="navTo('/subpkg/finance/finance?id='+item.id)">财务查看</text> <text @click="navTo('/subpkg/finance/finance?id='+item.id)">财务查看</text>
<text @click="navTo('/subpkg/personnelDetails/personnelDetails?id='+item.id)">信息查看</text> <text @click="navTo('/subpkg/personnelDetails/personnelDetails?id='+item.id)">信息查看</text>
@ -223,7 +223,7 @@
border-radius: 30rpx; border-radius: 30rpx;
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6); // box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.card_head { .card_head {
padding: 28rpx; padding: 28rpx;

File diff suppressed because it is too large Load Diff

190
test.vue
View File

@ -1,119 +1,111 @@
<template> <template>
<view class="personnel_list"> <view class="personnel_list">
<view class="cards"> <view class="cards">
<view class="cards_head"> <view class="cards_head">
<text style="font-size: 32rpx">最后更新:2020-25-2</text> <text style="font-size: 32rpx">最后更新:2020-25-2</text>
<text>更新档案</text> <text>更新档案</text>
<text>查看档案</text> <text>查看档案</text>
</view> </view>
<view class="cards_content"> <view class="cards_content">
<view class="right"> <view class="right">
<view class=""> <view class="">
<text>人员姓名 :</text> <text>人员姓名 :</text>
<text> { item.name }</text> <text> { item.name }</text>
</view> </view>
<view class=""> <view class="">
<text>联系电话 :</text> <text>联系电话 :</text>
<text>{ item.phone }</text> <text>{ item.phone }</text>
</view> </view>
<view class=""> <view class="">
<text>所属片区 :</text> <text>所属片区 :</text>
<text> 所属片区 </text> <text> 所属片区 </text>
</view> </view>
</view> </view>
<view class="left"> <view class="left">
<view class="cir"> <view class="cir">
<u--image <u--image class="u_avatar" :showLoading="true" :src="'../../static/img/public/man.png'"
class="u_avatar" width="112.28rpx" height="112.28rpx" shape="circle"></u--image>
:showLoading="true" </view>
:src="'../../static/img/public/man.png'" </view>
width="112.28rpx" </view>
height="112.28rpx" </view>
shape="circle" </view>
></u--image>
</view>
</view>
</view>
</view>
</view>
</template> </template>
<style lang="scss"> <style lang="scss">
.personnel_list {
padding: 28rpx 0;
margin-bottom: 130rpx;
.personnel_list { .cards {
padding: 28rpx 0; margin: 0 auto;
margin-bottom: 130rpx; margin-bottom: 28rpx;
width: 694rpx;
background: #ffffff;
border-radius: 30rpx;
opacity: 1;
overflow: hidden;
// box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards { .cards_head {
margin: 0 auto; padding: 28rpx;
margin-bottom: 28rpx; background-color: $theme-oa-color;
width: 694rpx; color: white;
background: #ffffff; height: 100rpx;
border-radius: 30rpx; display: flex;
opacity: 1; justify-content: space-between;
overflow: hidden; }
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head { .cards_content {
padding: 28rpx; padding: 28rpx;
background-color: $theme-oa-color; display: flex;
color: white; justify-content: space-between;
height: 100rpx;
display: flex;
justify-content: space-between;
}
.cards_content { .left {
padding: 28rpx; text-align: center;
display: flex; // padding: 15rpx 25rpx;
justify-content: space-between; padding-top: 20rpx;
.left { width: 160rpx;
text-align: center; background-color: $theme-oa-color;
// padding: 15rpx 25rpx; color: white;
padding-top: 20rpx; border-radius: 40rpx;
width: 160rpx; .cir {
background-color: $theme-oa-color; width: 120rpx;
color: white; height: 120rpx;
border-radius: 40rpx; background-color: #ffffff;
margin-left: 25rpx;
border-radius: 120rpx;
position: relative;
}
}
.cir { .right {
width: 120rpx; display: flex;
height: 120rpx; flex-direction: column;
background-color: #ffffff; justify-content: space-between;
margin-left: 25rpx;
border-radius: 120rpx;
position: relative;
}
}
.right { view {
display: flex; text:nth-child(2) {
flex-direction: column; margin-left: 20rpx;
justify-content: space-between; }
}
}
}
view { .u_avatar {
text:nth-child(2) { position: absolute;
margin-left: 20rpx; top: 50%;
} left: 50%;
}
}
}
.u_avatar {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}
transform: translate(-50%, -50%);
}
}
}
</style> </style>