first commit
281
miniprogram/app.js
Normal file
@ -0,0 +1,281 @@
|
||||
App({
|
||||
APPID: 'wx22f0f66d57ce48f7',
|
||||
// 本地测试时不用加/api
|
||||
// DOMAIN_NAME: 'http://localhost:9227', //接口域名
|
||||
// IMG_NAME: 'http://localhost:9227',
|
||||
DOMAIN_NAME: 'https://demo.metasoft.vip/api',
|
||||
IMG_NAME: 'https://demo.metasoft.vip/api',
|
||||
globals: {
|
||||
refreshMyPages: false,
|
||||
homedata: {},
|
||||
editPro: {
|
||||
projectId: 0, //项目ID
|
||||
isedit: 0, //是否编辑
|
||||
json: {} //项目编辑后的详细数据
|
||||
},
|
||||
trainBeginCity: ''
|
||||
},
|
||||
|
||||
onLaunch(res) {
|
||||
var that = this
|
||||
},
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//获取当前用户的openid
|
||||
Getopenid: function () {
|
||||
var token = wx.getStorageSync('token');
|
||||
return token;
|
||||
},
|
||||
|
||||
/**
|
||||
* 对象转URL
|
||||
*/
|
||||
urlEncode(data) {
|
||||
var _result = [];
|
||||
for (var key in data) {
|
||||
var value = data[key];
|
||||
if (value.constructor == Array) {
|
||||
value.forEach(_value => {
|
||||
_result.push(key + "=" + _value);
|
||||
});
|
||||
} else {
|
||||
_result.push(key + '=' + value);
|
||||
}
|
||||
}
|
||||
return _result.join('&');
|
||||
},
|
||||
|
||||
/**
|
||||
* 显示失败提示框
|
||||
*/
|
||||
showError(msg, callback) {
|
||||
wx.showModal({
|
||||
title: '友情提示',
|
||||
content: msg,
|
||||
showCancel: false,
|
||||
success(res) {
|
||||
// callback && (setTimeout(() => {
|
||||
// callback();
|
||||
// }, 1500));
|
||||
callback && callback();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 显示成功提示框
|
||||
*/
|
||||
showSuccess(msg, callback) {
|
||||
wx.showToast({
|
||||
title: msg,
|
||||
icon: 'success',
|
||||
success() {
|
||||
callback && (setTimeout(() => {
|
||||
callback();
|
||||
}, 1500));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 根据出生日期计算年龄周岁 传参格式为1996-06-08
|
||||
getAge: function (strBirthday) {
|
||||
var returnAge = '';
|
||||
var mouthAge = '';
|
||||
var strBirthdayArr = strBirthday.split("-");
|
||||
var birthYear = strBirthdayArr[0];
|
||||
var birthMonth = strBirthdayArr[1];
|
||||
var birthDay = strBirthdayArr[2];
|
||||
var d = new Date();
|
||||
var nowYear = d.getFullYear();
|
||||
var nowMonth = d.getMonth() + 1;
|
||||
var nowDay = d.getDate();
|
||||
if (nowYear == birthYear) {
|
||||
// returnAge = 0; //同年 则为0岁
|
||||
var monthDiff = nowMonth - birthMonth; //月之差
|
||||
if (monthDiff < 0) {} else {
|
||||
mouthAge = monthDiff + '个月';
|
||||
}
|
||||
} else {
|
||||
var ageDiff = nowYear - birthYear; //年之差
|
||||
if (ageDiff > 0) {
|
||||
if (nowMonth == birthMonth) {
|
||||
var dayDiff = nowDay - birthDay; //日之差
|
||||
if (dayDiff < 0) {
|
||||
returnAge = ageDiff - 1 + '岁';
|
||||
} else {
|
||||
returnAge = ageDiff + '岁';
|
||||
}
|
||||
} else {
|
||||
var monthDiff = nowMonth - birthMonth; //月之差
|
||||
if (monthDiff < 0) {
|
||||
returnAge = ageDiff - 1 + '岁';
|
||||
} else {
|
||||
mouthAge = monthDiff + '个月';
|
||||
returnAge = ageDiff + '岁';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
returnAge = -1; //返回-1 表示出生日期输入错误 晚于今天
|
||||
}
|
||||
}
|
||||
return returnAge + mouthAge; //返回周岁年龄+月份
|
||||
},
|
||||
|
||||
Upload: function (tempFilePaths, call) {
|
||||
wx.showLoading({
|
||||
mask: true,
|
||||
title: '正在上传'
|
||||
});
|
||||
var that = this
|
||||
wx.uploadFile({
|
||||
url: that.DOMAIN_NAME + '/dfs/upload',
|
||||
header: {
|
||||
'Authorization': 'Bearer ' + that.Getopenid()
|
||||
},
|
||||
filePath: tempFilePaths,
|
||||
name: 'file',
|
||||
success(res) {
|
||||
var deta = JSON.parse(res.data)
|
||||
if (call) call(deta);
|
||||
if (deta.code == 401) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '身份已过期,需重登录',
|
||||
success: res => {
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
});
|
||||
} else if (deta.code != 0) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: '服务器开小差去了,请重试',
|
||||
showCancel: false
|
||||
})
|
||||
} else if (deta.code == 0) {
|
||||
wx.hideLoading()
|
||||
}
|
||||
},
|
||||
fail: function (ret) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '再试一次',
|
||||
content: '无法连接网络',
|
||||
showCancel: false,
|
||||
success: function () {
|
||||
if (res.confirm) {
|
||||
that.Upload(tempFilePaths, call);
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
getParkid() {
|
||||
var token = wx.getStorageSync('token');
|
||||
return token
|
||||
},
|
||||
|
||||
getlogin() {
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: '请先登录后再点击查看',
|
||||
success: res => {
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//统一请求封装
|
||||
//mandate 接口值
|
||||
//data 传值,已自动转换为JSON
|
||||
//call 请求成功后回调的方法
|
||||
AjaxRequest: function (methods, header, url, data, call) {
|
||||
var token = wx.getStorageSync('token');
|
||||
if (wx.getStorageSync('parkId')) {
|
||||
data.parkId = wx.getStorageSync('parkId')
|
||||
}
|
||||
wx.showLoading({
|
||||
mask: true,
|
||||
title: '正在加载'
|
||||
})
|
||||
var that = this
|
||||
//发送请求
|
||||
wx.request({
|
||||
header: header,
|
||||
method: methods,
|
||||
url: that.DOMAIN_NAME + url,
|
||||
data: data,
|
||||
success: function (ret) {
|
||||
if (call) call(ret.data);
|
||||
if (ret.data.code == 402 || ret.data.code == 401) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '确认',
|
||||
content: '身份已过期,需重登录',
|
||||
success(res) {
|
||||
wx.removeStorageSync('MemberInfo')
|
||||
wx.removeStorageSync('token')
|
||||
if (res.confirm) {
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
} else if (ret.data.code != 0) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: ret.data.msg || '服务器开小差去了,请重试',
|
||||
showCancel: false,
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
if (!wx.getStorageSync('parkId')) {
|
||||
if (ret.data.msg == '请选择园区!!') {
|
||||
wx.reLaunch({
|
||||
url: '../index/parkList/parkList'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
} else if (ret.data.code == 0) {
|
||||
wx.hideLoading()
|
||||
}
|
||||
},
|
||||
fail: function (ret) {
|
||||
wx.hideLoading();
|
||||
wx.showModal({
|
||||
confirmText: '再试一次',
|
||||
content: '无法连接网络',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
that.AjaxRequest(methods, header, url, data, call);
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
ToWebURL(url){
|
||||
wx.navigateTo({
|
||||
url: pages/outer/outer,//要跳转的页面(需要新建立一个page页面)
|
||||
success: () => {
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
})
|
96
miniprogram/app.json
Normal file
@ -0,0 +1,96 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/index/index",
|
||||
"pages/login/wxlogin/wxlogin",
|
||||
"pages/login/login",
|
||||
"pages/my/my",
|
||||
"pages/community/community",
|
||||
"pages/news/news",
|
||||
"pages/index/detail/detail",
|
||||
"pages/community/eventDetails/eventDetails",
|
||||
"pages/enterpriseServices/enterpriseServices",
|
||||
"pages/parkRepair/parkRepair",
|
||||
"pages/enterpriseServices/serviceList/serviceList",
|
||||
"pages/enterpriseServices/serviceDetail/serviceDetail",
|
||||
"pages/community/registration/registration",
|
||||
"pages/enterpriseServices/serviceApply/serviceApply",
|
||||
"pages/parkRepair/repairDetail/repairDetail",
|
||||
"pages/parkRepair/repairInApply/repairInApply",
|
||||
"pages/enterpriseSelect/enterpriseSelect",
|
||||
"pages/myActivities/myActivities",
|
||||
"pages/parkRepair/evaluate/evaluate",
|
||||
"pages/notice/notice",
|
||||
"pages/notice/detail/detail",
|
||||
"pages/complaint/complaint",
|
||||
"pages/complaint/newComplaint/newComplaint",
|
||||
"pages/my/personalData/personalData",
|
||||
"pages/my/cropper/cropper",
|
||||
"pages/party/party",
|
||||
"pages/party/detail/detail",
|
||||
"pages/my/accountSetting/accountSetting",
|
||||
"pages/my/changePassword/changePassword",
|
||||
"pages/my/retrievePassword/retrievePassword",
|
||||
"pages/my/companyInformation/companyInformation",
|
||||
"pages/my/editCompanyProfile/editCompanyProfile",
|
||||
"pages/my/order/order",
|
||||
"pages/my/order/detail/detail",
|
||||
"pages/my/order/applyRefund/applyRefund",
|
||||
"pages/index/office/office",
|
||||
"pages/index/office/detail/detail",
|
||||
"pages/index/office/apply/apply",
|
||||
"pages/index/parkList/parkList",
|
||||
"pages/enterpriseServices/myServiceList/myServiceList",
|
||||
"pages/applyType/settledIn/settledIn",
|
||||
"pages/applyType/applyType",
|
||||
"pages/applyType/settledInApproval/settledInApproval",
|
||||
"pages/applyType/moveInApply/moveInApply",
|
||||
"pages/my/serviceApply/serviceApply",
|
||||
"pages/complaint/complaintDetail/complaintDetail",
|
||||
"pages/outer/outer"
|
||||
],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"navigationBarTitleText": "Weixin",
|
||||
"navigationBarTextStyle": "black"
|
||||
},
|
||||
"tabBar": {
|
||||
"backgroundColor": "#ffffff",
|
||||
"borderStyle": "black",
|
||||
"selectedColor": "#5C8EFF",
|
||||
"color": "#333333",
|
||||
"list": [
|
||||
{
|
||||
"pagePath": "pages/index/index",
|
||||
"iconPath": "/images/icon/shouye-3861.png",
|
||||
"selectedIconPath": "/images/icon/shouye-386.png",
|
||||
"text": "首页"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/enterpriseServices/enterpriseServices",
|
||||
"iconPath": "/images/icon/fuwu_11.png",
|
||||
"selectedIconPath": "/images/icon/fuwu_1.png",
|
||||
"text": "服务"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/parkRepair/parkRepair",
|
||||
"iconPath": "/images/icon/wodebaoxiu1.png",
|
||||
"selectedIconPath": "/images/icon/wodebaoxiu.png",
|
||||
"text": "维修"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/my/my",
|
||||
"iconPath": "/images/icon/wode1.png",
|
||||
"selectedIconPath": "/images/icon/wode.png",
|
||||
"text": "我的"
|
||||
}
|
||||
]
|
||||
},
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json",
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
"desc": "为便于为您定位附近园区"
|
||||
}
|
||||
}
|
||||
}
|
347
miniprogram/app.wxss
Normal file
@ -0,0 +1,347 @@
|
||||
@import "/utils/common.wxss";
|
||||
|
||||
page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/* overflow: hidden; */
|
||||
font-size: 24rpx;
|
||||
/* color: #F3F3F3; */
|
||||
background-color: #F5F5F5;
|
||||
}
|
||||
|
||||
.flow-checkout-header {
|
||||
padding: 28rpx 0;
|
||||
background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAANCAYAAADVGpDCAAAAGXRFW…GxrGBUn2PZ4lyoTdIsST0FQj0UDSLUak6ot3gcBLVY3wQYAJoVXxmNERajAAAAAElFTkSuQmCC) bottom left repeat-x;
|
||||
background-size: 120rpx auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.flow-header-left {
|
||||
flex: 14;
|
||||
}
|
||||
|
||||
.flow-fixed-footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-top: 1px solid #eee;
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
.flow-shopList {
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-left {
|
||||
flex: 2;
|
||||
}
|
||||
|
||||
.flow-btn {
|
||||
background-color: #ff495e;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 46px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.flow-num-box {
|
||||
font-size: 30rpx;
|
||||
color: #777;
|
||||
padding: 15rpx 12px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.flow-checkout-header .flow-checkout-address {
|
||||
font-size: 26rpx;
|
||||
color: #777;
|
||||
margin-top: 6rpx;
|
||||
}
|
||||
|
||||
.goods-detail-box {
|
||||
padding: 0;
|
||||
min-height: 150px;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-right .small {
|
||||
float: right;
|
||||
font-size: 26rpx;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-right .flow-cont {
|
||||
font-size: 30rpx;
|
||||
color: #ff495e;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-right .flow-list-cont {
|
||||
padding-top: 10rpx;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-left {
|
||||
flex: 2;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-right {
|
||||
flex: 4;
|
||||
}
|
||||
|
||||
.flow-shopList .flow-list-left image {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
border: 1rpx solid #eee;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.flow-list custom-li, .addres-list custom-li {
|
||||
margin-top: 25rpx;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.flow-list custom-li:first-child, .addres-list custom-li:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.index-cont-search {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
position: relative;
|
||||
background: #f1f1f1;
|
||||
}
|
||||
|
||||
.selectNumber {
|
||||
height: 34px;
|
||||
flex-direction: row;
|
||||
border: 1rpx solid #eee;
|
||||
border-radius: 10rpx;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.selectNumber .default-active {
|
||||
background: #f7f7f7 !important;
|
||||
color: #ddd !important;
|
||||
}
|
||||
|
||||
.selectNumber .default {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
float: left;
|
||||
line-height: 32px;
|
||||
padding: 0;
|
||||
background: #fff;
|
||||
color: #444;
|
||||
font-size: 48rpx;
|
||||
}
|
||||
|
||||
.selectNumber input {
|
||||
float: left;
|
||||
width: 50px;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
border-right: 1rpx solid #eee;
|
||||
border-left: 1rpx solid #eee;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.order-bt {
|
||||
width: 50%;
|
||||
background-color: #ff495e;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
.profile-btn button {
|
||||
background: #ff495e;
|
||||
color: white;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.yoshop-notcont {
|
||||
margin: 130rpx 100rpx;
|
||||
}
|
||||
|
||||
.yoshop-notcont .iconfont {
|
||||
font-size: 150rpx;
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.yoshop-notcont .cont {
|
||||
display: block;
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.footer-fixed {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
height: 46px;
|
||||
z-index: 18;
|
||||
box-shadow: 1px 5px 15px rgba(50, 50, 50, 0.3);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.order-bt {
|
||||
background-color: #ff495e;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
.container {
|
||||
height: 100%;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-sizing: border-box;
|
||||
font-family: PingFang-Medium,
|
||||
PingFangSC-Regular,
|
||||
Heiti,
|
||||
Heiti SC,
|
||||
DroidSans,
|
||||
DroidSansFallback,
|
||||
"Microsoft YaHei",
|
||||
sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.next {
|
||||
width: 100% !important;
|
||||
height: 100rpx !important;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 100rpx !important;
|
||||
background: #4C84FF;
|
||||
/* position: absolute !important;
|
||||
bottom: 30rpx;
|
||||
left: 50% !important; */
|
||||
/* margin-left: -290rpx !important; */
|
||||
padding: 0 !important;
|
||||
border-radius: 50rpx !important;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.floL {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.floR {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.fontW {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.bshaw {
|
||||
width: 98%;
|
||||
margin-left: 1%;
|
||||
padding: 30rpx 30rpx 36rpx 22rpx;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-shadow: 0px 0px 13rpx 1rpx rgba(233, 236, 244, 1);
|
||||
border-radius: 4rpx;
|
||||
margin-top: 50rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/*隐藏滚动条*/
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.da {
|
||||
display: inline-block;
|
||||
color: white;
|
||||
background: #4C84FF;
|
||||
padding: 0 50rpx;
|
||||
height: 62rpx;
|
||||
border-radius: 31rpx;
|
||||
text-align: center;
|
||||
line-height: 62rpx;
|
||||
margin-right: 24rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.da1 {
|
||||
display: inline-block;
|
||||
color: black;
|
||||
background: #F2F2F2;
|
||||
padding: 0 50rpx;
|
||||
height: 62rpx;
|
||||
border-radius: 31rpx;
|
||||
text-align: center;
|
||||
line-height: 62rpx;
|
||||
margin-right: 24rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.titleC {
|
||||
font-size: 13pt;
|
||||
font-weight: 600;
|
||||
margin-bottom: 10rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.detailTextC {
|
||||
color: #A5A5A5;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.textcolor {
|
||||
color: #A5A5A5;
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-size: 14pt;
|
||||
color: #C11D24;
|
||||
}
|
||||
|
||||
.iconfonts {
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
.btnColor {
|
||||
background-color: #C11D24;
|
||||
color: white;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.paddingPercent_4 {
|
||||
padding: 4%;
|
||||
}
|
||||
|
||||
.borderBottom {
|
||||
border-bottom: 1rpx solid #EEEEEE;
|
||||
}
|
||||
|
||||
.borderTop {
|
||||
border-top: 1rpx solid #E5E5E5;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
229
miniprogram/fontIcon/iconfont.wxss
Normal file
BIN
miniprogram/images/1.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
miniprogram/images/add.png
Normal file
After Width: | Height: | Size: 616 B |
BIN
miniprogram/images/apply01.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
miniprogram/images/apply02.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
miniprogram/images/apply03.png
Normal file
After Width: | Height: | Size: 288 KiB |
BIN
miniprogram/images/full.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
miniprogram/images/hicon/chuangyehuodong.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
miniprogram/images/hicon/qianrushenqing.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
miniprogram/images/hicon/qiyeruzhu.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
miniprogram/images/hicon/wenjuandiaocha.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
miniprogram/images/hicon/xiangmurufu.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
miniprogram/images/hicon/yuanqugonggao.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
miniprogram/images/hicon/yuanqujianyi.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
miniprogram/images/hicon/zhaozhengce.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
miniprogram/images/hicon/zhengcexinxi.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
miniprogram/images/hicon/zubangongshi.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
miniprogram/images/home/del.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
miniprogram/images/home/gif.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
miniprogram/images/home/jpg.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
miniprogram/images/home/pdf.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
miniprogram/images/home/ppt.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
miniprogram/images/home/psd.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
miniprogram/images/home/rar.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
miniprogram/images/home/svg.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
miniprogram/images/home/txt.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
miniprogram/images/home/word.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
miniprogram/images/home/xlsx.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
miniprogram/images/home/zip.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
miniprogram/images/home/刷新@2x.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
miniprogram/images/home/未知文件.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
miniprogram/images/home/视频.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
miniprogram/images/icon/fuwu_1.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
miniprogram/images/icon/fuwu_11.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
miniprogram/images/icon/new.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
miniprogram/images/icon/shouye-386.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
miniprogram/images/icon/shouye-3861.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
BIN
miniprogram/images/icon/wode.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
miniprogram/images/icon/wode1.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
miniprogram/images/icon/wodebaoxiu.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
miniprogram/images/icon/wodebaoxiu1.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
miniprogram/images/login.webp
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
miniprogram/images/online.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
miniprogram/images/red.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
miniprogram/images/start.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
miniprogram/images/timg1.jpg
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
miniprogram/images/user-unlogin.jpg
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
miniprogram/images/返回.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
57
miniprogram/pages/applyType/applyType.js
Normal file
@ -0,0 +1,57 @@
|
||||
// miniprogram/pages/applyType/applyType.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
switch (options.name) {
|
||||
case "项目入孵":
|
||||
this.setData({
|
||||
title: options.name,
|
||||
url: '/pages/applyType/settledIn/settledIn',
|
||||
image: '/images/apply01.png',
|
||||
content: '请提前准备好项目入孵申请所需资料,需准备拟注册公司、项目简介、产品简介等相关信息,有商业计划书的需提供商业计划书。'
|
||||
})
|
||||
break
|
||||
case "企业入驻":
|
||||
this.setData({
|
||||
title: options.name,
|
||||
url: '/pages/applyType/settledInApproval/settledInApproval',
|
||||
image: '/images/apply03.png',
|
||||
content: '请提前准备好进场申请所需资料,需准备法人身份证、营业执照副本、企业简介,并将相关材料上传,有商业计划书的需提交商业计划书'
|
||||
})
|
||||
break
|
||||
case "厂房申请":
|
||||
this.setData({
|
||||
title: options.name,
|
||||
url: '/pages/applyType/moveInApply/moveInApply',
|
||||
image: '/images/apply02.png',
|
||||
content: '申请厂房请提供公司发展规划、近两年的企业财务状况、员工人数及结构;近两年获得各级政府的项目情况;目前拥有产品/技术情况;近两年知识产权情况及所获认证及荣誉情况等相关资料 (这些是备注在注册/厂房申请“申请理由”处)建议以“上传附件”形式'
|
||||
})
|
||||
}
|
||||
wx.setNavigationBarTitle({
|
||||
title: options.name,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
navApplyForm() {
|
||||
wx.navigateTo({
|
||||
url: this.data.url,
|
||||
})
|
||||
}
|
||||
})
|
3
miniprogram/pages/applyType/applyType.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
12
miniprogram/pages/applyType/applyType.wxml
Normal file
@ -0,0 +1,12 @@
|
||||
<view>
|
||||
<view style="background: white">
|
||||
<image src="{{image}}" mode="widthFix" style="width: 100%"></image>
|
||||
<view style="padding: 6% 4% 8% 4%;line-height: 40rpx;box-sizing: border-box">
|
||||
<view style="font-size: 14pt;margin-bottom: 14rpx;">{{title}}注意事项</view>
|
||||
<view style="font-size: 10pt">{{content}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="nextBox">
|
||||
<view class="next" bindtap="navApplyForm">我要申请</view>
|
||||
</view>
|
||||
</view>
|
10
miniprogram/pages/applyType/applyType.wxss
Normal file
@ -0,0 +1,10 @@
|
||||
.nextBox{
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 8%;
|
||||
}
|
||||
.next{
|
||||
width: 90% !important;
|
||||
margin: auto;
|
||||
font-size: 11pt;
|
||||
}
|
287
miniprogram/pages/applyType/moveInApply/moveInApply.js
Normal file
@ -0,0 +1,287 @@
|
||||
var app = getApp();
|
||||
var util = require("../../../utils/util.js");
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
sex: ['否', '是'],
|
||||
sexindex: 1,
|
||||
date: '请选择期望入驻时间',
|
||||
type: 1,
|
||||
addressList: ['公司迁入', '新设立公司', '子公司'],
|
||||
addressIndex: 0,
|
||||
typeList: ['注册地址迁入', '新公司注册'],
|
||||
typeIndex: 0,
|
||||
applyMoveInFileList: [],
|
||||
list: {
|
||||
promise: '申请人承诺,自《场地服务合同》变更、解除或终止之日起10日内,办结申请人及上述拟成立企业等关联关系单位的工商地址变更、迁出或注销手续。否则,因此产生的责任和后果由我方承担,且贵方有权追究我方违约责任。'
|
||||
}
|
||||
},
|
||||
|
||||
uploFile() {
|
||||
var that = this;
|
||||
if (that.data.applyMoveInFileList.length >= 9) return
|
||||
wx.showActionSheet({
|
||||
itemList: ['上传图片', '打开微信聊天会话选择文件'],
|
||||
success(res) {
|
||||
if (res.tapIndex == 0) {
|
||||
wx.chooseImage({
|
||||
count: 1, //能选择文件的数量
|
||||
success(res) {
|
||||
that.upload(res.tempFiles)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
wx.chooseMessageFile({
|
||||
count: 1, //能选择文件的数量
|
||||
type: 'file',
|
||||
success(res) {
|
||||
that.upload(res.tempFiles)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
fail(res) {
|
||||
console.log(res.errMsg)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
upload(data) {
|
||||
var that = this
|
||||
var applyMoveInFileList = that.data.applyMoveInFileList
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url: app.DOMAIN_NAME + '/dfs/upload?originalFilename=' + data[0].name,
|
||||
header: {
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
},
|
||||
filePath: data[0].path,
|
||||
name: 'file',
|
||||
success(res) {
|
||||
var deta = JSON.parse(res.data)
|
||||
if (deta.code == 401) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '身份已过期,需重登录',
|
||||
success: res => {
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
});
|
||||
} else if (deta.code != 0) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '服务器开小差去了,请重试',
|
||||
showCancel: false
|
||||
});
|
||||
} else if (deta.code == 0) {
|
||||
var first = deta.fileName.lastIndexOf("."); //取到文件名开始到最后一个点的长度
|
||||
var namelength = deta.fileName.length; //取到文件名长度
|
||||
var filesuffix = deta.fileName.substring(first + 1, namelength); //截取获得后缀名
|
||||
var type = ''
|
||||
switch (filesuffix) {
|
||||
case 'jpg' || 'png':
|
||||
type = 'jpg'
|
||||
break;
|
||||
case 'xls' || 'xlsx':
|
||||
type = 'xlsx'
|
||||
break;
|
||||
case 'doc' || 'docx' || 'dotx':
|
||||
type = 'word'
|
||||
break;
|
||||
case 'ppt' || 'pptx':
|
||||
type = 'ppt'
|
||||
break;
|
||||
default:
|
||||
type = '未知文件'
|
||||
break;
|
||||
}
|
||||
applyMoveInFileList.push({
|
||||
fileName: deta.originalFilename != "undefined" ? deta.originalFilename : deta.fileName,
|
||||
filePath: deta.fileName,
|
||||
fileSize: (data[0].size * 0.001).toFixed(2) + 'KB',
|
||||
type
|
||||
})
|
||||
that.setData({
|
||||
applyMoveInFileList
|
||||
})
|
||||
wx.hideLoading()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
delFile(e) {
|
||||
var index = e.currentTarget.dataset.index,
|
||||
applyMoveInFileList = this.data.applyMoveInFileList
|
||||
applyMoveInFileList.splice(index, 1)
|
||||
this.setData({
|
||||
applyMoveInFileList
|
||||
})
|
||||
},
|
||||
|
||||
// 与申请人关系
|
||||
addressRadio(e) {
|
||||
this.setData({
|
||||
addressIndex: e.currentTarget.dataset.idx
|
||||
})
|
||||
},
|
||||
|
||||
// 申请业务
|
||||
typeRadio: function (e) {
|
||||
this.setData({
|
||||
typeIndex: e.currentTarget.dataset.idx
|
||||
})
|
||||
},
|
||||
|
||||
// 期望入驻开始时间选择
|
||||
startDateChange(e) {
|
||||
this.setData({
|
||||
startDate: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
// 期望入驻结束时间选择
|
||||
endDateChange(e) {
|
||||
this.setData({
|
||||
endDate: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(e) {
|
||||
var time = util.formatDate(new Date())
|
||||
this.setData({
|
||||
startDate: time,
|
||||
endDate: time
|
||||
})
|
||||
if (e.id) {
|
||||
this.setData({
|
||||
id: e.id
|
||||
})
|
||||
this.getList(e.id)
|
||||
}
|
||||
},
|
||||
|
||||
getList(e) {
|
||||
var that = this
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/applyMoveIn/get/' + e, {}, function (res) {
|
||||
if (res.code == 0) {
|
||||
var applyMoveInFileList = res.data.applyMoveInFileList
|
||||
applyMoveInFileList.forEach(item => {
|
||||
var first = item.fileName.lastIndexOf("."); //取到文件名开始到最后一个点的长度
|
||||
var namelength = item.fileName.length; //取到文件名长度
|
||||
var filesuffix = item.fileName.substring(first + 1, namelength); //截取获得后缀名
|
||||
switch (filesuffix) {
|
||||
case 'jpg' || 'png':
|
||||
item.type = 'jpg'
|
||||
break;
|
||||
case 'xls' || 'xlsx':
|
||||
item.type = 'xlsx'
|
||||
break;
|
||||
case 'doc' || 'docx' || 'dotx':
|
||||
item.type = 'word'
|
||||
break;
|
||||
case 'ppt' || 'pptx':
|
||||
item.type = 'ppt'
|
||||
break;
|
||||
default:
|
||||
item.type = '未知文件'
|
||||
break;
|
||||
}
|
||||
})
|
||||
that.setData({
|
||||
list: res.data,
|
||||
applyMoveInFileList,
|
||||
addressIndex: res.data.relation,
|
||||
typeIndex: res.data.type,
|
||||
startDate: res.data.rentStartTime,
|
||||
endDate: res.data.rentEndTime
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
showToast(e) {
|
||||
wx.showToast({
|
||||
title: e,
|
||||
icon: 'none'
|
||||
})
|
||||
},
|
||||
|
||||
fromsumb(e) {
|
||||
var that = this,
|
||||
regMobile = /^[1]([3-9])[0-9]{9}$/,
|
||||
deta = e.detail.value
|
||||
deta.type = that.data.typeIndex
|
||||
deta.relation = that.data.addressIndex
|
||||
deta.applyMoveInFileList = that.data.applyMoveInFileList
|
||||
deta.rentStartTime = that.data.startDate
|
||||
deta.rentEndTime = that.data.endDate
|
||||
if (!deta.applyName) {
|
||||
that.showToast('请输入申请企业名称')
|
||||
return false
|
||||
}
|
||||
if (!deta.address) {
|
||||
that.showToast('请输入承租地址')
|
||||
return false
|
||||
}
|
||||
if (!deta.area) {
|
||||
that.showToast('请输入租赁面积')
|
||||
return false
|
||||
}
|
||||
if (!deta.userName) {
|
||||
that.showToast('请输入联系人姓名')
|
||||
return false
|
||||
}
|
||||
if (!deta.phone) {
|
||||
that.showToast('请输入联系电话')
|
||||
return false
|
||||
}
|
||||
if (!regMobile.test(deta.phone)) {
|
||||
that.showToast('联系电话格式错误')
|
||||
return false
|
||||
}
|
||||
if (!deta.contractNo) {
|
||||
that.showToast('请输入场地服务合同编号')
|
||||
return false
|
||||
}
|
||||
if (!deta.companyName) {
|
||||
that.showToast('请输入拟成立/迁入企业名称')
|
||||
return false
|
||||
}
|
||||
if (!deta.promise) {
|
||||
that.showToast('请输入申请人承诺')
|
||||
return false
|
||||
}
|
||||
app.AjaxRequest('POST', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/applyMoveIn/save', deta, function (res) {
|
||||
if (res.code == 0) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '已提交成功',
|
||||
success(res) {
|
||||
wx.reLaunch({
|
||||
url: '/pages/my/serviceApply/serviceApply',
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
4
miniprogram/pages/applyType/moveInApply/moveInApply.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "厂房申请"
|
||||
}
|
109
miniprogram/pages/applyType/moveInApply/moveInApply.wxml
Normal file
@ -0,0 +1,109 @@
|
||||
<view>
|
||||
<form bindsubmit="fromsumb">
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">申请业务</text>
|
||||
<input name='type' disabled="true" value="{{type}}" hidden="true"></input>
|
||||
</view>
|
||||
<view style="border-bottom: 1rpx solid #EEEEEE;padding-bottom: 20rpx;margin-bottom: 40rpx">
|
||||
<text class="{{index == typeIndex ? 'da' : 'da1'}}" bindtap='typeRadio' data-idx='{{index}}'
|
||||
wx:for='{{typeList}}' wx:key='index'>{{item}}</text>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">申请企业名称<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='applyName' value="{{list.applyName}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">承租地址<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='address' value="{{list.address}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">租赁面积<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='area' value="{{list.area}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">联系人姓名<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='userName' value="{{list.userName}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">联系电话<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='phone' value="{{list.phone}}" maxlength="11" type="number"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">场地服务合同编号<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='contractNo' value="{{list.contractNo}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">期望入驻时间<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<view style="border-bottom: 1rpx solid #EEEEEE;">
|
||||
<picker mode="date" value="{{startDate}}" start="{{time}}" bindchange="startDateChange">
|
||||
<text class="picker-txt">{{startDate}}</text>
|
||||
</picker>
|
||||
~
|
||||
<picker mode="date" value="{{endDate}}" start="{{time}}" bindchange="endDateChange">
|
||||
<text class="picker-txt">{{endDate}}</text>
|
||||
</picker>
|
||||
</view>
|
||||
<!--
|
||||
<image src="https://aabbcc.thinkine.com/upload/image/weixin_images/icon/r.png" mode="widthFix"
|
||||
style="width:28rpx;height:28rpx;margin-top:14rpx;" class="floR"></image>-->
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">拟成立/迁入企业名称<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='companyName' value="{{list.companyName}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">迁入企业与申请企业关系</text>
|
||||
</view>
|
||||
<view style="border-bottom: 1rpx solid #EEEEEE;padding-bottom: 20rpx;margin-bottom: 40rpx">
|
||||
<text class="{{index == addressIndex ? 'da' : 'da1'}}" bindtap='addressRadio' data-idx='{{index}}'
|
||||
wx:for='{{addressList}}' wx:key='index'>{{item}}</text>
|
||||
</view>
|
||||
|
||||
<view class="inputbox" style="border-bottom: 1rpx solid #EEEEEE;padding-bottom: 30rpx;">
|
||||
<text class="fontW">上传附件</text>
|
||||
<view style="color:#AAAAAA;font-size: 24rpx;">
|
||||
请提交投资计划书或者商业计划书;法人代表证件照;公司营业执照等相关资料</view>
|
||||
<view class='uploFile' bindtap="uploFile">上传({{applyMoveInFileList.length}}/9)</view>
|
||||
<view>
|
||||
<view class="fileBox" wx:for="{{applyMoveInFileList}}" wx:key='index'>
|
||||
<view style="width: 90rpx;display: inline-block">
|
||||
<image src="/images/home/{{item.type}}.png" mode="widthFix" style="width: 100%;"></image>
|
||||
</view>
|
||||
<view style="display: inline-block;margin-left: 30rpx;width: 70%;">
|
||||
<view style="width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
{{item.fileName}}
|
||||
</view>
|
||||
<view style="color:#ADADAD;font-size: 26rpx;padding-top: 14rpx;">{{item.fileSize? item.fileSize:''}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="del" bindtap="delFile" data-index="{{index}}" wx:if="{{!id}}">
|
||||
<image src="/images/home/del.png" mode="widthFix" style="width:100%"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">申请人承诺<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
</view>
|
||||
<textarea maxlength="200" name='promise' value="{{list.promise}}"></textarea>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="wwBox">
|
||||
<button class="ww" formType='submit' wx:if="{{!id}}">立即申请</button>
|
||||
</view>
|
||||
</form>
|
||||
</view>
|
118
miniprogram/pages/applyType/moveInApply/moveInApply.wxss
Normal file
@ -0,0 +1,118 @@
|
||||
.page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.wwBox {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
}
|
||||
|
||||
.ww {
|
||||
width: 88% !important;
|
||||
height: 100rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 100rpx !important;
|
||||
background: #4C84FF;
|
||||
position: absolute !important;
|
||||
padding: 0 !important;
|
||||
border-radius: 8rpx !important;
|
||||
z-index: 5;
|
||||
margin: 60rpx 6%;
|
||||
margin-left: 6% !important;
|
||||
}
|
||||
|
||||
picker {
|
||||
width: 45%;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
padding-right: 10rpx;
|
||||
padding-top: 4rpx;
|
||||
/* border-bottom: 1rpx solid #EEEEEE; */
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.picker-txt {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.bshaw {
|
||||
padding: 10rpx 40rpx;
|
||||
}
|
||||
|
||||
.fontW {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
/* width: 400rpx; */
|
||||
line-height: 50rpx;
|
||||
}
|
||||
|
||||
.fontWs {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
width: 90%;
|
||||
line-height: 50rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
margin-top: -2rpx;
|
||||
padding-right: 30rpx;
|
||||
box-sizing: border-box;
|
||||
font-size: 32rpx;
|
||||
color: #393939;
|
||||
border-bottom: 1rpx solid #EEEEEE;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
|
||||
.inputbox {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 40rpx;
|
||||
/* display: flex; */
|
||||
/* padding: 30rpx 0; */
|
||||
}
|
||||
|
||||
.inputbox:nth-last-child(2) {
|
||||
border: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 200rpx;
|
||||
color: #393939;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.uploFile {
|
||||
width: 140rpx;
|
||||
margin-bottom: 30rpx;
|
||||
padding: 20rpx 40rpx;
|
||||
background: #F7F7F7;
|
||||
margin-top: 10rpx;
|
||||
color: #4C84FF;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
.del {
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
right: 34rpx;
|
||||
top: 36%;
|
||||
}
|
||||
|
||||
.fileBox {
|
||||
vertical-align: middle;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx 30rpx;
|
||||
background: #F8F8F8;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
}
|
355
miniprogram/pages/applyType/settledIn/settledIn.js
Normal file
@ -0,0 +1,355 @@
|
||||
var app = getApp();
|
||||
var util = require("../../../utils/util.js");
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
sex: ['否', '是'],
|
||||
sexindex: 1,
|
||||
addressList: ['项目团队孵化', '成立新公司'],
|
||||
addressIndex: 0,
|
||||
radiolist: ['未注册', '已注册'],
|
||||
currentIndex: 0,
|
||||
isComplianceList: ['否', '是'],
|
||||
isComplianceIndex: 1,
|
||||
applyParkFileList: []
|
||||
},
|
||||
|
||||
uploFile() {
|
||||
var that = this;
|
||||
if (that.data.id) return
|
||||
if (that.data.applyParkFileList.length >= 9) return
|
||||
wx.showActionSheet({
|
||||
itemList: ['上传图片', '打开微信聊天会话选择文件'],
|
||||
success(res) {
|
||||
if (res.tapIndex == 0) {
|
||||
wx.chooseImage({
|
||||
count: 1, //能选择文件的数量
|
||||
success(res) {
|
||||
that.upload(res.tempFiles)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
wx.chooseMessageFile({
|
||||
count: 1, //能选择文件的数量
|
||||
type: 'file',
|
||||
success(res) {
|
||||
that.upload(res.tempFiles)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
fail(res) {
|
||||
console.log(res.errMsg)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
upload(data) {
|
||||
console.log(data)
|
||||
var that = this
|
||||
var applyParkFileList = that.data.applyParkFileList
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url: app.DOMAIN_NAME + '/dfs/upload?originalFilename=' + data[0].name,
|
||||
header: {
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
},
|
||||
filePath: data[0].path,
|
||||
name: 'file',
|
||||
success(res) {
|
||||
var deta = JSON.parse(res.data)
|
||||
if (deta.code == 401) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '身份已过期,需重登录',
|
||||
success: res => {
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
});
|
||||
} else if (deta.code != 0) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '服务器开小差去了,请重试',
|
||||
showCancel: false
|
||||
});
|
||||
} else if (deta.code == 0) {
|
||||
var first = deta.fileName.lastIndexOf("."); //取到文件名开始到最后一个点的长度
|
||||
var namelength = deta.fileName.length; //取到文件名长度
|
||||
var filesuffix = deta.fileName.substring(first + 1, namelength); //截取获得后缀名
|
||||
var type = ''
|
||||
switch (filesuffix) {
|
||||
case 'jpg' || 'png':
|
||||
type = 'jpg'
|
||||
break;
|
||||
case 'xls' || 'xlsx':
|
||||
type = 'xlsx'
|
||||
break;
|
||||
case 'doc' || 'docx' || 'dotx':
|
||||
type = 'word'
|
||||
break;
|
||||
case 'ppt' || 'pptx':
|
||||
type = 'ppt'
|
||||
break;
|
||||
default:
|
||||
type = '未知文件'
|
||||
break;
|
||||
}
|
||||
applyParkFileList.push({
|
||||
fileName: deta.originalFilename != "undefined" ? deta.originalFilename : deta.fileName,
|
||||
filePath: deta.fileName,
|
||||
fileSize: (data[0].size * 0.001).toFixed(2) + 'KB',
|
||||
type
|
||||
})
|
||||
that.setData({
|
||||
applyParkFileList
|
||||
})
|
||||
wx.hideLoading()
|
||||
}
|
||||
},
|
||||
fail() {
|
||||
wx.hideLoading()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
delFile(e) {
|
||||
var index = e.currentTarget.dataset.index,
|
||||
applyParkFileList = this.data.applyParkFileList
|
||||
applyParkFileList.splice(index, 1)
|
||||
this.setData({
|
||||
applyParkFileList
|
||||
})
|
||||
},
|
||||
|
||||
// 项目入园方式
|
||||
addressRadio(e) {
|
||||
this.setData({
|
||||
addressIndex: e.currentTarget.dataset.idx,
|
||||
type: e.currentTarget.dataset.idx
|
||||
})
|
||||
},
|
||||
|
||||
isComplianceClick(e) {
|
||||
this.setData({
|
||||
isComplianceIndex: e.currentTarget.dataset.idx,
|
||||
isCompliance: e.currentTarget.dataset.idx
|
||||
})
|
||||
},
|
||||
|
||||
// 工商注册情况
|
||||
radioClick(e) {
|
||||
this.setData({
|
||||
currentIndex: e.currentTarget.dataset.idx,
|
||||
isRegister: e.currentTarget.dataset.idx
|
||||
})
|
||||
},
|
||||
|
||||
// 期望入驻开始时间选择
|
||||
startDateChange(e) {
|
||||
this.setData({
|
||||
startDate: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
// 期望入驻结束时间选择
|
||||
endDateChange(e) {
|
||||
this.setData({
|
||||
endDate: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(e) {
|
||||
var time = util.formatDate(new Date())
|
||||
this.setData({
|
||||
id: e.id,
|
||||
time,
|
||||
startDate: time,
|
||||
endDate: time
|
||||
})
|
||||
if (e.id) {
|
||||
this.getList(e.id)
|
||||
}
|
||||
},
|
||||
|
||||
showToast(e) {
|
||||
wx.showToast({
|
||||
title: e,
|
||||
icon: 'none'
|
||||
})
|
||||
},
|
||||
|
||||
getList(e) {
|
||||
var that = this
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/applyPark/get/' + e, {}, function (res) {
|
||||
if (res.code == 0) {
|
||||
var applyParkFileList = res.data.applyParkFileList
|
||||
applyParkFileList.forEach(item => {
|
||||
var first = item.fileName.lastIndexOf("."); //取到文件名开始到最后一个点的长度
|
||||
var namelength = item.fileName.length; //取到文件名长度
|
||||
var filesuffix = item.fileName.substring(first + 1, namelength); //截取获得后缀名
|
||||
switch (filesuffix) {
|
||||
case 'jpg' || 'png':
|
||||
item.type = 'jpg'
|
||||
break;
|
||||
case 'xls' || 'xlsx':
|
||||
item.type = 'xlsx'
|
||||
break;
|
||||
case 'doc' || 'docx' || 'dotx':
|
||||
item.type = 'word'
|
||||
break;
|
||||
case 'ppt' || 'pptx':
|
||||
item.type = 'ppt'
|
||||
break;
|
||||
default:
|
||||
item.type = '未知文件'
|
||||
break;
|
||||
}
|
||||
})
|
||||
that.setData({
|
||||
list: res.data,
|
||||
applyParkFileList,
|
||||
startDate: res.data.startDate,
|
||||
endDate: res.data.endDate,
|
||||
isComplianceIndex: res.data.isCompliance,
|
||||
addressIndex: res.data.type,
|
||||
currentIndex: res.data.isRegister
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
fromsumb(e) {
|
||||
var that = this,
|
||||
regMobile = /^[1]([3-9])[0-9]{9}$/,
|
||||
deta = e.detail.value
|
||||
deta.isCompliance = that.data.isComplianceIndex
|
||||
deta.type = that.data.addressIndex
|
||||
deta.isRegister = that.data.currentIndex
|
||||
deta.applyParkFileList = that.data.applyParkFileList
|
||||
deta.startDate = that.data.startDate
|
||||
deta.endDate = that.data.endDate
|
||||
console.log(deta)
|
||||
if (!deta.name) {
|
||||
that.showToast('请输入拟入孵项目名称')
|
||||
return false
|
||||
}
|
||||
if (!deta.operName) {
|
||||
that.showToast('请输入拟定公司法人代表')
|
||||
return false
|
||||
}
|
||||
if (!deta.registCapi) {
|
||||
that.showToast('请输入拟定注册资本')
|
||||
return false
|
||||
}
|
||||
/*
|
||||
if (!deta.econKind) {
|
||||
that.showToast('请输入企业性质')
|
||||
return false
|
||||
}
|
||||
if (!deta.nation) {
|
||||
that.showToast('请输入国家')
|
||||
return false
|
||||
}
|
||||
*/
|
||||
if (!deta.userName) {
|
||||
that.showToast('请输入联系人姓名')
|
||||
return false
|
||||
}
|
||||
if (!deta.position) {
|
||||
that.showToast('请输入联系人职务')
|
||||
return false
|
||||
}
|
||||
if (!deta.phone) {
|
||||
that.showToast('请输入联系电话')
|
||||
return false
|
||||
}
|
||||
if (!regMobile.test(deta.phone)) {
|
||||
that.showToast('联系电话格式错误')
|
||||
return false
|
||||
}
|
||||
/*
|
||||
if (!deta.qq) {
|
||||
that.showToast('请输入qq')
|
||||
return false
|
||||
}
|
||||
*/
|
||||
if (!deta.email) {
|
||||
that.showToast('请输入邮箱')
|
||||
return false
|
||||
}
|
||||
/*
|
||||
if (!deta.site) {
|
||||
that.showToast('请输入网址')
|
||||
return false
|
||||
}
|
||||
if (!deta.persons) {
|
||||
that.showToast('请输入公司人数')
|
||||
return false
|
||||
}
|
||||
*/
|
||||
if (!deta.preYearValue) {
|
||||
that.showToast('请输入预估年产值')
|
||||
return false
|
||||
}
|
||||
if (that.data.date == '请选择期望入驻时间') {
|
||||
wx.showToast({
|
||||
title: '请选择期望入驻时间',
|
||||
icon: 'none'
|
||||
})
|
||||
return false
|
||||
}
|
||||
if (!deta.applyArea) {
|
||||
that.showToast('请输入申请办公面积')
|
||||
return false
|
||||
}
|
||||
if (!deta.profile) {
|
||||
that.showToast('请输入项目简介')
|
||||
return false
|
||||
}
|
||||
if (!deta.scope) {
|
||||
that.showToast('请输入主营产品')
|
||||
return false
|
||||
}
|
||||
if (!deta.advantage) {
|
||||
that.showToast('请输入产品/企业优势')
|
||||
return false
|
||||
}
|
||||
if (!deta.reason) {
|
||||
that.showToast('请输入入驻原因')
|
||||
return false
|
||||
}
|
||||
app.AjaxRequest('POST', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/applyPark/save', deta, function (res) {
|
||||
if (res.code == 0) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '已提交成功',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
wx.reLaunch({
|
||||
url: '/pages/my/serviceApply/serviceApply',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
4
miniprogram/pages/applyType/settledIn/settledIn.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "项目入孵申请"
|
||||
}
|
177
miniprogram/pages/applyType/settledIn/settledIn.wxml
Normal file
@ -0,0 +1,177 @@
|
||||
<view class='page'>
|
||||
<view>
|
||||
<form bindsubmit="fromsumb">
|
||||
<input name='id' value="{{id}}" hidden="true"></input>
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">拟入孵项目名称<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='name' value="{{list.name}}"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">项目入园方式</text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="{{index == addressIndex ? 'da' : 'da1'}}" bindtap='addressRadio' data-idx='{{index}}'
|
||||
wx:for='{{addressList}}' wx:key='index'>{{item}}</text>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontW">工商注册情况<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
</view>
|
||||
<view>
|
||||
<text class="{{index == currentIndex ? 'da' : 'da1'}}" bindtap='radioClick' data-idx='{{index}}'
|
||||
wx:for='{{radiolist}}' wx:key='index'>{{item}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">拟定公司法人代表<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='operName' value="{{list.operName}}" maxlength="11"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">注册资本(万元)<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='registCapi' value="{{list.registCapi}}"></input>
|
||||
</view>
|
||||
<!--
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">企业性质<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='econKind' value="{{list.econKind}}"></input>
|
||||
</view>
|
||||
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">国家<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='nation' value="{{list.nation}}"></input>
|
||||
</view> -->
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">联系人姓名<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='userName' value="{{list.userName}}"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">联系人职务<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='position' value="{{list.position}}"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">联系电话<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='phone' value="{{list.phone}}" maxlength="11" type="number"></input>
|
||||
</view>
|
||||
<!--
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">联系QQ<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='qq' value="{{list.qq}}"></input>
|
||||
</view> -->
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">邮箱<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='email' value="{{list.email}}"></input>
|
||||
</view>
|
||||
<!--
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">网址<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='site' value="{{list.site}}"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">公司人数<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='persons' value="{{list.persons}}"></input>
|
||||
</view>
|
||||
-->
|
||||
<view class="inputbox">
|
||||
<text class="fontW">是否有商业计划书<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<!--
|
||||
<image src="https://aabbcc.thinkine.com/upload/image/weixin_images/icon/r.png" mode="widthFix"
|
||||
style="width:28rpx;height:28rpx;margin-top:14rpx;margin-left:250rpx;" class="floR"></image>-->
|
||||
</view>
|
||||
<view>
|
||||
<text class="{{index == isComplianceIndex ? 'da' : 'da1'}}" bindtap='isComplianceClick' data-idx='{{index}}'
|
||||
wx:for='{{isComplianceList}}' wx:key='index'>{{item}}</text>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">预估年产值(万元)<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='preYearValue' value="{{list.preYearValue}}"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">期望入驻时间<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<view style="border-bottom: 1rpx solid #EEEEEE;">
|
||||
<picker mode="date" value="{{startDate}}" start="{{time}}" bindchange="startDateChange">
|
||||
<text class="picker-txt">{{startDate}}</text>
|
||||
</picker>
|
||||
~
|
||||
<picker mode="date" value="{{endDate}}" start="{{time}}" bindchange="endDateChange">
|
||||
<text class="picker-txt">{{endDate}}</text>
|
||||
</picker>
|
||||
</view>
|
||||
<!--<image src="/images/1.png" mode="widthFix"
|
||||
style="width:28rpx;height:28rpx;margin-top:14rpx;" class="floR"></image> -->
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">申请办公面积(㎡)<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='applyArea' value="{{list.applyArea}}"></input>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">项目简介<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
</view>
|
||||
<textarea maxlength="200" name='profile' value="{{list.profile}}" adjust-position='false'></textarea>
|
||||
<label class="floR">不少于50汉字</label>
|
||||
</view>
|
||||
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">主营产品<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
</view>
|
||||
<textarea maxlength="200" name='scope' value="{{list.scope}}"></textarea>
|
||||
<label class="floR">不少于25汉字</label>
|
||||
</view>
|
||||
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">产品/企业优势<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
</view>
|
||||
<textarea maxlength="200" name='advantage' value="{{list.advantage}}"></textarea>
|
||||
<label class="floR">不少于50汉字</label>
|
||||
</view>
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">入驻原因(没有请写无)<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
</view>
|
||||
<textarea maxlength="200" name='reason' value="{{list.reason}}"></textarea>
|
||||
<label class="floR">不少于25汉字</label>
|
||||
</view>
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">备注</text>
|
||||
</view>
|
||||
<textarea maxlength="200" name='memo' value="{{list.memo}}"></textarea>
|
||||
</view>
|
||||
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">资料上传</text>
|
||||
<view style="color:#AAAAAA;font-size: 24rpx;">可上传内容:商业计划书、产品图片、营业执照副本等相关资料,格式不限</view>
|
||||
<view class='uploFile' bindtap="uploFile">上传({{applyParkFileList.length}}/9)</view>
|
||||
<view>
|
||||
<view class="fileBox" wx:for="{{applyParkFileList}}" wx:key='index'>
|
||||
<view style="width: 90rpx;display: inline-block">
|
||||
<image src="/images/home/{{item.type}}.png" mode="widthFix" style="width: 100%;"></image>
|
||||
</view>
|
||||
<view style="display: inline-block;margin-left: 30rpx;width: 70%;">
|
||||
<view style="width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
{{item.fileName}}
|
||||
</view>
|
||||
<view style="color:#ADADAD;font-size: 26rpx;padding-top: 14rpx;">{{item.fileSize? item.fileSize:'..'}}</view>
|
||||
</view>
|
||||
<view class="del" bindtap="delFile" data-index="{{index}}" wx:if="{{!id}}">
|
||||
<image src="/images/home/del.png" mode="widthFix" style="width:100%"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="wwBox">
|
||||
<button class="ww" formType='submit' wx:if="{{!id}}">立即申请</button>
|
||||
</view>
|
||||
</form>
|
||||
</view>
|
||||
</view>
|
120
miniprogram/pages/applyType/settledIn/settledIn.wxss
Normal file
@ -0,0 +1,120 @@
|
||||
.page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.page-section{
|
||||
margin-bottom: 40rpx
|
||||
}
|
||||
|
||||
.wwBox {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
}
|
||||
|
||||
.ww {
|
||||
width: 88% !important;
|
||||
height: 100rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 100rpx !important;
|
||||
background: #4C84FF;
|
||||
padding: 0 !important;
|
||||
border-radius: 8rpx !important;
|
||||
z-index: 5;
|
||||
margin: 60rpx 6%;
|
||||
margin-left: 6% !important;
|
||||
}
|
||||
|
||||
picker {
|
||||
width: 45%;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
padding-right: 10rpx;
|
||||
padding-top: 4rpx;
|
||||
/* border-bottom: 1rpx solid #EEEEEE; */
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.picker-txt {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.bshaw {
|
||||
padding: 10rpx 40rpx;
|
||||
}
|
||||
|
||||
.fontW {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
/* width: 400rpx; */
|
||||
line-height: 50rpx;
|
||||
}
|
||||
|
||||
.fontWs {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
width: 90%;
|
||||
line-height: 50rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
margin-top: -2rpx;
|
||||
padding-right: 30rpx;
|
||||
box-sizing: border-box;
|
||||
font-size: 32rpx;
|
||||
color: #393939;
|
||||
border-bottom: 1rpx solid #EEEEEE;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
|
||||
.inputbox {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 40rpx;
|
||||
overflow: hidden;
|
||||
/* display: flex; */
|
||||
/* padding: 30rpx 0; */
|
||||
}
|
||||
|
||||
.inputbox:nth-last-child(2) {
|
||||
border: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 200rpx;
|
||||
color: #393939;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.uploFile {
|
||||
width: 140rpx;
|
||||
margin-bottom: 30rpx;
|
||||
padding: 20rpx 40rpx;
|
||||
background: #F7F7F7;
|
||||
margin-top: 10rpx;
|
||||
color: #4C84FF;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
.del {
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
right: 34rpx;
|
||||
top: 36%;
|
||||
}
|
||||
|
||||
.fileBox {
|
||||
vertical-align: middle;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx 30rpx;
|
||||
background: #F8F8F8;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
}
|
@ -0,0 +1,271 @@
|
||||
var app = getApp();
|
||||
var util = require("../../../utils/util.js");
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
sex: ['否', '是'],
|
||||
sexindex: 1,
|
||||
date: '请选择申请入驻时间',
|
||||
type: 1,
|
||||
addressList: ['公司搬迁至园区', '在园区开设分公司', '成立新公司', '其它'],
|
||||
addressIndex: 0,
|
||||
radiolist: ['未注册', '已注册'],
|
||||
currentIndex: 0,
|
||||
applySettleFileList: []
|
||||
},
|
||||
|
||||
uploFile() {
|
||||
var that = this
|
||||
if (that.data.id) return
|
||||
if (that.data.applySettleFileList.length >= 9) return
|
||||
wx.showActionSheet({
|
||||
itemList: ['上传图片', '打开微信聊天会话选择文件'],
|
||||
success(res) {
|
||||
if (res.tapIndex == 0) {
|
||||
wx.chooseImage({
|
||||
count: 1, //能选择文件的数量
|
||||
success(res) {
|
||||
that.upload(res.tempFiles)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
wx.chooseMessageFile({
|
||||
count: 1, //能选择文件的数量
|
||||
type: 'file',
|
||||
success(res) {
|
||||
that.upload(res.tempFiles)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
fail(res) {
|
||||
console.log(res.errMsg)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
upload(data) {
|
||||
var that = this
|
||||
var applySettleFileList = that.data.applySettleFileList
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url: app.DOMAIN_NAME + '/dfs/upload?originalFilename=' + data[0].name,
|
||||
header: {
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
},
|
||||
filePath: data[0].path,
|
||||
name: 'file',
|
||||
success(res) {
|
||||
var deta = JSON.parse(res.data)
|
||||
if (deta.code == 401) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '身份已过期,需重登录',
|
||||
success: res => {
|
||||
wx.reLaunch({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
}
|
||||
});
|
||||
} else if (deta.code != 0) {
|
||||
wx.hideLoading()
|
||||
wx.showModal({
|
||||
confirmText: '好的',
|
||||
content: deta.msg || '服务器开小差去了,请重试',
|
||||
showCancel: false
|
||||
});
|
||||
} else if (deta.code == 0) {
|
||||
var first = deta.fileName.lastIndexOf("."); //取到文件名开始到最后一个点的长度
|
||||
var namelength = deta.fileName.length; //取到文件名长度
|
||||
var filesuffix = deta.fileName.substring(first + 1, namelength); //截取获得后缀名
|
||||
var type = ''
|
||||
switch (filesuffix) {
|
||||
case 'jpg' || 'png':
|
||||
type = 'jpg'
|
||||
break;
|
||||
case 'xls' || 'xlsx':
|
||||
type = 'xlsx'
|
||||
break;
|
||||
case 'doc' || 'docx' || 'dotx':
|
||||
type = 'word'
|
||||
break;
|
||||
case 'ppt' || 'pptx':
|
||||
type = 'ppt'
|
||||
break;
|
||||
default:
|
||||
type = '未知文件'
|
||||
break;
|
||||
}
|
||||
applySettleFileList.push({
|
||||
fileName: deta.originalFilename != "undefined" ? deta.originalFilename : deta.fileName,
|
||||
filePath: deta.fileName,
|
||||
fileSize: (data[0].size * 0.001).toFixed(2) + 'KB',
|
||||
type
|
||||
})
|
||||
that.setData({
|
||||
applySettleFileList
|
||||
})
|
||||
wx.hideLoading()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
delFile(e) {
|
||||
var index = e.currentTarget.dataset.index,
|
||||
applySettleFileList = this.data.applySettleFileList
|
||||
applySettleFileList.splice(index, 1)
|
||||
this.setData({
|
||||
applySettleFileList
|
||||
})
|
||||
},
|
||||
|
||||
// 企业入园方式
|
||||
addressRadio(e) {
|
||||
this.setData({
|
||||
addressIndex: e.currentTarget.dataset.idx,
|
||||
address: e.currentTarget.dataset.idx
|
||||
})
|
||||
},
|
||||
|
||||
// 申请入驻时间选择
|
||||
bindDateChange(e) {
|
||||
var time = new Date(e.detail.value).getTime();
|
||||
console.log(e.detail.value)
|
||||
this.setData({
|
||||
date: e.detail.value,
|
||||
timec: time
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(e) {
|
||||
var time = util.formatDate(new Date())
|
||||
this.setData({
|
||||
date: time
|
||||
})
|
||||
if (e.id) {
|
||||
this.setData({
|
||||
id: e.id
|
||||
})
|
||||
this.getList(e.id)
|
||||
}
|
||||
},
|
||||
|
||||
getList(e) {
|
||||
var that = this
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/settle/get/' + e, {}, function (res) {
|
||||
if (res.code == 0) {
|
||||
var applySettleFileList = res.data.applySettleFileList
|
||||
applySettleFileList.forEach(item => {
|
||||
var first = item.fileName.lastIndexOf("."); //取到文件名开始到最后一个点的长度
|
||||
var namelength = item.fileName.length; //取到文件名长度
|
||||
var filesuffix = item.fileName.substring(first + 1, namelength); //截取获得后缀名
|
||||
switch (filesuffix) {
|
||||
case 'jpg' || 'png':
|
||||
item.type = 'jpg'
|
||||
break;
|
||||
case 'xls' || 'xlsx':
|
||||
item.type = 'xlsx'
|
||||
break;
|
||||
case 'doc' || 'docx' || 'dotx':
|
||||
item.type = 'word'
|
||||
break;
|
||||
case 'ppt' || 'pptx':
|
||||
item.type = 'ppt'
|
||||
break;
|
||||
default:
|
||||
item.type = '未知文件'
|
||||
break;
|
||||
}
|
||||
})
|
||||
that.setData({
|
||||
list: res.data,
|
||||
applySettleFileList,
|
||||
date: res.data.startTime,
|
||||
isComplianceIndex: res.data.isCompliance,
|
||||
addressIndex: res.data.type
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
showToast(e) {
|
||||
wx.showToast({
|
||||
title: e,
|
||||
icon: 'none'
|
||||
})
|
||||
},
|
||||
|
||||
fromsumb(e) {
|
||||
var that = this,
|
||||
regMobile = /^[1]([3-9])[0-9]{9}$/,
|
||||
deta = e.detail.value
|
||||
deta.isCompliance = that.data.isComplianceIndex
|
||||
deta.type = that.data.addressIndex
|
||||
deta.applyParkFileList = that.data.applyParkFileList
|
||||
deta.startTime = that.data.date
|
||||
deta.applySettleFileList = that.data.applySettleFileList
|
||||
if (!deta.userName) {
|
||||
that.showToast('请输入联系人姓名')
|
||||
return false
|
||||
}
|
||||
if (!deta.name) {
|
||||
that.showToast('请输入入驻企业名称')
|
||||
return false
|
||||
}
|
||||
if (!deta.operName) {
|
||||
that.showToast('请输入法人代表')
|
||||
return false
|
||||
}
|
||||
if (!deta.needArea) {
|
||||
that.showToast('请输入所需办公面积')
|
||||
return false
|
||||
}
|
||||
if (!deta.persons) {
|
||||
that.showToast('请输入首批入驻人数')
|
||||
return false
|
||||
}
|
||||
if (!deta.phone) {
|
||||
that.showToast('请输入联系电话')
|
||||
return false
|
||||
}
|
||||
if (!regMobile.test(deta.phone)) {
|
||||
that.showToast('联系电话格式错误')
|
||||
return false
|
||||
}
|
||||
if (!deta.email) {
|
||||
that.showToast('请输入邮箱')
|
||||
return false
|
||||
}
|
||||
app.AjaxRequest('POST', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/settle/save', deta, function (res) {
|
||||
if (res.code == 0) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '已提交成功',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
wx.reLaunch({
|
||||
url: '/pages/my/serviceApply/serviceApply',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "企业入驻"
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
<view>
|
||||
<form bindsubmit="fromsumb">
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">企业名称<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='name' value="{{list.name}}" type="text"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">企业入园方式</text>
|
||||
<input name='address' disabled="true" value="{{address}}" hidden="true"></input>
|
||||
<!--
|
||||
<image src="https://aabbcc.thinkine.com/upload/image/weixin_images/icon/r.png" mode="widthFix"
|
||||
style="width:28rpx;height:28rpx;margin-top:14rpx;margin-left:250rpx;" class="floR"></image>-->
|
||||
</view>
|
||||
<view>
|
||||
<text class="{{index == addressIndex ? 'da' : 'da1'}}" bindtap='addressRadio' data-idx='{{index}}'
|
||||
wx:for='{{addressList}}' wx:key='index'>{{item}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view style="background:white;padding:40rpx;margin-top:22rpx;">
|
||||
<view class="inputbox">
|
||||
<text class="fontW">法人代表<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='operName' value="{{list.operName}}" maxlength="11" type="text"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">所需办公面积(m²)<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='needArea' value="{{list.needArea}}" type="number"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">首批入驻人数(人)<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='persons' value="{{list.persons}}" type="number"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">申请入驻时间<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<picker mode="date" value="{{date}}" start="{{time}}" bindchange="bindDateChange">
|
||||
<text class="picker-txt">{{date}}</text>
|
||||
</picker>
|
||||
<!--
|
||||
<image src="https://aabbcc.thinkine.com/upload/image/weixin_images/icon/r.png" mode="widthFix"
|
||||
style="width:28rpx;height:28rpx;margin-top:14rpx;" class="floR"></image>-->
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">联系人姓名<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='userName' value="{{list.userName}}" type="text"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">联系电话<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='phone' value="{{list.phone}}" maxlength="11" type="number"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontWs">邮箱<text style="color: red;margin-left:10rpx">*</text></text>
|
||||
<input name='email' value="{{list.email}}" type="text"></input>
|
||||
</view>
|
||||
<view class="inputbox">
|
||||
<text class="fontW">资料上传</text>
|
||||
<view style="color:#AAAAAA;font-size: 24rpx;">可上传内容:企业简介、个人简介、营业执照副本等相关资料,格式不限</view>
|
||||
<view class='uploFile' bindtap="uploFile">上传({{applySettleFileList.length}}/9)</view>
|
||||
<view>
|
||||
<view class="fileBox" wx:for="{{applySettleFileList}}" wx:key='index'>
|
||||
<view style="width: 90rpx;display: inline-block">
|
||||
<image src="/images/home/{{item.type}}.png" mode="widthFix" style="width: 100%;"></image>
|
||||
</view>
|
||||
<view style="display: inline-block;margin-left: 30rpx;width: 70%;">
|
||||
<view style="width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
|
||||
{{item.fileName}}
|
||||
</view>
|
||||
<view style="color:#ADADAD;font-size: 26rpx;padding-top: 14rpx;">{{item.fileSize? item.fileSize:''}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="del" bindtap="delFile" data-index="{{index}}" wx:if="{{!id}}">
|
||||
<image src="/images/home/del.png" mode="widthFix" style="width:100%"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="wwBox">
|
||||
<button class="ww" formType='submit' wx:if="{{!id}}">立即申请</button>
|
||||
</view>
|
||||
</form>
|
||||
</view>
|
@ -0,0 +1,116 @@
|
||||
.page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.wwBox {
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
}
|
||||
|
||||
.ww {
|
||||
width: 88% !important;
|
||||
height: 100rpx;
|
||||
font-size: 28rpx;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 100rpx !important;
|
||||
background: #4C84FF;
|
||||
position: absolute !important;
|
||||
padding: 0 !important;
|
||||
border-radius: 8rpx !important;
|
||||
z-index: 5;
|
||||
margin: 60rpx 6%;
|
||||
margin-left: 6% !important;
|
||||
}
|
||||
|
||||
picker {
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
padding-right: 10rpx;
|
||||
padding-top: 4rpx;
|
||||
border-bottom: 1rpx solid #EEEEEE;
|
||||
}
|
||||
|
||||
.picker-txt {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.bshaw {
|
||||
padding: 10rpx 40rpx;
|
||||
}
|
||||
|
||||
.fontW {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
/* width: 400rpx; */
|
||||
line-height: 50rpx;
|
||||
}
|
||||
|
||||
.fontWs {
|
||||
color: #000;
|
||||
display: inline-block;
|
||||
width: 90%;
|
||||
line-height: 50rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
margin-top: -2rpx;
|
||||
padding-right: 30rpx;
|
||||
box-sizing: border-box;
|
||||
font-size: 32rpx;
|
||||
color: #393939;
|
||||
border-bottom: 1rpx solid #EEEEEE;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
|
||||
.inputbox {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 40rpx;
|
||||
/* display: flex; */
|
||||
/* padding: 30rpx 0; */
|
||||
}
|
||||
|
||||
.inputbox:nth-last-child(2) {
|
||||
border: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 200rpx;
|
||||
color: #393939;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.uploFile {
|
||||
width: 140rpx;
|
||||
margin-bottom: 30rpx;
|
||||
padding: 20rpx 40rpx;
|
||||
background: #F7F7F7;
|
||||
margin-top: 10rpx;
|
||||
color: #4C84FF;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
.del {
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
right: 34rpx;
|
||||
top: 36%;
|
||||
}
|
||||
|
||||
.fileBox {
|
||||
vertical-align: middle;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx 30rpx;
|
||||
background: #F8F8F8;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
}
|
61
miniprogram/pages/community/community.js
Normal file
@ -0,0 +1,61 @@
|
||||
var app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
type: 1,
|
||||
currentTab: 0,
|
||||
labelList: [
|
||||
'休闲',
|
||||
'免费'
|
||||
],
|
||||
homelist: [],
|
||||
IMG_NAME: app.IMG_NAME
|
||||
},
|
||||
onShow(e) {
|
||||
let that = this
|
||||
// wx.setStorageSync('token', '535e73059d2f4301b78d05326e1a55d8')
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/activity/list', {},
|
||||
function (res) {
|
||||
if (res.code == 0) {
|
||||
for (var i in res.rows) {
|
||||
let day = res.rows[i].actBegin.slice(5, 7) + '月' + res.rows[i].actBegin.slice(8, 10) + '日'
|
||||
res.rows[i].day = day
|
||||
}
|
||||
that.setData({
|
||||
homelist: res.rows
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
//滑动切换
|
||||
swiperTab: function (e) {
|
||||
var that = this
|
||||
that.setData({
|
||||
currentTab: e.detail.current
|
||||
})
|
||||
},
|
||||
//点击切换
|
||||
clickTab: function (e) {
|
||||
var that = this
|
||||
if (this.data.currentTab === e.target.dataset.current) {
|
||||
return false
|
||||
} else {
|
||||
that.setData({
|
||||
currentTab: e.target.dataset.current
|
||||
})
|
||||
}
|
||||
},
|
||||
navDetail(e) {
|
||||
let that = this
|
||||
let index = e.currentTarget.dataset.index
|
||||
if (wx.getStorageSync('token')) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/community/eventDetails/eventDetails?id=' + that.data.homelist[index].id
|
||||
})
|
||||
} else {
|
||||
app.getlogin()
|
||||
}
|
||||
}
|
||||
})
|
4
miniprogram/pages/community/community.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "活动"
|
||||
}
|
26
miniprogram/pages/community/community.wxml
Normal file
@ -0,0 +1,26 @@
|
||||
<scroll-view style="height:100%;padding: 0 26rpx;box-sizing: border-box;" scroll-y="true" wx:if="{{homelist.length>0}}">
|
||||
<view class="boxs" wx:for='{{homelist}}' wx:key="index" data-index="{{index}}" bindtap="navDetail">
|
||||
<view>
|
||||
<label class="label labelFull" wx:if="{{item.status == 'SIGN_NOT_START'}}">报名未开始</label>
|
||||
<label class="label labelFull" wx:if="{{item.status == 'ACT_NOT_START'}}">活动未开始</label>
|
||||
<label class="label labelIn" wx:if="{{item.status=='SIGNING'}}">报名中</label>
|
||||
<label class="label labelFull" wx:if="{{item.status=='SIGN_NOT_START'}}">报名未开始</label>
|
||||
<label class="label labelFull" wx:if="{{item.status=='ACT_END'}}">已结束</label>
|
||||
<label class="label labelFull" wx:if="{{item.status=='SIGN_END'}}">已满额</label>
|
||||
</view>
|
||||
<view style="height:360rpx;overflow:hidden;">
|
||||
<image src="{{IMG_NAME}}{{item.smallImg}}" mode='widthFix' style="width:100%;"></image>
|
||||
</view>
|
||||
<view class="detailbox">
|
||||
<!-- <view class="dayTime">{{item.day}}</view> -->
|
||||
<view>
|
||||
<view class="titleC" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;margin: 0;">
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="detailTextC">{{item.actBegin }}</view>
|
||||
<view class="detailTextC">{{item.location}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view wx:else style="text-align:center;margin-top:50%;font-size:30rpx;">暂无活动数据</view>
|
107
miniprogram/pages/community/community.wxss
Normal file
@ -0,0 +1,107 @@
|
||||
swiper {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.boxs {
|
||||
background: white;
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
margin: 20rpx 0;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.swiper-tab {
|
||||
width: 100%;
|
||||
/* border-bottom: 1rpx solid #ccc; */
|
||||
text-align: center;
|
||||
height: 8%;
|
||||
line-height: 88rpx;
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
background-color: white;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.swiper-tab-item {
|
||||
display: inline-block;
|
||||
flex: 1;
|
||||
color: #A3A3A3;
|
||||
}
|
||||
|
||||
.active {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.btn {
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
right: 30rpx;
|
||||
color: white;
|
||||
background: #ffa200;
|
||||
padding: 0 40rpx;
|
||||
height: 62rpx;
|
||||
border-radius: 31rpx;
|
||||
text-align: center;
|
||||
line-height: 62rpx;
|
||||
}
|
||||
|
||||
.detailbox {
|
||||
padding: 26rpx 26rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
|
||||
.labelInProgress {
|
||||
border: 1rpx solid #B52F2E;
|
||||
font-size: 20rpx;
|
||||
padding: 4rpx 10rpx;
|
||||
border-radius: 50rpx;
|
||||
color: #B52F2E;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.label {
|
||||
color: white;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
font-size: 20rpx;
|
||||
padding: 4rpx 16rpx;
|
||||
border-radius:0 24rpx 0 24rpx;
|
||||
}
|
||||
|
||||
.labelIn{
|
||||
background-color: #2384E8;
|
||||
}
|
||||
|
||||
.labelFull{
|
||||
background-color: #BBC2C9;
|
||||
}
|
||||
|
||||
.labelInFull {
|
||||
border: 1rpx solid black;
|
||||
font-size: 20rpx;
|
||||
padding: 4rpx 10rpx;
|
||||
border-radius: 50rpx;
|
||||
color: black;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.labelBox {
|
||||
font-size: 20rpx;
|
||||
padding: 4rpx 10rpx;
|
||||
border-radius: 50rpx;
|
||||
background-color: #A9A9A9;
|
||||
color: white;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.dayTime {
|
||||
width: 90rpx;
|
||||
height: 90rpx;
|
||||
border: 1rpx solid;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
padding: 0 2%;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
left: 14rpx;
|
||||
}
|
58
miniprogram/pages/community/eventDetails/eventDetails.js
Normal file
@ -0,0 +1,58 @@
|
||||
var WxParse = require('../../../wxParse/wxParse.js')
|
||||
let app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
IMG_NAME: app.IMG_NAME
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
let that = this
|
||||
that.setData({
|
||||
id: options.id
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
if (this.data.id) {
|
||||
this.getList()
|
||||
}
|
||||
},
|
||||
getList() {
|
||||
let that = this
|
||||
app.AjaxRequest('GET', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/activity/signDetail', {
|
||||
id: that.data.id,
|
||||
},
|
||||
function (res) {
|
||||
if (res.code == 0) {
|
||||
that.setData({
|
||||
actBegin: res.data.actBegin.substring(0, res.data.actBegin.length - 3),
|
||||
actEnd: res.data.actEnd.substring(0, res.data.actEnd.length - 3),
|
||||
datas: res.data
|
||||
})
|
||||
if (res.data.content) {
|
||||
var article = res.data.content
|
||||
WxParse.wxParse('article', 'html', article, that)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
phoneCall() {
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: JSON.stringify(this.data.datas.contract)
|
||||
})
|
||||
},
|
||||
regist() {
|
||||
wx.navigateTo({
|
||||
url: '../registration/registration?actId=' + this.data.datas.id,
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "活动详情"
|
||||
}
|
74
miniprogram/pages/community/eventDetails/eventDetails.wxml
Normal file
@ -0,0 +1,74 @@
|
||||
<import src="../../../wxParse/wxParse.wxml" />
|
||||
<scroll-view class="page" scroll-y="true">
|
||||
<view style="background:white;padding:26rpx 26rpx;">
|
||||
<image src="{{IMG_NAME+datas.headImg}}" mode="widthFix"></image>
|
||||
<view class="header borderBottom">
|
||||
<view style="font-weight: 600;font-size: 14pt">{{datas.name}}</view>
|
||||
<view style="display:flex;color:#E35659;">
|
||||
<!-- <view style="margin-right:16rpx;">
|
||||
<text class="iconfont iconprice"></text>
|
||||
<text style="font-size:26rpx;margin-right:16rpx">{{datas.price==0? '免费' : '¥'+datas.price}}</text>
|
||||
<text style="font-size:26rpx;" wx:if="{{datas.price!=0}}">线下支付</text>
|
||||
</view> -->
|
||||
<!-- <view style="margin-right:16rpx;">
|
||||
<text class="iconfont iconwode"></text>
|
||||
<text style="font-size:26rpx;">{{datas.fullNum}}</text>
|
||||
</view> -->
|
||||
<!-- <view class="lable">
|
||||
<text class="circular"></text>
|
||||
<text wx:if="{{datas.status=='SIGNING'}}">报名中</text>
|
||||
<text wx:if="{{datas.status=='SIGN_NOT_START'}}">报名未开始</text>
|
||||
<text wx:if="{{datas.status=='ACT_NOT_START'}}">活动未开始</text>
|
||||
<text wx:if="{{datas.status=='ACT_END'}}">已结束</text>
|
||||
<text wx:if="{{datas.status=='SIGN_END'}}">已满额</text>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="information">
|
||||
<view>
|
||||
<text>活动时间:</text>
|
||||
<text>{{actBegin}} 至 </text>
|
||||
<text>{{actEnd}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>活动地点:</text>
|
||||
<text style="margin-right:14rpx;">{{datas.location}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>收费方式:</text>
|
||||
<text style="font-size:26rpx;margin-right:26rpx">{{datas.price==0? '免费' : '¥'+datas.price}}</text>
|
||||
<text style="font-size:26rpx;" wx:if="{{datas.price!=0}}">线下支付</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>联系电话:</text>
|
||||
<text bindtap="phoneCall" style="margin-right:14rpx;color:#578CFF">{{datas.contract}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="padding:26rpx 26rpx;margin-top: 20rpx;background:white;padding-bottom: 120rpx;">
|
||||
<view style="font-weight: 600;font-size: 12pt;padding-bottom:26rpx;" class="borderBottom">活动详情</view>
|
||||
<view class="wxParse">
|
||||
<template is="wxParse" data="{{wxParseData:article.nodes}}" />
|
||||
</view>
|
||||
<view style="margin-bottom:20rpx;">已报名 {{datas.currentNum}} 位</view>
|
||||
<view>
|
||||
<block wx:for="{{datas.activityDetails}}" wx:key='index'>
|
||||
<image src="{{items.avatar? IMG_NAME+items.avatar: '../../../images/user-unlogin.jpg'}}" mode="widthFix"
|
||||
style="width:10%;border-radius:50%;overflow:hidden;margin-right:16rpx;">
|
||||
</image>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<!-- <view class="btn" wx:if="{{datas.isSign == true}}" style="background:#A5A5A5;color:white;">已报名</view>
|
||||
<view class="btn" wx:if="{{datas.status == 'SIGN_NOT_START'}}" style="background:#A5A5A5;color:white;">报名未开始</view>
|
||||
<view class="btn" wx:if="{{datas.status == 'ACT_NOT_START'}}" style="background:#A5A5A5;color:white;">活动未开始</view>
|
||||
<view class="btn" wx:if="{{datas.status == 'SIGN_END'}}" style="background:#A5A5A5;color:white;">已满额</view>
|
||||
<view class="btn" wx:if="{{datas.status == 'ACT_END'}}" style="background:#A5A5A5;color:white;">活动结束</view>
|
||||
<view class="btn" wx:if="{{datas.status == 'ACTING'}}" style="background:#A5A5A5;color:white;">活动中</view> -->
|
||||
<view class="btnbox">
|
||||
<view class="btn" bindtap="regist" wx:if="{{datas.isSign == false && datas.status=='SIGNING'}}">立即报名</view>
|
||||
<view class="btn" wx:if="{{datas.isSign == true}}">已报名</view>
|
||||
</view>
|
81
miniprogram/pages/community/eventDetails/eventDetails.wxss
Normal file
@ -0,0 +1,81 @@
|
||||
@import "/wxParse/wxParse.wxss";
|
||||
|
||||
.page {
|
||||
height: 100%;
|
||||
text-align: left;
|
||||
font-size: 32rpx;
|
||||
color: black;
|
||||
box-sizing: border-box;
|
||||
line-height: 60rpx;
|
||||
overflow-y: auto;
|
||||
/* padding-bottom: 100rpx; */
|
||||
}
|
||||
|
||||
.lable {
|
||||
padding: 0 40rpx;
|
||||
background-color: #FFB84E;
|
||||
font-size: 22rpx;
|
||||
color: white;
|
||||
border-radius: 50rpx;
|
||||
height: 56rpx;
|
||||
line-height: 56rpx;
|
||||
position: relative;
|
||||
position: absolute;
|
||||
right: -5%;
|
||||
top: 45%;
|
||||
}
|
||||
|
||||
.circular {
|
||||
display: inline-block;
|
||||
background: white;
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
top: 36%;
|
||||
left: 10%;
|
||||
}
|
||||
|
||||
.header {
|
||||
position: relative;
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
color: #E35659;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.information {
|
||||
font-size: 11pt;
|
||||
color: #666666;
|
||||
position: relative;
|
||||
/* padding: 4% 0; */
|
||||
}
|
||||
|
||||
.information .iconfont {
|
||||
color: #AFAFAF;
|
||||
}
|
||||
|
||||
.wxParse {
|
||||
padding: 4% 0;
|
||||
}
|
||||
|
||||
.btnbox {
|
||||
padding: 0 26rpx;
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 24rpx;
|
||||
}
|
||||
|
||||
.btn {
|
||||
font-size: 34rpx;
|
||||
width: 100% !important;
|
||||
background-color: #4C84FF;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 100rpx;
|
||||
border-radius: 8rpx;
|
||||
}
|
95
miniprogram/pages/community/registration/registration.js
Normal file
@ -0,0 +1,95 @@
|
||||
let app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
form: {
|
||||
userName: '',
|
||||
phone: '',
|
||||
sex: 0
|
||||
},
|
||||
sex: ['男', '女'],
|
||||
sexindex: 0
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (e) {
|
||||
let that = this
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/user/profile', {}, function (res) {
|
||||
that.setData({
|
||||
'form.userId': res.data.userId,
|
||||
'form.userName': res.data.nickname,
|
||||
'form.actId': e.actId,
|
||||
'form.sex': res.data.sex,
|
||||
sexindex: res.data.sex
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 性别选择
|
||||
sexChange: function (e) {
|
||||
this.setData({
|
||||
sexindex: e.detail.value,
|
||||
'form.sex': parseInt(e.detail.value)
|
||||
})
|
||||
},
|
||||
formSubmit(e) {
|
||||
let that = this
|
||||
let form = that.data.form
|
||||
if (form.userName == '') {
|
||||
wx.showToast({
|
||||
title: '请先填写姓名',
|
||||
duration: 3000,
|
||||
icon: 'none'
|
||||
})
|
||||
return false
|
||||
}
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '是否确认报名',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
app.AjaxRequest('POST', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/activity/addSign?parkId=' + wx.getStorageSync('parkId'), {
|
||||
userName: form.userName,
|
||||
sex: form.sex,
|
||||
mobile: form.phone,
|
||||
userId: form.userId,
|
||||
actId: form.actId
|
||||
},
|
||||
function (res) {
|
||||
if (res.code == 0) {
|
||||
wx.navigateBack()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
bindPickerChange: function (e) {
|
||||
this.setData({
|
||||
'form.index': e.detail.value
|
||||
})
|
||||
},
|
||||
bindCompanyChange(e) {
|
||||
this.setData({
|
||||
'form.companyindex': e.detail.value
|
||||
})
|
||||
},
|
||||
valueChange(e) {
|
||||
let a = "form." + e.currentTarget.dataset.type
|
||||
console.log(a)
|
||||
this.setData({
|
||||
[a]: e.detail.value
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "活动报名"
|
||||
}
|
52
miniprogram/pages/community/registration/registration.wxml
Normal file
@ -0,0 +1,52 @@
|
||||
<view class="page">
|
||||
<form bindsubmit="formSubmit" bindreset="formReset">
|
||||
|
||||
<view class="sectionBox">
|
||||
<view class="section">
|
||||
<view class="section__title">手机号:</view>
|
||||
<input name="input" type="number" required name="phone" value='{{form.phone}}' placeholder="请输入手机号"
|
||||
bindinput='valueChange' data-type="phone" maxlength="11" />
|
||||
</view>
|
||||
|
||||
<view class="section">
|
||||
<view class="section__title">姓名:</view>
|
||||
<input name="input" type="text" required name="userName" value='{{form.userName}}' placeholder="请输入姓名"
|
||||
bindinput='valueChange' data-type="userName" />
|
||||
</view>
|
||||
|
||||
<view class="section">
|
||||
<view class="section__title">性别:</view>
|
||||
<picker bindchange="sexChange" name="sex" value="{{sexindex}}" range="{{sex}}">
|
||||
<text class="picker-txt">{{sex[sexindex]}}</text>
|
||||
</picker>
|
||||
<text class="iconfont iconxia" style="color:black"></text>
|
||||
</view>
|
||||
|
||||
<!-- <view class="section">
|
||||
<view class="section__title">园区:</view>
|
||||
<picker bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
|
||||
<view class="picker">{{array[form.index]}}</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
<view class="section">
|
||||
<view class="section__title">公司:</view>
|
||||
<picker bindchange="bindCompanyChange" value="{{index}}" range="{{company}}">
|
||||
<view class="picker">{{company[form.companyindex]}}</view>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
<view class="section">
|
||||
<view class="section__title">职位:</view>
|
||||
<input name="input" type="text" required name="position" value='{{form.position}}' placeholder="请输入姓名"
|
||||
bindinput='valueChange' data-type="position" />
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
<view style="display:flex;align-items:center;justify-content: center;color:red;">注意:您的个人信息,仅用活动主办方联系您,不做其他用途,您提交表示同意,不提交表示不同意。</view>
|
||||
|
||||
<view class="btn-area">
|
||||
<button formType="submit">确认信息并报名</button>
|
||||
</view>
|
||||
</form>
|
||||
</view>
|
50
miniprogram/pages/community/registration/registration.wxss
Normal file
@ -0,0 +1,50 @@
|
||||
.page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 26rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.sectionBox {
|
||||
background: white;
|
||||
padding: 0 26rpx;
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.section {
|
||||
border-bottom: 1rpx solid #F5F6F8;
|
||||
display: flex;
|
||||
padding: 6% 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.section__title {
|
||||
font-size: 28rpx;
|
||||
width: 20%;
|
||||
line-height: 44rpx;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 80%;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
picker {
|
||||
width: 80%;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600
|
||||
}
|
||||
|
||||
button {
|
||||
font-size: 34rpx;
|
||||
width: 100% !important;
|
||||
background-color: #4C84FF;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 100rpx !important;
|
||||
padding: 0 !important;
|
||||
border-radius: 8rpx;
|
||||
}
|
71
miniprogram/pages/complaint/complaint.js
Normal file
@ -0,0 +1,71 @@
|
||||
let app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
currentTab: 0
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.getList()
|
||||
},
|
||||
|
||||
getList(status) {
|
||||
let that = this
|
||||
let url = ''
|
||||
if (that.data.currentTab == 0) {
|
||||
url = '/suggestion/list'
|
||||
} else if (that.data.currentTab == 1) {
|
||||
url = '/suggestion/list?status=1'
|
||||
} else if (that.data.currentTab == 2) {
|
||||
url = '/suggestion/list?status=2'
|
||||
} else if (that.data.currentTab == 3) {
|
||||
url = '/suggestion/list?status=3'
|
||||
}
|
||||
app.AjaxRequest('GET', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, url, {}, function (res) {
|
||||
if (res.code == 0) {
|
||||
that.setData({
|
||||
list: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//滑动切换
|
||||
swiperTab (e) {
|
||||
var that = this
|
||||
that.setData({
|
||||
currentTab: e.detail.current
|
||||
})
|
||||
that.getList()
|
||||
},
|
||||
|
||||
//点击切换
|
||||
clickTab (e) {
|
||||
var that = this
|
||||
if (this.data.currentTab === e.target.dataset.current) {
|
||||
return false
|
||||
} else {
|
||||
that.setData({
|
||||
currentTab: e.target.dataset.current
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
scrollToLower() {
|
||||
|
||||
},
|
||||
|
||||
create() {
|
||||
wx.navigateTo({
|
||||
url: '/pages/complaint/newComplaint/newComplaint',
|
||||
})
|
||||
},
|
||||
|
||||
repairDetail(e) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/complaint/complaintDetail/complaintDetail?id=' + e.currentTarget.dataset.id,
|
||||
})
|
||||
}
|
||||
})
|
4
miniprogram/pages/complaint/complaint.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "园区建议"
|
||||
}
|
106
miniprogram/pages/complaint/complaint.wxml
Normal file
@ -0,0 +1,106 @@
|
||||
<view class="page">
|
||||
<view class="next" bindtap="create">我要建议</view>
|
||||
<view class="swiper-tab">
|
||||
<view class="swiper-tab-item {{currentTab==0?'active':''}}" data-current="0" bindtap="clickTab">全部</view>
|
||||
<view class="swiper-tab-item {{currentTab==1?'active':''}}" data-current="1" bindtap="clickTab">分派中</view>
|
||||
<view class="swiper-tab-item {{currentTab==2?'active':''}}" data-current="2" bindtap="clickTab">处理中</view>
|
||||
<view class="swiper-tab-item {{currentTab==3?'active':''}}" data-current="3" bindtap="clickTab">已完成</view>
|
||||
</view>
|
||||
|
||||
<swiper current="{{currentTab}}" duration="300" bindchange="swiperTab">
|
||||
<swiper-item>
|
||||
<scroll-view scroll-y="true" bindscrolltolower="scrollToLower">
|
||||
<view class="contenBox textcolor" wx:for="{{list}}" wx:key='index' data-id="{{item.id}}" bindtap="repairDetail">
|
||||
<view style="margin-bottom:18rpx;">
|
||||
<text style="font-size:30rpx;color:black;">建议单号:</text>
|
||||
<text style="font-size:30rpx;color:black;">{{item.sn}}</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;color:#4C84FF;">
|
||||
<text>状态:</text>
|
||||
<text wx:if="{{item.status==1}}">分派中</text>
|
||||
<text wx:if="{{item.status==2}}">处理中</text>
|
||||
<text wx:if="{{item.status==3}}">已完成</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;">
|
||||
<text>建议时间:</text>
|
||||
<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>描述:</text>
|
||||
<text>{{item.content}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
|
||||
<swiper-item>
|
||||
<scroll-view scroll-y="true" bindscrolltolower="scrollToLower">
|
||||
<view class="contenBox textcolor" wx:for="{{list}}" wx:key='index' data-id="{{item.id}}" bindtap="repairDetail">
|
||||
<view style="margin-bottom:18rpx;">
|
||||
<text style="font-size:30rpx;color:black;">建议单号:</text>
|
||||
<text style="font-size:30rpx;color:black;">{{item.sn}}</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;color:#4C84FF;">
|
||||
<text>状态:</text>
|
||||
<text>分派中</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;">
|
||||
<text>建议时间:</text>
|
||||
<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>描述:</text>
|
||||
<text>{{item.content}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
|
||||
<swiper-item>
|
||||
<scroll-view scroll-y="true" bindscrolltolower="scrollToLower">
|
||||
<view class="contenBox textcolor" wx:for="{{list}}" wx:key='index' data-id="{{item.id}}" bindtap="repairDetail">
|
||||
<view style="margin-bottom:18rpx;">
|
||||
<text style="font-size:30rpx;color:black;">建议单号:</text>
|
||||
<text style="font-size:30rpx;color:black;">{{item.sn}}</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;color:#4C84FF;">
|
||||
<text>状态:</text>
|
||||
<text>处理中</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;">
|
||||
<text>建议时间:</text>
|
||||
<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>描述:</text>
|
||||
<text>{{item.content}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
|
||||
<swiper-item>
|
||||
<scroll-view scroll-y="true" bindscrolltolower="scrollToLower">
|
||||
<view class="contenBox textcolor" wx:for="{{list}}" wx:key='index' data-id="{{item.id}}" bindtap="repairDetail">
|
||||
<view style="margin-bottom:18rpx;">
|
||||
<text style="font-size:30rpx;color:black;">建议单号:</text>
|
||||
<text style="font-size:30rpx;color:black;">{{item.sn}}</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;color:#4C84FF;">
|
||||
<text>状态:</text>
|
||||
<text>已完成</text>
|
||||
</view>
|
||||
<view style="margin-bottom:10rpx;">
|
||||
<text>建议时间:</text>
|
||||
<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<text>描述:</text>
|
||||
<text>{{item.content}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
|
||||
</view>
|
62
miniprogram/pages/complaint/complaint.wxss
Normal file
@ -0,0 +1,62 @@
|
||||
.page{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.next{
|
||||
margin-left: 5%;
|
||||
width: 90% !important;
|
||||
position: fixed;
|
||||
bottom: 4%;
|
||||
}
|
||||
.swiper-tab {
|
||||
width: 100%;
|
||||
background-color: white;
|
||||
border-bottom: 2rpx solid #ccc;
|
||||
text-align: center;
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
swiper {
|
||||
width: 100%;
|
||||
height: 92%;
|
||||
}
|
||||
|
||||
scroll-view {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #F3F3F3;
|
||||
}
|
||||
|
||||
.swiper-tab-item {
|
||||
display: inline-block;
|
||||
width: 25%;
|
||||
color: #4A4A4A;
|
||||
}
|
||||
|
||||
.active {
|
||||
color: #4C84FF;
|
||||
border-bottom: 4rpx solid #4C84FF;
|
||||
}
|
||||
|
||||
.contenBox {
|
||||
background-color: white;
|
||||
padding: 2% 4%;
|
||||
margin-top: 20rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.evaluate {
|
||||
border: 1rpx solid #C11D24;
|
||||
color: #C11D24;
|
||||
width: 140rpx;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
border-radius: 8rpx;
|
||||
position: absolute;
|
||||
bottom: 6%;
|
||||
right: 2%;
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
let app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
currentTab: 0,
|
||||
IMG_NAME: app.IMG_NAME
|
||||
},
|
||||
|
||||
onLoad(e) {
|
||||
let that = this
|
||||
let img = []
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/suggestion/list?id=' + e.id, {}, function (res) {
|
||||
if (res.code == 0) {
|
||||
res.data[0].images.forEach(item => {
|
||||
img.push(app.IMG_NAME + item.name)
|
||||
})
|
||||
console.log(img)
|
||||
that.setData({
|
||||
repairList: res.data[0],
|
||||
imgUrl: img
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//滑动切换
|
||||
swiperTab(e) {
|
||||
var that = this
|
||||
that.setData({
|
||||
currentTab: e.detail.current
|
||||
})
|
||||
},
|
||||
|
||||
//点击切换
|
||||
clickTab(e) {
|
||||
var that = this
|
||||
if (this.data.currentTab === e.target.dataset.current) {
|
||||
return false
|
||||
} else {
|
||||
that.setData({
|
||||
currentTab: e.target.dataset.current
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
previewImg(e) {
|
||||
//获取当前图片的下标
|
||||
var index = e.currentTarget.dataset.index
|
||||
//所有图片
|
||||
var imgs = this.data.imgUrl
|
||||
wx.previewImage({
|
||||
//当前显示图片
|
||||
current: imgs[index],
|
||||
//所有图片
|
||||
urls: imgs
|
||||
})
|
||||
},
|
||||
|
||||
repairapply(e) {
|
||||
wx.navigateTo({
|
||||
url: '../evaluate/evaluate?id=' + e.currentTarget.dataset.id,
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "园区建议进度"
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
<scroll-view scroll-y="true">
|
||||
<view class='weui-cell-third'>
|
||||
<view style="background: white;font-size: 32rpx;padding: 4%">
|
||||
<text style="font-size:30rpx;color:black;">建议单号:</text>
|
||||
<text style="font-size:30rpx;color:black;">{{repairList.sn}}</text>
|
||||
</view>
|
||||
<view class="wecentBor">
|
||||
<view class='weui-cell-list'>
|
||||
<view class='weui-cell-line'>
|
||||
<view class='weui-cell-circle'>
|
||||
<view></view>
|
||||
</view>
|
||||
<view class='weui-cell-time' style="padding-left:40rpx;">{{repairList.createTime}}</view>
|
||||
<view class='weui-cell-event' style="padding-left:30rpx;margin-top: 20rpx;">
|
||||
<block wx:for="{{imgUrl}}" wx:key='index'>
|
||||
<view style="width:300rpx;height: 200rpx">
|
||||
<image src="/images/apply02.png" mode="widthFix" style="width:100%"></image>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class='weui-cell-event' style="padding-top: 10rpx;">{{repairList.content}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
187
miniprogram/pages/complaint/complaintDetail/complaintDetail.wxss
Normal file
@ -0,0 +1,187 @@
|
||||
.page {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #F3F3F3;
|
||||
}
|
||||
|
||||
.next {
|
||||
width: 100% !important;
|
||||
height: 100rpx !important;
|
||||
line-height: 100rpx !important;
|
||||
position: fixed;
|
||||
bottom: 18rpx;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
.swiper-tab {
|
||||
width: 100%;
|
||||
background-color: white;
|
||||
border-bottom: 2rpx solid #ccc;
|
||||
text-align: center;
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
swiper {
|
||||
width: 100%;
|
||||
height: 94%;
|
||||
}
|
||||
|
||||
scroll-view {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #F3F3F3;
|
||||
}
|
||||
|
||||
.swiper-tab-item {
|
||||
display: inline-block;
|
||||
width: 25%;
|
||||
color: #4A4A4A;
|
||||
}
|
||||
|
||||
.active {
|
||||
color: #4C84FF;
|
||||
border-bottom: 4rpx solid #4C84FF;
|
||||
}
|
||||
|
||||
.contenBox {
|
||||
background-color: white;
|
||||
padding: 2% 4%;
|
||||
margin-top: 20rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.evaluate {
|
||||
border: 1rpx solid #4C84FF;
|
||||
color: #4C84FF;
|
||||
width: 140rpx;
|
||||
height: 64rpx;
|
||||
text-align: center;
|
||||
line-height: 64rpx;
|
||||
border-radius: 8rpx;
|
||||
position: absolute;
|
||||
bottom: 6%;
|
||||
right: 2%;
|
||||
}
|
||||
|
||||
.padding2 {
|
||||
border-radius: 20rpx;
|
||||
background-color: white;
|
||||
padding: 6% 4%;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 10rpx;
|
||||
line-height: 50rpx;
|
||||
}
|
||||
|
||||
.imageContent {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 31%;
|
||||
padding: 4rpx;
|
||||
height: 200rpx !important;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.weui-cell-third {
|
||||
min-height: 100%;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
.page__title {
|
||||
padding: 30rpx;
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.page__title>view:first-child {
|
||||
text-align: center;
|
||||
font-size: 35rpx;
|
||||
color: #2fb69d;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.page__title>view:last-child {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding-top: 30rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.weui-cell-list {
|
||||
padding: 0 30rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.wecentBor {
|
||||
padding-top: 40rpx;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.weui-cell-line {
|
||||
margin-left: 5px;
|
||||
float: left;
|
||||
border-left: 1px solid #959595;
|
||||
min-height: 100rpx;
|
||||
margin-bottom: -10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.weui-cell-list:first-child .weui-cell-circle {
|
||||
border: 1px solid #959595;
|
||||
}
|
||||
|
||||
.weui-cell-list .weui-cell-circle {
|
||||
position: absolute;
|
||||
left: -10px;
|
||||
top: 0px;
|
||||
background-color: #ffffff;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border: 0;
|
||||
border-radius: 10px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.weui-cell-circle>view {
|
||||
border: 1px solid #959595;
|
||||
border-radius: 5px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background-color: #959595;
|
||||
border-color: 2fb69d;
|
||||
}
|
||||
|
||||
.weui-cell-time {
|
||||
/* float: left; */
|
||||
display:inline-block;
|
||||
font-size: 14px;
|
||||
/* padding-left: 30rpx; */
|
||||
}
|
||||
|
||||
.weui-cell-event {
|
||||
padding-left: 40rpx;
|
||||
/* width: calc(100% - 200rpx); */
|
||||
padding-bottom: 40rpx;
|
||||
color: #939393;
|
||||
}
|
||||
|
||||
.weui-cell-list:last-child .weui-cell-line {
|
||||
border: 0;
|
||||
}
|
||||
.images{
|
||||
height: 40rpx;
|
||||
width: 40rpx;
|
||||
overflow: hidden;
|
||||
display: inline-block
|
||||
}
|
160
miniprogram/pages/complaint/newComplaint/newComplaint.js
Normal file
@ -0,0 +1,160 @@
|
||||
let app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
cursor: 0,
|
||||
hideAdd: 0,
|
||||
ismodify: false,
|
||||
imgUrl: [],
|
||||
content: '',
|
||||
num: 0,
|
||||
imgUrls: []
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(e) {
|
||||
let that = this
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/repair/add', {}, function (res) {
|
||||
if (res.code == 0) {
|
||||
that.setData({
|
||||
parkName: wx.getStorageSync('parkName'),
|
||||
member: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
bindTextAreaBlur(e) {
|
||||
this.setData({
|
||||
content: e.detail.value,
|
||||
'member.content': e.detail.value
|
||||
})
|
||||
},
|
||||
headerInput(e) {
|
||||
var value = e.detail.value
|
||||
var name = e.currentTarget.dataset.name
|
||||
this.setData({
|
||||
["member." + e.currentTarget.dataset.name]: value
|
||||
})
|
||||
},
|
||||
|
||||
previewImg(e) {
|
||||
//获取当前图片的下标
|
||||
var index = e.currentTarget.dataset.index
|
||||
//所有图片
|
||||
var imgs = this.data.imgUrl
|
||||
console.log(imgs[index])
|
||||
wx.previewImage({
|
||||
//当前显示图片
|
||||
current: imgs[index],
|
||||
//所有图片
|
||||
urls: imgs
|
||||
})
|
||||
},
|
||||
chooseimage: function () {
|
||||
var that = this
|
||||
let imgUrl = that.data.imgUrl
|
||||
var num = 9 - imgUrl.length
|
||||
wx.chooseImage({
|
||||
count: num, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success: function (res) {
|
||||
//把每次选择的图push进数组
|
||||
for (let i = 0; i < res.tempFilePaths.length; i++) {
|
||||
imgUrl.push(res.tempFilePaths[i])
|
||||
}
|
||||
if (imgUrl.length == 9) {
|
||||
that.setData({
|
||||
hideAdd: 1
|
||||
})
|
||||
} else {
|
||||
that.setData({
|
||||
hideAdd: 0
|
||||
})
|
||||
}
|
||||
that.setData({
|
||||
imgUrl
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
delImg(e) {
|
||||
let index = e.currentTarget.dataset.index
|
||||
let imgUrl = this.data.imgUrl
|
||||
imgUrl.splice(index, 1)
|
||||
this.setData({
|
||||
imgUrl
|
||||
})
|
||||
},
|
||||
modify() {
|
||||
var ismodify = this.data.ismodify
|
||||
this.setData({
|
||||
ismodify: ismodify == true ? false : true
|
||||
})
|
||||
},
|
||||
apply() {
|
||||
let that = this
|
||||
let member = that.data.member
|
||||
var img = []
|
||||
if (!member.content) {
|
||||
wx.showToast({
|
||||
icon: 'none',
|
||||
title: '请输入问题和建议',
|
||||
})
|
||||
return false
|
||||
}
|
||||
if (that.data.imgUrl.length > 0) {
|
||||
var num = 0
|
||||
that.data.imgUrl.forEach(item => {
|
||||
app.Upload(item, function (res) {
|
||||
if (res.code == 0) {
|
||||
img.push({
|
||||
name: res.fileName,
|
||||
url: res.url,
|
||||
uid: num
|
||||
})
|
||||
that.setData({
|
||||
imgUrls: img
|
||||
})
|
||||
num++
|
||||
}
|
||||
if (num == that.data.imgUrl.length) {
|
||||
that.savefun()
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
that.savefun()
|
||||
}
|
||||
},
|
||||
|
||||
savefun() {
|
||||
let that = this
|
||||
let member = that.data.member
|
||||
app.AjaxRequest('POST', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/suggestion/save', {
|
||||
content: that.data.content,
|
||||
images: that.data.imgUrls
|
||||
}, function (res) {
|
||||
if (res.code == 0) {
|
||||
wx.showToast({
|
||||
title: '提交成功',
|
||||
icon: 'none',
|
||||
success: (res) => {
|
||||
wx.navigateBack()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "园区建议"
|
||||
}
|
24
miniprogram/pages/complaint/newComplaint/newComplaint.wxml
Normal file
@ -0,0 +1,24 @@
|
||||
<scroll-view scroll-y="true" class="page">
|
||||
|
||||
<view style="width:100%;margin:20rpx auto;background:white;padding:4%;box-sizing:border-box;">
|
||||
<view style="margin-bottom:10rpx;display:flex;">
|
||||
<view style="width:26%;">问题和建议:</view>
|
||||
<textarea style="height:200rpx;line-height:20rpx;" bindinput="bindTextAreaBlur"
|
||||
placeholder="请详细描述您遇到的问题,以便我们更好为您解决(200字内)" value="{{content}}" maxlength='200'></textarea>
|
||||
</view>
|
||||
<!-- <view style="text-align:right">
|
||||
<text>{{cursor}}</text>
|
||||
<text class="textcolor">/200</text>
|
||||
</view> -->
|
||||
<view class="imageContent">
|
||||
<image wx:for="{{imgUrl}}" wx:key='index' data-index="{{index}}" src="{{item}}" mode='widthFix' class="image"
|
||||
bindtap="previewImg">
|
||||
<view style="position:absolute;top:10rpx;right:10rpx;" catchtap="delImg" data-index="{{index}}">
|
||||
<text class="iconfont iconcha" style="color:white;font-size:26rpx"></text>
|
||||
</view>
|
||||
</image>
|
||||
<image wx:if="{{hideAdd == 0}}" bindtap="chooseimage" src='../../../images/add.png' class='image'></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn" bindtap="apply">立即提交</view>
|
||||
</scroll-view>
|
81
miniprogram/pages/complaint/newComplaint/newComplaint.wxss
Normal file
@ -0,0 +1,81 @@
|
||||
.page {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #F3F3F3;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.borderBottoms{
|
||||
border-bottom: 1rpx solid #F5F6F8;
|
||||
}
|
||||
|
||||
.contenBox {
|
||||
position: relative;
|
||||
background-color: white;
|
||||
padding: 4% 6%;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
|
||||
.modify {
|
||||
font-size: 24rpx;
|
||||
border: 1rpx solid #4C84FF;
|
||||
color: #4C84FF;
|
||||
width: 100rpx;
|
||||
height: 44rpx;
|
||||
text-align: center;
|
||||
line-height: 44rpx;
|
||||
border-radius: 50rpx;
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
right: 6%;
|
||||
}
|
||||
|
||||
.btn {
|
||||
font-size: 30rpx;
|
||||
width: 90%;
|
||||
line-height: 100rpx;
|
||||
background-color: #4C84FF;
|
||||
color: white;
|
||||
text-align: center;
|
||||
border-radius: 50rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 40rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
input,
|
||||
textarea {
|
||||
width: 80%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.imageContent {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 31%;
|
||||
padding: 4rpx;
|
||||
height: 200rpx !important;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.headerInput {
|
||||
width: 60%;
|
||||
height: 100%;
|
||||
/* background: #F3F3F3; */
|
||||
border-radius: 8rpx;
|
||||
/* border: 1rpx solid #A5A5A5; */
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
|
||||
.headerBox {
|
||||
padding: 20rpx 0;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
display: flex
|
||||
}
|
40
miniprogram/pages/compoments/timeAxis/timeAxis.js
Normal file
@ -0,0 +1,40 @@
|
||||
Component({
|
||||
options: {
|
||||
multipleSlots: true
|
||||
},
|
||||
|
||||
properties: {
|
||||
isCurent:{
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
isShowLeftLine: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
axisTitle: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
axisTime:{
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
textArray:{
|
||||
type: Array,
|
||||
value:[]
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
data: {
|
||||
|
||||
},
|
||||
ready() {
|
||||
console.log( this.data.textArray)
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
}
|
||||
})
|
4
miniprogram/pages/compoments/timeAxis/timeAxis.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
19
miniprogram/pages/compoments/timeAxis/timeAxis.wxml
Normal file
@ -0,0 +1,19 @@
|
||||
<view class='itemTimeZ'>
|
||||
<!-- 左边 -->
|
||||
<view class='leftView'>
|
||||
<view class='{{isCurent===true?"roundVIew":"outRoundVIew"}}'></view>
|
||||
<view wx:if="{{isShowLeftLine}}" class='leftLine'>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 右边 -->
|
||||
<view class='rightContent'>
|
||||
<slot name="rightChilren"></slot>
|
||||
<block wx:if="{{textArray.length>0}}">
|
||||
<text wx:for="{{textArray}}" wx:key="unique"
|
||||
class='{{isCurent === true? "curentTitle" : "outTitle"}}'>{{item}}</text>
|
||||
</block>
|
||||
<text wx:if="{{axisTitle!=''}}" class='{{isCurent === true? "curentTitle" : "outTitle"}}'>{{axisTitle}}</text>
|
||||
<text class='{{isCurent === true? "curentTime" : "outTime"}}'>{{axisTime}}</text>
|
||||
</view>
|
||||
</view>
|
68
miniprogram/pages/compoments/timeAxis/timeAxis.wxss
Normal file
@ -0,0 +1,68 @@
|
||||
.itemTimeZ {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
padding: 0px 15px 0 15px;
|
||||
}
|
||||
|
||||
.leftView {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
.roundVIew {
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
border-radius: 4.5px;
|
||||
background: red;
|
||||
}
|
||||
|
||||
.outRoundVIew {
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
border-radius: 4.5px;
|
||||
background: #999;
|
||||
}
|
||||
|
||||
.leftLine {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
width: 1px;
|
||||
margin-left: 3.5px;
|
||||
padding-bottom: 6px;
|
||||
background: #DADADA;
|
||||
}
|
||||
|
||||
.rightContent {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
margin-top: -6px;
|
||||
margin-left: 15px;
|
||||
padding-bottom: 24px;
|
||||
|
||||
}
|
||||
|
||||
.curentTitle {
|
||||
font-size: 16px;
|
||||
line-height: 22.5px;
|
||||
color: #fe473c
|
||||
}
|
||||
|
||||
.curentTime {
|
||||
font-size: 14px;
|
||||
color: #fe473c
|
||||
}
|
||||
|
||||
.outTitle {
|
||||
font-size: 16px;
|
||||
line-height: 22.5px;
|
||||
color: #999
|
||||
}
|
||||
|
||||
.outTime {
|
||||
font-size: 14px;
|
||||
color: #999
|
||||
}
|
56
miniprogram/pages/enterpriseSelect/enterpriseSelect.js
Normal file
@ -0,0 +1,56 @@
|
||||
let app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
DOMAIN_NAME: app.DOMAIN_NAME,
|
||||
currentTab: 0,
|
||||
homelist: [],
|
||||
name: ''
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
this.getList()
|
||||
},
|
||||
getList(searchValue) {
|
||||
var that = this
|
||||
app.AjaxRequest('post', {
|
||||
'content-type': 'application/json'
|
||||
}, '/user/search_customer', {
|
||||
searchValue
|
||||
}, function (res) {
|
||||
if (res.code == 0) {
|
||||
that.setData({
|
||||
homelist: res.data
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
navDetail(e) {
|
||||
const eventChannel = this.getOpenerEventChannel()
|
||||
let homelist = this.data.homelist
|
||||
let index = e.currentTarget.dataset.index
|
||||
console.log(e)
|
||||
wx.navigateBack({
|
||||
url: '../logs/logs',
|
||||
success() {
|
||||
eventChannel.emit('acceptDataFromOpenedPage', {
|
||||
data: homelist[index]
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getName(e) {
|
||||
this.setData({
|
||||
name: e.detail.value
|
||||
})
|
||||
},
|
||||
search() {
|
||||
this.getList(this.data.name)
|
||||
}
|
||||
})
|
4
miniprogram/pages/enterpriseSelect/enterpriseSelect.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "选择企业"
|
||||
}
|
20
miniprogram/pages/enterpriseSelect/enterpriseSelect.wxml
Normal file
@ -0,0 +1,20 @@
|
||||
<view class='borderTop borderBottom' style='height:100rpx;background:white;display:flex'>
|
||||
<input type="text" bindinput="getName"/>
|
||||
<view style="width:22%;text-align:center;line-height:100rpx;font-size:30rpx;color:#6C6C6C" bindtap="search">搜索</view>
|
||||
</view>
|
||||
<scroll-view style="height:92%;background:white;" scroll-y="true">
|
||||
<view wx:for='{{homelist}}' wx:key="index" data-index="{{index}}" bindtap="navDetail">
|
||||
<view class="detailbox">
|
||||
<view class="{{item.border? '':'borderBottom'}}" style="margin-left:22%;padding: 3% 0;">
|
||||
<view class="titleC"
|
||||
style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size:12pt;margin:0;">{{item.name}}
|
||||
</view>
|
||||
<view class="detailTextC">{{item.sector}}</view>
|
||||
<view class="detailTextC">{{item.parkName}}</view>
|
||||
<image src="/images/user-unlogin.png"
|
||||
style="width:100rpx;height:100rpx;overflow:hidden;border-radius:50%;position:absolute;top:38rpx;left:36rpx;"
|
||||
mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
13
miniprogram/pages/enterpriseSelect/enterpriseSelect.wxss
Normal file
@ -0,0 +1,13 @@
|
||||
.detailbox{
|
||||
position: relative;
|
||||
}
|
||||
input{
|
||||
width: 72%;
|
||||
height: 80rpx;
|
||||
margin-top: 10rpx;
|
||||
margin-left: 6%;
|
||||
background-color: #F3F3F3;
|
||||
border-radius: 8rpx;
|
||||
box-sizing: border-box;
|
||||
padding-left: 20rpx;
|
||||
}
|
112
miniprogram/pages/enterpriseServices/enterpriseServices.js
Normal file
@ -0,0 +1,112 @@
|
||||
let app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
IMG_NAME: app.IMG_NAME,
|
||||
// 轮播
|
||||
bannerUrls: [{
|
||||
url: 'https://www.71big.com/heqing/zhaojingwang/common/images/banner1.jpg',
|
||||
linkUrl: ''
|
||||
},
|
||||
{
|
||||
url: 'https://www.71big.com/heqing/zhaojingwang/common/images/banner1.jpg',
|
||||
linkUrl: ''
|
||||
},
|
||||
{
|
||||
url: 'https://www.71big.com/heqing/zhaojingwang/common/images/banner1.jpg',
|
||||
linkUrl: ''
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
noMore: 0,
|
||||
loadingFailed: false,
|
||||
pageNo: 1,
|
||||
indicatorDots: true,
|
||||
autoplay: true,
|
||||
interval: 3000,
|
||||
duration: 1000,
|
||||
type: '1',
|
||||
list: [],
|
||||
myOrderList: []
|
||||
},
|
||||
onLoad(e) {
|
||||
wx.setNavigationBarTitle({
|
||||
title: '服务',
|
||||
})
|
||||
let that = this
|
||||
if (e.type) {
|
||||
that.setData({
|
||||
type: '2'
|
||||
})
|
||||
wx.setNavigationBarTitle({
|
||||
title: '我的服务',
|
||||
})
|
||||
}
|
||||
},
|
||||
onShow(e) {
|
||||
var that = this
|
||||
app.AjaxRequest('get', {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + app.Getopenid()
|
||||
}, '/menu/list', {}, function (res) {
|
||||
that.setData({
|
||||
list: res.data
|
||||
})
|
||||
})
|
||||
},
|
||||
bannernav(e) {
|
||||
wx.navigateTo({
|
||||
url: e.currentTarget.dataset.uri,
|
||||
})
|
||||
},
|
||||
//轮播高度自适应——获取图片高度
|
||||
imgHeight: function (e) {
|
||||
var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
|
||||
var imgh = e.detail.height; //图片高度
|
||||
var imgw = e.detail.width; //图片宽度
|
||||
var swiperH = winWid * imgh / imgw + "px"
|
||||
this.setData({
|
||||
Height: swiperH //设置高度
|
||||
})
|
||||
},
|
||||
changeType(e) {
|
||||
this.setData({
|
||||
type: e.currentTarget.dataset.type
|
||||
})
|
||||
if (e.currentTarget.dataset.type == 2) {
|
||||
wx.setNavigationBarTitle({
|
||||
title: '我的服务',
|
||||
})
|
||||
}
|
||||
},
|
||||
navapply(e) {
|
||||
let data = JSON.stringify(e.currentTarget.dataset.objlist)
|
||||
wx.navigateTo({
|
||||
url: '../enterpriseServices/serviceList/serviceList?data=' + data,
|
||||
})
|
||||
},
|
||||
navDetail(e) {
|
||||
wx.navigateTo({
|
||||
url: '../enterpriseServices/serviceDetail/serviceDetail?id=' + e.currentTarget.dataset.id,
|
||||
})
|
||||
},
|
||||
//请求数据
|
||||
getData(isPage) {
|
||||
let that = this
|
||||
let params = {
|
||||
pageNum: that.data.pageNo,
|
||||
pageSize: 10
|
||||
}
|
||||
that.setData({
|
||||
loading: false
|
||||
})
|
||||
},
|
||||
scrollToLower: function (e) {
|
||||
if (!this.data.loading && !this.data.noMore) {
|
||||
this.setData({
|
||||
loading: true,
|
||||
pageNo: this.data.pageNo + 1
|
||||
})
|
||||
this.getData(true);
|
||||
}
|
||||
},
|
||||
})
|