我的页面,首页来款项目
This commit is contained in:
@@ -838,4 +838,12 @@ color: #2A2A2A;
|
|||||||
}
|
}
|
||||||
.form-item .count{
|
.form-item .count{
|
||||||
background-color: #aaa;
|
background-color: #aaa;
|
||||||
|
}
|
||||||
|
.no-data{
|
||||||
|
width: 100%;
|
||||||
|
height:200px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: #999;
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.4 KiB |
@@ -3,6 +3,7 @@ import http from './http.js'
|
|||||||
// let baseUrl = 'https://share.hzwlsoft.com'
|
// let baseUrl = 'https://share.hzwlsoft.com'
|
||||||
// let baseUrl = 'http://localhost:8080'
|
// let baseUrl = 'http://localhost:8080'
|
||||||
let baseUrl = 'http://10.0.1.9:8080'
|
let baseUrl = 'http://10.0.1.9:8080'
|
||||||
|
let URL_CONFIG = '/jero-boot/'
|
||||||
// let baseUrl = 'http://192.168.1.110:8080'
|
// let baseUrl = 'http://192.168.1.110:8080'
|
||||||
/* 配置路径 */
|
/* 配置路径 */
|
||||||
|
|
||||||
@@ -14,6 +15,7 @@ let apiUrl = {
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
baseUrl,
|
baseUrl,
|
||||||
|
URL_CONFIG,
|
||||||
//微信账号密码登陆--1
|
//微信账号密码登陆--1
|
||||||
wxLoginByUserName(option, success, error) {
|
wxLoginByUserName(option, success, error) {
|
||||||
http.post1(baseUrl + apiUrl.wxLoginByUserName, option).then(res => {
|
http.post1(baseUrl + apiUrl.wxLoginByUserName, option).then(res => {
|
||||||
|
|||||||
@@ -21,27 +21,30 @@ const UserApi = {
|
|||||||
// 短信登录
|
// 短信登录
|
||||||
codeLogin: (params) => http.post(`${URL_CONFIG}company/smsLogin`, params),
|
codeLogin: (params) => http.post(`${URL_CONFIG}company/smsLogin`, params),
|
||||||
// 设置密码
|
// 设置密码
|
||||||
setPassword: (params) => http.post(`${URL_CONFIG}company/changePassword`, params),
|
setPassword: (params) => http.post(`${URL_CONFIG}company/changePasswordWithToken`, params),
|
||||||
|
// 修改密码
|
||||||
|
updatePassword: (params) => http.post(`${URL_CONFIG}company/changePassword`, params),
|
||||||
|
// 扫码签到
|
||||||
|
scanCode: (params) => http.post(`${URL_CONFIG}company/changePassword`, params),
|
||||||
// 退出
|
// 退出
|
||||||
logout: (params) => http.post(`${URL_CONFIG}sys/logout`, params),
|
logout: (params) => http.post(`${URL_CONFIG}sys/logout`, params),
|
||||||
// 短信验证码修改密码
|
|
||||||
updatePassword: (params) => http.post(`${URL_CONFIG}company/verificationChangePassword`, params),
|
|
||||||
// 个人信息
|
// 个人信息
|
||||||
mineInfo: (params) => http.get(`${URL_CONFIG}company/payContactsManagement/queryByIdMeeting`, params),
|
mineInfo: (params) => http.get(`${URL_CONFIG}company/payContactsManagement/queryByIdMeeting`, params),
|
||||||
// 编辑个人信息提交
|
// 编辑个人信息提交
|
||||||
editMineInfo: (params) => http.post(`${URL_CONFIG}company/payContactsManagement/companyEdit`, params),
|
editMineInfo: (params) => http.post(`${URL_CONFIG}company/payContactsManagement/companyEdit`, params),
|
||||||
// 我的资料
|
// 我的资料
|
||||||
dataList: (params) => http.get(`${URL_CONFIG}project/payWorkingGroupDistributionRecord/listForFile`, params),
|
dataList: (params) => http.get(`${URL_CONFIG}project/payWorkingGroupDistributionRecord/listForFile`, params),
|
||||||
|
// 我的合同
|
||||||
|
contractList: (params) => http.get(`${URL_CONFIG}contract/payIncomeContract/queryCompanyPageList`, params),
|
||||||
|
// 合同详情
|
||||||
|
contractDetail: (params) => http.get(`${URL_CONFIG}contract/payIncomeContract/queryCompanyById`, params),
|
||||||
|
// 预览文件
|
||||||
|
previewFile: (params) => http.get(`${URL_CONFIG}sys/common/download/${params.fileId}`),
|
||||||
// 首页接口
|
// 首页接口
|
||||||
// 来款项目分页
|
// 来款项目分页
|
||||||
projectList: (params) => http.get(`${URL_CONFIG}project/payCommonProject/queryCompanyPageList`, params),
|
projectList: (params) => http.get(`${URL_CONFIG}project/payCommonProject/queryCompanyPageList`, params),
|
||||||
// 来款项目详情
|
// 来款项目详情
|
||||||
projectDetail: (params) => http.get(`${URL_CONFIG}project/payCommonProject/queryCompanyById`, params),
|
projectDetail: (params) => http.get(`${URL_CONFIG}project/payCommonProject/queryCompanyById`, params),
|
||||||
// 会议活动分页
|
|
||||||
meetingList: (params) => http.get(`${URL_CONFIG}meeting/payMeeting/pageContract`, params),
|
|
||||||
// 会议活动详情
|
|
||||||
meetingDetail: (params) => http.get(`${URL_CONFIG}meeting/payMeeting/queryById`, params),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default UserApi
|
export default UserApi
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ export function previewFile(fileId,fileName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 截取文件类型的方法
|
// 截取文件类型的方法
|
||||||
function sliceFileTypeByFileName(fileName){
|
export function sliceFileTypeByFileName(fileName){
|
||||||
// 获取 . 的索引
|
// 获取 . 的索引
|
||||||
let index = fileName.lastIndexOf('.')
|
let index = fileName.lastIndexOf('.')
|
||||||
// 截取文件类型
|
// 截取文件类型
|
||||||
|
|||||||
@@ -10,7 +10,31 @@ for (let i = 1; i <= 12; i++) {
|
|||||||
months.push(i)
|
months.push(i)
|
||||||
}
|
}
|
||||||
|
|
||||||
Page({
|
Component({
|
||||||
|
/**
|
||||||
|
* 组件的属性列表
|
||||||
|
*/
|
||||||
|
properties: {
|
||||||
|
// 是否弹出显示
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
value: false
|
||||||
|
},
|
||||||
|
//点击外部的遮罩层是否允许关闭
|
||||||
|
outClickCanClose: {
|
||||||
|
type: Boolean,
|
||||||
|
value: false
|
||||||
|
},
|
||||||
|
// 模式,年或者月,默认只有年
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
value: 'year'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的初始数据
|
||||||
|
*/
|
||||||
data: {
|
data: {
|
||||||
years: years,
|
years: years,
|
||||||
year: date.getFullYear(),
|
year: date.getFullYear(),
|
||||||
@@ -18,12 +42,39 @@ Page({
|
|||||||
month: 2,
|
month: 2,
|
||||||
value: [9999, 1, 1],
|
value: [9999, 1, 1],
|
||||||
},
|
},
|
||||||
bindChange: function (e) {
|
|
||||||
const val = e.detail.value
|
/**
|
||||||
this.setData({
|
* 组件的方法列表
|
||||||
year: this.data.years[val[0]],
|
*/
|
||||||
month: this.data.months[val[1]],
|
methods: {
|
||||||
})
|
closePopup() {
|
||||||
console.log(this.data)
|
this.triggerEvent("close", {
|
||||||
|
visible: this.data.visible
|
||||||
|
})
|
||||||
|
},
|
||||||
|
outClick(){
|
||||||
|
if (this.data.outClickCanClose){
|
||||||
|
this.triggerEvent("close", {
|
||||||
|
visible: this.data.visible
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 日期改变
|
||||||
|
bindChange: function (e) {
|
||||||
|
const val = e.detail.value
|
||||||
|
this.setData({
|
||||||
|
year: this.data.years[val[0]],
|
||||||
|
month: this.data.months[val[1]],
|
||||||
|
})
|
||||||
|
},
|
||||||
|
ok(e){
|
||||||
|
let value = ''
|
||||||
|
if(this.properties.mode === 'month'){
|
||||||
|
value = this.data.year + '-' + this.data.month
|
||||||
|
}else {
|
||||||
|
value = this.data.year
|
||||||
|
}
|
||||||
|
this.triggerEvent("ok", value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<view class="i-modal-mask {{ visible ? 'i-modal-mask-show' : '' }}" catchtap='outClick'>
|
<view class="i-modal-mask {{ visible ? 'i-modal-mask-show' : '' }}" catchtap='outClick'>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="title">{{year}}年{{month}}月</view>
|
<view class="title">{{year}}年{{month}}月</view>
|
||||||
<picker-view indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="{{value}}"
|
<picker-view indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="{{value}}" bindtap="ok"
|
||||||
bindchange="bindChange">
|
bindchange="bindChange">
|
||||||
<picker-view-column>
|
<picker-view-column>
|
||||||
<view wx:for="{{years}}" class="item">{{item}}年</view>
|
<view wx:for="{{years}}" class="item">{{item}}年</view>
|
||||||
</picker-view-column>
|
</picker-view-column>
|
||||||
<picker-view-column>
|
<picker-view-column wx:if="{{mode === 'month'}}">
|
||||||
<view wx:for="{{months}}" class="item">{{item}}月</view>
|
<view wx:for="{{months}}" class="item">{{item}}月</view>
|
||||||
</picker-view-column>
|
</picker-view-column>
|
||||||
</picker-view>
|
</picker-view>
|
||||||
|
|||||||
@@ -1,5 +1,30 @@
|
|||||||
.box{
|
.box{
|
||||||
height: 300px;
|
width: 85%;
|
||||||
|
height: 360px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.i-modal-mask {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.7);
|
||||||
|
z-index: 1000;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.i-modal-mask-show {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
}
|
}
|
||||||
.title{
|
.title{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
<view>
|
|
||||||
<view class="title">基本信息</view>
|
|
||||||
<view class="basic-info">
|
|
||||||
<view>
|
|
||||||
<text>合同编号</text>
|
|
||||||
<text>arff4ds8a3s6651</text>
|
|
||||||
</view>
|
|
||||||
<view>
|
|
||||||
<text>合同名称</text>
|
|
||||||
<text>找找</text>
|
|
||||||
</view>
|
|
||||||
<view>
|
|
||||||
<text>负责人</text>
|
|
||||||
<text>张三</text>
|
|
||||||
</view>
|
|
||||||
<view>
|
|
||||||
<text>合同金额</text>
|
|
||||||
<text>500元</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="title">邮寄信息</view>
|
|
||||||
<view class="email-info">
|
|
||||||
<text>001由李四于2021年12月20日邮寄,快递号:14567</text>
|
|
||||||
<text>查看物流</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
page{
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.title{
|
|
||||||
height: 40px;
|
|
||||||
padding-left: 10px;
|
|
||||||
line-height: 40px;
|
|
||||||
color: #999;
|
|
||||||
font-size: 14px;
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
}
|
|
||||||
.basic-info view{
|
|
||||||
padding: 15px;
|
|
||||||
height: 40px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
color: #333;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.email-info text:nth-child(1){
|
|
||||||
color: #333;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.email-info{
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.email-info text:nth-child(2){
|
|
||||||
color: #069F99;
|
|
||||||
font-size: 14px;
|
|
||||||
display: block;
|
|
||||||
margin-top: 10px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
// pages/meeting/meeting.js
|
import UserApi from '../../assets/js/http/userApi'
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
|
form: {}
|
||||||
|
},
|
||||||
|
// 查看物流
|
||||||
|
track(){
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -12,7 +16,16 @@ Page({
|
|||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
|
console.log(options)
|
||||||
|
let id = options.id // 合同id
|
||||||
|
UserApi.contractDetail({id}).then(res=>{
|
||||||
|
console.log(res)
|
||||||
|
if(res.success){
|
||||||
|
this.setData({
|
||||||
|
form: res.result
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,24 +3,30 @@
|
|||||||
<view class="basic-info">
|
<view class="basic-info">
|
||||||
<view>
|
<view>
|
||||||
<text>合同编号</text>
|
<text>合同编号</text>
|
||||||
<text>arff4ds8a3s6651</text>
|
<text>{{form.contractNum}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<text>合同名称</text>
|
<text>合同名称</text>
|
||||||
<text>找找</text>
|
<text>{{form.contractName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<text>负责人</text>
|
<text>负责人</text>
|
||||||
<text>张三</text>
|
<text>{{form.principalName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<text>合同金额</text>
|
<text>合同金额</text>
|
||||||
<text>500元</text>
|
<text>{{form.contractAmount ? form.contractAmount + '元' : 0}}</text>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<text>关联项目</text>
|
||||||
|
<view class="ass-project">
|
||||||
|
<text wx:for="{{form.listProject}}" wx:key="item">{{item.chargeUse_dictText}}</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="title">邮寄信息</view>
|
<view class="title">邮寄信息</view>
|
||||||
<view class="email-info">
|
<view class="email-info">
|
||||||
<text>001由李四于2021年12月20日邮寄,快递号:14567</text>
|
<text>{{form.contractNum}}由{{form.payMailContract.createBy}}于{{form.payMailContract.createTime}}邮寄,快递号:{{form.payMailContract.postNo}}</text>
|
||||||
<text>查看物流</text>
|
<text bindtap="track">查看物流</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ page{
|
|||||||
background-color: #f5f5f5;
|
background-color: #f5f5f5;
|
||||||
}
|
}
|
||||||
.basic-info view{
|
.basic-info view{
|
||||||
|
background-color: #FFF;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -17,6 +18,11 @@ page{
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
color: #333;
|
color: #333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
border-bottom: 0.5px solid #f5f5f5;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.basic-info view:last-child{
|
||||||
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
.email-info text:nth-child(1){
|
.email-info text:nth-child(1){
|
||||||
color: #333;
|
color: #333;
|
||||||
@@ -31,4 +37,17 @@ page{
|
|||||||
display: block;
|
display: block;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
}
|
||||||
|
.ass-project{
|
||||||
|
height: auto !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
.ass-project text{
|
||||||
|
color: #069F99;
|
||||||
|
display: block;
|
||||||
|
line-height: 25px;
|
||||||
}
|
}
|
||||||
+13
-8
@@ -18,6 +18,7 @@ Page({
|
|||||||
},
|
},
|
||||||
// 获取验证码
|
// 获取验证码
|
||||||
getVerCode() {
|
getVerCode() {
|
||||||
|
countdown = 60
|
||||||
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.data.phone)) {
|
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.data.phone)) {
|
||||||
UserApi.sendCode({
|
UserApi.sendCode({
|
||||||
phone: this.data.phone
|
phone: this.data.phone
|
||||||
@@ -27,8 +28,8 @@ Page({
|
|||||||
this.countDown()
|
this.countDown()
|
||||||
} else {
|
} else {
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '获取验证码失败',
|
title: res.message,
|
||||||
icon: 'error',
|
icon: 'none',
|
||||||
duration: 2000
|
duration: 2000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -74,9 +75,9 @@ Page({
|
|||||||
// 请求短信登录start
|
// 请求短信登录start
|
||||||
UserApi.codeLogin(params).then(res => {
|
UserApi.codeLogin(params).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
// 存token和userInfo
|
// 存临时token和userInfo
|
||||||
wx.setStorage({
|
wx.setStorage({
|
||||||
key: 'X-Access-Token',
|
key: 'token-temp',
|
||||||
data: res.result.token
|
data: res.result.token
|
||||||
})
|
})
|
||||||
wx.setStorage({
|
wx.setStorage({
|
||||||
@@ -89,15 +90,19 @@ Page({
|
|||||||
url: '../setPassword/setPassword',
|
url: '../setPassword/setPassword',
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
// 跳转设置密码页
|
// 存token和userInfo
|
||||||
|
wx.setStorage({
|
||||||
|
key: 'X-Access-Token',
|
||||||
|
data: res.result.token
|
||||||
|
})
|
||||||
|
// 跳转首页
|
||||||
wx.switchTab({
|
wx.switchTab({
|
||||||
url: '../home/home',
|
url: '../home/home',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '登录失败',
|
title: res.message,
|
||||||
icon: 'error',
|
icon: 'error',
|
||||||
duration: 2000
|
duration: 2000
|
||||||
})
|
})
|
||||||
@@ -157,4 +162,4 @@ Page({
|
|||||||
onReachBottom: function () {
|
onReachBottom: function () {
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -17,5 +17,6 @@
|
|||||||
<view class="btn-area">
|
<view class="btn-area">
|
||||||
<button type="primary" formType="submit">登录</button>
|
<button type="primary" formType="submit">登录</button>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- <view bindtap="forget" class="forget">忘记密码?</view> -->
|
||||||
</form>
|
</form>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -5,4 +5,10 @@ page {
|
|||||||
}
|
}
|
||||||
.form-box{
|
.form-box{
|
||||||
transform: translateY(100%);
|
transform: translateY(100%);
|
||||||
}
|
}
|
||||||
|
/* .forget{
|
||||||
|
color: #999;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 20px;
|
||||||
|
} */
|
||||||
|
|||||||
+26
-48
@@ -6,7 +6,9 @@ Page({
|
|||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
userId: ''
|
userId: '',
|
||||||
|
name: '昵称',
|
||||||
|
phone: ''
|
||||||
},
|
},
|
||||||
// 个人信息
|
// 个人信息
|
||||||
mineInfo(){
|
mineInfo(){
|
||||||
@@ -25,10 +27,19 @@ Page({
|
|||||||
wx.scanCode({
|
wx.scanCode({
|
||||||
onlyFromCamera: false,
|
onlyFromCamera: false,
|
||||||
scanType: [],
|
scanType: [],
|
||||||
success: (result) => {},
|
success: (result) => {
|
||||||
fail: (res) => {},
|
console.log(result)
|
||||||
complete: (res) => {},
|
},
|
||||||
|
fail: (res) => {
|
||||||
|
console.log(result)
|
||||||
|
},
|
||||||
|
complete: (res) => {
|
||||||
|
console.log(result)
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
// wx.navigateTo({
|
||||||
|
// url: '../scanSign/scanSign',
|
||||||
|
// })
|
||||||
},
|
},
|
||||||
// 我的资料
|
// 我的资料
|
||||||
mineData(){
|
mineData(){
|
||||||
@@ -56,6 +67,11 @@ Page({
|
|||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../login/login',
|
url: '../login/login',
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
wx.clearStorage()
|
||||||
|
wx.redirectTo({
|
||||||
|
url: '../login/login',
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (res.cancel) {}
|
} else if (res.cancel) {}
|
||||||
@@ -66,14 +82,11 @@ Page({
|
|||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
|
let userInfo = wx.getStorageSync('userInfo')
|
||||||
},
|
this.setData({
|
||||||
|
name: userInfo.name,
|
||||||
/**
|
phone: userInfo.phone.substr(0, 3) + '-' + userInfo.phone.substr(3, 4) + '-' + userInfo.phone.substr(7, 4)
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
})
|
||||||
*/
|
|
||||||
onReady: function () {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,40 +94,5 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onShow: function () {
|
onShow: function () {
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面隐藏
|
|
||||||
*/
|
|
||||||
onHide: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面卸载
|
|
||||||
*/
|
|
||||||
onUnload: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面相关事件处理函数--监听用户下拉动作
|
|
||||||
*/
|
|
||||||
onPullDownRefresh: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面上拉触底事件的处理函数
|
|
||||||
*/
|
|
||||||
onReachBottom: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户点击右上角分享
|
|
||||||
*/
|
|
||||||
onShareAppMessage: function () {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+6
-24
@@ -1,25 +1,14 @@
|
|||||||
<!--pages/mine/mine.wxml-->
|
<!--pages/mine/mine.wxml-->
|
||||||
<view class="mine-bg">
|
<view class="mine-bg">
|
||||||
<!-- 顶部背景图 mode="scaleToFill" 按照宽高填充,忽略图片原比例-->
|
<!-- 顶部背景图 mode="scaleToFill" 按照宽高填充,忽略图片原比例-->
|
||||||
<image mode="scaleToFill" src="../../assets/images/mine-bg.png"></image>
|
<image mode="scaleToFill" src="../../assets/images/mine-bg.png"></image>
|
||||||
<!-- 顶部选项栏 -->
|
<!-- 顶部选项栏 -->
|
||||||
<view class="select-box">
|
<view class="select-box">
|
||||||
<view class="avator">
|
<view class="avator">
|
||||||
<image src="../../assets/images/mine.png"></image>
|
<image src="../../assets/images/tx.png"></image>
|
||||||
<view class="info">
|
<view class="info">
|
||||||
<text>昵称</text>
|
<text>{{name}}</text>
|
||||||
<text>185-2207-4910</text>
|
<text>{{phone}}</text>
|
||||||
</view>
|
|
||||||
<image src="../../assets/images/to-right.png"></image>
|
|
||||||
</view>
|
|
||||||
<view class="select">
|
|
||||||
<view class="select-item">
|
|
||||||
<text>412</text>
|
|
||||||
<text>我的项目</text>
|
|
||||||
</view>
|
|
||||||
<view class="select-item">
|
|
||||||
<text>2</text>
|
|
||||||
<text>我的会议</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -36,7 +25,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="list-item" bindtap="upDateInfo">
|
<view class="list-item" bindtap="upDateInfo">
|
||||||
<view class="item-title">
|
<view class="item-title">
|
||||||
<image src="../../assets/images/follow.png"></image>
|
<image src="../../assets/images/xgmm.png"></image>
|
||||||
<text>修改密码</text>
|
<text>修改密码</text>
|
||||||
</view>
|
</view>
|
||||||
<image src="../../assets/images/more.png"></image>
|
<image src="../../assets/images/more.png"></image>
|
||||||
@@ -62,16 +51,9 @@
|
|||||||
</view>
|
</view>
|
||||||
<image src="../../assets/images/more.png"></image>
|
<image src="../../assets/images/more.png"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="list-item">
|
|
||||||
<view class="item-title">
|
|
||||||
<image src="../../assets/images/setting.png"></image>
|
|
||||||
<text>设置</text>
|
|
||||||
</view>
|
|
||||||
<image src="../../assets/images/more.png"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="logout">
|
<view class="logout">
|
||||||
<text bindtap="logout">退出登录</text>
|
<text bindtap="logout">退出登录</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ page{
|
|||||||
height: 200pt;
|
height: 200pt;
|
||||||
}
|
}
|
||||||
.select-box{
|
.select-box{
|
||||||
transform: translateY(-100pt);
|
transform: translateY(-75pt);
|
||||||
padding: 0 15pt;
|
padding: 0 15pt;
|
||||||
}
|
}
|
||||||
.select-box .avator{
|
.select-box .avator{
|
||||||
@@ -48,7 +48,7 @@ page{
|
|||||||
width: 35px;
|
width: 35px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
.select-box .select{
|
.select-box .select{
|
||||||
height: 90pt;
|
height: 90pt;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
@@ -76,7 +76,7 @@ page{
|
|||||||
}
|
}
|
||||||
/* 个人信息选项栏 */
|
/* 个人信息选项栏 */
|
||||||
.list-info{
|
.list-info{
|
||||||
margin-top: -100pt;
|
margin-top: -65pt;
|
||||||
padding: 15pt;
|
padding: 15pt;
|
||||||
}
|
}
|
||||||
.list-info .title{
|
.list-info .title{
|
||||||
@@ -122,4 +122,4 @@ page{
|
|||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #069F99;
|
color: #069F99;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,71 +1,48 @@
|
|||||||
// pages/minedata/minedata.js
|
import UserApi from '../../assets/js/http/userApi'
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
list: [,1,1,1,1,1,1,1,1]
|
list: [],
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10
|
||||||
},
|
},
|
||||||
// 合同详情
|
// 合同详情
|
||||||
contractDetail(){
|
contractDetail(e){
|
||||||
|
let id = e.currentTarget.dataset.meeting.id
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
url: '../contractDetail/contractDetail',
|
url: `../contractDetail/contractDetail?id=${id}`,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**
|
loadData(){
|
||||||
* 生命周期函数--监听页面加载
|
let params = {
|
||||||
*/
|
pageNo: this.data.pageNo,
|
||||||
onLoad: function (options) {
|
pageSize: this.data.pageSize
|
||||||
|
}
|
||||||
|
UserApi.contractList(params).then(res=>{
|
||||||
|
if(res.success && res.result.records && res.result.records.length){
|
||||||
|
console.log(res.result.records)
|
||||||
|
this.setData({
|
||||||
|
list: [...this.data.list, ...res.result.records]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
|
||||||
*/
|
|
||||||
onReady: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
onShow: function () {
|
onShow: function () {
|
||||||
|
this.loadData()
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面隐藏
|
|
||||||
*/
|
|
||||||
onHide: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面卸载
|
|
||||||
*/
|
|
||||||
onUnload: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面相关事件处理函数--监听用户下拉动作
|
|
||||||
*/
|
|
||||||
onPullDownRefresh: function () {
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面上拉触底事件的处理函数
|
* 页面上拉触底事件的处理函数
|
||||||
*/
|
*/
|
||||||
onReachBottom: function () {
|
onReachBottom: function () {
|
||||||
|
this.data.pageNo++
|
||||||
},
|
this.loadData()
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户点击右上角分享
|
|
||||||
*/
|
|
||||||
onShareAppMessage: function () {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -1,13 +1,16 @@
|
|||||||
<!--pages/meeting/meeting.wxml-->
|
<!--pages/meeting/meeting.wxml-->
|
||||||
<view class="list-box">
|
<view class="list-box" wx:if="{{list && list.length}}">
|
||||||
<view class="list-item" wx:for="list" wx:key="item" bindtap="contractDetail">
|
<view class="list-item" wx:for="{{list}}" wx:key="item" bindtap="contractDetail" data-meeting="{{item}}">
|
||||||
<view class="list-info">
|
<view class="list-info">
|
||||||
<text>合同名称</text>
|
<text>{{item.contractName}}</text>
|
||||||
<text>合同金额:5000元</text>
|
<text>合同金额:{{item.contractAmount ? item.contractAmount + '元' : '0'}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="list-info">
|
<view class="list-info">
|
||||||
<text>合同编号:002</text>
|
<text>合同编号:{{item.contractNum}}</text>
|
||||||
<text>负责人:张三</text>
|
<text>负责人:{{item.principalName}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view wx:if="{{list.length === 0}}" class="no-data">
|
||||||
|
<text>暂无数据</text>
|
||||||
|
</view>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import UserApi from '../../assets/js/http/userApi'
|
import UserApi from '../../assets/js/http/userApi'
|
||||||
|
import { previewFile, sliceFileTypeByFileName } from '../../assets/js/preview'
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,14 +17,25 @@ Page({
|
|||||||
pageSize: this.data.pageSize
|
pageSize: this.data.pageSize
|
||||||
}
|
}
|
||||||
UserApi.dataList(params).then(res=>{
|
UserApi.dataList(params).then(res=>{
|
||||||
if(res.success){
|
if(res.success && res.result.records && res.result.records.length){
|
||||||
console.log(res.result.records)
|
console.log(res.result.records)
|
||||||
this.setData({
|
this.setData({
|
||||||
list: res.result.records
|
list: [...this.data.list, ...res.result.records]
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 预览
|
||||||
|
previewFile(e) {
|
||||||
|
const fileObj = e.currentTarget.dataset.file
|
||||||
|
let fileType = sliceFileTypeByFileName(fileObj.fileName)
|
||||||
|
// 文件类型不是docx,doc,pdf时,已邮件形式发送到参会人的邮箱
|
||||||
|
if(fileType !== 'docx' && fileType !== 'doc' && fileType !== 'pdf') {
|
||||||
|
|
||||||
|
}else {
|
||||||
|
previewFile(fileObj.filId, fileObj.fileName)
|
||||||
|
}
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
@@ -38,4 +50,4 @@ Page({
|
|||||||
this.data.pageNo++
|
this.data.pageNo++
|
||||||
this.loadData()
|
this.loadData()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
<view class="list-box">
|
<view class="list-box" wx:if="{{list && list.length}}">
|
||||||
<view class="list-item" wx:for="list" wx:key="item">
|
<view class="list-item" wx:for="{{list}}" wx:key="item">
|
||||||
<text class="list-time">{{item.uploadTime}}</text>
|
<text class="list-time">{{item.uploadTime}}</text>
|
||||||
<view class="list-files">
|
<view class="list-files">
|
||||||
<text>{{item.fileName}}</text>
|
<text bindtap="previewFile" data-file="{{item}}">{{item.fileName}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view wx:if="{{list.length === 0}}" class="no-data">
|
||||||
|
<text>暂无数据</text>
|
||||||
|
</view>
|
||||||
|
|||||||
+41
-12
@@ -6,12 +6,14 @@ Page({
|
|||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
visible: false,
|
visible: false,
|
||||||
|
visibleDate: false,
|
||||||
index: 0,
|
index: 0,
|
||||||
|
list: [], // 项目列表
|
||||||
searchParams: {
|
searchParams: {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
needInvoice: 0, // 是否需要发票 0 4
|
needInvoice: '', // 是否需要发票 0 4
|
||||||
pack: 0, // 是否打包 0 1
|
pack: '', // 是否打包 0 1
|
||||||
year: '', // 运行年份
|
year: '', // 运行年份
|
||||||
},
|
},
|
||||||
selects: [ // 自定义选择框参数
|
selects: [ // 自定义选择框参数
|
||||||
@@ -45,6 +47,9 @@ Page({
|
|||||||
changeTab(e){
|
changeTab(e){
|
||||||
this.data.index = e.currentTarget.dataset.index
|
this.data.index = e.currentTarget.dataset.index
|
||||||
if(this.data.index === 0){
|
if(this.data.index === 0){
|
||||||
|
this.setData({
|
||||||
|
visible: true
|
||||||
|
})
|
||||||
this.setData({
|
this.setData({
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
@@ -57,6 +62,9 @@ Page({
|
|||||||
]
|
]
|
||||||
})
|
})
|
||||||
}else if(this.data.index === 1){
|
}else if(this.data.index === 1){
|
||||||
|
this.setData({
|
||||||
|
visible: true
|
||||||
|
})
|
||||||
this.setData({
|
this.setData({
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
@@ -68,18 +76,29 @@ Page({
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
}else{
|
||||||
|
this.setData({
|
||||||
|
visibleDate: true
|
||||||
|
})
|
||||||
}
|
}
|
||||||
this.setData({
|
|
||||||
visible: true
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 关闭弹出层
|
// 关闭发票和打包的弹出层
|
||||||
close() {
|
close() {
|
||||||
this.setData({
|
this.setData({
|
||||||
visible: false
|
visible: false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 日期选中
|
||||||
|
dateOk(value){
|
||||||
|
this.data.pageNo = 1
|
||||||
|
this.setData({
|
||||||
|
"searchParams.year": value.detail,
|
||||||
|
visibleDate: false
|
||||||
|
})
|
||||||
|
this.loadData()
|
||||||
|
},
|
||||||
ok(e){
|
ok(e){
|
||||||
|
this.data.pageNo = 1
|
||||||
if(this.data.index === 0){
|
if(this.data.index === 0){
|
||||||
this.setData({
|
this.setData({
|
||||||
'searchParams.needInvoice': e.detail
|
'searchParams.needInvoice': e.detail
|
||||||
@@ -89,8 +108,7 @@ Page({
|
|||||||
'searchParams.pack': e.detail
|
'searchParams.pack': e.detail
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// this.loadData()
|
this.loadData()
|
||||||
console.log(this.data.searchParams)
|
|
||||||
},
|
},
|
||||||
// 项目详情
|
// 项目详情
|
||||||
projectDetail(){
|
projectDetail(){
|
||||||
@@ -100,8 +118,19 @@ Page({
|
|||||||
},
|
},
|
||||||
loadData(){
|
loadData(){
|
||||||
UserApi.projectList(this.data.searchParams).then(res=>{
|
UserApi.projectList(this.data.searchParams).then(res=>{
|
||||||
console.log(res)
|
if(res.success){
|
||||||
|
// 搜索时,把原数据清空,重新筛选
|
||||||
|
if(this.data.pageNo === 1) {
|
||||||
|
this.setData({
|
||||||
|
list: []
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if(res.result.records && res.result.records.length){
|
||||||
|
this.setData({
|
||||||
|
list: [...this.data.list, ...res.result.records]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
}).catch(err=>{
|
}).catch(err=>{
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '加载失败',
|
title: '加载失败',
|
||||||
@@ -114,13 +143,13 @@ Page({
|
|||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
// this.loadData()
|
this.loadData()
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 页面上拉触底事件的处理函数
|
* 页面上拉触底事件的处理函数
|
||||||
*/
|
*/
|
||||||
onReachBottom: function () {
|
onReachBottom: function () {
|
||||||
this.data.pageNo++
|
this.data.pageNo++
|
||||||
// this.loadData()
|
this.loadData()
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"navigationBarTitleText": "项目",
|
"navigationBarTitleText": "项目",
|
||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"popup": "../../components/popup/popup"
|
"popup": "../../components/popup/popup",
|
||||||
|
"dateMonth": "../../components/dateMonth/dateMonth"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,17 +7,21 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<view class="list-item" wx:for="{{[1,1,1,1]}}" bindtap="projectDetail" wx:key="item">
|
<view class="list-item" wx:for="{{list}}" bindtap="projectDetail" wx:key="item">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<text>项目名称文字占位符项目名称文字占位符项目名称文字占位符</text>
|
<text>{{item.chargeUse_dictText}}</text>
|
||||||
<text>2021-12-12</text>
|
<text>{{item.year}}年</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="content-text">
|
<view class="content-text">
|
||||||
<text>需要发票</text>
|
<text class="all">{{item.needInvoice === 0 ? '不需要发票' : '需要发票'}}</text>
|
||||||
<text>到账</text>
|
<text class="{{item.inAccount === 0 ? '' : item.inAccount === 2 ? 'half' : 'all'}}">到账</text>
|
||||||
<text>开票</text>
|
<text class="{{item.makeInvoice === 0 ? '' : item.makeInvoice === 2 ? 'half' : 'all'}}">开票</text>
|
||||||
<text>邮寄</text>
|
<text class="{{item.mail === 0 ? '' : item.mail === 2 ? 'half' : 'all'}}">邮寄</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view wx:if="{{list.length === 0}}" class="no-data">
|
||||||
|
<text>暂无数据</text>
|
||||||
|
</view>
|
||||||
<popup visible="{{visible}}" bindclose="close" outClickCanClose="true" bindok="ok" data="{{data}}"></popup>
|
<popup visible="{{visible}}" bindclose="close" outClickCanClose="true" bindok="ok" data="{{data}}"></popup>
|
||||||
|
<dateMonth visible="{{visibleDate}}" mode="year" bindok="dateOk"></dateMonth>
|
||||||
|
|||||||
@@ -71,3 +71,9 @@ page {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
.half{
|
||||||
|
color: burlywood;
|
||||||
|
}
|
||||||
|
.all{
|
||||||
|
color: #069F99;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,13 +1,31 @@
|
|||||||
// pages/meeting/meeting.js
|
import UserApi from '../../assets/js/http/userApi'
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
|
isSigned: false, // 默认未报名
|
||||||
|
meetingId: '', // 会议id
|
||||||
|
fileId: '', // 图片id
|
||||||
|
src: null // 签名之后,保存签名的图片地址
|
||||||
},
|
},
|
||||||
|
// 去签到页
|
||||||
|
scanSign(){
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '../writtenSign/writtenSign',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 确定签到
|
||||||
|
sureSign(){
|
||||||
|
|
||||||
|
},
|
||||||
|
// 去报名
|
||||||
|
goSignUp(){
|
||||||
|
wx.navigateTo({
|
||||||
|
url: 'url',
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
@@ -26,7 +44,13 @@ Page({
|
|||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
onShow: function () {
|
onShow: function () {
|
||||||
|
let params = {
|
||||||
|
fileId: this.data.fileId,
|
||||||
|
meetingId: this.data.meetingId
|
||||||
|
}
|
||||||
|
// UserApi.scanCode(params).then(res=>{
|
||||||
|
|
||||||
|
// })
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -63,4 +87,4 @@ Page({
|
|||||||
onShareAppMessage: function () {
|
onShareAppMessage: function () {
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"navigationBarTitleText": "扫码签到",
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<view class="basic-info">
|
||||||
|
<view>
|
||||||
|
<text>会议名称</text>
|
||||||
|
<text>会议名称会议名称</text>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<text>会议类型</text>
|
||||||
|
<text>arff4ds8a3s6651</text>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<text>召开时间</text>
|
||||||
|
<text>找找</text>
|
||||||
|
</view>
|
||||||
|
<!-- 已报名信息显示的内容start -->
|
||||||
|
<view wx:if="{{isSigned}}">
|
||||||
|
<text>参会单位</text>
|
||||||
|
<text>张三张三张三张三张三张三张三张三张三张三张三张三张三</text>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{isSigned}}">
|
||||||
|
<text>参会人</text>
|
||||||
|
<text>500元</text>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{isSigned}}">
|
||||||
|
<text>是否签到</text>
|
||||||
|
<text>500元</text>
|
||||||
|
</view>
|
||||||
|
<view wx:if="{{isSigned}}">
|
||||||
|
<text>手动签到</text>
|
||||||
|
<text style="color: #069F99;" bindtap="scanSign">签到</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="imageBox" hidden="{{isSigned ? false : true}}">
|
||||||
|
<image src="{{src}}" ></image>
|
||||||
|
</view>
|
||||||
|
<view class="scanSign" wx:if="{{isSigned}}">
|
||||||
|
<text bindtap="sureSign">签到</text>
|
||||||
|
</view>
|
||||||
|
<!-- 已报名信息显示的内容end -->
|
||||||
|
|
||||||
|
<!-- 未报名显示的内容start -->、
|
||||||
|
|
||||||
|
<view class="warning-text" wx:if="{{!isSigned}}">
|
||||||
|
<image src="../../assets/images/warning.png"></image>
|
||||||
|
<text>很抱歉,未查询到您的报名信息</text>
|
||||||
|
</view>
|
||||||
|
<view class="scanSign" wx:if="{{!isSigned}}">
|
||||||
|
<text bindtap="goSignUp">去报名</text>
|
||||||
|
</view>
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
.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 text:nth-child(1){
|
||||||
|
flex-shrink: 0;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
.scanSign{
|
||||||
|
padding: 0 15px;
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
.scanSign text{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 45px;
|
||||||
|
background-color: #069F99;
|
||||||
|
border-radius: 5px;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.imageBox {
|
||||||
|
border: 1px solid #dedede;
|
||||||
|
margin: 10px;
|
||||||
|
height: 160px
|
||||||
|
}
|
||||||
|
.imageBox image {
|
||||||
|
width: 100%;
|
||||||
|
height: 160px
|
||||||
|
}
|
||||||
|
.warning-text{
|
||||||
|
margin-bottom: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
color: #999;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.warning-text image{
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
@@ -6,16 +6,18 @@ Page({
|
|||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
newPassword: '',
|
password: '', // token
|
||||||
verifyPassword: '',
|
newPassword: '', // 密码
|
||||||
|
verifyPassword: '', // 确认密码
|
||||||
rsaPublicKey: '',
|
rsaPublicKey: '',
|
||||||
flag: false
|
flag: false
|
||||||
},
|
},
|
||||||
bindBlurInput(e){
|
bindBlurInput(e){
|
||||||
|
|
||||||
},
|
},
|
||||||
// 登录
|
// 登录
|
||||||
formSubmit(e) {
|
formSubmit(e) {
|
||||||
|
const that = this
|
||||||
if(!e.detail.value.newPassword){
|
if(!e.detail.value.newPassword){
|
||||||
this.data.flag = false
|
this.data.flag = false
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
@@ -68,6 +70,7 @@ Page({
|
|||||||
}
|
}
|
||||||
if (this.data.flag) {
|
if (this.data.flag) {
|
||||||
let params = {
|
let params = {
|
||||||
|
password: this.data.password,
|
||||||
newPassword: encrypt(this.data.rsaPublicKey, e.detail.value.newPassword),
|
newPassword: encrypt(this.data.rsaPublicKey, e.detail.value.newPassword),
|
||||||
verifyPassword: encrypt(this.data.rsaPublicKey, e.detail.value.verifyPassword),
|
verifyPassword: encrypt(this.data.rsaPublicKey, e.detail.value.verifyPassword),
|
||||||
rsaPublicKey: this.data.rsaPublicKey
|
rsaPublicKey: this.data.rsaPublicKey
|
||||||
@@ -76,7 +79,11 @@ Page({
|
|||||||
UserApi.setPassword(params).then(res => {
|
UserApi.setPassword(params).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
// 成功设置密码,跳转首页
|
// 成功设置密码,跳转首页
|
||||||
wx.navigateTo({
|
wx.setStorage({
|
||||||
|
key: 'X-Access-Token',
|
||||||
|
data: that.data.password
|
||||||
|
})
|
||||||
|
wx.switchTab({
|
||||||
url: '../home/home',
|
url: '../home/home',
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -90,19 +97,6 @@ Page({
|
|||||||
// 登录失败
|
// 登录失败
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面加载
|
|
||||||
*/
|
|
||||||
onLoad: function (options) {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
|
||||||
*/
|
|
||||||
onReady: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
@@ -115,45 +109,16 @@ Page({
|
|||||||
that.setData({
|
that.setData({
|
||||||
rsaPublicKey: res.data
|
rsaPublicKey: res.data
|
||||||
})
|
})
|
||||||
},
|
|
||||||
fail: function(){
|
|
||||||
// 缓存中没有登录过默认app.json的登录页
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
wx.getStorage({
|
||||||
|
key: 'token-temp',
|
||||||
/**
|
success (res) {
|
||||||
* 生命周期函数--监听页面隐藏
|
that.setData({
|
||||||
*/
|
password: res.data
|
||||||
onHide: function () {
|
})
|
||||||
|
console.log(that.data.password)
|
||||||
},
|
}
|
||||||
|
})
|
||||||
/**
|
|
||||||
* 生命周期函数--监听页面卸载
|
|
||||||
*/
|
|
||||||
onUnload: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面相关事件处理函数--监听用户下拉动作
|
|
||||||
*/
|
|
||||||
onPullDownRefresh: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 页面上拉触底事件的处理函数
|
|
||||||
*/
|
|
||||||
onReachBottom: function () {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户点击右上角分享
|
|
||||||
*/
|
|
||||||
onShareAppMessage: function () {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
+103
-89
@@ -1,7 +1,7 @@
|
|||||||
// pages/meeting/meeting.js
|
// pages/meeting/meeting.js
|
||||||
import UserApi from '../../assets/js/http/userApi'
|
import UserApi from '../../assets/js/http/userApi'
|
||||||
import { encrypt } from '../../assets/js/jsencrypt/rsa'
|
import { encrypt } from '../../assets/js/jsencrypt/rsa'
|
||||||
var countdown = 60; // 倒计时秒数
|
// var countdown = 60; // 倒计时秒数
|
||||||
|
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
@@ -10,79 +10,114 @@ Page({
|
|||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
form: {
|
form: {
|
||||||
phone: '', // 手机号
|
oldpassword: '', // 旧密码
|
||||||
verifyCode: '', // 验证码
|
password: '', // 新密码
|
||||||
newPassword: '', // 新密码
|
confirmpassword: '', // 确认新密码
|
||||||
verifyPassword: '', // 确认密码
|
// count: 60, // 倒计时秒
|
||||||
count: 60, // 倒计时秒
|
|
||||||
rsaPublicKey: '', // 公钥
|
rsaPublicKey: '', // 公钥
|
||||||
},
|
},
|
||||||
showGetCaptcha: true
|
// showGetCaptcha: true
|
||||||
},
|
|
||||||
bindInputPhone(e) {
|
|
||||||
this.setData({
|
|
||||||
"form.phone": e.detail.value
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获取验证码
|
|
||||||
getVerCode() {
|
|
||||||
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.data.form.phone)) {
|
|
||||||
UserApi.sendCode({
|
|
||||||
phone: this.data.form.phone
|
|
||||||
}).then(res => {
|
|
||||||
// 获取成功,倒计时 start
|
|
||||||
if (res.success) {
|
|
||||||
this.countDown()
|
|
||||||
} else {
|
|
||||||
wx.showToast({
|
|
||||||
title: '获取验证码失败',
|
|
||||||
icon: 'error',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
wx.showToast({
|
|
||||||
title: '请输入正确的手机号',
|
|
||||||
icon: 'none',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// // 获取验证码
|
||||||
|
// getVerCode() {
|
||||||
|
// if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.data.form.phone)) {
|
||||||
|
// UserApi.sendCode({
|
||||||
|
// phone: this.data.form.phone
|
||||||
|
// }).then(res => {
|
||||||
|
// // 获取成功,倒计时 start
|
||||||
|
// if (res.success) {
|
||||||
|
// this.countDown()
|
||||||
|
// } else {
|
||||||
|
// wx.showToast({
|
||||||
|
// title: '获取验证码失败',
|
||||||
|
// icon: 'error',
|
||||||
|
// duration: 2000
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// } else {
|
||||||
|
// wx.showToast({
|
||||||
|
// title: '请输入正确的手机号',
|
||||||
|
// icon: 'none',
|
||||||
|
// duration: 2000
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
// 倒计时
|
// 倒计时
|
||||||
countDown() {
|
// countDown() {
|
||||||
if (countdown === 0) {
|
// if (countdown === 0) {
|
||||||
this.setData({
|
// this.setData({
|
||||||
showGetCaptcha: true
|
// showGetCaptcha: true
|
||||||
})
|
// })
|
||||||
countdown = 60;
|
// countdown = 60;
|
||||||
return;
|
// return;
|
||||||
} else {
|
// } else {
|
||||||
this.setData({
|
// this.setData({
|
||||||
showGetCaptcha: false
|
// showGetCaptcha: false
|
||||||
})
|
// })
|
||||||
countdown--;
|
// countdown--;
|
||||||
this.setData({
|
// this.setData({
|
||||||
count: countdown
|
// count: countdown
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
this.countDown()
|
// this.countDown()
|
||||||
}, 1000)
|
// }, 1000)
|
||||||
// 倒计时 end
|
// // 倒计时 end
|
||||||
},
|
// },
|
||||||
// 提交
|
// 提交
|
||||||
formSubmit(e) {
|
formSubmit(e) {
|
||||||
if(!e.detail.value.newPassword){
|
if(!e.detail.value.oldpassword){
|
||||||
this.data.flag = false
|
this.data.flag = false
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '请输入密码',
|
title: '请输入旧密码',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
||||||
if(!pattern.test(e.detail.value.newPassword)){
|
if(!pattern.test(e.detail.value.oldpassword)){
|
||||||
|
wx.showToast({
|
||||||
|
title: '旧密码由8位数字、大小写字母和特殊符号组成!!',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.data.flag = false
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
this.data.flag = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!e.detail.value.password){
|
||||||
|
this.data.flag = false
|
||||||
|
wx.showToast({
|
||||||
|
title: '请输入新密码',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
||||||
|
if(!pattern.test(e.detail.value.password)){
|
||||||
|
wx.showToast({
|
||||||
|
title: '新密码由8位数字、大小写字母和特殊符号组成!!',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.data.flag = false
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
this.data.flag = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!e.detail.value.confirmpassword){
|
||||||
|
this.data.flag = false
|
||||||
|
wx.showToast({
|
||||||
|
title: '请输入确认新密码',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
||||||
|
if(!pattern.test(e.detail.value.confirmpassword)){
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '密码由8位数字、大小写字母和特殊符号组成!!',
|
title: '密码由8位数字、大小写字母和特殊符号组成!!',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
@@ -93,27 +128,7 @@ Page({
|
|||||||
this.data.flag = true
|
this.data.flag = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!e.detail.value.verifyPassword){
|
if(e.detail.value.password === e.detail.value.confirmpassword) {
|
||||||
this.data.flag = false
|
|
||||||
wx.showToast({
|
|
||||||
title: '请输入确认密码',
|
|
||||||
icon: 'none'
|
|
||||||
})
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
let pattern = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,}$/
|
|
||||||
if(!pattern.test(e.detail.value.verifyPassword)){
|
|
||||||
wx.showToast({
|
|
||||||
title: '密码由8位数字、大小写字母和特殊符号组成!!',
|
|
||||||
icon: 'none'
|
|
||||||
})
|
|
||||||
this.data.flag = false
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
this.data.flag = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(e.detail.value.newPassword === e.detail.value.verifyPassword) {
|
|
||||||
this.data.flag = true
|
this.data.flag = true
|
||||||
} else {
|
} else {
|
||||||
this.data.flag = false
|
this.data.flag = false
|
||||||
@@ -125,10 +140,9 @@ Page({
|
|||||||
}
|
}
|
||||||
console.log('form发生了submit事件,携带数据为:', e.detail.value)
|
console.log('form发生了submit事件,携带数据为:', e.detail.value)
|
||||||
let params = {
|
let params = {
|
||||||
phone: encrypt(this.data.rsaPublicKey, e.detail.value.phone),
|
password: encrypt(this.data.rsaPublicKey, e.detail.value.oldpassword),
|
||||||
newPassword: encrypt(this.data.rsaPublicKey, e.detail.value.newPassword),
|
newPassword: encrypt(this.data.rsaPublicKey, e.detail.value.password),
|
||||||
verifyPassword: encrypt(this.data.rsaPublicKey, e.detail.value.verifyPassword),
|
verifyPassword: encrypt(this.data.rsaPublicKey, e.detail.value.confirmpassword),
|
||||||
verifyCode: e.detail.value.verifyCode,
|
|
||||||
rsaPublicKey: this.data.rsaPublicKey,
|
rsaPublicKey: this.data.rsaPublicKey,
|
||||||
}
|
}
|
||||||
console.log(params)
|
console.log(params)
|
||||||
@@ -150,7 +164,7 @@ Page({
|
|||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -172,9 +186,9 @@ Page({
|
|||||||
rsaPublicKey: res.data
|
rsaPublicKey: res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
fail: function(){
|
fail: function(){
|
||||||
// 缓存中没有登录过默认app.json的登录页
|
// 缓存中没有登录过默认app.json的登录页
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,29 +2,29 @@
|
|||||||
<view>
|
<view>
|
||||||
<form bindsubmit="formSubmit" class="form-box">
|
<form bindsubmit="formSubmit" class="form-box">
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="text-label">手机号</view>
|
<view class="text-label">旧密码</view>
|
||||||
<view class="text-value">
|
<view class="text-value">
|
||||||
<input name="phone" bindinput="bindInputPhone" value="{{phone}}" placeholder="请输入手机号" />
|
<input name="oldpassword" value="{{oldpassword}}" type="password" placeholder="请输入旧密码" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-item">
|
<!-- <view class="form-item">
|
||||||
<view class="text-label">验证码</view>
|
<view class="text-label">验证码</view>
|
||||||
<view class="text-value">
|
<view class="text-value">
|
||||||
<input name="verifyCode" value="{{verifyCode}}" placeholder="请输入验证码" />
|
<input name="verifyCode" value="{{verifyCode}}" placeholder="请输入验证码" />
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{showGetCaptcha}}" class="captcha" bindtap="getVerCode">获取验证码</view>
|
<view wx:if="{{showGetCaptcha}}" class="captcha" bindtap="getVerCode">获取验证码</view>
|
||||||
<view wx:else="{{showGetCaptcha}}" class="captcha count">{{count}}</view>
|
<view wx:else="{{showGetCaptcha}}" class="captcha count">{{count}}</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="text-label">密码</view>
|
<view class="text-label">新密码</view>
|
||||||
<view class="text-value">
|
<view class="text-value">
|
||||||
<input name="newPassword" value="{{newPassword}}" placeholder="请输入密码" />
|
<input name="password" value="{{password}}" type="password" placeholder="请输入新密码" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="text-label">确认密码</view>
|
<view class="text-label">确认新密码</view>
|
||||||
<view class="text-value">
|
<view class="text-value">
|
||||||
<input name="verifyPassword" value="{{verifyPassword}}" placeholder="请确认密码" />
|
<input name="confirmpassword" value="{{confirmpassword}}" type="password" placeholder="请确认新密码" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="btn-area">
|
<view class="btn-area">
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
/* pages/meeting/meeting.wxss */
|
/* pages/meeting/meeting.wxss */
|
||||||
.form-box{
|
.form-box{
|
||||||
transform: translateY(110pt);
|
transform: translateY(110pt);
|
||||||
}
|
}
|
||||||
|
.text-label {
|
||||||
|
width: 80px !important;
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,86 @@
|
|||||||
|
import Api from '../../assets/js/http/api'
|
||||||
|
Page({
|
||||||
|
data: {
|
||||||
|
context1: null,
|
||||||
|
hasDraw:false, //默认没有画
|
||||||
|
id: '',
|
||||||
|
},
|
||||||
|
onLoad: function() {
|
||||||
|
var context1 = wx.createCanvasContext('handWriting1');
|
||||||
|
context1.setStrokeStyle("#000000") // 画笔的颜色
|
||||||
|
context1.setLineWidth(3); // 画笔的线条宽度
|
||||||
|
this.setData({
|
||||||
|
context1: context1,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
touchstart1: function(e) {
|
||||||
|
var context1 = this.data.context1;
|
||||||
|
context1.moveTo(e.touches[0].x, e.touches[0].y); // 把画笔的开始点移到当前触摸点
|
||||||
|
this.setData({
|
||||||
|
// context1: context1,
|
||||||
|
hasDraw : true, //要签字了
|
||||||
|
});
|
||||||
|
},
|
||||||
|
touchmove1: function(e) {
|
||||||
|
var x = e.touches[0].x;
|
||||||
|
var y = e.touches[0].y;
|
||||||
|
var context1 = this.data.context1;
|
||||||
|
context1.setLineWidth(3);
|
||||||
|
context1.lineTo(x, y); // 移动绘制的点(关键步骤)
|
||||||
|
context1.stroke(); // 画出当前路径的边框====创建线条
|
||||||
|
context1.setLineCap('round'); // 设置线条的端点样式
|
||||||
|
context1.draw(true); // 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中
|
||||||
|
context1.moveTo(x, y); // 把路径移动到画布中的指定点,不创建线条
|
||||||
|
},
|
||||||
|
reSign1: function() { //重新画
|
||||||
|
var that = this;
|
||||||
|
var context1 = that.data.context1;
|
||||||
|
context1.draw(); //清空画布
|
||||||
|
that.setData({
|
||||||
|
hasDraw: false, //没有画
|
||||||
|
src: null
|
||||||
|
});
|
||||||
|
},
|
||||||
|
sign1ok: function () {
|
||||||
|
const that = this;
|
||||||
|
if(!that.data.hasDraw){
|
||||||
|
console.log("签字是空白的 没有签字")
|
||||||
|
}else{
|
||||||
|
var context1 = that.data.context1;
|
||||||
|
context1.draw(true, wx.canvasToTempFilePath({ // 把当前画布指定区域的内容导出生成指定大小的图片。在 draw() 回调里调用该方法才能保证图片导出成功
|
||||||
|
canvasId: 'handWriting1',
|
||||||
|
success(res) { // 完成签字
|
||||||
|
//得到了图片 上传到服务器
|
||||||
|
wx.uploadFile({
|
||||||
|
url: Api.baseUrl + Api.URL_CONFIG + "/sys/common/upload",
|
||||||
|
filePath: res.tempFilePath,
|
||||||
|
name: "file",
|
||||||
|
formData: {
|
||||||
|
filetype: "image",
|
||||||
|
},
|
||||||
|
success: function (result) {
|
||||||
|
let data = JSON.parse(result.data)
|
||||||
|
that.setData({
|
||||||
|
id: data.result.id
|
||||||
|
})
|
||||||
|
let pages = getCurrentPages();
|
||||||
|
let prevPage = pages[pages.length - 2];
|
||||||
|
//将数值信息赋值给上一页面id变量
|
||||||
|
prevPage.setData({
|
||||||
|
fileId: data.result.id
|
||||||
|
});
|
||||||
|
wx.navigateBack({
|
||||||
|
delta: 1,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: function(err){
|
||||||
|
wx.showToast({
|
||||||
|
title: '上传失败',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"usingComponents": {}
|
"usingComponents": {}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<view>
|
||||||
|
<view class="sign">
|
||||||
|
<view class="signTitle">参会人签字</view>
|
||||||
|
<view class="paper">
|
||||||
|
<canvas class="handWriting" disable-scroll="true" bindtouchstart="touchstart1" bindtouchmove="touchmove1" canvas-id="handWriting1">
|
||||||
|
</canvas>
|
||||||
|
</view>
|
||||||
|
<view class="signBtn">
|
||||||
|
<button size="" type="primary" bindtap="sign1ok">完成签字</button>
|
||||||
|
<button size="" type="warn" bindtap="reSign1">重新签字</button>
|
||||||
|
</view>
|
||||||
|
<view class="imageBox" hidden="{{src?false:true}}">
|
||||||
|
<image src="{{src}}" ></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
.paper {
|
||||||
|
border: 1px solid #dedede;
|
||||||
|
margin: 10px;
|
||||||
|
height: 160px
|
||||||
|
}
|
||||||
|
|
||||||
|
.imageBox {
|
||||||
|
border: 1px solid #dedede;
|
||||||
|
margin: 10px;
|
||||||
|
height: 160px
|
||||||
|
}
|
||||||
|
|
||||||
|
.signBtn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.signTitle {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 10px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.handWriting {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.imageBox image {
|
||||||
|
width: 100%;
|
||||||
|
height: 160px
|
||||||
|
}
|
||||||
|
button[type='primary']{
|
||||||
|
background-color: #069F99 !important;
|
||||||
|
}
|
||||||
|
button[type='warn']{
|
||||||
|
color: #999 !important;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user