gjy 2 tahun lalu
induk
melakukan
1990df2add

+ 9 - 9
pages/oa_office/the_oaOffice.vue

@@ -92,15 +92,15 @@
 						url: `/pages/reimbursement/the_reimbursement`,
 						show: true
 					},
-					// {
-					// 	num: 5,
-					// 	name: '申请审批',
-					// 	// icon: 'cuIcon-edit',
-					// 	src: '../../static/img/oa_office/shneqingshenpi.png',
-					// 	tips: 0,
-					// 	url: `/pages/universalityAudit/list`,
-					// 	show: true
-					// }
+					{
+						num: 5,
+						name: '申请审批',
+						// icon: 'cuIcon-edit',
+						src: '../../static/img/oa_office/shneqingshenpi.png',
+						tips: 0,
+						url: `/pages/universalityAudit/list`,
+						show: true
+					}
 				],
 
 			}

+ 359 - 0
pages/universalityAudit/addaduit.vue

@@ -0,0 +1,359 @@
+<template>
+	<view>
+		<view>
+			<u-form :model="dataobj" ref="uForm">
+				<u-form-item :border-bottom='false' label="类型"><view @click='typeselect'>{{dataobj.businessType?dataobj.businessType:'请选择类型 >'}}</view></u-form-item>
+			</u-form>
+			<u-form :model="dataobj"  ref="uForm">
+				<u-form-item :border-bottom='false' :label-position='"top"' label="备注">
+					<view class="u-textarea-style">
+						<view class="right-bottom">
+							{{dataobj.remark.length}}/2000个字
+						</view>
+						<!-- <u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
+							maxlength="100" /> -->
+							<textarea maxlength="2000" v-model='dataobj.remark' placeholder="请输入备注信息" name="" id="" cols="30" rows="11"></textarea>
+					</view>
+				</u-form-item>
+			</u-form>
+			<view class="c-row">
+				<view class="title">
+					<view>附件</view><view>(0-20)</view></view>
+			</view>
+			<view style="display: flex;flex-wrap: wrap;">
+				<view v-for='(item,index) in imglist2' v-if="imglist2 && imglist2.length > 0"
+					style="position: relative;margin-left: 20rpx;">
+					<view class="delete_img" @click="deleteImg(index)">X</view>
+					<image :src="item.appendixPath" mode="" style="width: 100px;height: 100px;"></image>
+				</view>
+				<view class="biankuang" @click="uploadClick" v-if="imglist2.length < 20">
+					<view class="tubiao">
+						<image class="upload" src="../../static/img/oa_office/upload.png" mode="">
+						</image>
+						<view class="" style="color:#8c8f98;">
+							选择图片
+						</view>
+					</view>
+				</view>
+			</view>
+			<u-picker @confirm='typeconfirm' :range="xialaList"  mode="selector" v-model="show" range-key="constValue" :default-selector="[0]"></u-picker>
+		</view>
+		<u-toast ref="uToast" />
+		<view class="bottom-btn">
+			<view @click="submit()" class="btn">提交</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import * as config from '../../config'
+	export default {
+		data() {
+			return {
+				xialaList:[],
+				show:false,
+				dataobj:{remark:''},
+				imglist:[],
+				imglist2:[]
+			}
+		},
+		onShow(){
+			this.getList()
+		},
+		watch: {
+			imglist: {
+				handler: function() {
+					this.$api.doRequest('get', 'appendix/query/getFileList', {
+						appendixIds: this.imglist.toString()
+					}).then(res => {
+						this.imglist2 = res.data.data
+					})
+				},
+				deep: true
+			}
+		},
+		methods: {
+			async uploadClick() {
+				let baseUrlNew = config.def().baseUrlNew
+				console.log('baseUrlNew',baseUrlNew)
+				uni.chooseImage({
+					count:10,
+					success: (chooseImageRes) => {
+						console.log('chooseImageRes',chooseImageRes)
+						let files = []
+						for (let item of chooseImageRes.tempFiles) {
+							files.push({
+								name: 'fileName',
+								uri : item.path
+							});
+						}
+						uni.uploadFile({
+							url: baseUrlNew + 'appendix/api/uploadFiles',
+							// url: baseUrlNew+'appendix/api/uploadFiles', //仅为示例,非真实的接口地址
+							files: files,
+							formData: {
+								// fileName: chooseImageRes.tempFiles[0],
+								companyId: "2710b21efc1e4393930c5dc800010dc4",
+								modelId: '',
+								vesselId: '',
+							},
+							success: (uploadFileRes) => {
+								console.log(JSON.parse(uploadFileRes.data))
+								var data = JSON.parse(uploadFileRes.data).data
+								this.$api.doRequest('post', '/appendix/api/saveFiles', {
+									newAppendixs: [data],
+									oldAppendixIds: ""
+								}).then(res => {
+									this.imglist.push(res.data.data[0])
+									console.log(res)
+								})
+								console.log(uploadFileRes.data);
+							},
+							fail(res) {
+								
+								console.log(res);
+							}
+						});
+					}
+				});
+			},
+			deleteImg(index) {
+				this.imglist.splice(index, 1)
+			},
+			getList(){
+				this.$api.doRequest('get', '/commonSysParameter/getInfo', {
+					constId:'EXA1'
+				}).then(res => {
+					this.xialaList=res.data.data
+				})
+			},
+			typeselect(){
+				this.show=true
+			},
+			typeconfirm(e){
+				console.log(this.xialaList[e[0]])
+				this.dataobj.businessType=this.xialaList[e[0]].constValue
+			},
+			submit() {
+				if (!this.dataobj.businessType) {
+					this.$api.msg('类型不能为空')
+					return
+				}
+				
+				var that = this
+				
+				uni.showModal({
+					content: '确定发起申请?',
+					showCancel: true,
+					confirmText: '提交',
+					success: function(res) {
+						if (res.confirm) {
+							if (that.imglist.length > 0) {
+								that.dataobj.addressUrl = that.imglist.toString()
+							}
+							uni.showLoading({
+								title: "加载中",
+								mask: true
+							})
+							that.$api.doRequest('post', '/generalAuditInfo/api/insertGeneralAuditInfo', that.dataobj)
+								.then(res => {
+									if (res.data.code == 200) {
+										uni.hideLoading()
+										that.$api.msg('提交成功')
+										uni.navigateBack({
+											delta: 1
+										});
+									} else {
+										that.$api.msg('提交失败')
+									}
+								})
+						}
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+page {
+		background: #F5F6FA;
+	}
+.u-form {
+		margin: 20rpx;
+		background: #fff;
+		border-radius: 10px;
+		padding: 30rpx 10px;
+	
+		.u-form-item {
+			line-height: 30px;
+			padding: 0px 0;
+			font-size: 26rpx;
+			color: #878C9C;
+		}
+	}
+	.delete_img {
+		position: absolute;
+		z-index: 100;
+		left: 84px;
+		color: #ffffff;
+		font-size: 28rpx;
+		border: 1px;
+		border-radius: 5rpx;
+		width: 32rpx;
+		height: 32rpx;
+		background-color: #ff0000;
+		text-align: center;
+	}
+
+	.title_b {
+		margin: 20rpx 20rpx 0rpx 20rpx;
+		padding: 20rpx 10rpx 20rpx 10rpx;
+		font-size: 18px;
+		font-weight: 550;
+	}
+
+	.xinxi {
+		padding: 20rpx 30rpx;
+	}
+
+	.tubiao {
+		margin: 0 auto;
+		text-align: center;
+		margin-top: 35rpx;
+	}
+
+	.biankuang {
+		border: 1px dashed #AFB3BF;
+		border-radius: 10rpx;
+		width: 200rpx;
+		height: 200rpx;
+		margin-left: 20rpx;
+	}
+
+	.upload {
+		width: 80rpx;
+		height: 80rpx;
+	}
+
+	.c-row {
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-align: center;
+		-webkit-align-items: center;
+		align-items: center;
+		padding: 20rpx 30rpx;
+		position: relative;
+	}
+
+	.con-list {
+		-webkit-box-flex: 1;
+		flex: 1;
+		display: flex;
+		-webkit-box-orient: vertical;
+		-webkit-box-direction: normal;
+		flex-direction: column;
+		color: #303133;
+		line-height: 20px;
+		text-align: right;
+		padding-right: 10px;
+		justify-content: space-between;
+	}
+
+	.title {
+		width:100%;
+		display:flex;
+		justify-content: space-between;
+		padding: 10px 16px;
+	}
+
+	.buns_item {
+		display: flex;
+		padding: 80rpx 0 50rpx 0;
+		justify-content: space-around;
+	}
+
+	.but_css {
+		background: #22C572;
+		width: 40%;
+		padding: 20rpx;
+		color: #fff;
+		text-align: center;
+		border-radius: 20rpx;
+	}
+
+	/deep/.u-radio-group {
+		flex-direction: row-reverse;
+	}
+
+	.no-boder {
+		border: 0;
+	}
+
+	.textarea {
+		background: #F9F9FA;
+		border: 1px solid #EEEEEE;
+	}
+
+	.remark {
+		position: absolute;
+		right: 10px;
+		bottom: 20px;
+		color: #AFB3BF;
+	}
+
+	.submit {
+		width: 100%;
+		background: #2c8ac5;
+		border-radius: 10rpx;
+	}
+
+	.bottom-btn {
+		padding: 30rpx;
+		background: #FFFFFF;
+		width: 100%;
+		position: fixed;
+		bottom: 0rpx;
+		display: flex;
+		z-index: 9999;
+	}
+
+	.content {
+		overflow: hidden;
+	}
+
+	.btn {
+		border-radius: 50rpx;
+		padding: 20rpx 0;
+		background: #22C572;
+		color: #fff;
+		font-size: 32rpx;
+		width: 100%;
+		box-sizing: border-box;
+		display: flex;
+		justify-content: center;
+	}
+	.margin-bottom{
+		margin-bottom:84px;
+	}
+	.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;
+		}
+	}
+	
+</style>

+ 61 - 0
pages/universalityAudit/list.vue

@@ -0,0 +1,61 @@
+<template>
+	<view>
+		<view v-for='item in datalist' @click='lookdetails(item)'>
+			<view>
+				<view>
+					{{item.businessType}}
+				</view>
+				<view>
+					{{item.approveStatus}}
+				</view>
+			</view>
+			<view>{{item.createDate}}</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				datalist:[],
+				currentPage:1,
+				pageSize:10
+			}
+		},
+		onShow(){
+			this.getList()
+		},
+		methods: {
+			lookdetails(row){
+				uni.navigateTo({
+					url:'/pages/universalityAudit/look?id='+row.id
+				})
+			},
+			onNavigationBarButtonTap() {
+			    uni.navigateTo({
+			    	url:'/pages/universalityAudit/addaduit'
+			    })
+			  },
+			getList(){
+				this.$api.doRequest('get', '/generalAuditInfo/selectGeneralAuditInfo', {
+					startDate: '',
+					endDate: '',
+					searchKeyWord: '',
+					currentPage: this.currentPage,
+					pageSize:this.pageSize,
+					searchType: '',
+					businessType: ''
+				}).then(res => {
+					this.datalist=res.data.data.records
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+page{
+	background:#fff;
+}
+</style>

+ 495 - 0
pages/universalityAudit/look.vue

@@ -0,0 +1,495 @@
+<template>
+	<view>
+		<view>
+			<u-form :model="dataobj" ref="uForm">
+				<u-form-item label="类型">{{dataobj.businessType}}</u-form-item>
+				<u-form-item label="备注">{{dataobj.remark}}</u-form-item>
+			</u-form>
+			<u-form :label-position='"top"' ref="uForm">
+				<u-form-item label="附件">
+				<view class="form_top">共{{imglist.length}}个附件</view>
+				<view v-if='imglist.length>0'>
+					<view style="justify-content: space-between;" class='flex' v-for='item in imglist'>
+						<view class="img_item">
+							<view class="" style="width: 16%;">
+								<image
+									v-if="item.type == 'pdf'"
+									class="imgsign" src="../../static/img/oa_office/pdf3.png"
+									mode=""></image>
+								<image v-else-if="item.type == 'xls'||item.type == 'xlsx'"
+									class="imgsign" src="../../static/img/oa_office/excle3.png"
+									mode=""></image>
+								<image v-else-if="item.type == 'doc'||item.type == 'docx'"
+									class="imgsign" src="../../static/img/oa_office/word3.png"
+									mode=""></image>
+								<image v-else class="imgsign" :src="item.appendixPath" mode="">
+								</image>
+							</view>
+							<view class="" style="width: 70%;">
+								<view class="char_css">{{item.appendixName}}</view>
+								<view class="img_size">{{item.appendixSize}}</view>
+							</view>
+							<view style="color: #22C572;" class="img_dowload" @click="openDocument(item)">
+								下载
+							</view>
+						</view>
+						
+						<!-- <u-icon name="attach" ></u-icon> -->
+						<!-- <image style='width: 200rpx;height: 200rpx;' :src="item" mode=""></image> -->
+					</view>
+				</view>
+				</u-form-item>
+			</u-form>
+			<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="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="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>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				id:'',
+				dataobj:{},
+				imglist:[],
+				auditList:[]
+			}
+		},
+		onLoad(options){
+			this.id=options.id
+			console.log(options.id)
+		},
+		onShow(){
+			// this.$nextTick(()=>{
+				this.getList()
+			// })
+			
+		},
+		methods: {
+			getList(){
+				var that =this
+				this.$api.doRequest('get', '/generalAuditInfo/getGeneralAuditInfo', {
+					id:this.id
+				}).then(res => {
+					this.dataobj=res.data.data
+					this.$api.doRequest('get', '/appendix/query/getFileList', {
+						appendixIds: that.dataobj.addressUrl
+					}).then(res1 => {
+						that.imglist = res1.data.data
+						for (let i = 0; i < that.imglist.length; i++) {//获取后缀
+							if (that.imglist[i].appendixName) {
+								let index = that.imglist[i].appendixName.lastIndexOf(".") 
+								that.imglist[i].type = that.imglist[i].appendixName.substring(index+1)
+							}
+						}
+					})
+					// 查流程
+					this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
+						businessCode: 'SHOU-CONTRACT-APPROVE',
+						tmpCompId: uni.getStorageSync('pcUserInfo').compId
+					}).then(res1 => {
+						this.$api.doRequest('get', '/commonUser/getHis', {
+							workflowId: res1.data.data[0].id,
+							businessKey: this.id,
+							branch:that.list.jointVentureParties?that.list.jointVentureParties:'zt'
+						}).then(response => {
+							uni.hideLoading()
+							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'
+							})
+						})
+					})
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.content2 {
+		background: white;
+		margin: 20rpx 0;
+		border-radius: 20rpx;
+		padding: 20rpx;
+	
+		.row {
+			display: flex;
+	
+			.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;
+					}
+				}
+	
+			}
+	
+			.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;
+		}
+	}
+.u-form {
+		margin: 20rpx;
+		background: #fff;
+		border-radius: 10px;
+		padding: 30rpx 10px;
+	
+		.u-form-item {
+			line-height: 30px;
+			padding: 0px 0;
+			font-size: 26rpx;
+			color: #878C9C;
+		}
+	}
+.form_top {
+		border-bottom: 1px solid #F5F6FA;
+		padding-bottom: 10px;
+		margin-bottom: 18rpx;
+		font-size: 30rpx;
+		font-weight: 600;
+	}
+
+	.form_view{
+		margin: 20rpx 0;
+		border-radius: 20rpx;
+		background: #F9F9FA;
+		padding: 30rpx 20rpx;
+		margin-top: 30rpx;
+	}
+
+	.label_css {
+		font-size: 26rpx;
+		color: #878C9C;
+	}
+
+	.input_css {
+		font-size: 20rpx;
+	}
+	.img_item {
+		display: flex;
+		width: 100%;
+		margin: 10px 0;
+		padding: 0 10rpx;
+		.imgsign{
+			width: 25px;
+			height: 25px;
+			margin-top: 6px;
+		}
+		.char_css {
+			font-size: 28rpx;
+			font-weight: 600;
+			display: -webkit-box;
+			overflow: hidden;
+			/*! autoprefixer: off; */
+			-webkit-box-orient: vertical;
+			-webkit-line-clamp: 1;
+			-webkit-box-orient: vertical;
+			text-overflow: ellipsis;
+			word-break: break-all;
+		}
+		.img_size{
+			color: #B0B3BF;
+			font-size: 12px;
+			margin-top: 5px;
+		}
+	
+		.img_dowload {
+			width: 14%;
+			color: #22C572;
+			text-align: right;
+		}
+	}
+</style>

TEMPAT SAMPAH
static/img/oa_office/shneqingshenpi.png