gjy 1 vuosi sitten
vanhempi
commit
24170998f5
2 muutettua tiedostoa jossa 843 lisäystä ja 5 poistoa
  1. 8 5
      pages/task/audit/freight_setting_approval.vue
  2. 835 0
      pages/task/audit/sales_shift.vue

+ 8 - 5
pages/task/audit/freight_setting_approval.vue

@@ -125,7 +125,7 @@
 		</u-form>
 		<u-modal v-model="show" :title-style="{fontSize: '18px',fontWeight:'500'}"
 			:content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
-			:showCancelButton='false' :content="content" @confirm="passSubmit" @cancel="show = false"></u-modal>
+			:showCancelButton='true' :content="content" @confirm="passSubmit" @cancel="show = false"></u-modal>
 		<u-button type="primary" class="submit" @click="show = true" v-if="list.priceStatus == '审核中'||isSHowBtn">通过
 		</u-button>
 	</view>
@@ -292,11 +292,11 @@
 								}
 							}
 							this.auditList = response.data.data
-							var time2 = new Date(this.list[0].createDate).getTime()
+							var time2 = new Date(this.list.createDate).getTime()
 							var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
 							this.auditList.unshift({
-								operatorTitle: this.list[0].requester.substring(0, 2),
-								operatorName: this.list[0].requester,
+								operatorTitle: this.list.requester.substring(0, 2),
+								operatorName: this.list.requester,
 								updateDate: time3,
 								auditMind: '',
 								desc: '发起申请',
@@ -422,7 +422,7 @@
 		width: 98%;
 		background: #22C572;
 		border-radius: 40rpx;
-		margin-top: 40rpx;
+		margin: 40rpx 0;
 	}
 
 	.rejectInfoCss {
@@ -594,4 +594,7 @@
 			margin-top: 20rpx;
 		}
 	}
+	.warp{
+		padding-bottom:30rpx;
+	}
 </style>

+ 835 - 0
pages/task/audit/sales_shift.vue

@@ -0,0 +1,835 @@
+<template>
+	<view class="warp">
+		<view class="topInfo">
+			<view class="topInfo-item">
+				<view class="flex info">
+					<view class="logo">
+						<image src="../../../static/img/reject.png" mode="" v-if="list.status == '已驳回'"
+							style="height: 40rpx;"></image><!-- 驳回 -->
+						<image src="../../../static/img/tongguo.png" mode="" v-if="list.status == '已通过'"
+							style="height: 40rpx;"></image><!-- 通过 -->
+						<image src="../../../static/img/daishenhe.png" mode="" v-if="list.approveStatus "
+							style="height: 40rpx;"></image><!-- 待审核 -->
+					</view>
+					<view class="infoText">{{list.approveStatus?list.approveStatus:list.status}}</view>
+				</view>
+				<view class="infoData">{{list.updateDate}}</view>
+			</view>
+		</view>
+		<view class="transaction">
+			<u-form :model="list" ref="list" class="uForm">
+				<u-form-item label="任务类型" prop="contractNo" label-width="140">
+					销售转移
+				</u-form-item>
+			</u-form>
+			<view style='margin-left:20rpx;font-weight:600;'>基本信息</view>
+			<u-form :model="list" ref="list" class="uForm">
+				<u-form-item :border-bottom='false' label="原合同编号" prop="contractNo" label-width="140">
+					<u-input v-model="list.contractNo" input-align="right" placeholder="" disabled />
+				</u-form-item>
+				<u-form-item :border-bottom='false' label="原合同提示" prop="pointOut" label-width="140">
+					<u-input v-model="list.pointOut" input-align="right" placeholder="空" disabled />
+				</u-form-item>
+				<u-form-item :border-bottom='false' label="原出库任务" prop="processNo" label-width="140">
+					<view style='text-align:right;width: 100%;color:#000;min-height: 70rpx;line-height: 70rpx;' v-for='item in list.taskNoList'> {{item}}</view>
+				</u-form-item>
+				<u-form-item :border-bottom='false' label="新合同/移库编号" prop="goodsName" label-width="220">
+					<u-input v-model="list.contractNoNew" input-align="right" placeholder="" disabled />
+				</u-form-item>
+				<u-form-item :border-bottom='false' label="新合同提示" prop="sendDetailedAddress" label-width="140">
+					<u-input v-model="list.pointOutNew" input-align="right" placeholder="空" disabled />
+				</u-form-item>
+				<u-form-item :border-bottom='false' label="新出库任务" prop="sendDetailedAddress" label-width="140">
+					<u-input v-model="list.taskNoNew" input-align="right" placeholder="" disabled />
+				</u-form-item>
+				<u-form-item :border-bottom='false' label="新运输任务" prop="sendDetailedAddress" label-width="140">
+					<u-input v-if='list.tranTaskNew' v-model="list.tranTaskNew" input-align="right" placeholder="" disabled />
+					<view v-else style='text-align:right;width: 100%;color:#000;min-height: 70rpx;line-height: 70rpx;'> 他运无运输任务</view>
+				</u-form-item>
+			</u-form>
+			<view style='margin-left:20rpx;font-weight:600;'>车辆信息</view>
+			<view v-for='item in list.tranCarInfoList'>
+				<view style='justify-content: space-between;margin:10rpx 20rpx;' class='flex'>
+					<view>{{item.carNo}} <text v-if='item.tranCarNo'>({{item.tranCarNo}})</text> </view>
+					<view class="">{{item.tranTaskOld?item.tranTaskOld:'他运无运输任务'}}</view>
+				</view>
+				<view style='justify-content: space-between;margin:10rpx 20rpx;' class='flex '>
+					<view v-if='item.tranTaskOld'>原运费{{item.tranPriceOld}}元/吨</view>
+					<view v-else>&nbsp;</view>
+					<view style='align-items: center;' class='flex ' v-if='list.tranTaskNew'>
+						新运费
+						<u-input style='border-bottom:1px solid #ccc;width:200rpx;margin:0 4rpx;padding-right:10rpx;' v-model="item.tranPrice" input-align="right" placeholder="" :disabled='!editstatus' />
+						元/吨
+					</view>
+				</view>
+			</view>
+		</view>
+		<u-form ref="uForm">
+			<view class="form_top">流程</view>
+			<view class="content2">
+				<view v-for="(item,index) in auditList" :key='index' class="audit">
+					<view class="row" v-if='item.desc!="_PLACEHOLDER_"'>
+						<view class="row-left">
+							<view class="item1">
+								<view class="item-content">{{item.operatorTitle}}</view>
+								<view v-if="item.status=='success'" class='status success'>
+									<u-icon name="checkmark" color="#2979ff" size="24"></u-icon>
+								</view>
+								<view v-if="item.status=='error'" class='status error'>
+									<u-icon name="close" color="rgb(245, 108, 108)" size="24"></u-icon>
+								</view>
+								<view v-if="item.status=='question'" class='status question'>
+									<u-icon name="question" color="#f9ae3d" size="24"></u-icon>
+								</view>
+							</view>
+						</view>
+						<view class="row-right">
+							<view class="right-item">
+								<view class="item2">
+									<view class="name">{{item.desc}}
+									</view>
+									<!-- <view class='time'>{{item.updateDate}}</view> -->
+									<view v-if="item.status=='success'" class="status success">
+										{{item.commonStaffs1?item.staffscontent:item.operatorName}}<text
+											v-if='!item.commonStaffs1&&index!=0'>已审核</text></view>
+									<view v-if="item.status=='error'" class="status error">
+										{{item.commonStaffs1?item.staffscontent:item.operatorName}}<text
+											v-if='!item.commonStaffs1'>{{item.workflowHistoricTasks ? "已驳回":''}}</text>
+									</view>
+									<view v-if="item.status=='question'" class="status question">
+										{{item.commonStaffs1?item.staffscontent:''}}<text
+											v-if='!item.commonStaffs1'>未审核</text></view>
+									<!-- <view  class="status success">吕波(已审核)</view> -->
+								</view>
+								<view v-if='index==0||item.workflowHistoricTasks&&item.workflowHistoricTasks.length>0'
+									class='time'>
+									{{item.updateDate}}
+								</view>
+							</view>
+							<view v-if='item.auditMind' class="right-content">
+								{{item.auditMind}}
+							</view>
+						</view>
+						<view v-if='item.commonStaffs1' class="right">
+							<u-icon @click='showcontent(item)' :name="item.showflow?'arrow-up':'arrow-down'" size="28">
+							</u-icon>
+						</view>
+					</view>
+					<view v-if='item.showflow' style='padding:10px 0 0 50px;'>
+						<view class='row2'>
+							<view v-for='item1 in item.commonStaffs1' style='margin:5px;text-align:center;'>
+								<view class="item-content">
+									<u-icon v-if='item1.status' name="checkmark" color="#fff" size="14"></u-icon>
+									<u-icon v-if='!item1.status' name="question" color="#f9ae3d" size="14"></u-icon>
+								</view>
+								<view class="name">{{item1.staffName}}</view>
+							</view>
+						</view>
+					</view>
+					<view class="row-line" v-if="index!= auditList.length - 1 &&item.desc!='_PLACEHOLDER_'"></view>
+				</view>
+			</view>
+		</u-form>
+		<view v-if='show' class="shade">
+			<view class="wrap">
+				<view class="alert-top">
+					<view class="title">
+						{{title}}
+					</view>
+					<u-icon name="close" class="close" color="#8890B1" @click="close()"></u-icon>
+				</view>
+				<view style='overflow-y: scroll;height: 740rpx;padding-bottom:102rpx;'>
+				<view class="u-textarea-style">
+					<view class="right-bottom">
+						{{auditMind.length}}/1000个字
+					</view>
+					<textarea maxlength="1000" v-model='auditMind' placeholder="请在此输入审核意见" name="" id="" cols="30"
+						rows="11"></textarea>
+		
+				</view>
+				<u-upload class="upload" ref="upload" name='fileName' :form-data="{companyId: pcUserInfo.compId,
+							modelId: '',
+							vesselId: ''}" :action="action1" :show-tips="false" :max-size="maxSize" :max-count="9"
+					:size-type="['compressed']" @on-success="getImgUrl($event)" @on-error="onError"
+					@on-remove="onRemove" @on-uploaded="isAdd = true" :limitType ="['png', 'jpg', 'jpeg', 'webp', 'gif']"
+					@on-progress="onProgress"></u-upload>
+				</view>
+				<view @click='close()' class="cancel">取消</view>
+				<view @click='passSubmit()' class="confirm">确定</view>
+			</view>
+		</view>
+		<view v-if='list.taskId' style='padding:10px;z-index: 12;' class='flex bottom-btn'>
+			<u-button v-if='list.approveStatus||isSHowBtn' @click='reject' type="error" class="btn1" hover-class='none'>
+				驳回
+			</u-button>
+			<u-button v-if='list.approveStatus||isSHowBtn' @click='pass' type="success" class="btn2">通过
+			</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import * as config from '../../../config'
+	import helper from '@/common/helper.js';
+	import {
+		mapState
+	} from 'vuex';
+	export default {
+		data() {
+			return {
+				isSHowBtn: true,
+				everyCheck: '',
+				list: {
+					status: "",
+				},
+				id: "",
+				pcUserInfo :uni.getStorageSync('pcUserInfo'),
+				action1: config.def().baseUrlNew+ 'appendix/api/uploadFiles',
+				show: false,
+				editstatus:false,
+				rejectInfo: "", //审核意见
+				title: '',
+				auditMind: '',
+				auditList:[],
+				fileUrl:[],
+				maxSize: 50 * 1024 * 1024, 
+				content: '是否通过该设置?'
+			}
+		},
+		onBackPress(e) {
+			if (this.everyCheck) {
+				uni.navigateTo({
+					url: "/pages/task/my_task"
+				})
+				return true;
+			}
+		},
+		onLoad(options) {
+			this.id = options.id
+			this.everyCheck = uni.getStorageSync("everyTask")
+			this.isSHowBtn = options.isShowbtn
+			this.getList()
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo']),
+		},
+		methods: {
+			getImgUrl(res) {
+				this.fileUrl.push(res.data.appendixPath)
+			},
+			onError(error) {
+				alert(error)
+				console.log('------------error-----------')
+				console.log(error)
+			},
+			onProgress(e) {
+				console.log(e)
+			},
+			onRemove(index) {
+				console.log(index)
+				this.fileUrl.splice(index, 1)
+			},
+			close() {
+				this.show = false
+			},
+			//驳回
+			rejectSubmit() {
+				var that = this
+	
+				var info = that.auditMind
+				if (that.fileUrl.length > 0) {
+					info = that.auditMind + "##" + that.fileUrl.toString()
+				}
+				that.$api.doRequest('post', '/newWorkflow/api/handle', {
+					taskId: that.list.taskId,
+					approved: false,
+					auditMind: info?info:"",
+					needReapply: true,
+				}).then(res => {
+					that.$api.msg('驳回成功')
+					that.show = false
+					setTimeout(function() {
+						if (that.everyCheck) {
+							helper.setAudit(that.list)
+						} else {
+							uni.navigateBack()
+						}
+			
+						uni.hideLoading()
+					}, 1000);
+				})
+			},
+			//通过
+			async passSubmit() {
+				var that = this
+				uni.showLoading({
+						title: '加载中',
+						mask: true
+					});
+				if(this.editstatus){
+					
+					await that.$api.doRequest('post', '/salesTransferInfo/api/editInfo', {
+						id:this.list.id,
+						tranCarInfoList:this.list.tranCarInfoList
+					}).then(res => {})
+				}
+				if (this.title == '驳回原因(驳回)') {
+					this.rejectSubmit()
+				} else {
+					
+					var info = that.auditMind
+					if (that.fileUrl.length > 0) {
+						info = that.auditMind + "##" + that.fileUrl.toString()
+					}
+					await that.$api.doRequest('post', '/newWorkflow/api/handle', {
+						taskId: that.list.taskId,
+						approved: true,
+						auditMind: info?info:"",
+						needReapply: true,
+					}).then(res => {
+						that.$api.msg('通过成功')
+						that.show = false
+						setTimeout(function() {
+							if (that.everyCheck) {
+								helper.setAudit(that.list)
+							} else {
+								uni.navigateBack()
+							}
+							uni.hideLoading()
+						}, 1000);
+					})
+				}
+			},
+			pass() {
+				console.log(11111111)
+				for (var i = 0; i < this.list.tranCarInfoList.length; i++) {
+					if(this.list.tranCarInfoList[i].tranPrice<0){
+						this.$api.msg('运费输入错误')
+						return
+					}
+					if(this.list.tranCarInfoList[i].tranPrice.indexOf('.')!=-1&&this.list.tranCarInfoList[i].tranPrice.split('.')[1].length>2){
+						this.$api.msg('运费输入错误')
+						return
+					}
+				}
+				console.log(22222222)
+				this.show = true
+				this.title = '审核意见(通过)'
+			},
+			reject() {
+				for (var i = 0; i < this.list.tranCarInfoList.length; i++) {
+					if(this.list.tranCarInfoList[i].tranPrice<0){
+						this.$api.msg('运费输入错误')
+						return
+					}
+					if(this.list.tranCarInfoList[i].tranPrice.indexOf('.')!=-1&&this.list.tranCarInfoList[i].tranPrice.split('.')[1].length>2){
+						this.$api.msg('运费输入错误')
+						return
+					}
+				}
+				this.show = true
+				this.title = '驳回原因(驳回)'
+			},
+			getList() {
+				var that = this
+				this.$api.doRequest('get', '/salesTransferInfo/getInfo', {
+					id: this.id
+				}).then(res => {
+					res.data.data.taskNoList=res.data.data.taskNo.split(',')
+					
+					this.list = res.data.data
+					// 查流程
+					this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
+						businessCode: 'WAREHOUSING-XSZY-APPROVE',
+						tmpCompId: uni.getStorageSync('pcUserInfo').compId
+					}).then(res1 => {
+						this.$api.doRequest('get', '/commonUser/getHis', {
+							workflowId: res1.data.data[0].id,
+							businessKey: this.id,
+							// branch:'zt'
+						}).then(response => {
+							uni.hideLoading()
+							if(response.data.data[0].workflowHistoricTasks.length>0){
+								this.editstatus=false
+							}else{
+								this.editstatus=true
+							}
+							for (let i = 0; i < response.data.data.length; i++) {
+								this.$set(response.data.data[i], 'status', 'question')
+								console.log(response.data.data[i].workflowHistoricTasks, i)
+								if (response.data.data[i].commonStaffs) {
+									response.data.data[i].showflow = false
+									response.data.data[i].operatorTitle = response.data.data[i]
+										.desc.substring(0, 2)
+									response.data.data[i].operatorName = response.data.data[i]
+										.desc
+									response.data.data[i].staffscontent = '共' + response.data
+										.data[i].commonStaffs.length + '人,当前审核' + response.data
+										.data[i].workflowHistoricTasks.length + '人'
+									if (response.data.data[i].workflowHistoricTasks && response
+										.data.data[i].workflowHistoricTasks.length > 0) {
+										if (response.data.data[i].workflowHistoricTasks
+											.length != response.data.data[i].commonStaffs
+											.length) {
+											// response.data.data[i].status='question'
+											this.$set(response.data.data[i], 'status',
+												'question')
+										} else {
+											this.$set(response.data.data[i], 'status',
+												'success')
+											// response.data.data[i].status='success'
+										}
+										response.data.data[i].workflowlen = response.data.data[
+											i].workflowHistoricTasks.length
+										var workflowdata = response.data.data[i]
+											.workflowHistoricTasks
+										var staffsdata = response.data.data[i].commonStaffs
+										for (let q = 0; q < staffsdata.length; q++) {
+											staffsdata[q].status = false
+											staffsdata[q].staffTitle = staffsdata[q].staffName
+											for (let k = 0; k < workflowdata.length; k++) {
+												if (staffsdata[q].staffId == workflowdata[k]
+													.operatorId) {
+													staffsdata[q].status = true
+												}
+											}
+										}
+									}
+									response.data.data[i].commonStaffs1 = response.data.data[i]
+										.commonStaffs
+								} else {
+									if (response.data.data[i].workflowHistoricTasks && response
+										.data.data[i].workflowHistoricTasks.length > 0) {
+										var len = response.data.data[i].workflowHistoricTasks
+											.length - 1
+										if (response.data.data[i].workflowHistoricTasks[len]
+											.approved) {
+											this.$set(response.data.data[i], 'status',
+												'success')
+										} else {
+											this.$set(response.data.data[i], 'status', 'error')
+										}
+										response.data.data[i].operatorTitle = response.data
+											.data[i].workflowHistoricTasks[len].operatorName
+											.substring(response.data.data[i]
+												.workflowHistoricTasks[0].operatorName.length -
+												2)
+										response.data.data[i].operatorName = response.data
+											.data[i].workflowHistoricTasks[len].operatorName
+										var time = new Date(response.data.data[i]
+											.workflowHistoricTasks[len].claimTime)
+										.getTime()
+										response.data.data[i].updateDate = this.$u.timeFormat(
+											time, 'mm.dd hh:MM')
+										response.data.data[i].auditMind = response.data.data[i]
+											.workflowHistoricTasks[len].auditMind
+									} else {
+										this.$set(response.data.data[i], 'status', 'question')
+										// response.data.data[i].status='question'
+										if (response.data.data[i].desc == '总经理助理审核') {
+											response.data.data[i].operatorTitle = '总助'
+										} else if (response.data.data[i].desc == '杜大光审核') {
+											response.data.data[i].operatorTitle = '大光'
+										} else {
+											response.data.data[i].operatorTitle = response.data
+												.data[i].desc.substring(0, 2)
+										}
+					
+										response.data.data[i].operatorName = response.data
+											.data[i].desc
+										var time1 = new Date(response.data.data[i].updateDate)
+											.getTime()
+										response.data.data[i].updateDate = this.$u.timeFormat(
+											time1, 'mm.dd hh:MM')
+										response.data.data[i].auditMind = ''
+									}
+								}
+					
+							}
+							console.log(response.data.data)
+							for(let i = 0 ;i<response.data.data.length;i++){
+								if(response.data.data[i].status == "error"){
+									this.auditCheck = "error"
+									break;
+								}else if(response.data.data[i].status == "question"){
+									this.auditCheck = "question"
+									break;
+								}else{ 
+									this.auditCheck = "success"
+								}
+							}
+							this.auditList = response.data.data
+							var time2 = new Date(this.list.createDate).getTime()
+							var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
+							this.auditList.unshift({
+								operatorTitle: this.list.creater.substring(0, 2),
+								operatorName: this.list.creater,
+								updateDate: time3,
+								auditMind: '',
+								desc: '发起申请',
+								showflow: false,
+								commonStaffs1: null,
+								commonStaffs: null,
+								workflowHistoricTasks: [],
+								status: 'success'
+							})
+						})
+					})
+					for (var i = 0; i < this.list.tranCarInfoList.length; i++) {
+						if(this.editstatus){
+							this.list.tranCarInfoList[i].tranPrice=this.list.tranCarInfoList[i].tranPriceOld
+						}
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.transaction {
+		background-color: #FFFFFF;
+		margin: 10rpx;
+		padding-bottom: 10rpx;
+		border-radius: 20rpx;
+	}
+
+	.uForm {
+		padding: 0 40rpx;
+	}
+
+	.u-form-item {
+		padding: 0;
+	}
+
+	.bottom-btn {
+		width: 100%;
+		position: fixed;
+		bottom: 0rpx;
+		display: flex;
+		z-index: 2;
+		background:#fff;
+	}
+
+	.topInfo {
+		height: 210rpx;
+		background: linear-gradient(270deg, #22C572 0%, #34DE8A 100%);
+		padding: 30rpx;
+
+		.topInfo-item {
+			height: 150rpx;
+			background-color: #FFFFFF;
+			border-radius: 20rpx;
+			padding: 40rpx;
+
+			.logo {
+				width: 40rpx;
+				height: 40rpx;
+				margin-top: 8rpx;
+			}
+
+			.infoText {
+				font-size: 36rpx;
+				font-weight: 600;
+				margin-left: 20rpx;
+			}
+
+			.infoData {
+				color: #878C9C;
+				font-size: 26rpx;
+				margin-top: 10rpx;
+			}
+		}
+	}
+
+	.submit {
+		width: 98%;
+		background: #22C572;
+		border-radius: 40rpx;
+		margin-top: 40rpx;
+	}
+
+	.rejectInfoCss {
+		border: 1px solid #ccc;
+		border-radius: 10rpx;
+		background-color: #F9F9FA;
+		// height: 100px;
+		overflow-y: auto;
+		margin: 30rpx;
+	}
+
+	.rejectText {
+		text-align: center;
+	}
+
+	/deep/.u-input__textarea {
+		height: 300rpx !important;
+	}
+
+	.text_info {
+		display: flex;
+		width: 100%;
+		justify-content: flex-end;
+	}
+	.u-form {
+		margin-bottom: 20rpx;
+		background: #fff;
+		border-radius: 10px;
+		padding: 30rpx 10px;
+	
+		.u-form-item {
+			line-height: 30px;
+			padding: 0px 0;
+			font-size: 26rpx;
+			color: #878C9C;
+		}
+	}
+	.content2 {
+		background: white;
+		margin: 20rpx 0;
+		border-radius: 20rpx;
+		padding: 20rpx;
+	
+		.row {
+			display: flex;
+	
+			.row-left {
+				display: flex;
+				align-items: center;
+	
+				.item1 {
+					position: relative;
+	
+					.item-content {
+						background: #617AE0;
+						width: 44px;
+						height: 44px;
+						border-radius: 22px;
+						line-height: 44px;
+						text-align: center;
+						font-size: 15px;
+						color: #fff;
+					}
+	
+					.status {
+						position: absolute;
+						border-radius: 50%;
+						padding: 0px 2px;
+						right: -3px;
+						bottom: -3px;
+						background: #fff;
+					}
+	
+					.status.success {
+						border: 1px solid rgb(60, 156, 255);
+					}
+	
+					.status.error {
+						border: 1px solid rgb(245, 108, 108);
+					}
+	
+					.status.question {
+						border: 1px solid #f9ae3d;
+					}
+				}
+	
+			}
+	
+			.row-right {
+				width: 80%;
+				// color: #B0B1B5;
+				margin-top: 10px;
+	
+				.right-content {
+					background: #F2F3F7;
+					margin-left: 10px;
+					margin-top: 10px;
+					padding: 10px;
+					border-radius: 5px;
+					color: #B0B1B5;
+				}
+	
+				.right-item {
+					display: flex;
+					justify-content: space-between;
+	
+					.time {
+						color: #999;
+					}
+	
+					.item2 {
+						margin-left: 20rpx;
+						margin-top: -7px;
+	
+						.name {
+							font-size: 28rpx;
+							font-weight: 800;
+							margin-bottom: 4px;
+						}
+	
+						.status.success {
+							color: #6CC48C;
+						}
+	
+						.status.error {
+							color: rgb(245, 108, 108);
+						}
+	
+						.status.question {
+							color: #f9ae3d;
+						}
+					}
+				}
+			}
+		}
+	
+		.row2 {
+			display: flex;
+	
+			.item-content {
+				background: #22C572;
+				width: 30px;
+				height: 30px;
+				border-radius: 50%;
+				line-height: 30px;
+				text-align: center;
+				font-size: 12px;
+				color: #fff;
+				padding: 0 2px;
+				margin: 0 auto;
+			}
+	
+			.status {
+				position: absolute;
+				top: 0;
+				right: 0;
+			}
+		}
+	
+		.row-line {
+			width: 1px;
+			height: 30px;
+			background: #F2F2F2;
+			margin: 10rpx 50rpx;
+	
+		}
+	
+		.audit {
+			margin-top: 20rpx;
+		}
+	}
+	.warp{
+		padding-bottom:130rpx;
+	}
+	.shade {
+		position: fixed;
+		top: 0;
+		left: 0;
+		height: 100%;
+		width: 100%;
+		background: rgba(0, 0, 0, 0.4);
+		z-index: 13;
+	
+		.wrap {
+			position: absolute;
+			left: 0;
+			top: 0;
+			right: 0;
+			bottom: 0;
+			margin: auto;
+			background: #fff;
+			width: calc(100% - 198rpx);
+			height: 948rpx;
+			border-radius: 20rpx;
+			// overflow-y: scroll;
+	
+			.alert-top {
+				padding: 33rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				position: relative;
+			}
+	
+			.title {
+				font-size: 32rpx;
+				font-weight: 600;
+				color: #333333;
+			}
+	
+			.close {
+				position: absolute;
+				right: 33rpx;
+			}
+		}
+	}
+	
+	.cancel,
+	.confirm {
+		position: absolute;
+		display: inline-block;
+		width: 50%;
+		text-align: center;
+		bottom: 0;
+		padding: 10px;
+		border-top: 1px solid #eee;
+		font-size: 34rpx;
+		z-index:10;
+		background:#fff;
+	}
+	
+	.cancel {
+		left: 0;
+		border-right: 1px solid #eee;
+		color: #AFB3BF;
+	}
+	
+	.confirm {
+		right: 0;
+		color: #22C572;
+	}
+	
+	.textarea {
+		margin: 18rpx auto;
+		width: 100%;
+		background: #F9F9FA;
+		border-radius: 10px;
+		border: 1px solid #EEEEEE;
+		font-size: 28rpx;
+		padding: 10px;
+	}
+	
+	.textCss {
+		display: flex;
+		justify-content: flex-end;
+		width: 100%;
+		text-align: right;
+		color: #333333;
+	}
+	
+	.u-textarea-style {
+		margin: 20rpx;
+		background: #F9F9FA;
+		border-radius: 10px;
+		border: 1px solid #EEEEEE;
+		padding: 10rpx 20rpx;
+		position: relative;
+	
+		height: 240px;
+	
+		/deep/.uni-textarea-textarea {
+			width: 80%;
+		}
+	
+		.right-bottom {
+			position: absolute;
+			right: 20rpx;
+			bottom: 20rpx;
+			color: #AFB3BF;
+		}
+	}
+	
+	/deep/.u-input__textarea {
+		height: 300rpx !important;
+	}
+</style>