2024-09-03 18:19:25 +08:00

2012 lines
61 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="main">
<view class="header">
<view class="headerBox" :style="{height: menu.bottom + 18 + 'px'}">
<view class="arrowBox" :style="{paddingTop: menu.top + 'px',height: menu.height + 'px'}">
<image @click="handleBack" class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"/>
<view class="selectServiceBox">
<image class="serviceIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/serviceIcon.png"/>
<view class="nameBox">
<span class="service">{{ detailObj.SERVERPART_NAME}}</span>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
</view>
</view>
</view>
</view>
<view class="headerDetail" :style="{paddingTop: menu.bottom + 18 + 'px'}">
<view class="detailContent">
<view class="contentTop">
<view class="topLeft">
<image class="detailIcon" :src="projectObj.Project_ICO"/>
</view>
<view class="topRight">
<view class="detailTitle">{{topDetail.Name || ''}}</view>
<view class="typeBox">
<view class="typeItem">{{ settlementModes[topDetail.SettlementModes] || '' }}</view>
<view class="indexItem" v-if="settlementModes.IndexStr">{{ settlementModes.IndexStr || '' }}</view>
</view>
</view>
</view>
<view class="contentMoney">
<view class="moneyItem">
<view class="redMoney">{{ topDetail.RENTFEE ? $util.getMoney(topDetail.RENTFEE / 10000):'' }}</view>
<view class="label">
合同总金额
<span class="unit">/万元</span>
</view>
</view>
<view class="moneyItem">
<view class="moneyValue">{{topDetail.MINTURNOVER ? `${$util.getMoney(topDetail.MINTURNOVER / 10000)}` : ''}}</view>
<view class="label">
期除税收入
<span class="unit">/万元</span>
</view>
</view>
</view>
<view class="otherMessage">
<view class="otherItem">
<view class="value">{{topDetail.TaxRate ? `${topDetail.TaxRate}%` : '-'}}</view>
<view class="label">税率</view>
</view>
<view class="otherItem">
<view class="value">{{topDetail.GUARANTEERATIO ? `${topDetail.GUARANTEERATIO}%` : '-'}}</view>
<view class="label">提成比例</view>
</view>
<view class="otherItem">
<view class="value">{{topDetail.SECURITYDEPOSIT ? $util.getMoney(topDetail.SECURITYDEPOSIT / 10000):'-'}}</view>
<view class="label">履约保证金<span class="unit">/万元</span></view>
</view>
</view>
</view>
<view class="stateBox" v-if="detailObj.Approvalstate!==9" :style="{top: menu.bottom + 18 + 'px'}">
<image class="stateIcon" :src="detailObj.Approvalstate===0?'https://eshangtech.com/ShopICO/yxcl/settlementApproval/stateIcon.png':detailObj.Approvalstate===1?'https://eshangtech.com/ShopICO/yxcl/settlementApproval/pendIcon.png':''"/>
<span class="stateText">{{detailObj.Approvalstate===0?'待结算':detailObj.Approvalstate===1?'审核中':''}}</span>
</view>
<view class="overBox" v-else :style="{top: menu.bottom + 33 + 'px'}" >
<image class="overIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/isPassIcon.png"/>
</view>
</view>
</view>
<view class="progressList" v-if="detailObj.Approvalstate>0">
<view class="progressTitle">审批流程</view>
<!-- <view class="detailTopBox" v-if="detailObj.Approvalstate>0 && isShowProgress && progressDetail.BUSINESSAPPROVAL_STATE !== 9000">-->
<!-- <view class="leftTop">-->
<!-- <span class="label" style="color: red">待审核:</span>-->
<!-- <span class="value">{{progressDetail.APPOVED_NAME || ''}}</span>-->
<!-- </view>-->
<!-- </view>-->
<view class="listBox" v-if="isShowProgress">
<view class="listItem" v-for="(item,index) in progressList" :key="index">
<view class="listItemTop">
<view class="itemLeft">
<view class="nameIcon">
<span class="name" v-if="item.STAFF_NAME.length===3 || item.STAFF_NAME==='待审核'">{{item.STAFF_NAME === '待审核'?'待审核':item.STAFF_NAME.slice(1,3)}}</span>
<image v-else class="defaultPerson" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/defaultPersonIcon.png"/>
<image v-if="item.STAFF_NAME !== '待审核'" class="successIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/passIcon.png"/>
</view>
</view>
<view class="itemRight">
<view class="nameBox">
<view class="name">{{item.STAFF_NAME === '待审核'?item.APPLYAPPROVE_NAME:`${item.APPLYAPPROVE_NAME}`}}</view>
<view class="time">{{`${item.APPLYAPPROVE_DATE}`}}</view>
</view>
<view class="desc" v-if="item.STAFF_NAME!=='待审核'">
{{item.STAFF_NAME}}:{{`${item.APPLYAPPROVE_INFO}`}}
</view>
</view>
</view>
<view class="lineBox" v-if="index < progressList.length-1">
<view class="line"></view>
</view>
</view>
</view>
</view>
<view class="monthDetailBox">
<view class="detailBoxTop">
<span class="detailBoxTitle">月度结算详情</span>
</view>
<view class="detailBoxTime">
<image class="timeIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/timeIcon.png"/>
<view class="endTime">结算时间{{detailObj.thisMonth || ''}}</view>
</view>
<view class="table">
<view class="tableHeader">
<view class="firstTableTitle">数据类型</view>
<view class="borderRight"></view>
<view class="otherTableTitle">
<!-- <image class="dataIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/settlementIcon.png"/>-->
结算数据
</view>
<view class="borderRight"></view>
<view class="otherTableTitle">
<!-- <image class="dataIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/successData.png"/>-->
精算数据
</view>
</view>
<view class="tableBody">
<view class="tableRow ">
<view class="labelRow refundPay">本月营收</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.CurMonthRevenue?`${$util.getMoney(actuaryData.CurMonthRevenue || '')}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.CurMonthRevenueTEXT?monthNewCalibration.CurMonthRevenueTEXT:'-'}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow">累计营业额</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.REVENUEDAILY_AMOUNTTotal?`${$util.getMoney(actuaryData.REVENUEDAILY_AMOUNTTotal || '')}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.REVENUEDAILY_AMOUNTTotalTEXT?monthNewCalibration.REVENUEDAILY_AMOUNTTotalTEXT:'-'}}</view>
</view>
<view class="tableRow ">
<view class="labelRow beforeIcon">移动支付</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.MOBILEPAY_AMOUNT?`${$util.getMoney(actuaryData.MOBILEPAY_AMOUNT || '')}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.MOBILEPAY_AMOUNTTEXT || ''}}
<span v-if="monthNewCalibration.MOBILEPAY_CORRECT" style="color: red">({{monthNewCalibration.MOBILEPAY_CORRECT>0?'+':''}}{{monthNewCalibration.MOBILEPAY_CORRECTTEXT || ''}})</span></view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow beforeIcon">移动冲正</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.MOBILEPAY_CORRECT?`${$util.getMoney(actuaryData.MOBILEPAY_CORRECT)}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.MOBILEPAY_CORRECTTEXT || ''}}</view>
</view>
<view class="tableRow ">
<view class="labelRow beforeIcon">现金交易</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.CASHPAY_AMOUNT?`${$util.getMoney(actuaryData.CASHPAY_AMOUNT)}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">
{{monthNewCalibration.CASHPAY_AMOUNTTEXT || ''}}
<span v-if="monthNewCalibration.CASHPAY_CORRECT" style="color: red">({{ monthNewCalibration.CASHPAY_CORRECT > 0 ? '+' : '' }}{{ monthNewCalibration.CASHPAY_CORRECTTEXT || '' }})</span>
</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow beforeIcon">现金冲正</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.CASHPAY_CORRECT?`${$util.getMoney(actuaryData.CASHPAY_CORRECT)}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.CASHPAY_CORRECTTEXT || '0'}}</view>
</view>
<view class="tableRow ">
<view class="labelRow">提成金额</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.GUARANTEERATIOAMOUNT?`${$util.getMoney(actuaryData.GUARANTEERATIOAMOUNT)}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.GUARANTEERATIOAMOUNTTEXT || ''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow">提成收入</view>
<view class="borderRight"></view>
<view class="valueRow">{{actuaryData.GUARANTEERATIOINCOME?`${$util.getMoney(actuaryData.GUARANTEERATIOINCOME)}`:'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{monthNewCalibration.GUARANTEERATIOINCOMETEXT || ''}}</view>
</view>
</view>
</view>
</view>
<view class="payableFeesBox">
<!-- 经营商户应交费用明细表-->
<view class="payableFeesBoxTitle">经营商户应交费用明细表</view>
<view class="detailBoxTime">
<image class="timeIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/timeIcon.png"/>
<view class="endTime">结算时间{{detailObj.thisMonth || ''}}</view>
</view>
<view class="table">
<view class="tableHeader">
<view class="firstTableTitle">数据类型</view>
<view class="borderRight"></view>
<view class="otherTableTitle">
<!-- <image class="dataIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/settlementIcon.png"/>-->
应缴费用
</view>
<view class="borderRight"></view>
<view class="otherTableTitle">
<!-- <image class="dataIcon" src="https://eshangtech.com/ShopICO/yxcl/settlementApproval/successData.png"/>-->
已缴费用
</view>
</view>
<view class="tableBody">
<view class="tableRow ">
<view class="labelRow">合计</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.SHOPEXPENSE_AMOUNT ||'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.PAID_AMOUNT ||'-'}}</view>
</view>
<view class="tableRow tableRowGray" >
<view class="labelRow beforeIcon" >水费</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.SHOPEXPENSE_AMOUNT_1000 ||'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.PAID_AMOUNT_9010 ||'-'}}</view>
</view>
<view class="tableRow">
<view class="labelRow beforeIcon">电费</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.SHOPEXPENSE_AMOUNT_2000 ||'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.PAID_AMOUNT_9020 ||'-'}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow beforeIcon" >物业费</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.SHOPEXPENSE_AMOUNT_5000 ||'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.PAID_AMOUNT_9050 ||'-'}}</view>
</view>
<view class="tableRow">
<view class="labelRow beforeIcon">就餐费</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.SHOPEXPENSE_AMOUNT_4000 ||'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{'-'}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow beforeIcon">住宿费</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.SHOPEXPENSE_AMOUNT_3000 ||'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{ExpenseObj.PAID_AMOUNT_9030 ||'-'}}</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import request from '@/util/index.js'
import numeral from "numeral";
import Store from "../../store/store";
export default {
name: "monthDetail",
data() {
return {
detailObj:{},// 传入的详情数据
staticMonth:'',// 外面查询时间的结束时间
SETTLEMENT_MODESObj:{
1000:"营收回款",
2000: "资金返款",
3000: "营收分润",
4000: "组合分润",
9998: "阶段提成",
9999: "分段提成",
},// 写死的枚举
topDetail:{},// 顶部详情数据
actuaryData:{},// 精算数据
approveDesc:'已核对,拟同意!',// 审批意见
nextPerson:[],// 下一环节审批人列表
nextPersonIndex:'',// 下一环节审批人索引
nextPersonLabel:'',// 下一环节审批人索引
nextPersonValue:'',// 下一环节审批人的值
showLabel:'',// 审核人的显示
progressList: [],// 流程的数据
showPop:false,// 悬浮框
showType: 0,// 1审核 2 驳回
progressDetail:{},// 进度详情
rejectDataList:[],// 驳回的列表
rejectSelectIndex: '',// 驳回索引
rejectSelectValue: '',// 驳回的选择值
showRejectText:'',// 驳回显示的文字
isPending: false,// 接口是否进行中
isShowBtn: false,// 判断是否显示按钮
isShowApplyFor: false,// 发起申请的悬浮框
MobilePayCorrect: 0,// 移动支付差额
CashPayCorrect: 0,// 现金支付差额
newCalibration: {},// 校准之后的数据
afterCalibration: false,// 是否为校准之后
lastMonthIsOver: false,// 判断上个月是否已经审结
LastSettlementMonth: '',// 最近审结的月份
isShowSelect: false,// 出现选人的悬浮框
yearDataList:[],// 年度结算的悬浮框数据
isAllMonthSuccess: true,// 判断是不是全部的月份都已经审结了
allYearMonthDataList:[],//用来处理没完成的结算月度数据
yearDataListAfter:[],// 年度精算数据
yearDataListObj:[],// 年度精算数据 list也就一条
isShowProgress: true,// 是否显示流程进度
isPush: false,// 是否是推送
progressObjDetail:{},// 流程详情
monthId:'', // 月份审批二次进入发起申请的时候带的唯一id
monthNewCalibration:{},// 月度精算过后 详情进入查看的值
yearId:'',// 年度审批二次进入发起申请的时候带的id
menu:{},
settlementModes:{},// 結算模式
projectObj:{},// 项目数据 暂时是取头像的
ExpenseObj:{},// 水电费
}
},
async onLoad(query){
this.menu = uni.getMenuButtonBoundingClientRect()
this.handleGetSETTLEMENTMODES()
if (query.id) {
this.isPush = true
await this.handleGetPageDetail(query.id)
}else{
if(query.obj){
this.detailObj = JSON.parse(query.obj)
}
}
console.log('this.detailObj',this.detailObj)
if(query.staticMonth){
this.staticMonth = this.$moment(query.staticMonth ).format('YYYYMM')
}
// 拿到顶部数据
await this.handleGetDetailDifference()
// 月度数据
// 拿到月度精算数据
await this.handleGetActuaryData()
if (this.detailObj.BusinessApprovalId) {
// 精算数据
await this.handleGetDetail()
}
// 拿到流程数据
await this.handleGetProgress()
// 经营商户应交费用明细表
await this.handleGetProjectExpenseList()
},
onUnload(){
// 因为返回不会卸载页面 但是详情返回列表下一次进来肯定全部重新判断的 所以只能这样
this.detailObj = {}
this.topDetail = {}
this.actuaryData = {}
this.yearDataListObj = {}
this.newCalibration = {}
this.progressDetail = {}
this.nextPerson = []
this.staticMonth = ''
this.nextPersonIndex = ''
this.nextPersonLabel = ''
this.ExpenseObj = {}
this.showLabel = ''
this.approveDesc = ''
this.progressList = []
this.afterCalibration = false
this.monthId = ''
this.closeApplyFor()
this.closeShowSelect()
this.$util.addUserBehaviorNew()
},
methods:{
// 经营商户应交费用明细表
async handleGetProjectExpenseList(){
if(this.detailObj.Approvalstate===9){
let req = {
BusinessProjectId: this.detailObj.BUSINESSPROJECT_ID,
ShopRoyaltyId: this.detailObj.ShopRoyalty_Id,
StartMonth: this.detailObj.thisMonth ? this.$moment(this.detailObj.thisMonth+ '/01').format('YYYYMM') : '',
EndMonth: this.detailObj.thisMonth ? this.$moment(this.detailObj.thisMonth+ '/01').format('YYYYMM') : '',
}
const data = await request.$webGet('EShangApiMain/Finance/GetProjectExpenseList',req)
console.log('handleGetProjectExpenseList',data)
this.ExpenseObj = data.Result_Data.List[0]
console.log('this.ExpenseObj',this.ExpenseObj)
}else{
let min = 999999999
if (this.detailObj.SERVERPARTSHOP_ID) {
let shopList = this.detailObj.SERVERPARTSHOP_ID.split(',')
shopList.forEach((item) => {
if (Number(item) < min) {
min = Number(item)
}
})
}
let req = {
serverpartshop_id: min===999999999?'':min,
statistics_month_start: this.detailObj.thisMonth ? this.$moment(this.detailObj.thisMonth+ '/01').startOf('months').format('YYYY/MM/DD') :'',
statistics_month_end: this.detailObj.thisMonth ? this.$moment(this.detailObj.thisMonth+ '/01').endOf('months').format('YYYY/MM/DD') :'',
}
console.log('redsadasdasdq', req)
const data = await request.$webGet('EShangApiMain/BusinessProject/GetShopExpenseSummary',req)
console.log('handleGetProjectExpenseList',data)
this.ExpenseObj = data.Result_Data.List[0]
console.log('this.ExpenseObj',this.ExpenseObj)
}
},
// 拿到结算模式的枚举
async handleGetSETTLEMENTMODES(){
const req = { FieldExplainField: 'SETTLEMENT_MODES' }
const result = await request.$webGet('EShangApiMain/FrameWork/GetFieldEnumByField',req)
console.log('result',result)
let res = result.Result_Data.List
let obj = {}
if(res && res.length>0){
res.forEach(item=>{
obj[item.value] = item.label
})
}
this.settlementModes = obj
},
// 返回按钮
handleBack(){
this.$util.toNextRoute('navigateBack',{ delta: 1})
},
// 推送拿到进入页面的初始参数
async handleGetPageDetail(id) {
uni.showLoading({
title: '请求用户数据...'
})
const req = {
BusinessApprovalId: id,
UserId: this.users.UserId
}
console.log('req',req)
const data = await request.$webGet('EShangApiMain/BusinessProject/GetProjectAccountDetail',req)
console.log('data',data)
let res = data.Result_Data
console.log('res',res)
let obj = {
...res,
Approvalstate: res.SETTLEMENT_STATE === 0 ? 0 : res.SETTLEMENT_STATE === 1 ? 9 : res.SETTLEMENT_STATE === 2 ? 1 : '',
startTime: this.$moment(res.SETTLEMENT_DATE + (res.SETTLEMENT_TYPE === 1 ? '' : '/01')).startOf('months').format('YYYY-MM-DD'),
endTime: this.$moment(res.SETTLEMENT_DATE + (res.SETTLEMENT_TYPE === 1 ? '' : '/01')).endOf('months').format('YYYY-MM-DD')
}
this.detailObj = obj
this.staticMonth = this.$moment(obj.endTime).format('YYYYMM')
console.log('this.detailObj',this.detailObj)
uni.hideLoading()
},
// 获得顶部详情和差异数据
async handleGetDetailDifference(){
const req = {
StartDate: this.detailObj.STARTDATE?this.$moment(this.detailObj.STARTDATE).format('YYYY-MM-DD'):'',
EndDate: this.detailObj.ENDDATE?this.$moment(this.detailObj.ENDDATE).format('YYYY-MM-DD'):'',
SHOPROYALTY_ID: this.detailObj.SHOPROYALTY_ID || '',
BUSINESSPROJECT_ID: this.detailObj.BUSINESSPROJECT_ID || '',
ACCOUNT_TYPE: 1000,
SERVERPARTSHOP_ID: this.detailObj.SERVERPARTSHOP_ID,
DataSourceType: 2,
SERVERPART_ID: this.detailObj.SERVERPART_ID,
STATISTICS_MONTH: this.staticMonth || (this.detailObj.SETTLEMENT_DATE ? this.$moment(this.detailObj.SETTLEMENT_DATE +(this.detailObj.SETTLEMENT_TYPE===1?'':'/01')).format('YYYYMM') : '')
}
console.log('this.staticMonth',this.staticMonth)
console.log('req',req)
uni.showLoading({
title: '请求详情数据...'
})
const data = await request.$webGet('EShangApiMain/Revenue/GetRevenueReportByBIZPSPLITMONTH',req)
console.log('data2222',data)
let res = data.Result_Data.List
if(res && res.length>0){
let detailObj = res[0]
this.topDetail = detailObj.RevenueRecognition
this.projectObj = detailObj.BUSINESSPROJECT
console.log('this.topDetail',this.topDetail)
}
uni.hideLoading()
},
// 获取精算数据
async handleGetActuaryData(){
const req = {
BusinessProjectId: this.detailObj.BUSINESSPROJECT_ID,
StatisticsMonth: this.staticMonth || (this.detailObj.SETTLEMENT_DATE ? this.$moment(this.detailObj.SETTLEMENT_DATE + (this.detailObj.SETTLEMENT_TYPE===1?'':'/01')).format('YYYYMM') : ''),
ShopRoyaltyId: this.detailObj.SHOPROYALTY_ID,
}
uni.showLoading({
title: '请求精算数据...'
})
const data = await request.$webGet('EShangApiMain/Finance/GetProjectPeriodIncome', req)
let res = data.Result_Data.List[0]
console.log('res3232',res)
this.actuaryData = res
if(res.AllowSettlement===1){
this.lastMonthIsOver = true
}else if(res.AllowSettlement===2){
this.lastMonthIsOver = false
this.LastSettlementMonth = `${res.LastSettlementMonth}审结中月度结算正在审批中,请审结后再发起${req.StatisticsMonth}月度结算`
}else{
this.lastMonthIsOver = false
if(res.LastSettlementState===0){
// this.LastSettlementMonth =`请先进行${res.LastSettlementMonth}月度结算`
this.LastSettlementMonth = res.LastSettlementMonth
}else if(res.LastSettlementState===1){
// this.LastSettlementMonth =`请先进行${res.LastSettlementMonth}月度结算`
this.LastSettlementMonth = res.LastSettlementMonth
}else if(res.LastSettlementState===2){
// this.LastSettlementMonth =`请先进行${res.LastSettlementMonth}月度结算正在审批中,请审结后再发起下一个月度结算`
this.LastSettlementMonth = res.LastSettlementMonth
}
}
uni.hideLoading()
},
async handleGetDetail(){
console.log('this.detailObj',this.detailObj)
uni.showLoading({
title: '请求月度精算数据...'
})
const data = await request.$webGet('EShangApiMain/BusinessProcess/GetBUSINESSAPPROVALDetail',{BUSINESSAPPROVALId: this.detailObj.BusinessApprovalId})
console.log('data', data)
let id = data.Result_Data.BUSINESSPROCESS_ID
const res = await request.$webGet('EShangApiMain/BusinessProject/GetBIZPSPLITMONTHDetail',{BIZPSPLITMONTHId: id})
let obj = res.Result_Data
const req = {
BusinessProjectId: this.detailObj.BUSINESSPROJECT_ID,
StatisticsMonth: this.staticMonth || (this.detailObj.SETTLEMENT_DATE ? this.$moment(this.detailObj.SETTLEMENT_DATE + (this.detailObj.SETTLEMENT_TYPE===1?'':'/01')).format('YYYYMM') : ''),
ShopRoyaltyId: this.detailObj.SHOPROYALTY_ID,
MobilePayCorrect: obj.MOBILEPAY_CORRECT || 0,
CashPayCorrect: obj.CASHPAY_CORRECT || 0
}
const result = await request.$webGet('EShangApiMain/Finance/GetProjectPeriodIncome',req)
console.log('Incomeresult',result)
let bigObj = result.Result_Data.List[0]
this.monthId = bigObj.bizpsplitMonthId
this.monthNewCalibration = bigObj
this.monthNewCalibration.REVENUEDAILY_AMOUNTTotalTEXT = this.$util.getMoney(this.monthNewCalibration.REVENUEDAILY_AMOUNTTotal)
this.monthNewCalibration.CurMonthRevenueTEXT = this.$util.getMoney(this.monthNewCalibration.CurMonthRevenue)
this.monthNewCalibration.MOBILEPAY_AMOUNTTEXT = numeral(this.$util.getMoney(this.monthNewCalibration.MOBILEPAY_AMOUNT + (this.monthNewCalibration.MOBILEPAY_CORRECT || 0))).format('0,0.00')
this.monthNewCalibration.MOBILEPAY_CORRECTTEXT = this.$util.getMoney(this.monthNewCalibration.MOBILEPAY_CORRECT)
this.monthNewCalibration.CASHPAY_AMOUNTTEXT = numeral(this.$util.getMoney(this.monthNewCalibration.CASHPAY_AMOUNT + (this.monthNewCalibration.CASHPAY_CORRECT || 0))).format('0,0.00')
this.monthNewCalibration.CASHPAY_CORRECTTEXT = this.$util.getMoney(this.monthNewCalibration.CASHPAY_CORRECT)
this.monthNewCalibration.GUARANTEERATIOAMOUNTTEXT = this.$util.getMoney(this.monthNewCalibration.GUARANTEERATIOAMOUNT)
this.monthNewCalibration.GUARANTEERATIOINCOMETEXT = this.$util.getMoney(this.monthNewCalibration.GUARANTEERATIOINCOME)
console.log('this.newCalibration2', this.monthNewCalibration)
uni.hideLoading()
},
// 流程 下一环节 等数据
async handleGetProgress(){
if(!this.detailObj.BusinessApprovalId){
const req = {
OperationType: this.detailObj.SETTLEMENT_TYPE===1?'11':'12',
CurState: 1000,
IsValid: 1,
ShowApprovalUser: true,
ServerpartIds: this.detailObj.SERVERPART_ID || '',
ShopIds: this.detailObj.SERVERPARTSHOP_ID || ''
}
const data = await request.$webGet('EShangApiMain/BusinessProcess/GetAPPROVALROUTEDetail', req)
console.log('handleGetProgress',data)
let res = data.Result_Data
if(res.UserList && res.UserList.length>0){
let list = []
res.UserList.forEach(item=>{
list.push({ label: item.USER_NAME, value: `${item.USER_NAME}-${item.USER_ID}` })
})
this.nextPerson = list
if (list && list.length > 0 && list.length === 1) {
this.nextPersonIndex = 0
this.nextPersonValue = list[0].value
}
}
return
}
const req = {
BUSINESSAPPROVALId: this.detailObj.BusinessApprovalId
}
uni.showLoading({
title: '请求流程数据...'
})
const data = await request.$webGet('EShangApiMain/BusinessProcess/GetBUSINESSAPPROVALDetail', req)
let res = data.Result_Data
console.log('res',res)
const secondReq = {
OperationType: this.detailObj.SETTLEMENT_TYPE===1?'11':'12',
CurState: res.BUSINESSAPPROVAL_STATE,
IsValid: 1,
ShowApprovalUser: true,
ServerpartIds: this.detailObj.SERVERPART_ID || '',
ShopIds: this.detailObj.SERVERPARTSHOP_ID || ''
}
const secondData = await request.$webGet('EShangApiMain/BusinessProcess/GetAPPROVALROUTEDetail', secondReq)
this.progressObjDetail = secondData.Result_Data
console.log('secondData',secondData)
this.progressDetail = res
console.log('Store.state.userData.UserId',Store.state.userData.UserId)
console.log('res.APPOVED_IDS',res.APPOVED_IDS)
if(Number(res.APPOVED_IDS) === Number(Store.state.userData.UserId)){
this.isShowBtn = true
}
this.progressList = res.approveList
this.progressList.unshift({
APPLYAPPROVE_NAME: '服务区经营主管',
APPLYAPPROVE_DATE:res.BUSINESS_STARTDATE,
STAFF_NAME:res.STAFF_NAME,
APPLYAPPROVE_INFO: res.BUSINESSAPPROVAL_DESC,
})
// 不是完结的 就需要在后面加待审核人
if (this.detailObj.Approvalstate>0 && this.isShowProgress && res.BUSINESSAPPROVAL_STATE!==9000){
// 添加待审核人
// progressDetail.APPOVED_NAME
this.progressList.push({
APPLYAPPROVE_NAME: res.APPOVED_NAME,
STAFF_NAME: '待审核',
APPLYAPPROVE_DATE:''
})
}
let list = []
if(res.UserList && res.UserList.length>0){
res.UserList.forEach(item=>{
// list.push({label: item.USER_NAME,value: item.USER_ID})
list.push({label: item.USER_NAME,value: `${item.USER_NAME}-${item.USER_ID}`})
})
}
this.nextPerson = list
console.log('this.nextPerson',this.nextPerson)
let rejectList = []
if(res.rejectList && res.rejectList.length>0){
res.rejectList.forEach((item) => {
rejectList.push({ label: item.APPROVALROUTE_NAME, value: JSON.stringify(item) })
})
}
this.rejectDataList = rejectList
console.log('this.rejectDataList',this.rejectDataList)
uni.hideLoading()
}
}
}
</script>
<style scoped lang="scss">
.main{
.header{
width: 100%;
background-image: url("https://eshangtech.com/ShopICO/yxcl/settlementApproval/pageBg.png");
background-repeat: no-repeat;
background-size: contain;
margin-bottom: 24rpx;
.headerBox{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
position: fixed;
top: 0;left: 0;
z-index: 9;
background-image: url("https://eshangtech.com/ShopICO/yxcl/settlementApproval/pageBg.png");
background-repeat: no-repeat;
background-size: cover;
.arrowBox{
width: 100%;
display: flex;
align-items: center;
.img{
width: 48rpx;
height: 48rpx;
}
.selectServiceBox{
margin-left: 16rpx;
display: flex;
align-items: center;
.serviceIcon{
width: 80rpx;
height: 80rpx;
position: relative;
z-index: 2;
}
.nameBox{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #160002;
line-height: 40rpx;
text-align: left;
font-style: normal;
padding: 12rpx 34rpx 12rpx 48rpx;
display: inline-block;
border-top-right-radius: 200rpx;
border-bottom-right-radius: 200rpx;
background: #fff;
transform: translateX(-20px);
.moreIcon{
width: 24rpx;
height: 24rpx;
margin-left: 14rpx;
}
}
}
}
}
.headerDetail{
width: calc(100% - 48rpx);
margin-left: 24rpx;
background: #FFFFFF;
border-radius: 16rpx;
box-sizing: border-box;
padding: 1px;
position: relative;
.detailContent{
width: 100%;
background: linear-gradient( 180deg, #FFEBE0 0%, #FFFFFF 30%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
box-sizing: border-box;
padding: 24rpx;
.contentTop{
display: flex;
align-items: center;
.topLeft{
width: 96rpx;
height: 96rpx;
border-radius: 16rpx;
overflow: hidden;
margin-right: 16rpx;
.detailIcon{
width: 96rpx;
height: 96rpx;
}
}
.topRight{
width: calc(100% - 212rpx);
.detailTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
margin-bottom: 12rpx;
display: inline-block;
width: 100%;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.typeBox{
display: flex;
align-items: center;
.typeItem{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #ED8200;
line-height: 36rpx;
text-align: left;
font-style: normal;
padding: 2rpx 8rpx;
background: #FFEEC8;
border-radius: 4rpx;
}
.indexItem{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #FF7200;
line-height: 36rpx;
text-align: left;
font-style: normal;
background: #FFEAD9;
border-radius: 4rpx;
padding: 2rpx 8rpx;
margin-left: 12rpx;
}
}
}
}
.contentMoney{
display: flex;
align-items: center;
margin-top: 40rpx;
.moneyItem{
width: 50%;
.redMoney{
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
font-size: 40rpx;
color: #9A3D1A;
line-height: 50rpx;
text-align: left;
font-style: normal;
}
.moneyValue{
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
font-size: 34rpx;
color: #160002;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.label{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 36rpx;
text-align: left;
font-style: normal;
.unit{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #A69E9F;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-left: 4rpx;
}
}
}
}
.otherMessage{
background: #F9F9F9;
border-radius: 8rpx;
width: 100%;
box-sizing: border-box;
padding: 24rpx;
margin-top: 24rpx;
display: flex;
align-items: center;
.otherItem{
width: calc(100% / 3);
box-sizing: border-box;
.value{
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
font-size: 28rpx;
color: #160002;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-bottom: 4rpx;
}
.label{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 36rpx;
text-align: left;
font-style: normal;
.unit{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #A69E9F;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-left: 4rpx;
}
}
}
}
}
.stateBox{
position: absolute;
right: 0;top: 0;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
background: linear-gradient( 48deg, #FF9762 0%, #FF8C8C 100%);
border-radius: 0rpx 16rpx 0rpx 38rpx;
.stateIcon{
width: 28rpx;
height: 28rpx;
margin-right: 6rpx;
}
.stateText{
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
.overBox{
position: absolute;
right: 30rpx;top: 30rpx;
.overIcon{
width: 134rpx;
height: 134rpx;
}
}
}
}
.monthDetailBox{
width: 100%;
box-sizing: border-box;
padding: 32rpx 32rpx;
background: #FFFFFF;
border-radius: 32rpx 32rpx 0rpx 0rpx;
.detailBoxTop{
display: flex;
align-items: center;
justify-content: space-between;
.detailBoxTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
margin-bottom: 8rpx;
}
.goMoreMonth{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #FA8B39;
line-height: 40rpx;
text-align: left;
font-style: normal;
.rightArrow{
width: 24rpx;
height: 24rpx;
}
}
}
.detailBoxTime{
display: flex;
align-items: center;
margin-bottom: 20rpx;
margin-top: 8rpx;
.timeIcon{
width: 28rpx;
height: 28rpx;
margin-right: 8rpx;
}
.endTime{
font-family: DINAlternate-Bold, DINAlternate;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.table{
width: calc(100% - 4rpx);
border-radius: 12rpx;
border: 2rpx solid #EEEEF0;
.tableHeader{
display: flex;
align-items: center;
width: 100%;
height: 80rpx;
background-color: #F7F8FA;
.firstTableTitle{
width: 30%;
box-sizing: border-box;
padding-left: 24rpx;
font-size: 24rpx;
}
.borderRight{
width: 2rpx;
height: 100%;
background-color: #F1F1F1;
}
.otherTableTitle{
width: 35%;
display: flex;
flex-direction: column;
align-items: center;
font-size: 24rpx;
.dataIcon{
width: 60rpx;
height: 60rpx;
margin-bottom: 8rpx;
}
}
}
.tableBody{
.tableRow{
width: 100%;
height: 100%;
display: flex;
align-items: center;
.labelRow{
width: 30%;
box-sizing: border-box;
padding: 22rpx 0 22rpx 22rpx;
font-size: 24rpx;
}
.beforeIcon{
padding-left: 42rpx;
position: relative;
}
.beforeIcon:before{
content:'';
width: 12rpx;
height: 12rpx;
background: #b2b2bd;
border-radius: 50%;
position: absolute;
left: 22rpx;
top: 50%;
transform: translateY(-50%);
}
.refundPay{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 24rpx;
color: #9A3D1A;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
.borderRight{
width: 2rpx;
min-height: 80rpx;
background-color: #F1F1F1;
}
.valueRow{
width: 35%;
box-sizing: border-box;
padding: 22rpx 24rpx 22rpx 0;
text-align: right;
font-size: 26rpx;
font-family: DINAlternate-Bold, DINAlternate;
}
}
.tableRowGray{
background-color: #F9F9FA!important;
}
}
}
}
.payableFeesBox{
width: 100%;
box-sizing: border-box;
padding: 32rpx 32rpx 32rpx;
background-color: #fff;
.payableFeesBoxTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.detailBoxTime{
display: flex;
align-items: center;
margin-bottom: 20rpx;
margin-top: 8rpx;
.timeIcon{
width: 28rpx;
height: 28rpx;
margin-right: 8rpx;
}
.endTime{
font-family: DINAlternate-Bold, DINAlternate;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.table{
width: calc(100% - 4rpx);
border-radius: 12rpx;
border: 2rpx solid #EEEEF0;
.tableHeader{
display: flex;
align-items: center;
width: 100%;
height: 80rpx;
background-color: #F7F8FA;
.firstTableTitle{
width: 30%;
box-sizing: border-box;
padding-left: 24rpx;
font-size: 24rpx;
}
.borderRight{
width: 2rpx;
height: 100%;
background-color: #F1F1F1;
}
.otherTableTitle{
width: 35%;
display: flex;
flex-direction: column;
align-items: center;
font-size: 24rpx;
.dataIcon{
width: 60rpx;
height: 60rpx;
margin-bottom: 8rpx;
}
}
}
.tableBody{
.tableRow{
width: 100%;
height: 100%;
display: flex;
align-items: center;
.labelRow{
width: 30%;
box-sizing: border-box;
padding: 22rpx 0 22rpx 22rpx;
font-size: 24rpx;
}
.beforeIcon{
padding-left: 42rpx;
position: relative;
}
.beforeIcon:before{
content:'';
width: 12rpx;
height: 12rpx;
background: #b2b2bd;
border-radius: 50%;
position: absolute;
left: 22rpx;
top: 50%;
transform: translateY(-50%);
}
.refundPay{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 24rpx;
color: #9A3D1A;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
.borderRight{
width: 2rpx;
min-height: 80rpx;
background-color: #F1F1F1;
}
.valueRow{
width: 35%;
box-sizing: border-box;
padding: 22rpx 24rpx 22rpx 0;
text-align: right;
font-size: 26rpx;
font-family: DINAlternate-Bold, DINAlternate;
}
}
.tableRowGray{
background-color: #F9F9FA!important;
}
}
}
}
.progressList{
width: 100%;
background-color: #fff;
box-sizing: border-box;
padding: 48rpx 32rpx 48rpx;
margin-bottom: 24rpx;
.progressTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.detailTopBox{
width: 100%;
box-sizing: border-box;
//padding: 0 16rpx;
display: flex;
justify-content: space-between;
.leftTop,.rightTop{
display: flex;
align-items: center;
.label{
color: #888;
font-size: 26rpx;
}
.value{
margin-left: 8rpx;
font-size: 26rpx;
}
}
}
.listBox{
margin-top: 24rpx;
width: 100%;
.listItem{
.listItemTop{
display: flex;
align-items: flex-start;
.itemLeft{
display: flex;
align-items: center;
.nameIcon{
width: 60rpx;
height: 60rpx;
background: #FFA35F;
border-radius: 40rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.successIcon{
position: absolute;
width: 32rpx;
height: 32rpx;
right: 0;
bottom: 0;
}
.name{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 20rpx;
color: #FFFFFF;
line-height: 32rpx;
text-align: left;
font-style: normal;
}
.defaultPerson{
width: 32rpx;
height: 36rpx;
}
}
}
.itemRight{
width: calc(100% - 72rpx);
margin-left: 12rpx;
.nameBox{
display: flex;
align-items: center;
justify-content: space-between;
.name{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #242729;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.time{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #9FA3A8;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.desc{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #9FA3A8;
line-height: 40rpx;
text-align: left;
font-style: normal;
width: 100%;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
}
.lineBox{
width: 100%;
height: 38rpx;
position: relative;
.line{
position: absolute;
width: 4rpx;
height: 50rpx;
background: #E3E3E4;
bottom: 3rpx;left: 32rpx;
}
}
}
}
}
.pageTitle{
width: 100%;
box-sizing: border-box;
padding: 16rpx 16rpx 0;
font-size: 32rpx;
}
.detailBox{
width: 100%;
box-sizing: border-box;
padding: 0 16rpx 16rpx;
margin-top: 16rpx;
background: #fff;
.detailRow{
display: flex;
align-items: center;
justify-content: space-between;
.detailItem{
width: 50%;
display: flex;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
.detailAllItem{
width: 100%;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
}
}
}
.tableBox{
margin-top: 24rpx;
background: #fff;
box-sizing: border-box;
width: 100%;
padding: 16rpx;
.smallTitle{
font-size: 26rpx;
font-weight: 600;
margin-bottom: 16rpx;
}
.line{
height: 2rpx;
width: 100%;
background-color: #eee;
margin-bottom: 18rpx;
margin-top: 16rpx;
}
.rowItemBox{
display: flex;
.allRowItem{
width: 100%;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
.rowItem{
width: 50%;
display: flex;
align-items: center;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
.imgIcon{
width: 50rpx;
height: 32rpx;
border-radius: 50%;
}
}
}
.getMoreBox{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.imgIcon{
width: 50rpx;
height: 32rpx;
border-radius: 50%;
transform: rotate(90deg);
}
}
.compareBox{
width: 100%;
display: flex;
.compareBoxItem{
width: 50%;
.smallTitle{
font-size: 26rpx;
font-weight: 600;
margin-bottom: 16rpx;
}
.rowItemBox{
display: flex;
.allRowItem{
width: 100%;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
.rowItem{
width: 50%;
display: flex;
align-items: center;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
.imgIcon{
width: 50rpx;
height: 32rpx;
border-radius: 50%;
}
}
}
}
}
.comparedBox{
width: 100%;
.comparedBoxTitleBox{
margin-bottom: 16rpx;
display: flex;
align-items: center;
.beforeTitleBox{
width: 60%;
font-size: 26rpx;
font-weight: 600;
text-align: left;
}
.afterTitleBox{
width: 40%;
font-size: 26rpx;
font-weight: 600;
text-align: right;
}
}
.comparedItem{
width: 100%;
display: flex;
align-items: center;
margin-bottom: 12rpx;
.compareLabel{
width: 30%;
color: #ADB2BF;
font-size: 26rpx;
}
.beforeItem{
width: 30%;
font-size: 26rpx;
text-align: right;
}
.afterItem{
width: 40%;
font-size: 26rpx;
text-align: right;
}
}
}
}
.btnBox{
width: 100%;
background: #fff;
box-sizing: border-box;
padding: 16rpx;
margin-top: 24rpx;
.detailTopBox{
width: 100%;
box-sizing: border-box;
padding: 0 16rpx;
display: flex;
justify-content: space-between;
.leftTop,.rightTop{
display: flex;
align-items: center;
.label{
color: #888;
}
.value{
margin-left: 8rpx;
}
}
}
.detailBox{
width: calc(100% - 32rpx);
box-shadow: 0px 0 6rpx 2rpx rgb(234, 234, 234);
background-color: #fff;
border-radius: 8rpx;
margin-left: 16rpx;
box-sizing: border-box;
padding: 16rpx;
.detailItem{
margin-bottom: 16rpx;
.label{
color: #888;
}
.value{
}
}
}
.btnList{
width: 100%;
box-sizing: border-box;
padding: 32rpx 32rpx;
display: flex;
align-items: center;
justify-content: space-around;
.btnItem{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.iconBox{
width: 100rpx;
height: 100rpx;
border-radius: 50%;
overflow: hidden;
.itemIcon{
width: 100%;
height: 100%;
}
}
}
}
}
.progressBox{
width: 100%;
box-sizing: border-box;
padding: 32rpx;
background: #fff;
margin-top: 24rpx;
.progressTopBox{
width: 100%;
position: relative;
margin-bottom: 16rpx;
display: flex;
align-items: center;
justify-content: space-between;
.progressTitle{
}
.getMoreIcon{
width: 30rpx;
height: 30rpx;
}
}
.detailTopBox{
width: 100%;
box-sizing: border-box;
//padding: 0 16rpx;
display: flex;
justify-content: space-between;
.leftTop,.rightTop{
display: flex;
align-items: center;
.label{
color: #888;
font-size: 26rpx;
}
.value{
margin-left: 8rpx;
font-size: 26rpx;
}
}
}
.progressList{
width: 100%;
margin-top: 24rpx;
.progressItem{
width: 100%;
.progressItemTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.progressItemTopLeft{
display: flex;
align-items: center;
.progressIcon{
width: 20rpx;
height: 20rpx;
}
.progressValue{
font-size: 26rpx;
}
}
.progressItemTopRight{
font-size: 26rpx;
}
}
.progressItemBottom{
width: 100%;
display: flex;
align-items: center;
.progressItemBottomLeft{
font-size: 26rpx;
}
.progressItemBottomRight{
flex: 1;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
}
}
}
}
.uniPopup{
width: calc(100vw - 140rpx);
height: 250px;
box-sizing: border-box;
padding: 32rpx 0;
.uniPopupTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.uniPopupTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.close{
width: 40rpx;
height: 40rpx;
}
}
.detailBox{
margin-top: 24rpx;
width: calc(100% - 32rpx);
box-shadow: 0px 0 6rpx 2rpx rgb(234, 234, 234);
background-color: #fff;
border-radius: 8rpx;
margin-left: 16rpx;
box-sizing: border-box;
padding: 16rpx;
.detailItem{
margin-bottom: 16rpx;
.label{
color: #888;
}
}
}
.btn{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.btnItem{
display: inline-block;
padding: 4rpx 8rpx;
margin-top: 24rpx;
border-radius: 8rpx;
background: #1890FF;
color: #fff;
}
}
}
.uniPopupApplyFor{
width: calc(100vw - 140rpx);
height: 480px;
box-sizing: border-box;
padding: 32rpx 0;
.uniPopupTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.uniPopupTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.close{
width: 40rpx;
height: 40rpx;
}
}
.detailBoxApplyFor{
.smallTitle{
font-size: 26rpx;
font-weight: 600;
margin-bottom: 16rpx;
}
.tableRow{
.rowItemBox{
display: flex;
.allRowItem{
width: 100%;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
.rowItem{
width: 50%;
display: flex;
align-items: center;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
.imgIcon{
width: 50rpx;
height: 32rpx;
border-radius: 50%;
}
}
.rowItemSpecial{
display: flex;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
}
}
}
.goRightBox{
margin-top: 40rpx;
display: flex;
justify-content: space-around;
.commodityContent {
box-sizing: border-box;
display: flex;
align-items: center;
width: 180rpx;
justify-content: center;
/* padding-top: 6rpx; */
box-shadow: 0px 1rpx 8rpx 0.4rpx #ccc;
flex-direction: column;
border-radius: 4rpx;
.color1{
}
}
.commodityContent>div {
background: url('/static/images/effective/sjjy_jb.png') no-repeat center;
width: 100%;
text-align: center;
background-size: contain;
}
.commodityContent-cashpay {
justify-content: flex-start;
box-shadow: unset;
display: flex;
}
}
.btn{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.btnItem{
display: inline-block;
padding: 4rpx 8rpx;
margin-top: 24rpx;
border-radius: 8rpx;
background: #1890FF;
color: #fff;
}
}
.line{
height: 2rpx;
width: 100%;
background-color: #eee;
margin-bottom: 18rpx;
margin-top: 16rpx;
}
}
.uniPopupShowSelect{
width: calc(100vw - 140rpx);
height: 350px;
box-sizing: border-box;
padding: 32rpx 0;
.uniPopupTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.uniPopupTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.close{
width: 40rpx;
height: 40rpx;
}
}
.uniPopupContent{
.contentItem{
.label{
font-size: 16px;
font-weight: 600;
}
.text-area-box{
width: 100%;
background: #F2F4F5;
border-radius: 8rpx;
box-sizing: border-box;
padding: 24rpx;
}
}
.btn{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.btnItem{
display: inline-block;
padding: 4rpx 8rpx;
margin-top: 24rpx;
border-radius: 8rpx;
background: #1890FF;
color: #fff;
}
}
}
}
.uniPopupYearApplyFor{
width: calc(100vw - 140rpx);
height: 480px;
box-sizing: border-box;
padding: 32rpx 0;
.uniPopupTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.uniPopupTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.close{
width: 40rpx;
height: 40rpx;
}
}
.detailBoxApplyFor{
.smallTitle{
font-size: 26rpx;
font-weight: 600;
margin-bottom: 16rpx;
}
.tableRow{
.rowItemBox{
display: flex;
.allRowItem{
width: 100%;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
.rowItem{
width: 50%;
display: flex;
align-items: center;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
.imgIcon{
width: 50rpx;
height: 32rpx;
border-radius: 50%;
}
}
.rowItemSpecial{
display: flex;
justify-content: flex-start;
.label{
color: #ADB2BF;
font-size: 26rpx;
}
.value{
font-size: 26rpx;
}
}
}
}
}
}
}
</style>