Browse Source

代码更新

master
pangdongxu 3 days ago
parent
commit
469195f1ea
53 changed files with 1861 additions and 427 deletions
  1. +17
    -4
      app.json
  2. +1
    -0
      component/editor/editor.js
  3. +4
    -5
      component/editor/editor.wxml
  4. +0
    -2
      component/editor/editor.wxss
  5. BIN
      image/apply/MSYH.png
  6. BIN
      image/icon/cancel_icon.png
  7. BIN
      image/icon/cancel_icon2.png
  8. BIN
      image/index/nav_dlzh.png
  9. BIN
      image/index/nav_jymx.png
  10. BIN
      image/index/nav_pjqs.png
  11. BIN
      image/index/nav_pjsy.png
  12. BIN
      image/index/nav_sztj.png
  13. BIN
      image/index/nav_zzdz.png
  14. +2
    -2
      pages/apply/index.wxml
  15. +4
    -0
      pages/apply/index.wxss
  16. +211
    -171
      pages/apply/paymentTemplate/addNew/addNew.js
  17. +25
    -5
      pages/apply/paymentTemplate/addNew/addNew.wxml
  18. +183
    -0
      pages/discussions/detail/detail.js
  19. +8
    -0
      pages/discussions/detail/detail.json
  20. +44
    -0
      pages/discussions/detail/detail.wxml
  21. +46
    -0
      pages/discussions/detail/detail.wxss
  22. +242
    -0
      pages/discussions/form/form.js
  23. +10
    -0
      pages/discussions/form/form.json
  24. +36
    -0
      pages/discussions/form/form.wxml
  25. +92
    -0
      pages/discussions/form/form.wxss
  26. +136
    -0
      pages/discussions/list.js
  27. +17
    -0
      pages/discussions/list.json
  28. +42
    -0
      pages/discussions/list.wxml
  29. +348
    -0
      pages/discussions/list.wxss
  30. +17
    -1
      pages/fixedAssets/fixedAssets.wxml
  31. +1
    -1
      pages/fixedAssets/fixedAssets.wxss
  32. +3
    -1
      pages/index/index.js
  33. +6
    -1
      pages/index/index.wxml
  34. +27
    -8
      pages/majorEvent/add/add.js
  35. +34
    -18
      pages/majorEvent/add/add.wxml
  36. +1
    -134
      pages/noLoginIndex.wxml
  37. +1
    -1
      pages/noLoginIndex.wxss
  38. +1
    -1
      pages/payee/add/add.js
  39. +1
    -1
      pages/payee/add/add.wxml
  40. +4
    -6
      pages/payee/index.js
  41. +7
    -2
      pages/paymentManager/toPay/toPay.js
  42. +1
    -1
      pages/paymentManager/toPay/toPay.wxml
  43. +23
    -14
      pages/phoneLogin.wxml
  44. +39
    -14
      pages/phoneLogin.wxss
  45. +20
    -0
      pages/transaction/transaction.js
  46. +8
    -1
      pages/transaction/transaction.wxml
  47. +75
    -10
      pages/user/login/login.wxml
  48. +1
    -1
      pages/user/login/login.wxss
  49. +9
    -1
      pages/user/region/region.js
  50. +24
    -11
      pages/user/region/region.wxml
  51. +23
    -8
      pages/user/region/region.wxss
  52. +50
    -1
      project.private.config.json
  53. +17
    -1
      utils/API.js

+ 17
- 4
app.json View File

@@ -21,9 +21,6 @@
"pages/bill/bill",
"pages/statistics/statistics",
"pages/user/region/region",
"pages/resources/resources",
"pages/resources/detail/detail",
"pages/resources/edit/edit",
"pages/phoneLogin"
],
"subPackages": [
@@ -159,6 +156,22 @@
"list/list",
"detail/detail"
]
},
{
"root": "pages/resources/",
"pages": [
"resources",
"edit/edit",
"detail/detail"
]
},
{
"root": "pages/discussions/",
"pages": [
"list",
"form/form",
"detail/detail"
]
}
],
"window": {
@@ -166,7 +179,7 @@
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "农燊高科",
"navigationBarTitleText": "中农融信",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json",


+ 1
- 0
component/editor/editor.js View File

@@ -24,6 +24,7 @@ Component({
},
ready() {
const platform = wx.getSystemInfoSync().platform
console.log(platform);
const isIOS = platform === 'ios'
this.setData({
isIOS


+ 4
- 5
component/editor/editor.wxml View File

@@ -1,7 +1,4 @@
<editor id="editor" class="ql-container" placeholder="{{placeholder}}" bindstatuschange="onStatusChange" bindready="onEditorReady" bindinput="getContent" style="width:{{width}};height:{{height}};" show-img-size show-img-toolbar show-img-resize>
</editor>

<view class="toolbar" catchtouchend="format" hidden="{{keyboardHeight > 0 ? false : true}}" style="bottom: {{isIOS ? keyboardHeight : 0}}px">
<view class="toolbar" catchtouchend="format" hidden="{{false}}">
<!-- 官方案例 -->
<!-- <i class="iconfont icon-charutupian" catchtouchend="insertImage"></i>
<i class="iconfont icon-format-header-2 {{formats.header === 2 ? 'ql-active' : ''}}" data-name="header" data-value="{{2}}"></i>
@@ -47,4 +44,6 @@
<!-- <i class="iconfont icon-quanping"></i> -->
<i class="iconfont icon-shanchu" bindtap="clear"></i>
<i class="iconfont icon-direction-rtl {{formats.direction === 'rtl' ? 'ql-active' : ''}}" data-name="direction" data-value="rtl"></i>
</view>
</view>
<editor id="editor" class="ql-container" placeholder="{{placeholder}}" bindstatuschange="onStatusChange" bindready="onEditorReady" bindinput="getContent" style="width:{{width}};height:{{height}};" show-img-size show-img-toolbar show-img-resize>
</editor>

+ 0
- 2
component/editor/editor.wxss View File

@@ -20,9 +20,7 @@

.toolbar {
padding: 0 16rpx;
height: 200rpx;
width: 100%;
position: fixed;
left: 0;
right: 100%;
bottom: 0;


BIN
image/apply/MSYH.png View File

Before After
Width: 22  |  Height: 22  |  Size: 930 B

BIN
image/icon/cancel_icon.png View File

Before After
Width: 52  |  Height: 52  |  Size: 1.7 KiB

BIN
image/icon/cancel_icon2.png View File

Before After
Width: 52  |  Height: 52  |  Size: 984 B

BIN
image/index/nav_dlzh.png View File

Before After
Width: 34  |  Height: 36  |  Size: 1.4 KiB

BIN
image/index/nav_jymx.png View File

Before After
Width: 40  |  Height: 34  |  Size: 867 B

BIN
image/index/nav_pjqs.png View File

Before After
Width: 39  |  Height: 33  |  Size: 1.7 KiB

BIN
image/index/nav_pjsy.png View File

Before After
Width: 40  |  Height: 32  |  Size: 898 B

BIN
image/index/nav_sztj.png View File

Before After
Width: 37  |  Height: 35  |  Size: 840 B

BIN
image/index/nav_zzdz.png View File

Before After
Width: 41  |  Height: 35  |  Size: 962 B

+ 2
- 2
pages/apply/index.wxml View File

@@ -17,9 +17,9 @@
<text class="zt">{{item.bankUseType == 1 ?'基本户':'一般户'}}</text>
<image src="../../image/apply/bgt.png" wx:if="{{item.bankUseType == 1}}" style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<image src="../../image/apply/bgy.png" wx:else style="width: 100%;position: absolute;top:0;right:0;z-index: 9;height: 100%;"></image>
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':'bank_other'}}">
<view class="bank_content {{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'bank_other'}}">
<view class="bankName">
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':'other'}}.png" style="width: 25px" mode="widthFix"></image>
<image src="../../image/apply/{{iOf.indexOf(item.bankTypeText,'中国银行') > -1 ? 'ICBC':iOf.indexOf(item.bankTypeText,'农商行') > -1 ? 'RCB':iOf.indexOf(item.bankTypeText,'农业银行') > -1 ? 'ABC':iOf.indexOf(item.bankTypeText,'建设银行') > -1 ? 'CCB':iOf.indexOf(item.bankTypeText,'邮储银行') > -1 ? 'EMS':iOf.indexOf(item.bankTypeText,'工商银行') > -1 ? 'BOC':iOf.indexOf(item.bankTypeText,'中原银行') > -1 ? 'ZYB':iOf.indexOf(item.bankTypeText,'民生') > -1 ? 'MSYH':'other'}}.png" style="width: 25px" mode="widthFix"></image>
<text>{{item.accountName}}</text>
</view>


+ 4
- 0
pages/apply/index.wxss View File

@@ -72,6 +72,10 @@
background:url('https://www.nongshen.net/static/wechat/bank_ZYB.png') no-repeat center;
background-size: 105% 105%;
}
.MSYH{
background:url('https://www.nongshen.net/static/wechat/bank_MSYH.png') no-repeat center;
background-size: 105% 105%;
}
.bank_other{
background:url('https://www.nongshen.net/static/wechat/bank_other.png') no-repeat center;
background-size: 105% 105%;


+ 211
- 171
pages/apply/paymentTemplate/addNew/addNew.js View File

@@ -178,7 +178,7 @@ Page({
payerAccount:'',//付款方账户
bankType:'',//所属银行
bankTypeText:'',//所属银行(展示用)
isPeers:'N',//是否同行
isPeers:'',//是否同行
operatorCode:'',//操作员代码
enterpriseCode:'',//企业编码
expenditureAmount:'',//支出总金额
@@ -198,6 +198,7 @@ Page({
endTime:'',//到期日期
orderType:'',//汇票类型
bankAccountType:'2',//账户类别1 公户2私户
accountType:'1',//账户类别1 公户2私户
villageAccountType:'',//账户分类
payeeList:[{//收款方账户集合
payeeId:'0',//收款方id
@@ -259,6 +260,7 @@ Page({
showFile:false,
showCapitalExpenditureType:false,
showSteps:false,
showAccountType:false,
activeStepsNames: 0,
},

@@ -304,6 +306,13 @@ Page({
})
}
})
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_account_type', {method:'GET'}, {
success: (res) => {
that.setData({
bankAccountTypeOptions:res.data,
})
}
})
// 项目工程列表
UTIL.httpRequest(API.URL_GET_GETPROJECTLIST , {method:'GET'}, {
success: (res) => {
@@ -730,6 +739,12 @@ Page({
// 所属银行字典查询
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bank_type', {method:'GET'}, {
success: (res) => {
if(event.detail.value.bankType != 10){
this.setData({
['form.accountType']: ''
})
}
this.setData({
[event.currentTarget.dataset.name]: false,
[event.currentTarget.dataset.value+'.payer']: event.detail.value.accountName,
@@ -739,7 +754,7 @@ Page({
[event.currentTarget.dataset.value+'.bankType']: event.detail.value.bankType,
[event.currentTarget.dataset.value+'.payerAccount']:event.detail.value.bankAccountNumber,
[event.currentTarget.dataset.value+'.balance']:event.detail.value.balance,
[event.currentTarget.dataset.value+'.isPeers']:"N",
[event.currentTarget.dataset.value+'.isPeers']:"",
[event.currentTarget.dataset.value+'.payeeList'] : [{//收款方账户集合
payeeId:'0',//收款方id
payee:'',//收款方
@@ -932,15 +947,28 @@ Page({
UTIL.showToastNoneIcon('请先选择付款方!');
return;
}
if(event.currentTarget.dataset.banktype == 10){
if(event.currentTarget.dataset.childaccounttype == null || event.currentTarget.dataset.childaccounttype == ''){
UTIL.showToastNoneIcon('请先选择账户类型!');
return;
}
}else{
event.currentTarget.dataset.accounttype = '';
this.setData({
['form.accountType']: ''
})
}
if(this.data.form.payeeList.length>10){
return;
}
if(event.currentTarget.dataset.accounttype == null ){
event.currentTarget.dataset.accounttype = ''
}
// if(event.currentTarget.dataset.accounttype == null ){
// event.currentTarget.dataset.accounttype = ''
// }
// '/pages/payee/index?isPeers='+event.currentTarget.dataset.ispeers+'&bankType='+event.currentTarget.dataset.banktype+'&accountType='+event.currentTarget.dataset.accounttype+'&transferType='+event.currentTarget.dataset.transfertype + '&index='+event.currentTarget.dataset.index+'&money='+this.data.form.transfers
console.log(this.data.form.isPeers);
console.log(event.currentTarget.dataset.isPeers);
wx.navigateTo({
url: '/pages/payee/index?transferType='+event.currentTarget.dataset.transfertype+'&money='+this.data.form.expenditureAmount + '&index='+event.currentTarget.dataset.index + '&isPeers='+this.data.form.isPeers+'&bankType='+event.currentTarget.dataset.banktype,
url: '/pages/payee/index?transferType='+event.currentTarget.dataset.transfertype+'&money='+this.data.form.expenditureAmount + '&index='+event.currentTarget.dataset.index + '&isPeers='+event.currentTarget.dataset.ispeers+'&bankType='+event.currentTarget.dataset.banktype+'&accountType='+event.currentTarget.dataset.accounttype,
})
},
goPayee(event){
@@ -1692,7 +1720,7 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
camera: 'back',
count: 1,
count: 9,
success(res) {
console.log(res);
res.tempFiles.forEach(item => {
@@ -1705,48 +1733,54 @@ Page({
})
})
console.log(fileForm);
let tem = that.data.form.SJimage?that.data.form.SJimage:[];
res.tempFiles.forEach(r=>{
tem.push({
tempFilePath:r.tempFilePath
})
})
console.log(tem);
that.setData({
["form.SJimage"]:tem,
["form.fileForm"]:fileForm,
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})

const element = fileForm[0];
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: res.tempFiles[0].tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}

let tem = that.data.form.SJimage?that.data.form.SJimage:[];

fileForm.forEach( (rr,index) => {
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: rr.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:rr,
success (response){
let data = JSON.parse(response.data);
console.log(data);
tem.push({
tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl,
id:data.id
})
console.log(tem);
that.setData({
["form.SJimage"]:tem,
["form.fileForm"]:fileForm,
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})
})

},fail(err){
console.log(err);
@@ -1761,7 +1795,7 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
camera: 'back',
count: 1,
count: 9,
success(res) {
console.log(res);
res.tempFiles.forEach(item => {
@@ -1776,48 +1810,48 @@ Page({

let tem = that.data.form.FPimage?that.data.form.FPimage:[];

res.tempFiles.forEach(r=>{
tem.push({
tempFilePath:r.tempFilePath
})
})
fileForm.forEach( rr => {
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: rr.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:rr,
success (response){
let data = JSON.parse(response.data);
console.log(data);
tem.push({
tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl,
id:data.id
})
console.log(tem);
that.setData({
["form.FPimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})

const element = fileForm[0];
console.log(element);
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: res.tempFiles[0].tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
console.log(tem);
that.setData({
["form.FPimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})
})
},fail(err){
console.log(err);
@@ -1831,7 +1865,7 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
camera: 'back',
count: 1,
count: 9,
success(res) {
console.log(res);
res.tempFiles.forEach(item => {
@@ -1846,46 +1880,47 @@ Page({
console.log(fileForm);
let tem = that.data.form.QTimage?that.data.form.QTimage:[];

res.tempFiles.forEach(r=>{
tem.push({
tempFilePath:r.tempFilePath
fileForm.forEach( rr => {
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: rr.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:rr,
success (response){
let data = JSON.parse(response.data);
console.log(data);
tem.push({
tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl,
id:data.id
})
that.setData({
["form.QTimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})
})
that.setData({
["form.QTimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})

const element = fileForm[0];
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: res.tempFiles[0].tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})

},fail(err){
console.log(err);
@@ -1899,7 +1934,7 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
camera: 'back',
count: 1,
count: 9,
success(res) {
console.log(res);
res.tempFiles.forEach(item => {
@@ -1914,46 +1949,47 @@ Page({
console.log(fileForm);
let tem = that.data.form.SYLGKimage?that.data.form.SYLGKimage:[];

res.tempFiles.forEach(r=>{
tem.push({
tempFilePath:r.tempFilePath
fileForm.forEach( rr => {
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: rr.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:rr,
success (response){
let data = JSON.parse(response.data);
console.log(data);
tem.push({
tempFilePath:wx.getStorageSync('dressCode')+data.fileUrl,
id:data.id
})
that.setData({
["form.SYLGKimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})
})
that.setData({
["form.SYLGKimage"]:tem,
["form.fileForm"]:fileForm
})
let SJlength = that.data.form.SJimage == undefined ? 0:that.data.form.SJimage.length;
let FPlength = that.data.form.FPimage == undefined ? 0:that.data.form.FPimage.length;
let QTlength = that.data.form.QTimage == undefined ? 0:that.data.form.QTimage.length;
let SYLGKlength = that.data.form.SYLGKimage == undefined ? 0:that.data.form.SYLGKimage.length;
let fileNum = parseInt( SJlength ) + parseInt( FPlength ) + parseInt( QTlength ) + parseInt( SYLGKlength ) ;
that.setData({
["form.fileNum"]:fileNum,
})

const element = fileForm[0];
wx.uploadFile({
url: wx.getStorageSync('dressCode')+API.URL_GET_UPLOAD,
filePath: res.tempFiles[0].tempFilePath,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:element,
success (response){
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
})
},
fail(res){
console.log(res)
}
})

},fail(err){
console.log(err);
@@ -2327,13 +2363,13 @@ Page({
}
options.splice(e.currentTarget.dataset.index,1);
let length = this.data.form.fileNum - 1;
this.setData({
[e.currentTarget.dataset.name]:options,
["form.fileNum"]:length,
["form.fileForm"]:file,
})
UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+e.currentTarget.dataset.id , {method:'GET'}, {
success: (res) => {
this.setData({
[e.currentTarget.dataset.name]:options,
["form.fileNum"]:length,
["form.fileForm"]:file,
})
wx.showToast({
title: '删除成功!',
icon: 'success',
@@ -2425,6 +2461,10 @@ Page({
},
addPayee(){
console.log(this.data.form.payeeList);
if(this.data.form.payeeList.length > 10){
UTIL.showToastNoneIcon('收款方过多,请使用批量上传功能');
return;
}
for(let i = 0 ; i < this.data.form.payeeList.length ; i++ ){
if(!this.data.form.payeeList[i].payee && !this.data.form.payeeList[i].payeeAccount && !this.data.form.payeeList[i].bankDeposit && !this.data.form.payeeList[i].bankTypeText){
UTIL.showToastNoneIcon('请勿添加多个空付款人');


+ 25
- 5
pages/apply/paymentTemplate/addNew/addNew.wxml View File

@@ -240,7 +240,7 @@
</view>
<!-- 转账附言 start -->
<view class="main-box table-box" style="margin-top: 10px;">
<van-field value="{{form.remark}}" required label="转账附言" type="textarea" maxlength="{{form.bankType == '5'?'10':form.bankType == '6' || form.bankType == '7'?'20':'30'}}" show-word-limit="true" autosize="{{autosize}}" placeholder="附言请尽量简洁减少标点符号的使用,详情可在”说明情况“中描述" border="{{ false }}" input-align="right" bind:input="onChangeZZFY" data-value="form.remark"/>
<van-field value="{{form.remark}}" required label="转账附言" type="textarea" maxlength="{{form.bankType == '5'?'10':form.bankType == '6' || form.bankType == '7'?'20':'30'}}" show-word-limit="true" autosize="{{autosize}}" placeholder="附言请尽量简洁并减少标点符号的使用,对私转账时不要出现工资、奖金和劳务费,详情可在‘说明情况’中描述。" border="{{ false }}" input-align="right" bind:input="onChangeZZFY" data-value="form.remark"/>
</view>
<!-- 转账附言 end -->

@@ -251,11 +251,11 @@
<!-- 说明情况 end -->
<view class="payee_box">
<text class="title">收款方信息</text>
<view data-index="{{index}}" data-payer="{{form.payer}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-expenditureAmount="{{form.expenditureAmount}}" data-accountType="{{ form.bankAccountType }}" data-totalAmount="{{form.approvalItemTemplate.totalAmount}}" bindtap="uploadFile">
<view data-index="{{index}}" data-payer="{{form.payer}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-expenditureAmount="{{form.expenditureAmount}}" data-accountType="{{ form.accountType }}" data-totalAmount="{{form.approvalItemTemplate.totalAmount}}" bindtap="uploadFile">
<image src="/image/apply/icon_exel.png" style="width: 15px;height: 15px;"></image>
<text>批量上传</text>
</view>
<view class="add" bind:tap="addPayee">+</view>
<!-- <view class="add" bind:tap="addPayee">+</view> -->
</view>
<view class="main-box table-box" style="margin-bottom: 10px;" wx:if="{{form.bankType == 2 || form.bankType == 3}}">
<van-field required input-align="right" label="行内转账" center border="{{false}}">
@@ -273,12 +273,32 @@
</view>
</van-field>
</view>
<view class="main-box table-box" style="margin-bottom: 10px;"wx:if="{{form.bankType == 10}}">
<!-- -->
<van-field required input-align="right" label="账户类型" center border="{{false}}">
<view slot="input" style="margin-left: auto;">
<van-radio-group
value="{{ form.accountType }}"
bind:change="onChangeHnzz"
data-value="form.accountType"
direction="horizontal"
style="margin-left: auto;"
>
<van-radio name="1" checked-color="#2C8E68">公户</van-radio>
<van-radio name="2" checked-color="#2C8E68">私户</van-radio>
</van-radio-group>
</view>
</van-field>
</view>
<view class="center-box">
<view class="main-box table-box" wx:for="{{form.payeeList}}" wx:if="{{form.payeeList.length <= 10}}" wx:for-index="childrenIndex" wx:key="payeeId">
<view style="background-color: #2C8E68;display: inline-block;width: 20px;height: 20px;text-align: center;border-radius: 50%;position: absolute;top: -10px;right: {{childrenIndex == 0 ? 0 : 30}}px;" wx:if="{{ childrenIndex+1 == form.payeeList.length}}" data-index="{{childrenIndex}}" bind:tap="addPayee">
<van-icon name="plus" color="#ffffff" />
</view>
<view style="background-color: red;display: inline-block;width: 20px;height: 20px;text-align: center;border-radius: 50%;position: absolute;top: -10px;right: 0;" wx:if="{{ childrenIndex > 0}}" data-index="{{childrenIndex}}" bind:tap="removePayer">
<van-icon name="minus" color="#ffffff" />
</view>
<van-field required readonly value="{{ form.payeeList[childrenIndex].payee }}" placeholder="请选择收款方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="goPayeeList" data-payer="{{form.payer}}" data-index="{{childrenIndex}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-accountType="{{ form.bankAccountType }}" data-transferType="{{ form.transferType }}">
<van-field required readonly value="{{ form.payeeList[childrenIndex].payee }}" placeholder="请选择收款方" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction ="down" bindtap="goPayeeList" data-payer="{{form.payer}}" data-index="{{childrenIndex}}" data-isPeers="{{ form.isPeers }}" data-bankType="{{ form.bankType }}" data-accountType="{{ form.accountType }}" data-transferType="{{ form.transferType }}">
<view slot="label" style="color: var(--field-label-color,#646566);">
收款方<van-tag plain type="danger" color="#5CAE77" round style="margin-left:10px;">选择</van-tag>
</view>
@@ -375,7 +395,7 @@
<view class="img_box">
<view class="img_list" wx:for="{{form.SYLGKimage}}" wx:for-index="childrenIndex" wx:key="id">
<image class="img_li" src="{{item.tempFilePath}}" data-option="{{form.SYLGKimage}}" data-index="{{childrenIndex}}" bindtap="openPreview" ></image>
<van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.QTimage" data-options="{{form.SYLGKimage}}" data-id="{{item.id}}" bindtap="deleteimg" />
<van-icon name="/image/apply/img_delete.png" size="14px" data-index="{{childrenIndex}}" data-parentsIndex="{{index}}" data-name="form.SYLGKimage" data-options="{{form.SYLGKimage}}" data-id="{{item.id}}" bindtap="deleteimg" />
</view>
<view class="img_list">
<image class="img_li img_add" src="/image/apply/fj_upload.png" data-index="{{index}}" bindtap="SYLGKtakephoto"></image>


+ 183
- 0
pages/discussions/detail/detail.js View File

@@ -0,0 +1,183 @@
// pages/contract/add/add.js
import * as UTIL from '../../../utils/util.js';
import * as API from '../../../utils/API.js';
const app = getApp();
Page({

/**
* 页面的初始数据
*/
data: {
isIPX: app.globalData.isIPX,
id:null,
voteTypeOptions: [],
voteStatusOptions: [],
voteResultOptions: [],
fileList: [],
form:{}
},
back:function(){
wx.navigateBack({
delta: 1
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({id:options.id})
},
goForm(e){
wx.navigateTo({
url: '../form/form?id='+e.currentTarget.dataset.id,
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},

/**
* 生命周期函数--监听页面显示
*/
onShow() {
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_type', {method:'GET'}, {
success: (res) => {
this.setData({
voteTypeOptions:res.data,
})
}
})
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_status', {method:'GET'}, {
success: (res) => {
this.setData({
voteStatusOptions:res.data,
})
}
})
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_result', {method:'GET'}, {
success: (res) => {
this.setData({
voteResultOptions:res.data,
})
}
})
//获取收入合同状态
UTIL.httpRequest(API.URL_GET_VOTEDETAIL + this.data.id , {method:'GET'}, {
success: (res) => {
res.data.voteStatusText = UTIL.getTransform(res.data.voteStatus,this.data.voteStatusOptions);
res.data.voteTypeText = UTIL.getTransform(res.data.voteType,this.data.voteTypeOptions);
res.data.yesForm = [];
res.data.noForm = [];
res.data.everForm = [];
res.data.detailList.map(rr=>{
rr.voteResultText = UTIL.getTransform(rr.voteResult,this.data.voteResultOptions);
if(rr.voteResult == 1){
res.data.yesForm.push(rr);
}
if(rr.voteResult == 2){
res.data.noForm.push(rr);
}
if(rr.voteResult == 3){
res.data.everForm.push(rr);
}
})
console.log(res.data);
this.setData({'form':res.data});
this.asyncFun(this.data.id);
}
})
},
asyncFun(id){
this.data.form.fileList = [];
let uploadList = this.data.uploadOptions
let newList = []
let _this = this
let oData = {
tableId: id,
tableName: "t_hz_vote", //上传表
bizPath: "subcontract",
method:'GET'
}
UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, {
success: (rr) => {
if(rr.code==200&&rr.rows.length>0){
rr.rows.map((rrr,index) => {
rrr.url = wx.getStorageSync('dressCode') + rrr.fileUrl
if(index==rr.rows.length-1){
newList.push(Object.assign({},{"list":rr.rows}))
_this.setData({"form.fileList":_this.data.fileList.concat(newList)});
}
})
console.log(this.data.fileList);
}else{
let newuploadList = uploadList
newuploadList.map(rd => {
rd.list = newList
})
_this.setData({"form.fileList":newuploadList});
}
}
})
},
lookDown(file,detail){
// 获取指定字符串最后一次出现的位置,返回index
var index1 = file.detail.url.lastIndexOf('.');
// substr(start, length) 抽取从start下标开始的length个字符,返回新的字符串;
var style = file.detail.url.substr(index1 + 1)
//判断图片类型,不需要下载,不做处理
if(style=='png'||style=='jpg'||style=='jpeg'||style=='bmp'||style=='gif'||style=='webp'||style=='psd'||style== 'svg'||style=='tiff'){
//判断非图片类型
}else{
wx.downloadFile({
url: file.detail.url,
success(data){
wx.openDocument({
filePath: data.tempFilePath,
fileType: style,
showMenu:true,
success(res){
}
})
}
})
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {

},

/**
* 生命周期函数--监听页面卸载
*/
onUnload() {

},

/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {

},

/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {

},

/**
* 用户点击右上角分享
*/
onShareAppMessage() {

}
})

+ 8
- 0
pages/discussions/detail/detail.json View File

@@ -0,0 +1,8 @@
{
"navigationStyle": "custom",
"usingComponents": {
"van-cell": "@vant/weapp/cell/index",
"van-upload": "@vant/weapp/uploader/index",
"van-cell-group": "@vant/weapp/cell-group/index"
}
}

+ 44
- 0
pages/discussions/detail/detail.wxml View File

@@ -0,0 +1,44 @@
<!--pages/contract/add/add.wxml-->
<view class="ns" style="height:{{isIPX?'88px':'64px'}};">
<image src="../../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image>
<text style="top:{{isIPX?'54px':'30px'}};">查看四议表决</text>
</view>
<view class="main-box table-box" style="margin-top:{{isIPX?'100px':'75px'}};">
<view class="table-boxs">
<van-cell title="事项名称" value="{{form.itemName}}" />
<van-cell title="事项描述" border="{{false}}" />
<van-cell label="{{form.itemContent}}" />
<van-cell title="表决阶段" value="{{form.voteTypeText}}" />
<van-cell title="事项状态" value="{{form.voteStatusText}}" />
<van-cell title="表决附件" border="{{false}}" />

<van-upload wx:for="{{form.fileList}}" deletable="{{false}}" file-list="{{ item.list }}" bind:click-preview="lookDown" data-idx="{{index}}" show-upload="{{false}}"></van-upload>

<van-cell title="表决情况" value="{{form.itemAt}}" border="{{false}}" />
<view>
<view style="text-align: right;">
<text style="color: rgb(26, 196, 111);margin-right: 10px;">{{form.yesForm.length}}人同意</text>
<text style="color: red;margin-right: 10px;">{{form.noForm.length}}人不同意</text>
<text style="color: #999999;">{{form.everForm.length}}人弃权</text>
</view>
<view style="background-color: #f8f8f8;padding: 0 20px;">
<view style="color: rgb(26, 196, 111);">同意:
<text wx:for="{{form.yesForm}}">{{item.voteBy}}</text>
<text wx:if="{{form.yesForm.length == 0}}">无</text>
</view>
<view style="color: red;">不同意:
<text wx:for="{{form.noForm}}">{{item.voteBy}}</text>
<text wx:if="{{form.noForm.length == 0}}">无</text>
</view>
<view style="color: #999999;">弃权:
<text wx:for="{{form.everForm}}">{{item.voteBy}}<block wx:if="{{form.everForm.length != (index + 1)}}">、</block></text>
<text wx:if="{{form.everForm.length == 0}}">无</text>
</view>
</view>
</view>
<view class="btn2" wx:if="{{form.voteStatus == 1 && form.voteYN != 'Y'}}" bind:tap="goForm" data-id="{{form.id}}">
我要表决
</view>
</view>
</view>
<view class="ipXbtn"></view>

+ 46
- 0
pages/discussions/detail/detail.wxss View File

@@ -0,0 +1,46 @@
/* pages/payee/add/add.wxss */
.main-box{
background: #ffffff;
padding: 20px;
width: 94%;
margin: 0 auto;
border-radius: 10px;
box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16);
}
.van-cell{
padding-left: 0!important;
padding-right: 0!important;
}

.tit{
line-height: 20px;
font-size: 16px;
font-weight: bold;
}
.bottom{
width: 100%;
margin: 0 auto;
text-align: center;
margin-top: 30px;
margin-bottom: 30px;
display: flex;
}

.bottom view {
width: 47%;
margin: 0 auto;
border-radius: 30px;
display: inline-block;
}

.btn2{
background-image: linear-gradient(to right, #49CDFC, #2C6BF6);
color: #fff;
text-align: center;
width: 40%;
border-radius: 100px;
margin: 5vh auto 3vh;
}
.table-boxs>view{
line-height: 80rpx;
}

+ 242
- 0
pages/discussions/form/form.js View File

@@ -0,0 +1,242 @@
// pages/contract/add/add.js
import * as UTIL from '../../../utils/util.js';
import * as API from '../../../utils/API.js';
import SignaturePad from '../../../utils/signature_pad';
let signaturePad = {};
let pix = 7;
let penColor = 'black';
let lineWidth = 0.6;

const app = getApp();
Page({

/**
* 页面的初始数据
*/
data: {
isIPX: app.globalData.isIPX,
id:null,
autosize:{ maxHeight: 100, minHeight: 50 },
form:{
voteResult: '1'
},
penColor: 'black',
lineWidth: 0.6,
isEmpty: true,
baseItem:"",
item:{},
url:"",
isShow:false
},
back:function(){
wx.navigateBack({
delta: 2
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({id:options.id})
this.getUserInfo();
this.getBaseUrl()
//获取收入合同状态
},

/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},

/**
* 生命周期函数--监听页面显示
*/
onShow() {

},

/**
* 生命周期函数--监听页面隐藏
*/
onHide() {

},

/**
* 生命周期函数--监听页面卸载
*/
onUnload() {

},

/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {

},

/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {

},

/**
* 用户点击右上角分享
*/
onShareAppMessage() {

},
onChange(event) {
console.log(event.detail);
this.setData({
[event.currentTarget.dataset.value]: event.detail,
});
},
/* 获取用户信息*/
getUserInfo(){
UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({item:res.user})
// if(this.data.item.electronicSignature==null||this.data.item.electronicSignature==""){
// this.setData({isShow:false})
var ctx = wx.createCanvasContext('handWriting');
const data = {
devicePixelRatio: pix,
};
signaturePad = new SignaturePad(ctx, data);
// }else{
// this.setData({isShow:true})
// }
}
}
})
},
getBaseUrl:function(){
let params={
configKey: "system.attachment.url"}
UTIL.httpRequest(API.URL_GET_SYSCONFIG,params,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
console.log(res.rows[0].configValue+this.data.item.electronicSignature)
this.setData({url:res.rows[0].configValue+this.data.item.electronicSignature})
}
}
})
},
uploadScaleStart(e) {
const item = {
penColor: penColor,
lineWidth: lineWidth
};
signaturePad._handleTouchStart(e, item);
},
uploadScaleMove(e) {
signaturePad._handleTouchMove(e);
},
uploadScaleEnd: function(e) {
signaturePad._handleTouchEnd(e);
const isEmpty = signaturePad.isEmpty();
this.setData({
isEmpty: isEmpty
})
},
retDraw: function() {
this.setData({isShow:false})
var ctx = wx.createCanvasContext('handWriting');
const data = {
devicePixelRatio: pix,
};
signaturePad = new SignaturePad(ctx, data);
signaturePad.clear();
const isEmpty = signaturePad.isEmpty();
this.setData({
isEmpty: isEmpty
})
},
getSysInfo: function() {
var that = this
wx.getSystemInfo({
success: function(res) {
pix = res.pixelRatio
that.setData({
width: res.windowWidth * pix,
height: res.windowHeight * pix
})
}
})
},
//保存canvas图像
subCanvas: function() {
let _this = this
if (this.data.isEmpty) {
wx.showToast({
title: '请签字后提交',
duration: 2000,
icon:"none"
})
return false
}
wx.canvasToTempFilePath({
canvasId: 'handWriting',
success: function(res) {
_this.data.form.voteId = _this.data.id;
_this.data.form.file = res.tempFilePath;
_this.data.form.voteBy = _this.data.item.userName;
wx.uploadFile({
      url: wx.getStorageSync('dressCode')+API.votedetailAdd, //服务器地址
      filePath:res.tempFilePath,//本地照片地址
      name: 'file',
formData: _this.data.form,
header: {
'Content-Type': 'multipart/form-data',
'Authorization':'Bearer '+getApp().globalData.userInfo.token, //如果需要token的话要传
},
      success (res){
let dd = JSON.parse(res.data)
if(dd.code==200){
wx.showToast({
title: dd.msg,
duration: 2000,
icon:"success"
})
setTimeout(() => {
_this.back()
}, 2000);
}else{
wx.showToast({
title: dd.msg,
duration: 2000,
icon:"none"
})
}
      }
    })
},
fail: function(res) {
console.log(res)
}
})
},
// 保存电子签名
saveESign : function(item){
UTIL.httpRequest(API.URL_POST_USEREDIT,item,{
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
wx.showToast({
title: "保存成功!",
duration: 2000,
icon:"success"
})
}
}
})
}
})

+ 10
- 0
pages/discussions/form/form.json View File

@@ -0,0 +1,10 @@
{
"navigationStyle": "custom",
"usingComponents": {
"van-field": "@vant/weapp/field/index",
"van-radio": "@vant/weapp/radio/index",
"van-cell": "@vant/weapp/cell/index",
"van-icon": "@vant/weapp/icon/index",
"van-radio-group": "@vant/weapp/radio-group/index"
}
}

+ 36
- 0
pages/discussions/form/form.wxml View File

@@ -0,0 +1,36 @@
<!--pages/contract/add/add.wxml-->
<view class="ns" style="height:{{isIPX?'88px':'64px'}};">
<image src="../../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image>
<text style="top:{{isIPX?'54px':'30px'}};">四议表决</text>
</view>
<view class="main-box table-box" style="margin-top:{{isIPX?'100px':'75px'}};">
<view class="table-boxs">
<van-field label="意见" readonly required label-width="auto" border="{{false}}"></van-field>
<van-field label-width="auto">
<van-radio-group value="{{ form.voteResult }}" data-value="form.voteResult" bind:change="onChange" slot="input" direction="horizontal">
<van-radio name="1">同意</van-radio>
<van-radio name="2">不同意</van-radio>
<van-radio name="3">弃权</van-radio>
</van-radio-group>
</van-field>
<van-field label="备注" readonly label-width="auto" border="{{false}}"></van-field>
<van-field value="{{ form.remark }}" maxlength="150" show-word-limit type="textarea" autosize="{{autosize}}" bind:change="onChange" placeholder="请输入备注" data-value="form.remark"></van-field>

<van-cell title="签字" required>
<view style="color: rgb(112, 205, 248);" bind:tap="retDraw">
<van-icon name="edit" />重签
</view>
</van-cell>
<view class="wrapper">
<view class="hand-center">
<canvas class="hand-writing" disable-scroll="true" bindtouchstart="uploadScaleStart" bindtouchmove="uploadScaleMove" bindtouchend="uploadScaleEnd" canvas-id="handWriting">
</canvas>
<!-- <image mode="scaleToFill" class="hand-writing" wx:if="{{isShow}}" src="{{url}}"></image> -->
</view>
</view>
<view class="btn2" bind:tap="subCanvas">
保存
</view>
</view>
</view>
<view class="ipXbtn"></view>

+ 92
- 0
pages/discussions/form/form.wxss View File

@@ -0,0 +1,92 @@
/* pages/payee/add/add.wxss */
.main-box{
background: #ffffff;
padding: 20px 0;
width: 94%;
margin: 0 auto;
border-radius: 10px;
box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16);
}

.tit{
line-height: 20px;
font-size: 16px;
font-weight: bold;
}
.bottom{
width: 100%;
margin: 0 auto;
text-align: center;
margin-top: 30px;
margin-bottom: 30px;
display: flex;
}

.bottom view {
width: 47%;
margin: 0 auto;
border-radius: 30px;
display: inline-block;
}

.btn2{
background-image: linear-gradient(to right, #49CDFC, #2C6BF6);
color: #fff;
text-align: center;
width: 40%;
border-radius: 100px;
margin: 5vh auto 3vh;
}
.table-boxs>view{
line-height: 80rpx;
}

.wrapper {
width: 100%;
height: 20vh;
overflow: hidden;
display: flex;
align-content: center;
flex-direction: row;
justify-content: center;
font-size: 28rpx;
position: relative;
}

.hand-writing {
background: #f9f9f9;
width: 100%;
height: 20vh;
}

.hand-right {
display: flex;
align-items: center;
justify-content: center;
}

.hand-center {
border: 1rpx dashed #e9e9e9;
flex: 1;
overflow: hidden;
box-sizing: border-box;
}


.del-btn {
color: #02d000;
}

.del-btn image {
position: absolute;
top: 13rpx;
left: 25rpx;
}

.sub-btn {
position: absolute;
bottom: 52rpx;
color: #999999;
transform: rotate(90deg);
margin-bottom: 30rpx;
}

+ 136
- 0
pages/discussions/list.js View File

@@ -0,0 +1,136 @@
// pages/project/project.js
import * as UTIL from '../../utils/util.js';
import * as API from '../../utils/API.js';
let EVN_CONFIG = require('../../env/env');

const app = getApp();
Page({

/**
* 页面的初始数据
*/
data: {
isIPX: app.globalData.isIPX,
name:"",
value:'',
pageNums:1,
showUpload:false,
uploadOptions:[],
voteTypeOptions:[],
fileList:[],
itemId:"",
itemIndex:"",
list:[],
fileEvent:{},
projectList:[]
},

/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var _this = this;
let qu = wx.createSelectorQuery()
qu.select("#top_view").boundingClientRect()
qu.exec(res => {
_this.setData({
scrollHeight:wx.getSystemInfoSync().windowHeight-res[0].height-res[0].top
})
})
},
goDetail(e){
console.log('aaaaaaaaa');
wx.navigateTo({
url: 'detail/detail?id='+e.currentTarget.dataset.id,
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
this.onShow();
},
goSearch(e){
this.setData({name:e.detail})
this.onShow();
},
back:function(){
wx.navigateBack({
delta: 1
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
var that = this;
//获取附件字典
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_status', {method:'GET'}, {
success: (res) => {
this.setData({
voteStatusOptions:res.data,
})
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'vote_type', {method:'GET'}, {
success: (res) => {
this.setData({
voteTypeOptions:res.data,
})
let params= {
itemName:this.data.name,
method:'GET'
}
UTIL.httpRequest(API.URL_GET_VOTELIST, params,{
success: (response) => {
if (response.code == API.SUCCESS_CODE) {
response.rows.map(rr=>{
rr.voteStatusText = UTIL.getTransform(rr.voteStatus,that.data.voteStatusOptions);
rr.voteTypeText = UTIL.getTransform(rr.voteType,that.data.voteTypeOptions);
})
that.setData({
projectList:response.rows
})
}
}
})
}
})
}
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {

},

/**
* 生命周期函数--监听页面卸载
*/
onUnload() {

},

/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {

},

/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {

},

/**
* 用户点击右上角分享
*/
onShareAppMessage() {

}
})

+ 17
- 0
pages/discussions/list.json View File

@@ -0,0 +1,17 @@
{
"usingComponents": {
"van-checkbox": "@vant/weapp/checkbox/index",
"van-checkbox-group": "@vant/weapp/checkbox-group/index",
"van-cell": "@vant/weapp/cell/index",
"van-cell-group": "@vant/weapp/cell-group/index",
"van-search": "@vant/weapp/search/index",
"van-radio": "@vant/weapp/radio/index",
"van-radio-group": "@vant/weapp/radio-group/index",
"van-swipe-cell": "@vant/weapp/swipe-cell/index",
"van-dropdown-menu": "@vant/weapp/dropdown-menu/index",
"van-dropdown-item": "@vant/weapp/dropdown-item/index",
"van-tag": "@vant/weapp/tag/index",
"van-action-sheet": "@vant/weapp/action-sheet/index",
"van-upload": "@vant/weapp/uploader/index"
}
}

+ 42
- 0
pages/discussions/list.wxml View File

@@ -0,0 +1,42 @@
<!--pages/project/project.wxml-->
<view class="ns" id="top_ban" style="height:{{isIPX?'88px':'64px'}};">
<image src="../../image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back" referrer="no-referrer|origin|unsafe-url"></image>
<text style="top:{{isIPX?'54px':'30px'}};">四议表决</text>
</view>

<view class="search_box" id="top_view" style="margin-top:{{isIPX?'100px':'75px'}};">
<van-search
value="{{ name }}"
shape="round"
background="transparent"
placeholder="请输入四议名称"
clearable
bind:change="goSearch"
/>
<!-- <view class="add_btn" bindtap="goAdd"><text>新增</text></view> -->
</view>
<scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100">
<van-swipe-cell right-width="{{ 0 }}" class="workflow" wx:for="{{projectList}}" wx:key="index">
<view class="li" bindtap="goDetail" data-id="{{item.id}}">
<view class="tit_box">
<view class="tit_box_left">
<image src="/image/icon/icon_gc.png" style="width: 17px; height: 15px;flex-shrink: 0;"></image>
<text class="tit">{{item.itemName}}</text>
</view>
<view class="tit_type">
<text>{{item.voteStatusText}}</text>
</view>
</view>

<view class="detail_time_box">
<view class="detail_time">
<image src="/image/icon/icon_date.png" style="width: 14px;height: 14px;"></image>
<text>{{item.itemAt}}</text>
</view>
<view class="detail_time">
<text class="detail_box_money">{{item.voteTypeText}}</text>
</view>
</view>
</view>
</van-swipe-cell>
</scroll-view>

+ 348
- 0
pages/discussions/list.wxss View File

@@ -0,0 +1,348 @@
/* pages/bank/bank.wxss */
.van-search__content {
border: 1px solid #5CAE77!important;
background: #fff!important;
}
van-search {
flex: 1;
}
.search_box{
display: flex;
}
.add_btn{
flex: 0.2;
padding: var(--search-padding,10px 12px);
padding-left: 0;
}
.add_btn text{
background-color: #62AD66;
display: block;
height: 100%;
text-align: center;
line-height: 36px;
color: #fff;
border-radius: 36px;
box-shadow: 0px 5px 5px #ddd;
}
text{display: block;}
.work_plan{
padding: 40rpx 32.5rpx 30rpx;
display: flex;
}

.work_plan .menu_item{
background-color: #fff;
box-shadow: 2px 5px 5px #ddd;
border-radius: 60rpx;
text-align: center;
position: relative;
margin-right: 20px;
padding: 8px 10px;
}
.work_plan .menu_item.active{
background-color: #2C8E68;
color: #fff;
}
.work_plan .menu_item .remind{
height: 30rpx;
background: #e90101;
color: #fff;
font-size: 26rpx;
position: absolute;
line-height: 30rpx;
padding:0 10rpx;
border-radius: 25px;
top: -10rpx;
right: -10rpx;
}

.work_plan .more{
flex: 1;
text-align: center;
line-height: 60rpx;
font-size: 36rpx;
color: #31936c;
}
.deleteBox{
width: 130px;
text-align: center;
height: 100%;
background: #F6F6F6;
align-items: center;
display: flex;
}
.workflow .workflow_list{
height: 150rpx;
background-color: #fff;
border-radius: 24rpx;
box-shadow:0rpx 0rpx 10rpx rgba(0,0,0,.1);
margin-bottom: 20rpx;
padding:15rpx 25rpx 10rpx 35rpx;
}
.workflow .workflow_list .process_intro{
display: flex;
height: 62rpx;
align-items: center;
}

.workflow .process_intro .name{
width: 390rpx;
font-size: 34rpx;
margin-right: 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.workflow .process_intro .name .name_tit{
width: 290rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.van-swipe-cell {
width: 94%;
background: #fff;
border-radius: 10px;
box-shadow: 2px 5px 5px #ddd;
margin: 0 auto;
margin-bottom: 15px;
}
.li{
width: 100%;
padding: 14px;
}
.tit_box{
display: flex;
justify-content: space-between;
}
.tit_box_left{
display: flex;
align-items: center;
}
.detail_box{
margin-top: 10px;
display: flex;
justify-content: space-between;
}
.detail_box text{
color:#878787;
}
.fkmc {
line-height: 20px;
font-size: 16px;
}
.detail_time .detail_box_money{
font-size: 14px;
}
.detail_time_box{
display: flex;
justify-content: space-between;
margin-top: 10px;
}
.detail_time{
display: flex;
align-items: center;
padding-left: 3px;
}
.detail_time text{
font-size: 12px;
margin-left: 5px;
color: #878787;
}
.li .detail_box_left text{
text-align: center;
}
.li .detail_box_left .fkdw{
color: #B5B5B5;
font-size: 14px;
margin-top: 5px;
}
.li .detail_box_center{
color: #666666;
font-size: 12px;
text-align: center;
}
.li .detail_box_right text{
text-align: center;
}
.li .detail_box_right .skdw{
color: #B5B5B5;
font-size: 14px;
margin-top: 5px;
}

.li .fksr{
display: flex;
align-items: center;
margin-top: 15px;
color: #2C8E68;
font-size: 16px;
}
.li .wtj{
display: flex;
align-items: center;
justify-content: center;
padding: 3px 8px;
border-radius: 5px;
font-size: 14px;
}
.no{
background-color:#fbe3e3;
color: #e90000;
}
.white{
background-color:#feeadc;
color: #fc9a55;
}
.yes{
background-color:#ddeee3;
color: #5cae77;
}
.other{
background-color:#f0f1f6;
color: #878787;
}
.li .tit{
font-size: 16px;
color: #333333;
line-height: 25px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
margin-left: 5px;
}
.li .fj_name{
font-size: 14px;
color: #B3DB62;
line-height: 25px;
}
.li .time{
font-size: 14px;
color: #9B9CAA;
}
.li .money{
font-size: 18px;
color: #5CAE77;
}
.tit_type{
display: flex;
align-items: center;
flex-shrink: 0;
}
.tit_type text{
background: rgba(92, 174, 119, 0.2);
color: #5CAE77;
padding: 2px 10px;
}
.van-checkbox__label {
display: flex;
justify-content: space-between;
width: 100%;
}

.van-checkbox__icon-wrap {
border-radius: 5px;
}
.van-checkbox__icon {
border-radius: 5px;
border: 2px solid #2C8E68!important;
background-color: rgba(44, 142, 104, 0.2);
}
.bottom{
width: 100%;
margin: 0 auto;
text-align: center;
padding: 15px 0;
display: flex;
position: fixed;
bottom: 0%;
background: #fff;
box-shadow: 0 0 5px #ddd;
}

.bottom view {
width: 47%;
margin: 0 auto;
border-radius: 30px;
display: inline-block;
}

.bottom .btn2{
border: 1px solid transparent;
padding: 10px 0px;
background-image: linear-gradient(to right, #2C8E68, #5CAE77);
color: #fff;
}

.downView{
display: flex;
justify-content: center;
align-items: center;
padding: 0 20px;
border: 1px solid #5CAE77;
border-radius: 50px;
background: #fff;
margin-left: auto;
}
.downView image{
width: 10px;
height: 8px;
margin-left: 10px;
}
.hp_type{
padding: 4vw 3%;
display: flex;
border-bottom: 1px solid #eee;
}
.hp_type view{
padding: 2vw 6%;
background: #EEEEEE;
border-radius: 60px;
margin-right: 3%;
width: 30vw;
text-align: center;
}
.hp_button{
display: flex;
justify-content: space-around;
padding:4vw 0 6vw;
}
.hp_button view{
padding: 3vw 6%;
background: #EEEEEE;
border-radius: 60px;
width: 30vw;
text-align: center;
}
.van-dropdown-menu {
margin-bottom: 15px;
}
.fj-box text{
background-color: #5CAE77;
color: #ffffff;
text-align: center;
border-radius: 5px;
white-space:pre-wrap;
padding: 5rpx 8rpx;
width: 50rpx;
margin: 0px 14px;
font-size: 24rpx;
}
.fj-li{
margin-top: 20px;
display: flex;
/* flex-wrap: wrap; */
}
.fj-li .img_li{
width: 100%;
height: 18.5vw;
}

.fj-li .img_add{
overflow: hidden;
}
.van-icon-description{
font-size: 60px;
}

+ 17
- 1
pages/fixedAssets/fixedAssets.wxml View File

@@ -16,7 +16,7 @@
<view class="add_btn" bindtap="goAdd"><text>填报</text></view>
</view>
<scroll-view scroll-y refresher-threshold="0" style="height:{{scrollHeight}}px" bindscrolltolower="paging" lower-threshold="100">
<van-swipe-cell right-width="{{ 100 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" >
<van-swipe-cell right-width="{{ 150 }}" class="workflow" wx:for="{{list}}" wx:key="index" wx:for-item="item" >
<view class="li" bindtap="goUpdate" data-id="{{item.id}}">
<view class="tit_box">
<image src="/image/icon/fixedAssets_icon.png" style="width: 15px;height: 15px;margin-right: 10px;" referrer="no-referrer|origin|unsafe-url"></image>
@@ -80,6 +80,22 @@
<text style="color: #62AD66;">附件</text>
</view>
</view>
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}">
<view>
<image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>
</view>
<view>
<text style="color: rgb(239,135,7);">处置</text>
</view>
</view>
<view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(238,95,0,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}">
<view>
<image src="../../image/icon/sell_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>
</view>
<view>
<text style="color: rgb(238,95,0);">出租</text>
</view>
</view>
<!-- <view style="flex: 1;height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;background-color: rgb(239,135,7,0.2);" data-id="{{item.id}}" data-index="{{index}}" bindtap="change" wx:if="{{item.assetStatus != 3}}">
<view>
<image src="../../image/icon/relevance_icon.png" style="width: 25px;height: 25px;margin: 0 auto;display: block;" ></image>


+ 1
- 1
pages/fixedAssets/fixedAssets.wxss View File

@@ -64,7 +64,7 @@ text{display: block;}
color: #31936c;
}
.deleteBox{
width: 100px;
width: 150px;
text-align: center;
height: 100%;
background: #F6F6F6;


+ 3
- 1
pages/index/index.js View File

@@ -380,7 +380,9 @@ Page({
this.setData({provinces:res.data})
if(res.data[0].children){
this.setData({citys:res.data[0].children})
if(res.data[0].children[this.data.value[1]].children){this.setData({areas:res.data[0].children[this.data.value[1]].children})}
if(res.data[0].children[this.data.value[1]].children){
this.setData({areas:res.data[0].children[this.data.value[1]].children})
}
}
}


+ 6
- 1
pages/index/index.wxml View File

@@ -96,9 +96,14 @@
<block wx:if="{{showList}}">

<view class="flex_block" data-url="/pages/finance/index" bindtap="navigate" hover-class="btnView">
<!-- <view class="flex_block" data-url="/pages/finance/index" bindtap="navigate" hover-class="btnView">
<view class="image"><image class="attribute" src="../../image/index/icon_index_05.png" mode="aspectFit"></image></view>
<text class="desc">财务公开</text>
</view> -->

<view class="flex_block" data-url="/pages/discussions/list" bindtap="navigate" hover-class="btnView">
<view class="image"><image class="attribute" src="../../image/index/icon_index_05.png" mode="aspectFit"></image></view>
<text class="desc">四议表决</text>
</view>

<view class="flex_block" data-url="/pages/bank/bank" bindtap="navigate" hover-class="btnView">


+ 27
- 8
pages/majorEvent/add/add.js View File

@@ -60,6 +60,12 @@ Page({
res.data.approvalTemplateName = op[0].name;
this.setData({'form':res.data})
this.selectComponent('#hf_editor').setHtml(res.data.eventContent);
this.selectComponent('#hf_editor2').setHtml(res.data.dzbty);
this.selectComponent('#hf_editor3').setHtml(res.data.lwhsy);
this.selectComponent('#hf_editor4').setHtml(res.data.dqyshsyhjy);
this.selectComponent('#hf_editor5').setHtml(res.data.cydbhjy);
this.selectComponent('#hf_editor6').setHtml(res.data.jcjggk);
this.selectComponent('#hf_editor7').setHtml(res.data.ssqkgk);
}
})
}else{
@@ -80,22 +86,28 @@ Page({
this.setData({'form.eventTime':data});
},
getHtml(e) {//从组件获取值
this.data.form.eventContent = e.detail.content.html
this.setData({
[e.currentTarget.dataset.name]:e.detail.content.html
});
},
insertImage(){ //图片上传插入示例
wx.chooseImage({
insertImage(e){ //图片上传插入示例
wx.chooseMedia({
count: 1,
success: r => {
// 本地测试图片插入
// this.selectComponent('#hf_editor').insertSrc(res.tempFilePaths[0]);
console.log(r.tempFiles[0]);
wx.uploadFile({ //调用图片上传接口
url: wx.getStorageSync('dressCode')+'/common/upload',
filePath: r.tempFilePaths[0],
name: 'imgFile',
filePath: r.tempFiles[0].tempFilePath,
header: {
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
name: 'file',
success: res => {
console.log();
let imgUrl = JSON.parse(res.data).url
this.selectComponent('#hf_editor').insertSrc(wx.getStorageSync('dressCode')+'/common/upload' + imgUrl);//调用组件insertSrc方法
console.log(111111);
let imgUrl = JSON.parse(res.data).fileName
this.selectComponent('#'+e.currentTarget.dataset.id).insertSrc(wx.getStorageSync('dressCode')+imgUrl);//调用组件insertSrc方法
}
})
}
@@ -177,6 +189,13 @@ Page({
var that = this;
that.data.form.method = 'POST';
that.data.form.eventContent = that.data.form.eventContent.replace(/\\/g,"/")
that.data.form.eventContent = that.data.form.eventContent.replace(/"/g,"'")
that.data.form.dzbty = that.data.form.dzbty.replace(/"/g,"'")
that.data.form.lwhsy = that.data.form.lwhsy.replace(/"/g,"'")
that.data.form.dqyshsyhjy = that.data.form.dqyshsyhjy.replace(/"/g,"'")
that.data.form.cydbhjy = that.data.form.cydbhjy.replace(/"/g,"'")
that.data.form.jcjggk = that.data.form.jcjggk.replace(/"/g,"'")
that.data.form.ssqkgk = that.data.form.ssqkgk.replace(/"/g,"'")
console.log(that.data.form);
if(that.data.form.id==""||that.data.form.id==null){
UTIL.httpRequest(API.URL_POST_MAJOREVENTADD, that.data.form , {


+ 34
- 18
pages/majorEvent/add/add.wxml View File

@@ -4,8 +4,7 @@
<text style="top:{{isIPX?'54px':'30px'}};">{{form.id?"":"新增"}}重大项目</text>
</view>
<view class="main-box table-box table-boxs" style="margin-top:{{isIPX?'100px':'75px'}};">

<van-field label="项目名称" value="{{ form.eventName }}" placeholder="项目名称" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.eventName"/>
<van-field label="项目名称" value="{{ form.eventName }}" placeholder="项目名称" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.eventName"/>
<view class="section" style="margin-top: -28rpx;">
<view class="section__title"><text style="color:red;margin-right: 8rpx;">*</text>发生日期</view>
<picker mode="date" value="{{form.eventTime}}" bindchange="onConfirmEventTime">
@@ -41,27 +40,44 @@
<van-field required label="审批流程" readonly value="{{ form.approvalTemplateName }}" placeholder="请选择审批流程" border="{{ false }}" bind:change="onChange" input-align="right" is-link arrow-direction="down" bindtap="openBox" data-name="form.showApprovalTemplateName"/>


<view style="width:100%;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" bind:insertImage="insertImage" id="hf_editor"/>
</view>
<view style="margin-bottom: 15px;"></view>
<van-field required label="事项内容" readonly border="{{ false }}" />
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.eventContent" bind:insertImage="insertImage" data-id='hf_editor' id="hf_editor"/>
</view>

<van-field label="理事会提议" value="{{ form.dzbty }}" placeholder="理事会提议" border="{{ false }}" bind:change="onChange" input-align="right" label-width="auto" required data-value="form.dzbty"/>
<van-field required label="理事会提议" readonly border="{{ false }}"/>
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.dzbty" bind:insertImage="insertImage" id="hf_editor2" data-id='hf_editor2'/>
</view>
<van-field label="村党支部和理事会商议" value="{{ form.lwhsy }}" placeholder="村党支部和理事会商议" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.lwhsy"/>
<van-field label="村党支部和理事会商议" border="{{ false }}" required/>
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.lwhsy" bind:insertImage="insertImage" id="hf_editor3" data-id='hf_editor3'/>
</view>
<van-field label="党员会审议" value="{{ form.dqyshsyhjy }}" placeholder="党员会审议" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.dqyshsyhjy"/>
<van-field label="党员会审议" border="{{ false }}" required/>
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.dqyshsyhjy" bind:insertImage="insertImage" id="hf_editor4" data-id='hf_editor4'/>
</view>
<van-field label="成员(代表)会决议" value="{{ form.cydbhjy }}" placeholder="成员(代表)会决议" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.cydbhjy"/>
<van-field label="成员(代表)会决议" border="{{ false }}" required/>
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.cydbhjy" bind:insertImage="insertImage" id="hf_editor5" data-id='hf_editor5'/>
</view>
<van-field label="决策结果公开" value="{{ form.jcjggk }}" placeholder="决策结果公开" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.jcjggk"/>
<van-field label="决策结果公开" border="{{ false }}" required/>
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.jcjggk" bind:insertImage="insertImage" id="hf_editor6" data-id='hf_editor6'/>
</view>
<van-field label="实施情况公开" value="{{ form.ssqkgk }}" placeholder="实施情况公开" border="{{ false }}" bind:change="onChange" input-align="right" required data-value="form.ssqkgk"/>
<van-field label="实施情况公开" border="{{ false }}" required/>
<view style="width:100%;margin-bottom: 15px;">
<hf_editor style="width:100%" height="600rpx" insertPicture="{{true}}" placeholder="编写文章..." bind:Content="getHtml" data-name="form.ssqkgk" bind:insertImage="insertImage" id="hf_editor7" data-id='hf_editor7'/>
</view>

<van-field label="备注" value="{{ form.remark }}" placeholder="备注" border="{{ false }}" bind:change="onChange" input-align="right" data-value="form.remark"/>
</view>
<view class="bottom" wx:if="{{showBtn}}">
<view class="btn2" bindtap="goSubmit">保存</view>
</view>
<view style="height: 30px;"></view>
</view>
<view class="bottom" wx:if="{{showBtn}}">
<view class="btn2" bindtap="goSubmit">保存</view>
</view>
<view style="height: 30px;"></view>

+ 1
- 134
pages/noLoginIndex.wxml View File

@@ -1,135 +1,2 @@
<!--pages/noLoginIndex.wxml-->
<image src="https://www.nongshen.net/static/wechat/no_login_bg.png" style="width: 100%;" mode="widthFix"></image>
<van-notice-bar
color="#444444"
background="transparent"
left-icon="volume"
mode="link"
text="通知关于年终财务报销时间安排通知"
/>

<view class="navList_main">
<view class="tab_item" bindtap='goLogin' hover-class="btnView">
<view class="icon">
<image class="icon_img" src="../image/index/nav_01.png" mode="aspectFit"></image>
</view>
<text class="desc">支出申请</text>
</view>
<view class="tab_item" bindtap='goLogin' hover-class="btnView">
<view class="icon">
<image class="icon_img" src="../image/index/nav_02.png" mode="aspectFit"></image>
</view>
<text class="desc">收入登记</text>
</view>
<view class="tab_item" bindtap='goLogin' hover-class="btnView">
<view class="icon">
<image class="icon_img" src="../image/index/nav_03.png" mode="aspectFit"></image>
</view>
<text class="desc">记账申请</text>
</view>
<view class="tab_item" data-url="/pages/paymentManager/paymentManager" bindtap='goLogin' hover-class="btnView">
<view class="icon">
<image class="icon_img" src="../image/index/nav_04.png" mode="aspectFit"></image>
</view>
<text class="desc">支付管理</text>
</view>
</view>

<view class="page-section page-section-spacing swiper">
<swiper
indicator-dots="true"
autoplay="true"
circular="true">
<swiper-item>
<image src="https://www.nongshen.net/static/wechat/banner1.png" style="width:100%;height:100%;"></image>
</swiper-item>
<swiper-item>
<image src="https://www.nongshen.net/static/wechat/banner2.png" style="width:100%;height:100%;"></image>
</swiper-item>
</swiper>
</view>

<text class="title">常用功能</text>

<view class="child_function">
<!-- <view class="flex_block" bindtap="testBtn" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/paymentManager_icon.png" mode="aspectFit"></image></view>
<text class="desc">消息推送</text>
</view> -->
<view class="flex_block" data-url="/pages/contract/contract" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_01.png" mode="aspectFit"></image></view>
<text class="desc">合同信息</text>
</view>
<view class="flex_block" data-url="/pages/fixedAssets/fixedAssets" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_02.png" mode="aspectFit"></image></view>
<text class="desc">固定资产</text>
</view>
<view class="flex_block" data-url="/pages/resources/resources" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_03.png" mode="aspectFit"></image></view>
<text class="desc">资源资产</text>
</view>
<view class="flex_block" data-url="/pages/project/project" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_04.png" mode="aspectFit"></image></view>
<text class="desc">工程项目</text>
</view>
<block wx:if="{{showList}}">

<view class="flex_block" data-url="/pages/finance/index" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_05.png" mode="aspectFit"></image></view>
<text class="desc">财务公开</text>
</view>

<view class="flex_block" data-url="/pages/bank/bank" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_06.png" mode="aspectFit"></image></view>
<text class="desc">开户行</text>
</view>
<view class="flex_block" data-url="/pages/payee/list/list" bindtap="goLogin" hover-class="btnView"><!--bindtap="goLogin"-->
<view class="image"><image class="attribute" src="../image/index/icon_index_07.png" mode="aspectFit"></image></view>
<text class="desc">收款方</text>
</view>
<view class="flex_block" data-url="/pages/drawee/drawee" bindtap="goLogin" hover-class="btnView"><!--bindtap="goLogin"-->
<view class="image"><image class="attribute" src="../image/index/icon_index_08.png" mode="aspectFit"></image></view>
<text class="desc">村账户</text>
</view>
<view class="flex_block" data-url="/pages/bankDraft/bankDraft" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_09.png" mode="aspectFit"></image></view>
<text class="desc">银行汇票</text>
</view>
<view class="flex_block" data-url="/pages/majorEvent/majorEvent" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_10.png" mode="aspectFit"></image></view>
<text class="desc">重大事项</text>
</view>

<view class="flex_block" data-url="/pages/transaction/transaction" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_11.png" mode="aspectFit"></image></view>
<text class="desc">交易明细</text>
</view>
<view class="flex_block" data-url="/pages/transferAccounts/transferAccounts" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_12.png" mode="aspectFit"></image></view>
<text class="desc">转账对账</text>
</view>
<view class="flex_block" data-url="/pages/statistics/statistics" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_13.png" mode="aspectFit"></image></view>
<text class="desc">收支统计</text>
</view>
<view class="flex_block" data-url="/pages/bill/bill" bindtap="goLogin" hover-class="btnView">
<view class="image"><image class="attribute" src="../image/index/icon_index_14.png" mode="aspectFit"></image></view>
<text class="desc">票据签收</text>
</view>
</block>
<view class="flex_block" bindtap="openView" hover-class="btnView">
<view class="image" wx:if="{{showListText == '更多'}}"><image class="attribute" src="../image/index/nav_ckqb.png" mode="aspectFit"></image></view>
<view class="image" wx:if="{{showListText == '收起'}}"><image class="attribute" src="../image/index/nav_sqqb.png" mode="aspectFit"></image></view>
<text class="desc">{{showListText}}</text>
</view>
</view>

<!--工作计划-->
<view class="work_plan">
<view class="menu_item active" bindtap='goLogin' data-gid='{{1}}'>待办</view>
<view class="menu_item " bindtap="goLogin" data-gid='{{2}}'>已办</view>
<view class="menu_item " bindtap="goLogin" data-gid='{{3}}'>已提交</view>
<view class="menu_item " bindtap="goLogin" data-gid='{{4}}'>草稿箱</view>
<!-- <view class="more" bindtap="toList">></view> -->
</view>
<image src="https://www.nongshen.net/static/wechat/index_no_login.jpg" style="width: 100%;" mode="widthFix" bindtap='goLogin'></image>

+ 1
- 1
pages/noLoginIndex.wxss View File

@@ -1,6 +1,6 @@
/* pages/noLoginIndex.wxss */
page{
background-color: #ffffff!important;
background-color: #F6F6F6!important;
height: 100vh;
}
.navList_main{


+ 1
- 1
pages/payee/add/add.js View File

@@ -250,7 +250,7 @@ Page({
}else{
wx.hideLoading();
wx.showToast({
title: "提交失败!",
title: res.msg,
duration: 2000,
icon:"error"
})


+ 1
- 1
pages/payee/add/add.wxml View File

@@ -50,7 +50,7 @@
value="{{ form.accountType }}"
bind:change="onChange"
direction="horizontal"
data-value="form.accountType"
data-formname="form.accountType"
>
<van-radio name="1" checked-color="#2C8E68">公户</van-radio>
<van-radio name="2" checked-color="#2C8E68">私户</van-radio>


+ 4
- 6
pages/payee/index.js View File

@@ -24,7 +24,7 @@ Page({
that.setData({
isPeers:options.isPeers,//是否同行
bankType:options.bankType,//所属银行
// accountType:options.accountType,//账户类型
accountType:options.accountType,//账户类型
payeeType:options.transferType,//申请转帐类型
money:options.money,//申请转帐类型
index:options.index
@@ -37,7 +37,7 @@ Page({
isAsc:'desc',
isPeers:that.data.isPeers,//是否同行
bankType:that.data.bankType,//所属银行
// accountType:that.data.accountType,//账户类型
accountType:that.data.accountType,//账户类型
// payeeType:that.data.payeeType,//申请转帐类型
status:'0',
method:'GET'
@@ -54,10 +54,8 @@ Page({
var list = [];
array.map(res3=>{
// .replace(/^(.{6})(?:\d+)(.{4})$/,"\$1****\$2")
console.log('111111111111');
res3.payeeAccountText = res3.payeeAccount;
res3.bankTypeText = (res.data.filter(function (e) { return e.dictValue == res3.bankType; }))[0].dictLabel;
console.log((res.data.filter(function (e) { return e.dictValue == res3.bankType; }))[0].dictLabel);
if(payeeType == 2 && array.length>0){
if(res3.payeeType == 4 || res3.payeeType == 3 ){
list.push(res3)
@@ -93,7 +91,7 @@ Page({
isAsc:'asc',
// isPeers:that.data.isPeers,//是否同行
// bankType:that.data.bankType,//所属银行
// accountType:that.data.accountType,//账户类型
accountType:that.data.accountType,//账户类型
// payeeType:that.data.payeeType,//申请转帐类型
status:'0',
name:e.detail,
@@ -189,7 +187,7 @@ Page({
}
prevPage.setData({
["form.payeeList["+that.data.index+"]"]: array[0],//将想要传的信息赋值给上一个页面data中的值
["form.accountType"]:array[0].accountType
// ["form.accountType"]:array[0].accountType
})
that.back()
}


+ 7
- 2
pages/paymentManager/toPay/toPay.js View File

@@ -111,8 +111,13 @@ Page({
confirmText: '确定',
success: function (e) {
//非建行
if(_this.data.data.alternateField1==null||_this.data.data.alternateField1.length<1){
UTIL.showToastNoneIcon("请输入验证码!");
// if(_this.data.data.alternateField1==null||_this.data.data.alternateField1.length<1){
// UTIL.showToastNoneIcon("请输入验证码!");
// }else{
// _this.setData({'showPopup':true})
// }
if(_this.data.data.accountPassword==null||_this.data.data.accountPassword.length<1){
UTIL.showToastNoneIcon("请输入支付口令!");
}else{
_this.setData({'showPopup':true})
}


+ 1
- 1
pages/paymentManager/toPay/toPay.wxml View File

@@ -57,7 +57,7 @@

<view wx:if="{{data.doubleConfirmationStatus != 'Y' || !(data.doubleConfirmationUser == '' || data.doubleConfirmationUser == null)}}">
<view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;" wx:if="{{data.bankType == '1' || data.bankType == '2' || data.bankType == '3' || data.bankType == '5' || data.bankType == '9' || data.bankType == '10' || data.bankType == '18'}}">
<input type="number" placeholder="请输入口令" value="{{data.accountPassword}}" bindinput="bindNewInput" data-name="data.accountPassword"/>
<input placeholder="请输入口令" value="{{data.accountPassword}}" bindinput="bindNewInput" data-name="data.accountPassword"/>
</view>
<view style="padding:10px;width:90%;border:1px solid #ddd;border-radius: 5px;line-height: 16px;background-color: #FFF;margin-left:5%;margin-top: 20px;position:relative;" wx:else>
<input type="number" placeholder="输入验证码" value="{{data.alternateField1}}" bindinput="bindNewInput" data-name="data.alternateField1"/>


+ 23
- 14
pages/phoneLogin.wxml View File

@@ -1,35 +1,44 @@
<!--pages/phoneLogin.wxml-->
<import src="/templates/global/global"/>
<template is="toast" data="{{...toastData}}"></template>
<view class="container" style="background: url('https://www.nongshen.net/static/wechat/container_bg.jpg') center center no-repeat; background-size: 100% 100%;">

<image src="/image/login/login_bg.png" style="width: 100%;position: absolute;z-index: -1;" mode="widthFix" bindtap='goLogin'></image>
<view class="container">
<view style="position: absolute;left:2.5%;top:{{isIPX?'57px':'32px'}};display: flex;align-items: center;" bindtap="back">
<image src="/image/icon/cancel_icon.png" style="width: 35px;height: 35px;"></image>
<image src="/image/icon/cancel_icon2.png" style="width: 25px;height: 25px;"></image>
</view>
<view class="header" style="text-align: center;" >
<!-- <view class="principal">农村事项审批与记账</view>
<view class="instructions">报账简单,操作便捷</view> -->
<image src="/image/login/login_text.png" style="width: 80%;margin: 0 auto;" mode="widthFix"></image>
<view class="principal">账户密码登录</view>
<image src="/image/login/login_icon.png" style="width: 60%;position: relative;left: 10%;" mode="widthFix"></image>
</view>
<view class="quick-login" style="bottom:{{isIPhoneX?'6vh':'10vh'}}">
<view class="quick-login">

<view class="filed_box">
<van-field value="{{ formData.username }}" bind:change="onChange" placeholder="请输入账号" required data-value="formData.username" label-width="auto">
<view slot="left-icon">
<image src="/image/icon/input_name.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/>
</view>
</van-field>
</view>
<view class="filed_box">
<van-field value="{{ formData.password }}" type="password" bind:change="onChange" placeholder="请输入密码" required data-value="formData.password" label-width="auto">
<view slot="left-icon">
<image src="/image/icon/input_password.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/>
</view>
</van-field>
<van-field value="{{ formData.code }}" bind:change="onChange" placeholder="请输入验证码" required data-value="formData.code" label-width="auto">
<view slot="left-icon">
<image src="/image/icon/input_yzm.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/>
</view>
<view slot="button">
<image src="{{codeUrl}}" style="width: 70px;vertical-align: middle;" mode="widthFix" bind:tap="getCode"/>
</view>
</van-field>
</view>
<view style="display: flex;">
<view class="filed_box" style="margin-bottom: 0;">
<van-field value="{{ formData.code }}" bind:change="onChange" placeholder="请输入验证码" required data-value="formData.code" label-width="auto">
<view slot="left-icon">
<image src="/image/icon/input_yzm.png" style="width: 15px;vertical-align: middle;margin-right: 10px;" mode="widthFix"/>
</view>
</van-field>
</view>
<view style="flex: 1;border-radius: 50vh;overflow: hidden;margin-left: 15px;">
<image src="{{codeUrl}}" style="width: 100%;transform: scale(1.3);position: relative;top: 6px;" mode="widthFix" bind:tap="getCode"/>
</view>
</view>

<view class="bottom">
<view class="btn2" bindtap="onSubmit">登录</view>


+ 39
- 14
pages/phoneLogin.wxss View File

@@ -1,4 +1,7 @@
/* pages/phoneLogin.wxss */
page{
background-color: #ffffff;
}
.bottom{
width: 100%;
margin: 0 auto;
@@ -16,10 +19,16 @@
}

.bottom .btn2{
border: 1px solid transparent;
padding: 8px 0px;
background-image: linear-gradient(to right, #2C8E68, #5CAE77);
color: #fff;
width: 80vw;
height: 6.17vh;
background: linear-gradient( 90deg, #2FE398 0%, #1BCF84 39%, #0ABD73 77%, #00B268 100%);
margin:1vh auto 0;
border-radius: 6.17vh;
text-align: center;
line-height: 6.17vh;
font-size: 2.21vh;
color: #ffffff;
padding: 0;
}

.container{
@@ -27,17 +36,22 @@
height: 100vh;
}
.container .header{
padding-top: 25.24vh;
padding-top: 5.24vh;
height: 36.94vh;
display: flex;
align-items: center;
justify-content: space-between;
padding-left: 20px;
}

.container .header .principal{
height: 6.15vh;
line-height: 6.15vh;
margin-bottom: 0.61vh;
text-align: center;
font-size: 4.92vh;
color: #2c7339;
text-align: left;
font-size: 2.92vh;
color: #000000;
font-weight: bold;
}

.container .header .instructions{
@@ -48,18 +62,29 @@
color: #2c7339;
}
.container .quick-login{
position: fixed;
width: 80%;
left: 10%;
/* position: fixed; */
width: calc(100% - 40px);
background-color: #fff;
border-radius: 10px;
border-radius: 30px;
overflow: hidden;
box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
padding: 30px 20px 0;
padding: 20px 20px 0;
margin: 0 auto;
position: relative;
top: -8vh;
}
.van-field__body {
/* border-bottom: 1px solid #dddddd; */
}
.filed_box{
background-color: #F6F6F6;
padding: 5px;
border-radius: 50vh;
margin-bottom: 15px;
}
.van-cell {
background-color: transparent!important;
}

.container .quick-login .key-login{
width: 89vw;
height: 5.17vh;


+ 20
- 0
pages/transaction/transaction.js View File

@@ -699,6 +699,26 @@ Page({
})
}
},
handleView10(rows){
let dataRow = rows.currentTarget.dataset.row;
if(dataRow.alternateField2 != null && dataRow.alternateField2 != "" && dataRow.alternateField2.indexOf('失败') == -1){
this.showfileFunction(dataRow.alternateField2);
} else{
UTIL.httpRequest(API.queryReceiptPhoto10 + dataRow.id , {method: 'GET'}, {
success: (response) => {
if (response.code === 200) {
if(response.msg != null && response.msg != "" && response.msg.indexOf('失败') ==-1){
this.showfileFunction(response.msg);
} else{
UTIL.showToastNoneIcon(response.msg);
}
}else{
UTIL.showToastNoneIcon(response.msg);
}
}
})
}
},
/** 绑定手机号操作 */
smsSubmitForm() {
this.formSms.method = 'GET';


+ 8
- 1
pages/transaction/transaction.wxml View File

@@ -35,7 +35,7 @@
<text class="tit">凭证编号{{item.vchnum}}</text>
<text class="tit">{{item.payerAccount}}</text>
</view>
<text class="tit_tab2 tit_sb">{{item.vchnum}}</text>
<!-- <text class="tit_tab2 tit_sb">{{item.vchnum}}</text> -->
</view>
<view class="tit_box">
<view style="background-color: #5CAE77;color: #fff;line-height: 1;padding: 5px;font-size: 12px;border-radius: 50%;margin-right: 5px;">我</view>
@@ -135,6 +135,13 @@
</view>
</view>

<view class="button_box" data-row="{{item}}" bindtap="handleView10" wx:if="{{item.alternateField1=='10'}}">
<view>
<image src="/image/icon/icon_hd.png" style="width: 15px;height: 17px;"></image>
<text>电子回单</text>
</view>
</view>

</view>
</van-swipe-cell>
</scroll-view>


+ 75
- 10
pages/user/login/login.wxml View File

@@ -13,24 +13,22 @@
<image src="/image/login/login_text.png" style="width: 80%;margin: 0 auto;" mode="widthFix"></image>
</view>
<view class="quick-login" style="bottom:{{isIPhoneX?'6vh':'4vh'}}">
<button wx:if="{{showPhoneBtn}}" class="key-login" type='primary' open-type='getPhoneNumber' bindgetphonenumber="getPhoneNumber">一键快捷登录</button>
<button wx:if="{{!showPhoneBtn}}" class="key-login" type='primary' bind:tap="goIndex">一键登录</button>
<!-- <button class="key-login" type='primary' bindtap="goPhoneLogin">账号密码登录</button > -->
<button class="key-login" type='primary' open-type='getPhoneNumber' bindgetphonenumber="getPhoneNumber">微信一键登录</button >
<view class="authorization" style="margin-top:{{isIPhoneX?'2vh':'2vh'}}">
<checkbox-group bindchange="checkboxChange">
<label>
<checkbox value="privacy" checked="{{privacyCheck}}" class="changeSize" />
</label>
<text bindtap="openDialog">我已阅读并同意<text style="color: rgb(255, 97, 97);">【服务须知】</text></text>
<text bindtap="openDialog">我已阅读并同意用户协议和隐私政策</text>
</checkbox-group>
</view>
<text style="display: block;text-align: center;color: #fff;margin-top: 3vh;" bindtap="goPhoneLogin">北京农燊高科信息技术有限公司</text>
<text bindtap="goPhoneLogin" style="display: block;text-align: center;color: #fff;margin-top: 3vh;">北京中农融信科技股份有限公司</text>
</view>
</view>

<van-dialog
use-slot
title="服务须知"
title="用户协议和隐私政策"
show="{{ showDialog }}"
bind:close="onClose"
confirmButtonText="同意"
@@ -41,10 +39,77 @@
showCancelButton="{{true}}"
>
<scroll-view scroll-y="true" style="height: 300px;padding: 0 15px;margin-top: 15px;" bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll">
<text>关于”农燊云e三资+“的小程序服务(以下简称“本服务”)的说明:</text>
<text>1.本服务是已线下签约客户的内部办公移动端工具,不统一对外开放!</text>
<text>2.本服务不设用户注册功能,不采集用户信息!</text>
<text>3.”微信一键登录“是通过该微信手机号验证系统后台用户中心是否存在此用户,存在则授权登录令牌!</text>
<text>为使用融信云微信小程序服务(以下简称“本服务”或“小程序服务”),您应当阅读并遵守《融信云微信小程序用户协议》,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的相应条款,以及开通或使用某项服务的单独协议,并选择接受或不接受。</text>
<text>除非您已阅读并接受本条款所有条款,否则您无权使用融信云微信小程序服务。您对本服务的登录、查看、发布信息等行为即视为已阅读并同意本条款的约束。</text>
<text>如果您未满18周岁,请在法定监护人的陪同下阅读本您协议,并特别注意未成年人使用条款。</text>
<text>一、协议的范围</text>
<text>1.1本条款是用户(以下简称“您”)与融信云之间关于用户使用小程序服务所订立的协议。“用户”是指注册、登录、使用微信小程序的个人或组织;“其他用户”是指包括其他微信小程序用户、微信公众账号用户和微信用户等除您本人外与小程序服务相关的用户。</text>
<text>1.2本服务是指融信云根据本协议向您提供的服务,包括协助您交接和管理租赁车辆等。我们会不断丰富您使用本服务的终端、形式等,如您已注册使用一种形式的服务,则可以以同一账号使用其他服务,本协议自动适用于您对所有版本的软件和服务的使用。</text>
<text> 1.3提供本服务的微信小程序的所有权和全部的使用权均归融信云所有,您开通后仅授权使用部分功能,具体以产品展示的为准。</text>
<text>1.4小程序属于微信公众账号,在不与本协议冲突的情况下,您应遵守《微信公众平台服务协议》、《腾讯微信软件许可及服务协议》等关于微信公众账号的其他相关规定。</text>
<text>1.5本协议内容包括本协议正文及所有我们已经发布或将来可能发布的隐私权政策、各项政策、规则、声明、通知、警示、提示、说明(以下统称为“用户规则”)。前述用户规则为本协议不可分割的补充部分,与本协议具有同等法律效力。如您使用融信云产品及服务,视为您同意上述补充部分。</text>

<text>二、小程序注册与审核</text>

<text>2.1账号注册</text>
<text>2.1.1您在使用本服务前需要先进行注册和认证。您确认,在您开始注册使用融信云产品及服务前,您应当是具备完全民事权利能力和与所从事的民事行为相适应的行为能力的自然人、法人或其他组织。若您不具备前述主体资格,请勿使用服务,否则您及您的监护人应承担因此而导致的一切后果,且我们有权注销(永久冻结)您的账户,并向您及您的监护人索偿。</text>
<text>2.1.2当您按照注册页面提示填写信息、阅读并同意本协议且完成全部注册程序后,您可获得融信云平台账户并成为产品用户,即有权使用融信云平台并获得相应服务。融信云平台只允许每位用户使用一个主账户,但您可以在授权范围内获得多个子账号。</text>
<text>2.1.3该账户是您通过融信云平台寻求并获得服务的唯一有效身份证明,请您妥善保管账号和密码。为使您更好地使用融信云平台的各项服务,保障您的账户安全,本小程序主体可要求您按本协议、用户规则及我国法律规定完成实名认证。</text>
<text>2.1.4为维护小程序的健康运营,您应当准确完整地提供您的最新信息(包括您的名称及电子邮件地址、联系电话、联系地址等)。并且您承诺,在使用本服务的过程中提交和发布的信息均是真实、合法的,因不实信息导致融信云或者第三方合法权益受损的,由您独立承担全部责任。</text>
<text>2.2账号安全</text>
<text>2.2.1在您成功注册后,我们将根据您的身份要素识别您的身份和授权登录。“身份要素”包括但不限于您的账户名称、密码、短信校验码、手机号码、身份证件号码及人脸信息、眼纹信息。您同意基于不同的终端以及您的使用习惯,我们可能采取不同的验证措施识别您的身份。</text>
<text>2.2.2如您发现账号遭他人非法使用,应立即通知本小程序主体。因黑客行为或您自身保管疏忽导致账号、密码遭他人非法使用所发生的一切责任,均应由您本人承担,本小程序主体不承担任何责任。</text>
<text>2.2.3您注册成功后,融信云将给予您一个帐号,并由您自行设置相应密码,任何该账户项下的预订及支付等行为均视为您本人的操作。您应对您账户项下的所有行为结果(包括但不限于授权、绑定、结算)负责。</text>

<text>三、服务及规范</text>

<text>3.1服务内容</text>
<text>3.1.1本服务内容包含【支持通讯录、车辆调度、车辆管理、账单管理、业务信息推荐及】等技术功能,这些功能服务可能根据用户需求的变化,随着因服务版本不同、或服务提供方的单方判断而被优化或修改,或因定期、不定期的维护而暂缓提供。</text>
<text>3.1.2融信云有权自行决定对服务或服务任何部分及其相关功能、应用软件进行变更、升级、修改、转移,并有权决定以适当的方式进行公示或通知。</text>
<text>3.2服务费用</text>
<text>3.2.1融信云平台向您提供的服务目前是免费的。我们保留日后就程序及/或服务向您收费的权利。如果我们决定收取此类费用,我们会采取合理途径并以足够合理的期限提前通过法定程序并以本协议约定的方式通知您,确保您有充分选择的权利。</text>
<text>3.2.2您在使用小程序的过程中与第三方发生的费用结算,融信云仅为您使用微信小程序服务提供技术支持,本协议的签署不代表融信云成为您在汽车租赁过程中的参与者。融信云不对基于服务而产生的任何行为担保、许可或向任何第三人承担共同责任。</text>
<text>3.3服务使用规则</text>
<text>3.3.1您在本服务中或通过本服务所传送、发布的任何内容并不反映或代表,也不得被视为反映或代表融信云的观点、立场或政策,融信云对此不承担任何责任。</text>
<text>3.3.2您不得利用融信云账号或本服务进行如下行为:\n(1)提交、发布虚假信息,或盗用他人头像或资料,冒充、利用他人名义的;\n(2)强制、诱导其他您关注、点击链接页面或分享信息的;\n(3)虚构事实、隐瞒真相以误导、欺骗他人的;\n(4)利用技术手段批量建立虚假账号的;\n(5)利用平台账号或本服务从事任何违法犯罪活动的;\n(6)制作、发布与以上行为相关的方法、工具,或对此类方法、工具进行运营或传播,无论这些行为是否为商业目的;\n(7)其他违反法律法规规定、侵犯其他您合法权益、干扰融信云正常运营或融信云未明示授权的行为。</text>
<text>3.3.3融信云有权查阅您的注册、交易数据及交易行为,如发现可能存在违反法律法规、本协议或相关规则的情形或其他任何问题,融信云有权直接做出其认为合理的处理,包括但不限于通知修改、删除相关信息,停止被协议项下的服务内容等。前述约定不代表融信云应对您的行为承担任何连带责任,您应对此产生的法律责任独立负责。</text>

<text>四、法律责任</text>

<text>4.1用户责任</text>
<text>4.1.1您应遵守《微信公众平台服务协议》中关于“法律责任”的约定,除非该等约定与本协议存在冲突。</text>
<text>4.1.2如果我们发现或收到他人举报或投诉您违反本协议约定的,我们有权不经通知随时对相关内容,包括但不限于对您的资料、聊天记录进行审查、删除,并视情节轻重对违规账号处以包括但不限于警告、账号封禁、设备封禁、功能封禁的处罚,且通知您处理结果。</text>
<text>4.1.3您理解并同意,因您违反相关法律法规或本协议约定引发的任何后果,均由您独立承担责任、赔偿损失,与我们无关。如侵害到融信云或他人权益的,您须自行承担全部责任和赔偿一切损失。</text>
<text>4.2平台责任本小程序主体保证并承诺,本小程序主体系合法成立的法人,依据本协议约定向您提供相关网络服务,并会参考您提出的建议不断改善我们的服务,努力提高您的使用满意度。</text>
<text>4.3责任限制</text>
<text>4.3.1本服务仅为您与第三方之间的汽车租赁行为而提供协助,融信云并非其中的参与者,对汽车租赁过程中产生的一切纠纷不承担任何责任。</text>
<text>4.3.2您理解并确认,我们需要定期或不定期地对融信云平台或相关的设备进行检修或者维护,且互联网连接能力受到全球网路稳定性、技术状态、使用者所在地与使用的网路、电力供应、政府管制、计算机病毒、黑客攻击等既存不确定性的限制,如因此类情况而造成服务在合理时间内的中断,我们无需为此承担任何责任,但会事先进行通告。</text>
<text>4.3.3您理解并同意,在使用本服务的过程中,可能会遇到不可抗力等风险因素,使本服务发生中断。不可抗力是指不能预见、不能克服并不能避免且对一方或双方造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及社会事件如战争、动乱、政府行为等。出现上述情况时,融信云将努力在第一时间与相关单位配合,及时进行修复,但是由此给您造成的损失融信云在法律允许的范围内免责。</text>
<text>4.3.4融信云不保证为向您提供便利而设置的外部链接的准确性和完整性。同时,对于该等外部链接指向的不由融信云实际控制的任何网页上的内容,融信云不承担任何责任。</text>
<text>4.4知识产权声明</text>
<text>4.4.1融信云在本服务中提供的内容(包括但不限于网页、文字、图片、音频、视频、图表等)的知识产权归融信云所有,您在使用本服务中所产生的内容的知识产权归您或相关权利人所有。</text>
<text>4.4.2除另有特别声明外,融信云提供本服务时所依托软件的著作权、专利权、代码技术及其他知识产权均归融信云所有。</text>

<text>五、隐私政策</text>

<text>5.1保护用户隐私是的融信云一项基本政策,融信云保证不对外公开或向第三方提供您的注册资料及您在使用网络服务时存储在融信云的非公开内容,但下列情况除外:\n(1)事先获得用户的明确授权;\n(2)根据有关的法律法规要求;\n(3)按照相关政府主管部门的要求;\n(4)为维护社会公众的利益;\n(5)为维护融信云的合法权益。</text>
<text>5.2当融信云与第三方合作向用户提供相关的网络服务,在此情况下,如该第三方允诺严格承担与融信云同等的保护用户隐私的责任,则视为您授权融信云将包含个人注册资料在内的相关信息仅提供给该等第三方。</text>

<text>六、协议解除和终止</text>

<text>6.1如有下列情形的,我们有权单方面解除本协议,终止向您提供服务:\n(1)您为了非法目的而使用本服务的;\n(2)您使用本服务损害融信云或其他第三方合法权益的;\n(3)您违反法律法规或本协议约定或违反与腾讯的其他约定的;\n(4)根据法律规定平台用户应提交真实信息,而您提供的资料不真实、或未能提供合理证明以证明其真实性的;</text>
<text>6.2您同意,除上述所述情形外,融信云有权根据风险及自身业务运营情况需要,随时终止向您提供本服务及接口的部分及全部,因此导致您无法使用服务或服务受到限制的,融信云不构成违约,亦不承担任何法律责任。</text>
<text>6.3您停用该服务,或融信云终止向您提供本协议项下的服务后,融信云不再为您保留原账户中与之相关的任何信息。</text>
<text>6.4您使用本服务即视为您已阅读并同意受本协议的约束。融信云小程序主体有权在必要时修改本协议。您可以在相关服务页面查阅最新版本的协议。本协议变更后,如果您继续使用微信小程序服务,即视为您已接受修改后的协议。如果您不接受修改后的协议,应当停止使用小程序服务。</text>

<text>七、违约责任如</text>

<text>如您因为使用本服务给融信云造成损失的或者给第三方造成损失的,该损失(包括为维权而产生的合理支出)由您来承担。</text>

<text>八、法律管辖</text>

<text>8.1如双方就本协议内容或其执行发生任何争议,双方应友好协商解决;协商不成时,任何一方均可向融信云所在地的人民法院提起诉讼。</text>
<text>8.2本协议的成立、生效、履行、解释及纠纷解决,适用中华人民共和国大陆地区法律(不包括冲突法)8.3本协议条款无论因何种原因部分无效或不可执行,其余条款仍有效,对双方都具有约束力。</text>
</scroll-view>
</van-dialog>

+ 1
- 1
pages/user/login/login.wxss View File

@@ -33,7 +33,7 @@
width: 89vw;
height: 5.17vh;
background:#ffffff;
margin:1vh auto 0;
margin:0 auto;
border-radius: 5.17vh;
text-align: center;
line-height: 5.17vh;


+ 9
- 1
pages/user/region/region.js View File

@@ -10,7 +10,8 @@ Page({
data: {
isIPX: app.globalData.isIPX,
activeNames: ['1'],
nowDress:''
nowDress:'',
identity:'bzy'
},

/**
@@ -45,6 +46,13 @@ Page({
url: '../login/login',
})
},
identityChange(e){
const type = e.currentTarget.dataset.type;
wx.setStorageSync('identity', type);
this.setData({
identity: type,
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/


+ 24
- 11
pages/user/region/region.wxml View File

@@ -3,6 +3,18 @@
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};height: 19.0909px;" mode="widthFix" bindtap="back"></image>
<text style="top:{{isIPX?'54px':'30px'}};">选择城市</text>
</view>
<!--
<view class="top_win" style="margin-top:{{isIPX?'103px':'74px'}};">
<view class="top flex">
<text>您的身份</text>
</view>
<view class="nowDress2 {{identity == 'bzy' ? 'active' : ''}}" data-type="bzy" bind:tap="identityChange">
<text>报账员</text>
</view>
<view class="nowDress2 {{identity == 'spy' ? 'active' : ''}}" data-type="spy" bind:tap="identityChange">
<text>审批员</text>
</view>
</view> -->

<view class="top_win" style="margin-top:{{isIPX?'103px':'74px'}};">
<view class="top flex">
@@ -15,15 +27,16 @@
<view class="nowDress">
<text>{{nowDress == '' ? '暂未选择':nowDress}}</text>
</view>
<van-index-bar highlight-color="#2C8E68" sticky sticky-offset-top="{{isIPX?'88':'64'}}">
<van-collapse value="{{ activeNames }}" bind:change="onChange">
<view class="list_bar" wx:for="{{list}}" wx:key="index">
<van-index-anchor index="{{item.name}}" />
<van-collapse-item title="{{cldItem.name}}" wx:for="{{item.value}}" wx:for-index="childrenIndex" wx:for-item="cldItem" wx:key="childrenIndex">
<view style="display: flex; flex-wrap: wrap;width: 100%;">
<text class="list_bar_text" wx:for="{{cldItem.subset}}" wx:for-index="dressIndex" wx:for-item="dressItem" wx:key="dressIndex" data-url="{{dressItem.url}}" data-name="{{dressItem.name}}" data-parentname="{{cldItem.name}}" bindtap="goChangeUrl">{{dressItem.name}}</text>
</view>
</van-collapse-item>
</view>
</van-collapse>
</van-index-bar>
</view>

<van-index-bar highlight-color="#2C8E68" sticky sticky-offset-top="{{isIPX?'88':'64'}}">
<van-collapse value="{{ activeNames }}" bind:change="onChange">
<view class="list_bar" wx:for="{{list}}" wx:key="index">
<van-index-anchor index="{{item.name}}" />
<van-collapse-item title="{{cldItem.name}}" wx:for="{{item.value}}" wx:for-index="childrenIndex" wx:for-item="cldItem" wx:key="childrenIndex">
<text class="list_bar_text" wx:for="{{cldItem.subset}}" wx:for-index="dressIndex" wx:for-item="dressItem" wx:key="dressIndex" data-url="{{dressItem.url}}" data-name="{{dressItem.name}}" data-parentname="{{cldItem.name}}" bindtap="goChangeUrl">{{dressItem.name}}</text>
</van-collapse-item>
</view>
</van-collapse>
</van-index-bar>

+ 23
- 8
pages/user/region/region.wxss View File

@@ -1,6 +1,6 @@
/* pages/user/region/region.wxss */
page{
background-color: #ffffff;
background: #F6F6F6;
}
text{
display: block;
@@ -11,9 +11,11 @@ text{
justify-content: space-between;
}
.top_win{
width: 90%;
width: 96%;
margin: 0 auto;
border-bottom: 1px dashed #DCDCDC;
background: #ffffff;
padding: 4%;
border-radius: 15px;
}
.top{
margin: 0 auto 15px;
@@ -35,18 +37,31 @@ text{
background: url("https://www.nongshen.net/static/wechat/local.png") no-repeat 15px center;
margin-bottom: 15px;
}
.list_bar .list_bar_text{
.nowDress2{
border: 1px solid #2C8E68;
width: auto;
display: inline-block;
padding: 5px 20px;
padding: 5px 20px 5px 20px;
border-radius: 50px;
color: #333333;
margin-bottom: 15px;
margin-right: 3%;
margin-right: 15px;
}
.nowDress2.active{
background: linear-gradient( 92deg, #2FE398 0%, #00B268 100%);
border-color: transparent;
color: #ffffff;
}
.list_bar .list_bar_text:nth-child(4n){
margin-right: 0%;
.list_bar .list_bar_text{
border: 1px solid #2C8E68;
display: block;
width: 22%;
padding: 5px 0;
border-radius: 50px;
color: #333333;
margin-bottom: 15px;
margin-right: 3%;
text-align: center;
}
.van-collapse-item__content {
display: flex;


+ 50
- 1
project.private.config.json View File

@@ -5,6 +5,55 @@
"condition": {
"miniprogram": {
"list": [
{
"name": "pages/paymentManager/paymentManager",
"pathName": "pages/paymentManager/toPay/toPay",
"query": "",
"scene": null,
"launchMode": "default"
},
{
"name": "报账员首页",
"pathName": "pages/index/index_bzy",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/phoneLogin",
"pathName": "pages/phoneLogin",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/majorEvent/add/add",
"pathName": "pages/majorEvent/add/add",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/transaction/transaction",
"pathName": "pages/transaction/transaction",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "pages/discussions/detail/detail",
"pathName": "pages/discussions/detail/detail",
"query": "id=12",
"launchMode": "default",
"scene": null
},
{
"name": "pages/discussions/detail/detail",
"pathName": "pages/discussions/detail/detail",
"query": "id=5",
"launchMode": "default",
"scene": null
},
{
"name": "pages/finance/list_balance_ranking/list_balance_ranking",
"pathName": "pages/finance/list_balance_ranking/list_balance_ranking",
@@ -240,5 +289,5 @@
},
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "nsgk_yebz",
"libVersion": "3.7.11"
"libVersion": "3.8.11"
}

+ 17
- 1
utils/API.js View File

@@ -511,6 +511,9 @@ const queryReceiptPhoto8= `/yinnong/receipt/queryReceiptPhoto8/`;
//回单18
const queryReceiptPhoto18= `/yinnong/receipt/queryReceiptPhoto18/`;

//回单18
const queryReceiptPhoto10= `/yinnong/receipt/queryReceiptPhoto10/`;

//验证验证码
const bankReceiptPhoto4sms= `/yinnong/receipt/bankReceiptPhoto4sms`;

@@ -648,6 +651,15 @@ const URL_GET_ENTITYLIST = `/entity/entity/list`;
//查询主体基本信息列表
const URL_GET_ENTITYDETAIL = `/entity/entity/get/`;

//查询主体基本信息列表
const URL_GET_VOTELIST = `/subcontract/vote/list`;

//查询主体基本信息列表
const URL_GET_VOTEDETAIL = `/subcontract/vote/get/`;

//查询主体基本信息列表
const votedetailAdd = `/subcontract/vote/votedetailAdd`;




@@ -880,8 +892,12 @@ export {
queryReceiptPhoto6,
queryReceiptPhoto8,
queryReceiptPhoto18,
queryReceiptPhoto10,
bankReceiptPhoto4sms,
reapply,
URL_GET_ENTITYLIST,
URL_GET_ENTITYDETAIL
URL_GET_ENTITYDETAIL,
URL_GET_VOTELIST,
URL_GET_VOTEDETAIL,
votedetailAdd
}

Loading…
Cancel
Save