【开发】 标协会员
This commit is contained in:
@@ -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 () {
|
||||
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "项目详情",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user