【开发】 标协会员

This commit is contained in:
fengachen
2021-12-15 17:49:32 +08:00
parent 2bfeded661
commit 8236283f2c
20 changed files with 842 additions and 8 deletions
+129
View File
@@ -0,0 +1,129 @@
// pages/councilDetail/councilDetail.js
import UserApi from '../../assets/js/http/userApi'
import { previewFile } from '../../assets/js/preview'
import MeetingApi from '../../assets/js/http/meetingApi'
Page({
/**
* 页面的初始数据
*/
data: {
form: {},
name: '',
id: '', // ,项目id
projectFileList: [], // 项目资料文件
meetingList: [] // 会议文件
},
// 预览
preview(e){
const fileObj = e.currentTarget.dataset.file
previewFile(fileObj.fileId ,fileObj.fileName)
},
// 获取更多会议信息数据
goMoreMeeting(){
wx.navigateTo({
url: `../meeting/meeting?councilId=${this.data.id}`,
})
},
// 会议详情
meetingDetail(e){
console.log(e);
const meetingInfo = JSON.stringify(e.currentTarget.dataset.meetinginfo)
wx.navigateTo({
url: `../meetingDetailSigned/meetingDetailSigned?meetingInfo=${meetingInfo}`,
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
name: options.name
})
wx.showToast({
title: '加载中...',
icon: 'loading'
})
this.data.id = options.id
MeetingApi.meetingList({councilId: this.data.id, meetingSignUpType: 2, column: 'createTime', order: 'desc'}).then(res=>{
if(res.success){
if(res.result.records && res.result.records.length <= 2){
this.setData({
meetingList: res.result.records
})
}else if(res.result.records && res.result.records.length > 2){
this.setData({
meetingList: res.result.records.slice(0,2)
})
}
}
}).catch(err => {
wx.showToast({
title: '加载失败',
icon: 'none',
duration: 2000
})
})
UserApi.councilDetail({id: this.data.id}).then(res=>{
this.setData({
form: res.result
})
}).catch(err => {
wx.showToast({
title: '加载失败',
icon: 'none',
duration: 2000
})
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
+4
View File
@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "项目详情",
"usingComponents": {}
}
+41
View File
@@ -0,0 +1,41 @@
<!--pages/councilDetail/councilDetail.wxml-->
<view>
<view class="basic-info">
<view class="meeting-name">
<text>项目名称</text>
<text>{{name}}</text>
</view>
<view class="meeting-name">
<text>项目负责人</text>
<text>{{form.principal}}</text>
</view>
<view class="remark">
<text>目标简介</text>
<text>{{form.remarks}}</text>
</view>
<view style="height: auto !important;">
<text>项目资料</text>
<view class="info-file" wx:if="{{form.files && form.files.length}}">
<text class='color-green' data-file="{{item}}" wx:for="{{form.files}}" wx:key='item'
bindtap="preview">{{item.fileName}}</text>
</view>
<text wx:if="{{form.files.length == 0}}">无</text>
</view>
</view>
<view class="basic-info" style="margin-top: 10px;">
<view class="title">
<text>会议信息</text>
<text style="border: none;color: #999; font-size: 13px;" bindtap="goMoreMeeting">更多>></text>
</view>
<view style="padding: 0 15px;" wx:for="{{meetingList}}" wx:key="item">
<view class="meeting-info">
<text>{{item.meetingName}}</text>
<text style="color: #069F99;" bindtap="meetingDetail" data-meetingInfo = "{{item}}">查看详情</text>
</view>
</view>
<text wx:if="{{meetingList.length == 0}}" class="no-data" style="height: 40px;">暂无会议记录!</text>
</view>
</view>
<view class="tips"> 更多功能和信息请到pc端操作</view>
+290
View File
@@ -0,0 +1,290 @@
/* pages/councilDetail/councilDetail.wxss */
page{
box-sizing: border-box;
background-color: #F5F5F5;
padding-bottom: 20px;
}
.basic-info .title{
height: 40px;
}
.basic-info .title text{
display: block;
border-left: 3px solid #069F99;
height: 14px;
padding-left: 10px;
border-radius: 2px;
display: flex;
justify-content: center;
align-items: center;
color: #333;
font-size: 15px;
font-weight: 500;
}
.basic-info view{
background-color: #FFF;
padding: 15px;
height: 40px;
display: flex;
justify-content: space-between;
align-items: center;
color: #333;
font-size: 14px;
border-bottom: 0.5px solid #f5f5f5;
position: relative;
}
.basic-info view:last-child{
border-bottom: 0;
}
.basic-info view text:nth-child(1){
flex-shrink: 0;
margin-right: 10px;
}
.meeting-name{
margin-bottom: 10px;
}
.meeting-name text:nth-child(2){
text-overflow:ellipsis;
overflow: hidden;
white-space: nowrap;
}
.meeting-files{
margin-top: 10px;
flex-direction: column;
align-items: flex-start !important;
height: auto !important;
}
.basic-info .meeting-files .file-name{
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
box-sizing: border-box;
padding: 0;
height: 40px;
margin-top: 10px;
}
.file-name view{
padding: 0;
height: 30px;
line-height: 30px;
border-bottom: 0;
}
.file-name view image{
width: 30px;
height: 30px;
margin-right: 10px;
}
.basic-info .meeting-files .file-name .look-file{
color: #069F99;
}
.warning-text{
position: absolute !important;
top: 5px;
left: 75px;
color: #FF5E60 !important;
font-size: 10px !important;
padding: 0 !important;
}
.warning-text image{
width: 10px;
height: 10px;
}
.pay-prove-box{
display: flex !important;
flex-direction: column !important;
justify-content: flex-start !important;
align-items: flex-start !important;
padding: 0;
height: 120px !important;
}
.pay-prove-box .pay-prove-content{
margin-top: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
padding: 0;
height: 80px;
}
.pay-prove-box .pay-prove-content .pay-prove{
width: 80px;
height: 80px;
margin-right: 10px;
position: relative !important;
background-color: #D1D1D1;
padding: 0;
border-radius: 5px;
display: flex;
justify-content: center;
align-items: center;
}
.pay-prove-box .pay-prove-content .pay-prove image{
width: 80px;
height: 80px;
}
.pay-prove-box .pay-prove-content .pay-prove .delete-image{
width: 12px;
height: 12px;
color: #fff;
background-color: #FF5E60;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
font-size: 7px;
position: absolute;
top: -3px;
right: -3px;
}
.way-box{
display: block !important;
padding: 0 !important;
height: auto !important;
}
.info-file{
padding: 0 !important;
display: flex;
flex-direction: column;
align-items: flex-end !important;
height: auto !important;
overflow: hidden;
}
.info-file text{
display: block;
width: 100%;
text-align: right;
overflow:hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin: 0 !important;
}
.meeting-info{
width: 100%;
height: auto !important;
display: flex;
justify-content: space-between !important;
align-items: center;
padding: 0 !important;
border: none;
}
.meeting-info text:nth-child(1){
flex-shrink: 1 !important;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.meeting-info text:nth-child(2){
flex-shrink: 0 !important;
}
.basic-info .way{
padding: 0 15px;
display: flex;
justify-content: flex-start !important;
}
.basic-info .way image{
width: 23px;
height: 23px;
margin-right: 10px;
}
.way-info .way-left{
padding: 0;
display: flex;
justify-content: flex-start !important;
}
.way-info .way-center{
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
}
.way-info .way-center text:nth-child(1){
color: #333;
font-size: 14px;
flex-shrink: 0;
}
.way-info .way-center text:nth-child(2){
color: #999;
font-size: 11px;
flex-shrink: 0;
}
.way-info .green {
width: 20px;
height: 20px;
background: #069F99;
color: #fff;
font-size: 11px;
text-align: center;
line-height: 20px;
border-radius: 5px;
}
.way-info .blue {
width: 20px;
height: 20px;
background: #0A72F7;
color: #fff;
font-size: 11px;
text-align: center;
line-height: 20px;
border-radius: 5px;
}
.way-info .way-right{
flex-shrink: 0;
padding: 0;
color: #666;
font-size: 12px;
}
.basic-info .look-progress{
padding: 0 15px;
}
.basic-info .look-progress text:nth-child(1){
color: #FF5E60;
font-size: 14px;
}
.basic-info .look-progress text:nth-child(2){
display: block;
width: 70px;
height: 26px;
color: #069F99;
font-size: 11px;
border-radius: 13px;
border: 0.5px solid #069F99;
text-align: center;
line-height: 26px;
}
.sign-up-empty{
height: 60px;
width: 100%;
display: block;
margin-top: 10px;
}
.sign-up{
width: 100%;
padding: 10px 15px;
box-sizing: border-box;
background-color: #fff;
position: fixed;
bottom: 0;
}
.sign-up text{
background-color: #069F99;
height: 40px;
border-radius: 10px;
color: #fff;
font-size: 16px;
font-weight: 600;
display: block;
text-align: center;
line-height: 40px;
}
.remark {
height: auto!important;
margin-bottom: 10px;
}
.tips {
margin-top: 20px;
color: #000;
font-weight: 700;
font-size: 14px;
text-align: center;
}