第二版页面样式修改

This commit is contained in:
THK3121 2023-08-19 09:32:25 +08:00
commit 708122d222
3 changed files with 660 additions and 702 deletions

View File

@ -1,9 +1,14 @@
<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">
@ -31,7 +36,6 @@
-->
<view class="personnel_list" v-if="!skeleton">
<view class="cards">
<view class="cards_head">
<text style="font-size: 32rpx">公司基本信息</text>
</view>
@ -39,299 +43,244 @@
<view class="right">
<view class="">
<text>公司名称 :</text>
<text> {{company.company_name}}</text>
<text> {{ company.company_name }}</text>
</view>
<view class="" @click="copyPhone(company.master_email, '社会代码')">
<view
class=""
@click="copyPhone(company.master_email, '社会代码')"
>
<text>社会代码 :</text>
<text>{{company.organization_code}}</text>
<text>{{ company.organization_code }}</text>
</view>
<view class="">
<text>公司类型 :</text>
<text>{{company.company_type_name||company.company_type}}</text>
<text>{{
company.company_type_name || company.company_type
}}</text>
</view>
<view class="">
<text>负责区域 :</text>
<text> {{c_address}} </text>
<text> {{ c_address }} </text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="cards_head">
<text style="font-size: 32rpx">公司联系人</text>
</view>
<view class="cards_content">
<view class="right">
<view class="">
<text>法人姓名 :</text>
<text> {{company.master_name}}</text>
</view>
<view class="" @click="copyPhone(company.master_email, '社会代码')">
<text>担任职务 :</text>
<text>{{company.organization_code}}</text>
</view>
<view class="" @click="copyPhone(company.master_email, '电话')">
<text>联系电话 :</text>
<text>{{company.master_phone}}</text>
</view>
<view class="" @click="copyPhone(company.master_email, '邮箱')">
<text>电子邮箱 :</text>
<text> {{company.master_email}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 合同 -->
<view class="item" v-show="skeleton||contract.status">
<u-skeleton :loading="skeleton" :animate="true" title rows="2" rows-width="100%"
rowsHeight="56"></u-skeleton>
<!--
<view class="item" v-show="skeleton || contract.status">
<u-skeleton
:loading="skeleton"
:animate="true"
title
rows="2"
rows-width="100%"
rowsHeight="56"
></u-skeleton>
<block v-if="!skeleton">
<view class="title">电子合同</view>
<view class="card">
<view class="one">
<view class="info">
<view class="info_item">甲方{{contract.party_a_name}}</view>
<view class="info_item">乙方{{contract.party_b_name}}</view>
<view class="info_item">合同类型{{contract.contract_type_name}}</view>
<view class="info_item">合同编号{{contract.contract_no}}</view>
<view class="info_item">甲方{{ contract.party_a_name }}</view>
<view class="info_item">乙方{{ contract.party_b_name }}</view>
<view class="info_item"
>合同类型{{ contract.contract_type_name }}</view
>
<view class="info_item"
>合同编号{{ contract.contract_no }}</view
>
</view>
</view>
<u-line v-if="contract.contract_no" color="#999999FF" style="margin: 31rpx 0;"></u-line>
<u-line
v-if="contract.contract_no"
color="#999999FF"
style="margin: 31rpx 0"
></u-line>
<view class="contract" v-if="contract.contract_no">
<view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<image
class="contract_img"
src="../../static/img/contract/pdf.png"
></image>
<view class="text">
<view class="name">合同</view>
<view>
<text>{{contract.create_time}}</text>
<!-- <text class="nickname">张郭郭</text> -->
<text>{{ contract.create_time }}</text>
</view>
</view>
</view>
<view class="right" @click="navTo(contract.contract_no)">
<!-- <image class="icon"></image> -->
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view>
</view>
</block>
-->
<view class="personnel_list" v-if="!skeleton">
<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> {{contract.party_a_name}}</text>
</view>
<view class="" @click="copyPhone(company.master_email, '社会代码')">
<text>乙方 :</text>
<text>{{contract.party_b_name}}</text>
</view>
<view class="">
<text>合同类型 :</text>
<text>{{contract.contract_type_name}}</text>
</view>
<view class="">
<text>合同编号 :</text>
<text> {{contract.contract_no}} </text>
</view>
</view>
</view>
<view style="border-top:1px dashed #0022C7;margin:20rpx 0">
</view>
<view class="contract" v-if="contract.contract_no">
<view class="left">
<image class="contract_img" src="../../static/img/contract/pdf.png"></image>
<view class="text">
<view class="name">合同</view>
<view>
<text>{{contract.create_time}}</text>
</view>
</view>
</view>
<view class="right" @click="navTo(contract.contract_no)">
<uni-icons type="paperclip" color="#3274F9"></uni-icons>
<view>查看</view>
</view>
</view>
</view>
</view>
</view>
<!--
<view class="item">
<u-skeleton :loading="skeleton" :animate="true" title rows="2" rows-width="100%"
rowsHeight="56"></u-skeleton>
<u-skeleton
:loading="skeleton"
:animate="true"
title
rows="2"
rows-width="100%"
rowsHeight="56"
></u-skeleton>
<block v-if="!skeleton">
<view class="title">
<text>联系人管理</text>
<!-- <view>新增</view> -->
</view>
<view class="card">
<view class="one">
<view class="linkman">
<view
style="height: 30rpx;width: 6rpx;background-color: #3175f9;border-radius: 8rpx;margin-right: 8rpx;">
style="
height: 30rpx;
width: 6rpx;
background-color: #3175f9;
border-radius: 8rpx;
margin-right: 8rpx;
"
>
</view>
主要联系人
</view>
<view class="info">
<view class="info_item">姓名{{company.master_name}}</view>
<view class="info_item">职位{{company.master_position}}</view>
<view class="info_item">姓名{{ company.master_name }}</view>
<view class="info_item">职位{{ company.master_position }}</view>
<view class="info_item" @click="copyPhone(company.master_phone)">
联系电话{{company.master_phone}}</view>
<view class="info_item" @click="copyPhone(company.master_email, '邮箱')">
邮箱{{company.master_email}}</view>
联系电话{{ company.master_phone }}</view
>
<view
class="info_item"
@click="copyPhone(company.master_email, '邮箱')"
>
邮箱{{ company.master_email }}</view
>
</view>
</view>
<view class="one" v-for="(other, index) in company.other_contacts" v-if="other.name!=''"
:key="index">
<view
class="one"
v-for="(other, index) in company.other_contacts"
v-if="other.name != ''"
:key="index"
>
<view class="linkman">
<view
style="height: 30rpx;width: 6rpx;background-color: #3175f9;border-radius: 8rpx;margin-right: 8rpx;">
style="
height: 30rpx;
width: 6rpx;
background-color: #3175f9;
border-radius: 8rpx;
margin-right: 8rpx;
"
>
</view>
其他联系人
</view>
<view class="info">
<view class="info_item">姓名{{other.name}}</view>
<view class="info_item">职位{{other.position}}</view>
<view class="info_item" @click="copyPhone(other.phone)">联系电话{{other.phone}}</view>
<view class="info_item" @click="copyPhone(other.email, '邮箱')">邮箱{{other.email}}</view>
<view class="info_item">姓名{{ other.name }}</view>
<view class="info_item">职位{{ other.position }}</view>
<view class="info_item" @click="copyPhone(other.phone)"
>联系电话{{ other.phone }}</view
>
<view class="info_item" @click="copyPhone(other.email, '邮箱')"
>邮箱{{ other.email }}</view
>
</view>
</view>
</view>
</block>
</view>
-->
<view class="item">
<u-skeleton :loading="skeleton" :animate="true" title rows="2" rows-width="100%"
rowsHeight="56"></u-skeleton>
<!--
<u-skeleton
:loading="skeleton"
:animate="true"
title
rows="2"
rows-width="100%"
rowsHeight="56"
></u-skeleton>
<block v-if="!skeleton">
<view class="title">资质信息</view>
<view class="image_box" style="background-color: #fff;border-radius: 7px 7px 7px 7px;">
<u--image class="image" @click="priview(company.qualification.business_license)"
:src="company.qualification.business_license" v-if="company.qualification.business_license"
:lazy-load="true">
<view
class="image_box"
style="background-color: #fff; border-radius: 7px 7px 7px 7px"
>
<u--image
class="image"
@click="priview(company.qualification.business_license)"
:src="company.qualification.business_license"
v-if="company.qualification.business_license"
:lazy-load="true"
>
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
<u--image class="image" @click="priview(company.qualification.business_licenseB)"
:src="company.qualification.business_licenseB" v-if="company.qualification.business_licenseB"
:lazy-load="true">
<u--image
class="image"
@click="priview(company.qualification.business_licenseB)"
:src="company.qualification.business_licenseB"
v-if="company.qualification.business_licenseB"
:lazy-load="true"
>
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
<u--image class="image" v-for="item in company.qualification.other_qualifications" :key="item"
@click="priview(item)" :src="item" v-if="company.qualification.other_qualifications"
:lazy-load="true">
<u--image
class="image"
v-for="item in company.qualification.other_qualifications"
:key="item"
@click="priview(item)"
:src="item"
v-if="company.qualification.other_qualifications"
:lazy-load="true"
>
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
<!-- <u--image class="image" v-for="item in company.qualification.bank_account" :key="item" @click="priview(item)"
:src="item" v-if="company.qualification.bank_account" :lazy-load="true">
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
<u--image class="image" v-for="item in company.qualification.bank_accountB" :key="item" @click="priview(item)"
:src="item" v-if="company.qualification.bank_accountB" :lazy-load="true">
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image> -->
</view>
</block>
-->
<view class="personnel_list" v-if="!skeleton">
<view class="cards">
<view class="cards_head">
<text style="font-size: 32rpx">公司资质信息</text>
</view>
<view class="cards_content">
<view class="image_box" style="background-color: #fff;border-radius: 7px 7px 7px 7px;">
<u--image class="image" @click="priview(company.qualification.business_license)"
:src="company.qualification.business_license"
v-if="company.qualification.business_license" :lazy-load="true">
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
<u--image class="image" @click="priview(company.qualification.business_licenseB)"
:src="company.qualification.business_licenseB"
v-if="company.qualification.business_licenseB" :lazy-load="true">
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
<u--image class="image" v-for="item in company.qualification.other_qualifications"
:key="item" @click="priview(item)" :src="item"
v-if="company.qualification.other_qualifications" :lazy-load="true">
<template v-slot:loading>
<u-loading-icon color="#333"></u-loading-icon>
</template>
</u--image>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</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: {
@ -348,11 +297,11 @@
}
},
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;
@ -369,7 +318,7 @@
}
},
methods: {
navTo(contract_no) {
navTo (contract_no) {
download_file({
applyNo: contract_no
}).then(res => {
@ -381,10 +330,10 @@
})
})
},
naviBack() {
naviBack () {
uni.navigateBack()
},
async initContract(id, type = "contract") {
async initContract (id, type = "contract") {
let res;
//
if (id && (type == "contract" || type == null)) {
@ -409,22 +358,22 @@
// 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'
@ -436,7 +385,7 @@
}
})
},
copyPhone(str = "", type = "号码") {
copyPhone (str = "", type = "号码") {
if (str) uni.setClipboardData({
data: str + "",
success: (e) => {
@ -448,12 +397,13 @@
})
}
},
}
}
</script>
<style lang="scss" scoped>
.personnel_list {
.personnel_list {
padding: 28rpx 0;
margin-bottom: 130rpx;
.cards {
margin: 0 auto;
@ -505,11 +455,8 @@
justify-content: space-between;
view {
margin-bottom: 10rpx;
text:nth-child(2) {
margin-left: 20rpx;
}
}
}
@ -523,75 +470,10 @@
transform: translate(-50%, -50%);
}
}
}
.contract {
display: flex;
justify-content: space-between;
padding: 0 30rpx 20rpx 30rpx;
.left {
display: flex;
.contract_img {
width: 102rpx;
height: 102rpx;
background: #F5F5F5;
border-radius: 14rpx 14rpx 14rpx 14rpx;
margin-right: 21rpx;
}
.text {
display: flex;
flex-direction: column;
justify-content: space-between;
.name {
font-size: 32rpx;
;
font-weight: 500;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
}
.nickname {
margin-right: 35rpx;
}
text {
height: 39rpx;
font-size: 28rpx;
font-weight: 400;
color: #666666;
line-height: 35rpx;
}
}
}
.right {
font-size: 28rpx;
font-weight: 500;
color: $theme-oa-color;
line-height: 35rpx;
display: flex;
justify-content: center;
align-items: center;
.icon {
width: 35rpx;
height: 39rpx;
background-color: $theme-oa-color;
opacity: 1;
margin-right: 10rpx
}
}
}
}
.item {
.item {
padding: 32rpx 28rpx;
padding-top: 0;
&:nth-child(1) {
@ -611,7 +493,7 @@
width: 694rpx;
// height: 231rpx;
padding: 28rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 14rpx 14rpx 14rpx 14rpx;
display: flex;
flex-direction: column;
@ -630,7 +512,7 @@
width: 142rpx;
height: 142rpx;
margin-right: 28rpx;
background: #CCCCCC;
background: #cccccc;
border-radius: 14rpx 14rpx 14rpx 14rpx;
opacity: 1;
}
@ -664,7 +546,7 @@
.bottom {
display: flex;
align-items: center;
color: #666666FF;
color: #666666ff;
margin-top: 32rpx;
.left {
@ -677,7 +559,6 @@
margin-right: 5rpx;
}
}
}
.one {
@ -705,12 +586,66 @@
}
}
.contract {
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 {
display: flex;
flex-direction: column;
justify-content: space-between;
.name {
font-size: 32rpx;
font-weight: 500;
color: rgba(0, 0, 0, 0.8);
line-height: 35rpx;
}
.nickname {
margin-right: 35rpx;
}
text {
height: 39rpx;
font-size: 28rpx;
font-weight: 400;
color: #666666;
line-height: 35rpx;
}
}
}
.right {
font-size: 28rpx;
font-weight: 500;
color: $theme-oa-color;
line-height: 35rpx;
display: flex;
justify-content: center;
align-items: center;
.icon {
width: 35rpx;
height: 39rpx;
background-color: $theme-oa-color;
opacity: 1;
margin-right: 10rpx;
}
}
}
}
.image_box {
display: flex;
@ -731,9 +666,9 @@
}
}
}
}
}
.back_btn {
.back_btn {
width: 694rpx;
height: 84rpx;
background: $theme-oa-color;
@ -743,9 +678,9 @@
align-items: center;
color: #fff;
margin: 30rpx auto;
}
}
.stop_btn {
.stop_btn {
width: 694rpx;
height: 84rpx;
border-radius: 42rpx 42rpx 42rpx 42rpx;
@ -755,5 +690,5 @@
color: $theme-oa-color;
background-color: transparent;
margin: 30rpx auto;
}
}
</style>

View File

@ -75,8 +75,10 @@
</view>
</block>
</view>
<view class="log_out" v-if="$store.state.app.token" @click="logout">退出登录</view>
<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>
<!-- <tabbar></tabbar> -->
</view>
</template>
@ -96,6 +98,7 @@
return {
myOaData: myOaData,
src: 'https://cdn.uviewui.com/uview/album/1.jpg',
modelShow: false
}
},
onReady() {
@ -107,6 +110,9 @@
onShow() {
this.getOaUserInfo();
},
onHide() {
this.modelShow = false;
},
computed: {
eyeType() {
return this.$store.state.config.eyeType;
@ -124,19 +130,19 @@
},
logout() {
let that = this;
uni.showModal({
content: '确定要退出登录吗',
success: (e) => {
if (e.confirm) {
// uni.showModal({
// content: '退',
// success: (e) => {
// if (e.confirm) {
uni.navigateTo({
url: '/pages/oaLogin/oaLogin?clear='+true,
success() {
that.$store.commit('CLEAR');
}
})
}
}
})
// }
// }
// })
},
async getOaUserInfo() {
const res = await userInfo();

View File

@ -32,7 +32,10 @@
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
-->
<u-sticky bgColor="#0022C7" v-if="task_id>0&& !is_admin">
<u-tabs :list="tabLists" @click="changeCurrent" lineColor='white' :scrollable="false" lineWidth='40'
inactiveStyle='color:white' activeStyle="color:white"></u-tabs>
</u-sticky>
<view class="personnel_list">
<view class="card" v-for="(item, index) in list" :key="item.id">
<view class="card_head">
@ -120,7 +123,6 @@
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
<mybtn text="信息登记" v-if="showView" @click="navTo('/subpkg/newArchives/newArchives')"></mybtn>
</view>
</template>
@ -142,6 +144,12 @@
task_id: -1,
is_admin: false,
list: [],
current: 0,
tabLists: [{
name: '未更新',
}, {
name: '已更新'
}],
loadConfig: {
page: 1,
limit: 15,
@ -167,7 +175,7 @@
title: '任务:信息更新'
})
}
this.loadInformationList();
this.initLoad();
uni.$on('loadArchives', this.initLoad);
},
onShow() {
@ -201,7 +209,7 @@
this.loadConfig.page = 1;
this.loadConfig.status = "loadmore";
this.list = [];
this.is_admin ? null : await this.loadInformationList();
await this.loadInformationList();
uni.stopPullDownRefresh();
},
async loadInformationList() {
@ -209,14 +217,19 @@
if (this.loadConfig.status == "nomore") return;
this.loadConfig.status = "loading"
let res = {};
if (this.is_admin) res = await taskInformationgist({
if (this.is_admin) {
res = await taskInformationgist({
id: this.task_id
});
else res = await informationList({
}
else {
res = await informationList({
page: this.loadConfig.page,
limit: this.loadConfig.limit,
user_id: that.user_id
user_id: that.user_id,
is_update: this.current
})
}
this.loadConfig.status = "loadmore"
if (res.data.length < this.loadConfig.limit) {
this.loadConfig.status = "nomore"
@ -224,6 +237,10 @@
this.loadConfig.page++;
}
this.list = [...this.list, ...res.data];
},
changeCurrent(e) {
this.current = e.index;
this.initLoad();
}
},
onPullDownRefresh() {