Bladeren bron

优化

master
pangdongxu 3 jaren geleden
bovenliggende
commit
00dc3484c4
8 gewijzigde bestanden met toevoegingen van 1010 en 0 verwijderingen
  1. BIN
      image/icon/icon_no.png
  2. BIN
      image/icon/icon_other.png
  3. BIN
      image/icon/icon_white.png
  4. BIN
      image/icon/icon_yes.png
  5. +457
    -0
      pages/Bookkeeping/update/update.js
  6. +24
    -0
      pages/Bookkeeping/update/update.json
  7. +237
    -0
      pages/Bookkeeping/update/update.wxml
  8. +292
    -0
      pages/Bookkeeping/update/update.wxss

BIN
image/icon/icon_no.png Bestand weergeven

Voor Na
Breedte: 31  |  Hoogte: 31  |  Grootte: 1.2 KiB

BIN
image/icon/icon_other.png Bestand weergeven

Voor Na
Breedte: 30  |  Hoogte: 30  |  Grootte: 701 B

BIN
image/icon/icon_white.png Bestand weergeven

Voor Na
Breedte: 30  |  Hoogte: 30  |  Grootte: 867 B

BIN
image/icon/icon_yes.png Bestand weergeven

Voor Na
Breedte: 32  |  Hoogte: 32  |  Grootte: 1008 B

+ 457
- 0
pages/Bookkeeping/update/update.js Bestand weergeven

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

/**
* 页面的初始数据
*/
data: {
isIPX: app.globalData.isIPX,
bookName:'', //付款单位
formData:{
accountType:'', //账户类型
accountDate:'', //收入时间
jieAmount:'', //收入金额
accountName:'', //存入账户
incomeType:'', //收入类型
billNum:'', //单据编码
accountSummary:'', //备注说明
contractionId:'', //合同编码
incomeExpensesType:1, //收支类别
isBill:0
},
incomeTypeOptions:[], //收入类型选项
incomeTypeText:'222', //收入类型显示文字
contractionOptions:[], //付款人合同信息列表接口
showHt:false,
payerText:'', //付款人
sjPics:[], //收据图片列表数据
fpPics:[], //发票图片列表数据
qtPics:[], //其他图片列表数据
//收入时间弹窗显隐
srShow:false,
minDate: new Date(2021, 6, 1).getTime(),
maxDate: new Date(2023, 0, 31).getTime(),
crzhShow:false,
accountListOptions:[], //存入账户类型选项
crlxShow:false, //收入类型弹窗显隐
},
onCancelcrlx(){
this.setData({crlxShow:false,})
},
oncrlxShow(){ this.setData({crlxShow:true})},
onCancelcrzh(){
this.setData({crzhShow:false})
},
oncrzhShow(){ this.setData({crzhShow:true})},
onConfirmcrzh(e){
let data = e.detail.value;
this.setData({
crzhShow:false,
'formData.accountName':data.accountName,
'formData.accountId':data.id,
'formData.accountType':data.accountType
})
},
onsrDate(){
this.setData({srShow:true})
},
onClose(){ this.setData({srShow:false})},
onConfirm(e){
let data = this.getNewDate(new Date(e.detail));
this.setData({'formData.accountDate':data})
this.setData({srShow:false})
},
closeBox(){
this.setData({showHt:false})
},
getNewDate(date){
//date是传过来的时间戳,注意需为13位,10位需*1000
//也可以不传,获取的就是当前时间
var time = new Date(date);
var year= time.getFullYear() //年
var month = ("0" + (time.getMonth() + 1)).slice(-2); //月
var day = ("0" + time.getDate()).slice(-2); //日
var mydate = year + "-" + month + "-" + day;
return mydate
},
onConfirmContraction(value){
let obj = value.detail.value;
this.setData({
payerText:obj.name,
showHt:false,
'formData.contractionId':obj.id,
contractionIdID:obj.code
})
},
selectContraction(){
this.setData({showHt:true})
},
bindPickerChange (e) {
let obj = e.detail.value;
this.setData({
crlxShow:false,
'formData.incomeType':obj.dictValue,
incomeTypeText:obj.dictLabel
})
},
inputChange(e){
this.setData({
[e.currentTarget.dataset.prop]: e.detail.value
})
},
/**
* 生命周期函数--监听页面加载
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onLoad: function (options) {
console.log(options);
var that = this;
//获取附件字典
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'bookkeeping_type', {method:'GET'}, {
success: (res) => {
if(res.data.length>0){
this.setData({
uploadOptions:res.data,
})
let uploadList = res.data
let newList = []
let _this = this
uploadList.map( res => {
let oData = {
tableId: id,
tableName: "t_contraction_info", //上传表
bizPath: "contraction",
fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字
method:'GET'
}
UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, {
success: (rr) => {
console.log(rr.rows);
rr.rows.map((rrr,index) => {
rrr.url = URL_PREFIX + rrr.fileUrl
if(index==rr.rows.length-1){
newList.push(Object.assign({},res,{"list":rr.rows}))
_this.setData({"fileList":_this.data.fileList.concat(newList)});
_this.setData({"showUpload":true})
}
})
},
fail:(rr) =>{
console.log(rr);
},
complete:(rr) => {
console.log(rr);
}
})
})
}
}
})
//查询收入详情
UTIL.httpRequest(API.URL_GET_FLOWGET + options.id , {method:'GET'}, {
success: (res) => {
if(res.data.incomeType == 2){
UTIL.httpRequest(API.URL_GET_INFOGET + res.data.contractionId , {method:'GET'}, {
success: (res3) => {
that.setData({
contractionIdID:res3.data.code,
payerText:res3.data.name,
})
}
})
}

//获取收入类型状态
UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'income_type', {method:'GET'}, {
success: (res2) => {
if(res2.data.length>0){
that.setData({
incomeTypeOptions:res2.data,
})
that.setData({
formData:res.data,
contractionIdID:res.data.code,
incomeTypeText:UTIL.getTransform(res.data.incomeType,res2.data)
})
}
}
})
console.log(res);
}
})
},

/**
* 生命周期函数--监听页面显示
*/
onReady: function () {
let that = this;
//获取收入单位
UTIL.httpRequest(API.URL_GET_GETINFO, {method:'GET'}, {
success: (res) => {
if (res.code == API.SUCCESS_CODE) {
this.setData({bookName:res.user.bookName})
}
}
})

// 获取合同信息列表
UTIL.httpRequest(API.URL_GET_CONTRACTIONLIST , {method:'GET'}, {
success: (res) => {
that.setData({
contractionOptions:res.rows,
})
}
})

//获取当前账套付款账户列表
UTIL.httpRequest(API.URL_GET_ACCOUNTLIST , {method:'GET'}, {
success: (res) => {
that.setData({
accountListOptions:res.rows,
})
}
})
},
deleteimg:function(e){
let oData = e.currentTarget.dataset;
let file = this.data[oData.status];
file.splice(oData.id,1)
this.setData({
[oData.status]:file
})
},
back:function(){
wx.navigateBack({
delta: 1
})
},
uploadSjPics: function (e) { //这里是选取图片的方法
var that = this;
var detailPics = that.data.sjPics;
if (detailPics.length >= that.data.count) {
wx.showToast({
title: '最多选择' + that.data.count + '张!',
})
return;
}
wx.chooseImage({
count: that.data.count, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function (res) {
let fileForm = that.data.sjPics
res.tempFilePaths.forEach(item => {
fileForm.push({
file: item,
fileType:'1',
bizPath:'cashier',
tableName:'t_cashier_account_flow',
tableId:''
})
})
that.setData({
sjPics:fileForm
})
},
})
},
uploadFpPics: function (e) { //这里是选取图片的方法
var that = this;
var pics = [];
var detailPics = that.data.fpPics;
if (detailPics.length >= that.data.count) {
wx.showToast({
title: '最多选择' + that.data.count + '张!',
})
return;
}
wx.chooseImage({
count: that.data.count, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function (res) {
let fileForm = that.data.fpPics
res.tempFilePaths.forEach(item => {
fileForm.push({
file: item,
fileType:'2',
bizPath:'cashier',
tableName:'t_cashier_account_flow',
tableId:''
})
})
that.setData({
fpPics:fileForm
})
},
})
},
uploadQtPics: function (e) { //这里是选取图片的方法
var that = this;
var pics = [];
var detailPics = that.data.qtPics;
if (detailPics.length >= that.data.count) {
wx.showToast({
title: '最多选择' + that.data.count + '张!',
})
return;
}
wx.chooseImage({
count: that.data.count, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function (res) {
let fileForm = that.data.qtPics
res.tempFilePaths.forEach(item => {
fileForm.push({
file: item,
fileType:'3',
bizPath:'cashier',
tableName:'t_cashier_account_flow',
tableId:''
})
})
that.setData({
qtPics:fileForm
})
},
})
},

swichAccounting:function(e){
let codeStr = e.currentTarget.dataset.code;
let formDataObj = this.data.formData;
if(formDataObj.jieAmount==''){ //收入金额
UTIL.showToastNoneIcon('请填写收入金额!');
return false;
}else if(formDataObj.accountName==''){ //存入账户
UTIL.showToastNoneIcon('请选择存入账户!');
return false;
}else if(formDataObj.billNum==''){ //单据编码
UTIL.showToastNoneIcon('请输入单据编码!');
return false;
}else if(formDataObj.accountSummary==''){ //备注说明
UTIL.showToastNoneIcon('请输入备注说明!');
return false;
}else if(formDataObj.incomeType == '2' && formDataObj.contractionId==''){
UTIL.showToastNoneIcon('收入类型为发包收入,必须选择关联合同!');
return false;
}
let data = this.data.formData;
data.method = "POST";
data.checkedStatus = codeStr;
console.log(data);
UTIL.httpRequest(API.URL_POST_GERFLOWEDIT,data,{
success: (res) => {
if(res.code == 200){
let vouerId = res.data;
// let vouerId = 1;
let updataList = [...this.data.sjPics,...this.data.fpPics,...this.data.qtPics];
for(let i=0; i<updataList.length; i++){
let arrData=updataList[i];
arrData.tableId = vouerId;
wx.uploadFile({
url: API.URL_GET_UPLOAD,
filePath: arrData.file,
name: 'file',
header: {
"Content-Type": "multipart/form-data",//记得设置
"chartset":"utf-8",
'Authorization':'Bearer '+getApp().globalData.userInfo.token
},
formData:arrData,
success (response){
console.log(response);
},
fail(res){
console.log(response)
}
})
}
wx.redirectTo({
url: '/pages/index/index'
})
}else{
UTIL.showToastNoneIcon(res.msg);
}
}
})
},
onChange(event){
this.setData({
[event.currentTarget.dataset.value]: event.detail,
})
},
imgPreviewImage(e){
let currentImgList = e.currentTarget.dataset;
//获取当前附件列表
let currentStatus = this.data[currentImgList.status];
//当前选中图片index
let currentIndex = currentImgList.id;
let imgList = []
for(let i = 0; i<currentStatus.length; i++){
imgList.push(currentStatus[i].file)
}
wx.previewImage({
current: imgList[currentIndex], // 当前显示图片的http链接
urls: imgList // 需要预览的图片http链接列表
})
},

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

},

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

},

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

},

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

},

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

}
})

+ 24
- 0
pages/Bookkeeping/update/update.json Bestand weergeven

@@ -0,0 +1,24 @@
{
"navigationStyle": "custom",
"usingComponents": {
"van-row": "@vant/weapp/row/index",
"van-col": "@vant/weapp/col/index",

"van-cell": "@vant/weapp/cell/index",
"van-cell-group": "@vant/weapp/cell-group/index",
"van-tag": "@vant/weapp/tag/index",
"van-icon": "@vant/weapp/icon/index",
"van-steps": "@vant/weapp/steps/index",
"van-button": "@vant/weapp/button/index",
"van-radio": "@vant/weapp/radio/index",
"van-radio-group": "@vant/weapp/radio-group/index",
"van-field": "@vant/weapp/field/index",
"van-popup": "@vant/weapp/popup/index",
"van-picker": "@vant/weapp/picker/index",
"van-calendar": "@vant/weapp/calendar/index",
"van-dialog": "@vant/weapp/dialog/index",
"van-collapse": "@vant/weapp/collapse/index",
"van-collapse-item": "@vant/weapp/collapse-item/index"

}
}

+ 237
- 0
pages/Bookkeeping/update/update.wxml Bestand weergeven

@@ -0,0 +1,237 @@
<!--pages/apply/index.wxml-->
<view class="ns" style="height:{{isIPX?'88px':'64px'}};">
<image src="/image/apply/back.png" style="top:{{isIPX?'54px':'30px'}};" mode="widthFix" bindtap="back"></image>
<text style="top:{{isIPX?'54px':'30px'}};">收入登记</text>
</view>
<!-- 付款单位开始 -->
<view class="top" style="margin-top:{{isIPX?'100px':'75px'}};">
<image src="/image/apply/dress_icon.png" mode="widthFix"></image>
<view class="top-tit">收入单位</view>
<view class="top-title">{{bookName}}</view>
</view>
<text class="title">基础信息</text>
<view class="main-box table-box">
<view class="flex-block">
<text class="rules">收入时间</text>
<view class="wrap" bindtap="onsrDate" >
{{formData.accountDate}}
</view>
<van-calendar
show="{{ srShow }}"
min-date="{{ minDate }}"
max-date="{{ maxDate }}"
bind:close="onClose"
bind:confirm="onConfirm"
/>
</view>
<view class="flex-block">
<text class="rules">收入金额</text>
<input class="wrap" data-prop="formData.jieAmount" type="number" value="{{formData.jieAmount}}" bindinput="inputChange" placeholder="请输入收入金额"/>
</view>
<view class="flex-block"><text class="rules">存入账户</text>
<!-- <input class="wrap" type="number" bindinput="inputChange" data-prop="formData.accountName" value="{{formData.accountName}}" placeholder="请输入存入账户"/> -->
<view bindtap="oncrzhShow" class="wrap">
<text wx:if="{{formData.accountName==''}}" class="color-gray">请选择存入账户</text>
<text wx:else>{{formData.accountName}}</text>
</view>
<!-- custom-style="height: 20%;"-->
<van-popup
show="{{ crzhShow }}"
position="bottom"
bind:close="onCancelcrzh"
>
<van-picker columns="{{ accountListOptions }}" value-key="accountName" bind:cancel="onCancelcrzh"
show-toolbar="{{true}}"
bind:confirm="onConfirmcrzh"/>

</van-popup>

</view>
<view class="flex-block">
<text class="rules">收入类型</text>
<view bindtap="oncrlxShow" class="wrap">
<text wx:if="{{incomeTypeText==''}}" class="color-gray">请选择收入类型</text>
<text wx:else>{{incomeTypeText}}</text>
</view>
</view>
<van-popup
show="{{ crlxShow }}"
position="bottom"
bind:close="onCancelcrlx"
>
<van-picker
columns="{{ incomeTypeOptions }}"
value-key="dictLabel"
bind:cancel="onCancelcrlx"
show-toolbar="{{true}}"
bind:confirm="bindPickerChange"/>
<!-- <picker bindchange="bindPickerChange" class="wrap picker_wrap"
value="{{incomeTypeText}}"
range="{{incomeTypeOptions}}"
range-key="dictLabel">
</picker> -->
</van-popup>
<view class="flex-block"><text class="rules">单据编码</text> <input class="wrap" type="number" bindinput="inputChange" data-prop="formData.billNum" value="{{formData.billNum}}" placeholder="请输入单据编码"/></view>
<view class="flex-block"><text class="rules">备注说明</text> <input class="wrap" type="number" bindinput="inputChange" data-prop="formData.accountSummary" placeholder="请输入备注说明" value="{{formData.accountSummary}}"/></view>
</view>
<block wx:if="{{incomeType == 2}}">
<view class="title">
<text>关联合同</text>
</view>
<view class="main-box table-box">
<view class="flex-block">
<text class="rules {{formData.incomeType == '2' ?'':'no'}}">付款人{{}}</text>
<view class="wrap" bindtap="selectContraction">
<text wx:if="{{payerText==''}}" class="color-gray">请选择付款人</text>
<text wx:else>{{payerText}}</text>
</view>

<van-popup show="{{showHt}}" round position="bottom" bind:close="closeBox" >
<van-picker
columns="{{contractionOptions}}"
show-toolbar
value-key="name"
bind:cancel="closeBox"
bind:confirm="onConfirmContraction"
/>
</van-popup>
</view>
<view class="flex-block"><text class="rules {{formData.incomeType == '2' ?'':'no'}}">合同编码</text>
<view class="wrap" bindtap="selectContraction">
<text wx:if="{{contractionIdID==''}}" class="color-gray">请选择合同编码</text>
<text wx:else>{{contractionIdID}}</text>
</view>
</view>
</view>
</block>
<view class="main-box table-box" style="margin-top: 15px;">
<van-cell>
<!-- <view slot="icon">
<van-icon class-prefix="my-icon" name="extra" />
</view> -->
<view slot="title">
<view class="van-cell-text">附件<van-tag type="danger" style="margin-left: 10px;">可拍照</van-tag></view>
</view>
<view>
<view class="van-cell-text">总数<van-tag round color="#5CAE77" plain style="margin-left: 10px;"> {{form.transfers[index].fileNum?form.transfers[index].fileNum:0}}张 </van-tag></view>
</view>
</van-cell>
<view class="fj-box">
<view class="fj-li">
<view>
<text>收\n据</text>
</view>
<view class="img_box">
<view class="img_list" wx:for="{{sjPics}}" wx:for-index="index" wx:key="index">
<image class="img_li" src="{{item.file}}"bindlongpress="bindlongpressimg" data-status="sjPics" bindtap="imgPreviewImage" data-id='{{index}}'></image>
<van-icon name="/image/apply/img_delete.png" data-id="{{index}}" size="20px" data-status="sjPics" bindtap="deleteimg" />
</view>
<view class="img_list">
<image class="img_li img_add" src="/image/apply/fj_upload.png" data-index="{{index}}" bindtap="uploadSjPics"></image>
</view>
</view>
</view>
<view class="fj-li">
<view>
<text>发\n票</text>
</view>
<view class="img_box">

<view class="img_list" wx:for="{{fpPics}}" wx:for-index="index" wx:key="index">
<image class="img_li" src="{{item.file}}" data-status="fpPics" bindtap="imgPreviewImage" bindlongpress="bindlongpressimg" data-id='{{index}}'></image>
<van-icon name="/image/apply/img_delete.png" size="20px" data-id="{{index}}" data-status="fpPics" bindtap="deleteimg" />
</view>
<view class="img_list">
<image class="img_li img_add" src="/image/apply/fj_upload.png" data-index="{{index}}" bindtap="uploadFpPics"></image>
</view>
</view>
</view>
<view class="fj-li">
<view>
<text>其\n他</text>
</view>
<view class="img_box">
<view class="img_list" wx:for="{{qtPics}}" wx:for-index="index" wx:key="index">
<image class="img_li" src="{{item.file}}" data-status="qtPics" bindtap="imgPreviewImage" bindlongpress="bindlongpressimg" data-id='{{index}}'></image>
<van-icon name="/image/apply/img_delete.png" size="20px" data-id="{{index}}" data-status="qtPics" bindtap="deleteimg" />
</view>
<view class="img_list">
<image class="img_li img_add" src="/image/apply/fj_upload.png" data-index="{{index}}" bindtap="uploadQtPics"></image>
</view>
</view>
</view>
</view>

<!-- <view style="margin:10px 0 5px;" class="flex-block">
<text class="fjLable">收据</text>
<view class='content'>
<view class='img-box'>
<view class='img-list'>
<block wx:for="{{sjPics}}" wx:for-index="index" wx:key="index">
<view class='img-item'>
<van-icon class="close-ico" data-id="{{index}}" name="/image/apply/img_delete.png" size="20px" data-status="sjPics" bindtap="deleteimg" />
<image src='{{item.file}}' class="imagea" bindlongpress="bindlongpressimg" data-status="sjPics" bindtap="imgPreviewImage" data-id='{{index}}'></image>
</view>
</block>
<view class='chooseimg' bindtap='uploadSjPics'>
<view class="weui-uploader__input-box"></view>
</view>
</view>
</view>
</view>
</view>
<view style="margin:10px 0 5px;" class="flex-block">
<text class="fjLable">发票</text>
<view class='content'>
<view class='img-box'>
<view class='img-list'>
<block wx:for="{{fpPics}}" wx:for-index="index" wx:key="index">
<view class='img-item'>
<van-icon class="close-ico" data-id="{{index}}" name="/image/apply/img_delete.png" size="20px" data-status="fpPics" bindtap="deleteimg" />
<image src='{{item.file}}' data-status="fpPics" bindtap="imgPreviewImage" class="imagea" bindlongpress="bindlongpressimg" data-id='{{index}}'></image>
</view>
</block>
<view class='chooseimg' bindtap='uploadFpPics'>
<view class="weui-uploader__input-box"></view>
</view>
</view>
</view>
</view>
</view>
<view style="margin:10px 0 5px;" class="flex-block">
<text class="fjLable">其他</text>
<view class='content'>
<view class='img-box'>
<view class='img-list'>
<block wx:for="{{qtPics}}" wx:for-index="index" wx:key="index">
<view class='img-item'>
<van-icon class="close-ico" name="/image/apply/img_delete.png" size="20px" data-id="{{index}}" data-status="qtPics" bindtap="deleteimg" />
<image src='{{item.file}}' data-status="qtPics" bindtap="imgPreviewImage" class="imagea" bindlongpress="bindlongpressimg" data-id='{{index}}'></image>
</view>
</block>
<view class='chooseimg' bindtap='uploadQtPics'>
<view class="weui-uploader__input-box"></view>
</view>
</view>
</view>
</view>
</view> -->
</view>

<view class="bottom">
<!-- <view class="btn1" data-type="3" bindtap="goSubmit">提交复核</view> -->
<view class="btn1" data-code="1" bindtap="swichAccounting">暂存</view>
<view class="btn2" data-code="2" bindtap="swichAccounting">提交</view>
</view>

<!-- <view class="main-box table-box" style="margin-top: 30rpx;">
<view class="btn flex-block">
<button type="primary" data-code="1" bindtap="swichAccounting" plain="true">暂存</button>
<button type="primary" data-code="2" bindtap="swichAccounting">提交</button>
</view>
</view> -->

+ 292
- 0
pages/Bookkeeping/update/update.wxss Bestand weergeven

@@ -0,0 +1,292 @@
/* pages/apply/index.wxss */
.inComeUnit{
border:1rpx solid #ddd;
width:90%;
margin:0 auto;

}
.top{
display: flex;
width: 94%;
margin: 0 auto;
border-radius: 10rpx;
margin-top: 3vw;
overflow: hidden;
}
.top view{
padding: 40rpx 15rpx;
align-items: center;
justify-content: center;
position: relative;
}
.top image{
position: absolute;
width: 94%;
}
.top-title{
flex: 1;
text-align: center;
}
.top-tit{
color: #fff;
}
.rules:before{
content:'*';
color:red;
}
.rules.no::before{
content:' ';
padding-left: 14rpx;
color:'#fff';
}
.main-title{
background-image: linear-gradient(to right, #2C8E68 , #B3DB62);
color: #ffffff;
font-size: 18rpx;
padding: 10rpx 0;
text-align: center;
}
.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);
}
.main-box block{
float: right;
}

.main-box .color-gray{
color: #888;
}
.title{
padding: 10px calc(3% + 20px);
display: block;
}
.van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-top: 0!important;
margin-bottom: 15px;
}
.table-box .flex-block{
margin-bottom: 15px;
display: flex;
justify-content: space-between;
align-items: center;
}
.table-box .flex-block:last-child{
margin-bottom: 0px;
}
.table-box .rules{
width: 200rpx;
}
.table-box .picker_wrap{
/* display: flex;
justify-content: flex-end;
align-items: center; */
}
.table-box .picker{text-align: right;}
.table-box .wrap{flex:1; text-align: right;}
.fjLable{
display: flex;
width:24px;
margin:25rpx 5rpx;
color:#fff;
background:#07c160;
text-align: center;
border-radius: 10rpx;
justify-content: center; /* 相对父元素水平居中 */
align-items: center;
padding:25rpx 0;
}
.content {
width: 100%;
background-color: #fff;
}

.img-list {
display: flex;
display: -webkit-flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
}

.img-item {
width: 30%;
text-align: left;
margin-right: 3%;
margin-bottom: 10rpx;
position: relative;
}
.img-item .close-ico{
position: absolute;
right: -10rpx;
top: -10rpx;
}
.img-item .imagea {
width: 160rpx;
height: 160rpx;
}

.submit-btn {
width: 100%;
background-color: #fff;
height: 80rpx;
text-align: center;
line-height: 80rpx;
font-size: 30rpx;
position: fixed;
bottom: 100rpx;
}

.chooseimg {
height: 160rpx;
background-color: #fff;
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center;
}

.weui-uploader__input-box {
float: left;
position: relative;
/* margin-right: 9rpx;
margin-bottom: 9rpx; */
width: 120rpx;
height: 120rpx;
border: 1px solid #d9d9d9;
}

.weui-uploader__input-box:before {
width: 2px;
height: 39.5px;
}

.weui-uploader__input-box:after, .weui-uploader__input-box:before {
content: " ";
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: #d9d9d9;
}

.weui-uploader__input-box:after {
width: 39.5px;
height: 2px;
}

.weui-uploader__input-box:after, .weui-uploader__input-box:before {
content: " ";
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background-color: #d9d9d9;
}

.tips {
color: #666;
font-size: 24rpx;
padding-bottom: 20rpx;
}

.img-box {
width: 92%;
margin: auto;
padding-top: 20rpx;
}
.btn button{
line-height: 1.7;
padding-left:80rpx;
padding-right:80rpx;
border-radius: 30rpx;
}

.fj-box text{
background-color: #5CAE77;
color: #ffffff;
text-align: center;
border-radius: 5px;
white-space:pre-wrap;
padding: 22px 8px;
display: block;
}
.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;
}
.img_box{
position: relative;
width: 100%;
display: flex;
flex-wrap: wrap;
}
.img_box .img_list{
width: 25%;
margin-left: 5%;
position: relative;
}
.img_box .img_list .van-icon{
font-size: 20px;
position: absolute;
top: 0;
right: 0;
transform: translate(50%,-50%);
}
.img_box .img_list:nth-child(n+4){
margin-top: 15px;
}
.bottom{
width: 84%;
margin: 0 auto;
text-align: center;
margin-top: 50px;
margin-bottom: 50px;
display: flex;
}

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

.bottom .btn1{
border: 1px solid #2C8E68;
padding: 8px 0px;
color: #2C8E68;
}

.bottom .btn2{
border: 1px solid transparent;
padding: 8px 0px;
background-image: linear-gradient(to right, #2C8E68, #5CAE77);
margin-left: 6%;
color: #fff;
}
.bottom .btn3{
border: 1px solid transparent;
padding: 8px 0px;
background-image: linear-gradient(to right, #2C8E68, #5CAE77);
color: #fff;
width: 100%;
}

Laden…
Annuleren
Opslaan