新增收银稽核模块;数据校验添加稽核信息

This commit is contained in:
cclu 2021-03-01 09:51:55 +08:00
parent 9fed31a84c
commit 063605685f
10 changed files with 692 additions and 287 deletions

View File

@ -84,7 +84,6 @@
cout: 1 ,
success: (data) => {
// console.log(data)
// this.src = data.tempFilePaths[0]
if(data.tempFilePaths.length>0) {
// let list = []
@ -100,12 +99,8 @@
}
})
})
}
},
});
},
nextStep(){
@ -237,31 +232,26 @@
font-size: 30rpx;
}
.upload-file-container{
.upload-file-container {
display: flex;
/* flex-flow: row wrap; */
/* justify-content: flex-start; */
align-items: center;
width: 100%;
/* padding: 20rpx; */
min-height: 260rpx;
box-sizing: border-box;
flex-wrap: wrap;
}
.upload-file-add{
.upload-file-add {
width: 130rpx;
height: 126rpx;
margin-right: 16rpx;
box-sizing: border-box;
}
.upload-file-add-container{
.upload-file-add-container {
position: relative;
border: 1rpx solid #ccc;
width: 136rpx;
height: 137rpx;
border-radius: 6rpx;
/* margin-top: 15rpx; */
}
.upload-file-add-container::before {
content: '';
@ -297,7 +287,6 @@
margin-top: 16rpx;
border-radius: 8rpx;
border: 2rpx solid #ccc;
}
.upload-file-unit image {
@ -305,6 +294,7 @@
height: 134rpx;
border-radius: 8rpx;
}
.upload-file-remove {
position: absolute;
top: -14rpx;
@ -323,7 +313,6 @@
/* 成功弹出框 */
.success-box {
padding-top: 198rpx;
text-align: center;
}
.success-box h2 {
@ -331,7 +320,7 @@
color: #364656;
}
.success-box image {
.success-box image {
width: 406rpx;
height: 320rpx;
margin-bottom: 30rpx;

View File

@ -11,7 +11,7 @@
<view class="uni-flex content-box-cashpay">
<text class="content-price">{{item.Audit_ErrorRate}}</text>
<text style="font-size: 22rpx;">误差率</text>
<text class="other-coast">{{item.Audit_Type}}</text>
</view>
<view class="bb1"></view>
<view class="uni-flex jc-between align-center" v-if="item.Different_Price">
@ -21,7 +21,7 @@
<text class="content-span">长短款额</text>
<text class="price-num">{{ $util.fmoney(item.Different_Price,2) }} </text>
<text class="content-span"></text>
<text class="other-coast">{{item.Audit_Type}}</text>
</div>
<text class="content-span" v-if="!item.Cashier_Name">{{$util.cutDate(item.Audit_Time,'YYYY/MM/DD hh:mm:ss')}}</text>
</view>
@ -94,6 +94,9 @@
color: #D43939;
font-size: 24rpx;
}
.content-box-cashpay {
position: relative;
}
.other-coast {
color: #D1A271;
background: linear-gradient(to top, #EBDDCF , #FCFBF8);
@ -102,6 +105,9 @@
padding: 0 10rpx;
margin-left: 16rpx;
margin-top: 3rpx;
position: absolute;
right: 0rpx;
bottom: 30rpx;
}
/*

View File

@ -9,77 +9,114 @@
<text>稽核时间{{$util.cutDate(detailMsg.Audit_Time,'YYYY/MM/DD hh:mm:ss') }}</text>
</view>
</view>
<view class="card-bottom">
<view class="uni-flex ai-center">
<text>工班账期</text>
<text>{{detailMsg.Check_EndDate ? `${$util.cutDate(detailMsg.Check_StartDate,'MM.DD hh:mm:ss')} - ${$util.cutDate(detailMsg.Check_EndDate,'MM.DD hh:mm:ss')}` :`${$util.cutDate(detailMsg.Check_StartDate,'MM.DD hh:mm:ss')} ` }}</text>
</view>
<view class="uni-flex ai-center jc-between">
<view class="uni-flex ai-center" style="flex: 1.5;">
<text>稽核人员</text>
<text>{{detailMsg.Worker_Name }}</text>
</view>
<view class="uni-flex ai-center">
<text>稽核类型</text>
<text>{{detailMsg.Audit_Type }}</text>
</view>
</view>
</view>
</view>
<h4>稽核数据</h4>
<h4>稽核信息</h4>
<view class="main-card">
<view class="uni-flex ai-center jc-between">
<view class="uni-flex ai-center ">
<text>营收金额</text>
<text>{{$util.fmoney( detailMsg.TotalSell_Amount ,2)}}</text>
<text>现金营收</text>
<text class="number-text" :style="{'width': numberText+'rpx'}">{{$util.fmoney( detailMsg.Cash ,2)}}</text>
</view>
<view class="uni-flex ai-center " >
<text>缴款金额</text>
<text>{{$util.fmoney(detailMsg.Cash_Pay) }}</text>
<view class="uni-flex ai-center">
<text>稽核类型</text>
<text >{{detailMsg.Audit_Type }}</text>
</view>
</view>
<view class="uni-flex ai-center jc-between">
<view class="uni-flex ai-center " >
<text>稽核缴款</text>
<text class="number-text" :style="{'width': numberText+'rpx'}">{{$util.fmoney(detailMsg.Cash_Pay) }}</text>
</view>
<view class="uni-flex ai-center" >
<text>稽核人员</text>
<text class="number-text">{{detailMsg.Worker_Name }}</text>
</view>
</view>
<view class="uni-flex ai-center jc-between">
<view class="uni-flex ai-center">
<text>长短款额</text>
<text class="price-num">{{$util.fmoney(detailMsg.Different_Price)}}</text>
</view>
<view class="uni-flex ai-center">
<text>稽核误差率</text>
<text>{{detailMsg.Audit_ErrorRate }}</text>
</view>
</view>
<view class="uni-flex ai-center jc-between">
<view class="uni-flex ai-center" v-if="detailMsg.Audit_State !==0">
<text>{{detailMsg.Audit_State==1 ? '流水补录:': '现金收缴:'}}</text>
<text>{{$util.fmoney(Math.abs(detailMsg.Different_Price),2)}}</text>
<text class="price-num number-text" :style="{'width': numberText+'rpx'}">{{$util.fmoney(detailMsg.Different_Price)}}</text>
</view>
<view class="uni-flex ai-center">
<text>收银人员</text>
<text>{{detailMsg.Cashier_Name}}</text>
</view>
</view>
<view class="uni-flex ai-center jc-between">
<view class="uni-flex ai-center">
<text>稽核误差率</text>
<text class="number-text" :style="{'width': (numberText - 26)+'rpx'}">{{detailMsg.Audit_ErrorRate }}</text>
</view>
</view>
<view class="uni-flex ai-center jc-between">
<!-- 短款时不显示 -->
<view class="uni-flex ai-center" v-if="detailMsg.Add_Amount>0">
<text>{{detailMsg.Different_Price >0 ? '流水补入' : '现金补入'}}</text>
<text :style="{'width': numberText+'rpx'}">{{$util.fmoney(Math.abs(detailMsg.Add_Amount),2)}}</text>
</view>
</view>
</view>
<h4 v-if="detailMsg.CheckAccount_Desc">稽核反馈</h4>
<view class="main-card desc" v-if="detailMsg.CheckAccount_Desc">
<text >
{{detailMsg.CheckAccount_Desc }}
</text>
<ul class="uni-flex ai-center imgList">
<li v-for="(img,index) in detailMsg.ImageList " :key="index">
<image :src="img.ImageUrl " mode="aspectFit" @click="showImg(index)"></image>
</li>
<h4>稽核反馈</h4>
<template v-if="detailMsg.CheckAccount_Desc">
<view class="main-card desc" >
</ul>
<text >
{{detailMsg.Calibrator_Name ?( detailMsg.Calibrator_Name+''+ detailMsg.CheckAccount_Desc ): detailMsg.CheckAccount_Desc}}
</text>
<ul class="uni-flex ai-center imgList">
<li v-for="(img,index) in detailMsg.ImageList " :key="index">
<image :src="img.ImageUrl " mode="aspectFit" @click="showImg(index)"></image>
</li>
</ul>
</view>
<view class="uni-flex ai-center" v-if="detailMsg.Check_State!=0">
<text class="uni-icon uni-icon-checkmarkempty"></text>
<text class="checkbox-text ">本次{{detailMsg.Different_Price >0 ? '长款已补齐流水':'短款已补入现金'}}</text>
</view>
</template>
<view class="feedback-box" v-else-if="detailMsg.AuditIurisdiction ==1">
<view class="uni-flex align-center" v-if="detailMsg.Check_State==0">
<checkbox-group @change="changeState">
<label class="checkbox ">
<checkbox :value="saveMsg.isAddIn" checked /><text class="checkbox-text">本次{{detailMsg.Different_Price >0 ? '长款已补齐流水':'短款已补入现金'}}</text>
</label>
</checkbox-group>
<view class="add-amout uni-flex" >
<input type="digit" :value="saveMsg.addAmout" :placeholder="pageMsg.placeAmout" :placeholder-style="{'color':'#C5C4C4','line-height':'56rpx'}" @input="inputAddAmout"/>
<text></text>
</view>
</view>
<textarea v-model="saveMsg.auditExplain" :placeholder="(detailMsg.Different_Price <0 ?'在此输入短款差额的原因并上传短款凭证照片(必填),如未补齐现金,将经过二次审核': '在此输入稽核长款的原因(必填),如未补入流水,将经过二次审核')" class="feedback" placeholder-style="color:#CCCCCC;"/>
<div class="img-box" v-if="detailMsg.Different_Price <0">
<div class="upload-file-container">
<div class="upload-file-unit" v-for="(item,index) in uploadImgList" :key="index">
<span class="upload-file-remove" @click.stop="deleteImgFunc(index)">-</span>
<image mode="aspectFill" :src="item" @tap="showUpImg(index)" />
</div>
<div class="upload-file-add" @click="chooseImage">
<div class="upload-file-add-container"></div>
</div>
</div>
</div>
</view>
<view class="page-bottom" v-if="detailMsg.AuditIurisdiction ==1 && !detailMsg.CheckAccount_Desc">
<button type="default" class="main-btn" @tap="toPage">
<button type="default" class="main-btn" @tap="submitMsg">
<image src="/static/images/publicity/ybyj.png" mode="aspectFit"></image>
填写稽核反馈
确认反馈
</button>
</view>
</view>
@ -92,10 +129,20 @@
return {
pageMsg: {
id: '',
isShow: false
isShow: false,
ispost: false,
placeAmout: ""
},
detailMsg:{},
numberText: 78,
uploadImgList: [], //
saveMsg: {
CheckAccount_Id: '',
auditExplain: '',
isAddIn: true,
imageInfo: '',
addAmout:''
},//
detailMsg:{}, //
}
},
@ -112,6 +159,25 @@
},
methods: {
...mapMutations(['shouldReLoadingList']),
inputAddAmout(event) {
this.saveMsg.addAmout = event.detail.value
},
getWidth(data){
let len1 = parseInt(data.Cash)+''
let len2 = parseInt(data.Cash_Pay)+''
let len3 = Math.abs( parseInt(data.Different_Price))+''
let len4 = parseInt(data.Audit_ErrorRate.replace('%','') )+''
let keyLen = [len1.length,len2.length,len3.length,data.Audit_ErrorRate.indexOf('.')>-1? len4.length+1 :len4.length ]
keyLen.sort(function(a,b){
return b-a
})
let len = keyLen[0] < 3 ? keyLen[0]* 2 * 10 + 80 :keyLen[0]* 2 * 10 + 60
this.numberText = len > 100 ? len : 100
},
getDetail() {
let _this = this
this.$request.$webGet('Audit/GetAuditDetils',{ CheckAccount_Id: this.pageMsg.id})
@ -120,8 +186,11 @@
_this.pageMsg.isShow =false
_this.detailMsg = {}
}else{
_this.detailMsg = res.Result_Data
_this.getWidth(res.Result_Data)
_this.pageMsg.placeAmout = (Math.abs( res.Result_Data.Different_Price)).toFixed(2)
_this.pageMsg.isShow = true
}
uni.hideLoading()
@ -129,8 +198,6 @@
},
//
showImg(index) {
uni.previewImage( {
urls: this.imageList,
current: index,
@ -138,10 +205,101 @@
indicator: 'number'
});
},
toPage() { // type 1 0
let type = this.detailMsg.Different_Price >0 ? 1 : 0
this.$util.toNextRoute('navigateTo', '/pages/cashAudit/check?id='+this.pageMsg.id+'&type='+type)
changeState(e){
this.saveMsg.isAddIn = e.detail.value.length>0 ? true : false
},
deleteImgFunc(index) {
this.uploadImgList.splice(index,1)
},
showUpImg(index) {
uni.previewImage( {
urls: this.uploadImgList,
current: index,
loop: true,
indicator: 'number'
});
},
chooseImage(){
let _this = this
uni.chooseImage({
sourceType: ['camera','album'],
sizeType: 'compressed',
cout: 1 ,
success: (data) => {
if(data.tempFilePaths.length>0) {
data.tempFilePaths.forEach(function (n){
uni.getFileSystemManager().readFile({
filePath: n, //
encoding: 'base64', //
success: function(res) { //
let base64 = 'data:image/jpeg;base64,'+res.data //.replace(/\+/ig,'%2B') //不加上这串字符在页面无法显示的哦
_this.uploadImgList.unshift(base64)
}
})
})
}
},
});
},
submitMsg() {
let _this = this
if(this.ispost) return
if(this.saveMsg.auditExplain.trim().length==0) {
uni.showToast({
title:'请输入异常原因',
icon: 'none'
})
return
}
if(_this.detailMsg.Different_Price<0 && _this.uploadImgList.length==0) {
uni.showToast({
title:'请上传凭证',
icon: 'none'
})
return
}
if(this.saveMsg.isAddIn && _this.saveMsg.addAmout==='0') {
uni.showToast({
title:'补入金额需大于零',
icon: 'none'
})
return
}
uni.showLoading({
title: '正在提交...',
icon:'none'
})
if(this.saveMsg.isAddIn && !_this.saveMsg.addAmout){
_this.saveMsg.addAmout = Math.abs(_this.detailMsg.Different_Price)
}else if(!this.saveMsg.isAddIn){
_this.saveMsg.addAmout = 0
}
this.saveMsg.imageInfo = this.uploadImgList.join('|')
this.$request.$webPost('Audit/UpLoadAuditExplain',this.saveMsg).then(res=>{
if(res.Result_Code!==100) {
uni.showToast({
title: res.Result_Desc,
icon: 'none'
})
}else{
uni.showToast({
title: res.Result_Desc,
icon: 'success'
})
_this.getDetail()
_this.shouldReLoadingList(true)
_this.ispost = false
}
})
}
},
onLoad(option) {
@ -150,23 +308,14 @@
title:'正在加载'
})
this.pageMsg.id = option.id
this.saveMsg.CheckAccount_Id = option.id
this.getDetail()
uni.$on('cashAudit',function(data){
if(data) {
uni.showLoading({
title:'正在加载'
})
_this.getDetail()
_this.shouldReLoadingList(true)
}
})
},
onShow(){
},
onUnload() {
this.$util.addUserBehavior()
uni.$off('cashAudit');
}
}
@ -174,10 +323,11 @@
<style scoped>
.page-body {
height: 100%;
padding: 0 25rpx;
min-height: 100%;
padding: 40rpx 25rpx;
background-color: #fff;
box-sizing: border-box;
padding-bottom: 196rpx;
}
.audit-card {
@ -207,7 +357,7 @@
color: #000;
}
.card-bottom, .main-card {
.main-card {
width: 700rpx;
color: #74838E;
background: #f8f9fa;
@ -216,30 +366,40 @@
padding: 24rpx 16rpx;
box-sizing: border-box;
}
.card-bottom {
padding-bottom: 33rpx;
}
.card-bottom view> view,.main-card view> view{
.main-card view> view{
flex: 1;
}
.card-bottom> view+view,.main-card> view+ view{
.main-card p + p, .main-card >view+ view{
margin-top: 16rpx;
}
.card-bottom view> text,.main-card view> text {
.main-card view> text,.main-card view> p,.card-content-title {
font-size: 26rpx;
/* white-space: nowrap; */
}
.card-bottom view> text:nth-child(2), .main-card view> text:nth-child(2) {
.main-card view> text:nth-child(2),
.card-content-text >p{
color: #000;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
min-width: 76rpx;
text-align: right;
max-width: 204rpx;
/* height: 46rpx; */
box-sizing: border-box;
}
.main-card view > text.price-num {
.main-card view > p.price-num,.main-card view > text.price-num {
color: #DD6060;
}
.main-card.desc {
padding-right: 0;
margin-bottom: 16rpx;
}
.main-card.desc text {
padding-right: 16rpx;
@ -264,10 +424,139 @@
height: 137rpx;
border-radius: 8rpx;
}
.uni-icon-checkmarkempty {
color: #91A6D7;
font-size: 40rpx;
margin-right: 8rpx;
}
/* 稽核反馈输入 */
.feedback-box {
}
.feedback {
width: 100%;
height: 150rpx;
padding: 20rpx 20rpx 0 20rpx;
box-sizing: border-box;
background: #f8f9fa;
border-radius: 14rpx 14rpx 0 0;
}
textarea {
margin-top: 36rpx;
}
checkbox-group {
width: 312rpx;
}
.checkbox-text {
font-size: 26rpx;
color: #8A9DCA;
}
.add-amout {
border: 1rpx solid #f9f9f9;
width: 136rpx;
height: 58rpx;
color: #91A6D7;
font-size: 24rpx;
border-radius: 9rpx;
margin-left: 12rpx;
line-height: 60rpx;
text-align: right;
padding-right: 8rpx;
box-shadow: 0px 0px 6rpx 0px rgba(221,228,243,0.75);
}
.add-amout input {
width: 80%;
color: #333;
font-size: 30rpx;
height: 58rpx;
line-height: 50rpx;
min-height: 58rpx;
padding: 0;
padding-right: 4rpx;
/* border: 1px solid #111; */
}
.img-box {
background: #f8f9fa;
padding: 20rpx 0 20rpx 20rpx;
border-radius: 0 0 14rpx 14rpx;
}
.upload-file-container {
display: flex;
align-items: center;
width: 100%;
/* min-height: 260rpx; */
box-sizing: border-box;
flex-wrap: wrap;
}
.upload-file-add-container {
position: relative;
border: 1rpx solid #ccc;
width: 136rpx;
height: 137rpx;
border-radius: 6rpx;
margin-bottom: 16rpx;
}
.upload-file-add-container::before {
content: '';
display: block;
position: absolute;
left: 40rpx;
top: 50%;
height: 2rpx;
background-color: #ccc;
width: 60rpx;
}
.upload-file-add-container::after {
content: '';
display: block;
position: absolute;
left: 50%;
top: 40rpx;
width: 2rpx;
height: 60rpx;
background-color: #ccc;
}
.upload-file-unit {
position: relative;
width: 137rpx;
height: 136rpx;
margin-right: 32rpx;
margin-bottom: 16rpx;
border-radius: 8rpx;
border: 2rpx solid #ccc;
}
.upload-file-unit image {
width: 136rpx;
height: 136rpx;
border-radius: 8rpx;
}
.upload-file-remove {
position: absolute;
top: -14rpx;
right: -12rpx;
display: inline-block;
width: 37rpx;
height: 37rpx;
line-height: 30rpx;
background-color: #ff0000;
color: #ffffff;
font-size: 30rpx;
border-radius: 50%;
text-align: center;
z-index: 1;
}
/* end */
.page-bottom {
width: 750rpx;
padding: 42rpx 0 90rpx 0;
padding: 42rpx 0 43rpx 0;
background: #f8f9fb;
position: fixed;
bottom: 0;
@ -291,6 +580,9 @@
height: 30rpx;
margin-right: 16rpx;
}
checkbox .wx-checkbox-input {
width: 40rpx;
height: 40rpx;
}
</style>

View File

@ -32,7 +32,7 @@
import ListUnit from './components/listUnit.vue'
export default {
data() {
let stime = this.$util.cutDate(new Date(),'YYYY-MM-DD',-30)
let stime = this.$util.cutDate(new Date(),'YYYY-MM-DD',-6)
let etime = this.$util.cutDate(new Date(),'YYYY-MM-DD')
return {
searchTime:[stime,etime],
@ -192,6 +192,11 @@
.search-button {
font-size: 24rpx;
padding: 0 20rpx;
color: #417CF7;
background-color: #F8FCFF;
border: 3rpx solid #6695F8;
line-height: 1.8;
border-radius: 6rpx;
}
.mr20 {
margin: 0 30rpx 0 16rpx;

View File

@ -1,13 +1,13 @@
<template>
<div class="effectiveDetail">
<div v-if="effectiveShow && !loading">
<div>
<div class="contentTwo-head">
<div>
<div class="contentTwo-name ">
<span class="contentTwo-text uni-ellipsis" :class="{'scan-ico':effectiveDetail.SCAN_TYPE===1,'shouchi-ico':effectiveDetail.SCAN_TYPE===2,'jiekou-ico':effectiveDetail.SCAN_TYPE===3}">{{effectiveDetail.SHOPNAME}}</span>
</div>
<div class="contentTwo-right" style="color: #ec9061;justify-content: flex-end;">
<div class="contentTwo-right" style="color: #F4904E;justify-content: flex-end;">
{{effectiveDetail.TREATMENT_MARK}}
</div>
</div>
@ -47,37 +47,68 @@
<div class="content-line" ></div>
<div >
<div class="contentTwo-left"><i class="ico ico-user"></i><span class="fourth-name">主任名称</span>{{zhur[0]}}</div>
<div class="contentTwo-right"><i class="ico ico-sjx"></i><span>{{zhur[1]}}</span></div>
<div class="contentTwo-left"><i class="ico ico-user"></i><span class="fourth-name">主任名称</span>{{endaccountMsg[0]}}</div>
<div class="contentTwo-right"><i class="ico ico-sjx"></i><span>{{endaccountMsg[1]}}</span></div>
</div>
<div>
<div class="lie_right2">
<i class="ico ico-bz"></i>
<div class="fourth-name">确认意见</div><span>{{zhur[2]}}</span>
<div class="fourth-name">确认意见</div><span>{{endaccountMsg[2]}}</span>
</div>
</div>
</block>
</view>
</div>
<p class="commodityP">
<span>营收详情</span>
<!-- 稽核信息 -->
<template v-if="Audit_List.length>0">
<view class="modle-title">
<h2>稽核信息</h2>
</view>
<view >
<view class="crashaudit-cell" :class="{'aready':item.CHECKSTATE}" v-for="(item, index) in Audit_List " :key="index" @click="toPage(item)">
<view class="uni-flex ai-center jc-between">
<text>{{item.CHECK_ENDDATE}}</text>
<text class="status-text">{{!item.CHECKSTATE ? '未处理': '已处理'}}</text>
</view>
<view class="uni-flex ai-center">
<view class="uni-flex ai-center flex-1">
<text >长短款额</text>
<text class="price-text" >{{$util.fmoney(item.DIFFERENT_PRICE)}}</text>
</view>
<view class="uni-flex ai-center flex-1" v-show="item.REPLENISH_AMOUNT!=0">
<text>补入流水</text>
<text >{{$util.fmoney(Math.abs(item.REPLENISH_AMOUNT),2)}}</text>
</view>
</view>
<view class="desc-text" v-show="item.CHECKACCOUNT_DESC">
<text>稽核反馈</text>
<text class="desc-text">{{item.CHECKACCOUNT_DESC}}</text>
</view>
</view>
</view>
</template>
<!-- 营收详情 -->
<view class="modle-title">
<h2>营收详情</h2>
<span class="photo-btn" v-if="imagesList.length>0" @tap="showImg()">查看账单图片</span>
</p>
</view>
<div class="commodity">
<div>
<div class="commodityContent">
<span class="color1">{{CASH}}</span>
<div>
<img src="/static/images/effective/ssje.png" />
<!-- <img src="/static/images/effective/ssje.png" /> -->
<span class="ctitle">现金支付</span>
</div>
</div>
<div class="add">+</div>
<div class="commodityContent zyborder">
<div class="commodityContent">
<span class="color1">{{MOBILEPAYMENT}}</span>
<div>
<img src="/static/images/effective/ydzf2.png" />
<!-- <img src="/static/images/effective/ydzf2.png" /> -->
<span class="ctitle">移动支付</span>
</div>
@ -86,7 +117,7 @@
<div class="commodityContent">
<span class="color1">{{TOTALSELLAMOUNT}}</span>
<div>
<img src="/static/images/effective/cdz.png" />
<!-- <img src="/static/images/effective/cdz.png" /> -->
<span class="ctitle">销售金额</span>
</div>
</div>
@ -95,15 +126,15 @@
<div class="commodityContent">
<span class="color1">{{CASHPAY_DOWNLORD}}</span>
<div>
<img src="/static/images/effective/ssje.png" />
<!-- <img src="/static/images/effective/ssje.png" /> -->
<span class="ctitle">缴款金额</span>
</div>
</div>
<div class="add">-</div>
<div class="commodityContent zyborder">
<div class="commodityContent">
<span class="color1">{{CASH}}</span>
<div>
<img src="/static/images/effective/xjzf.png" />
<!-- <img src="/static/images/effective/xjzf.png" /> -->
<span class="ctitle">现金支付</span>
</div>
@ -112,12 +143,12 @@
<div class="commodityContent">
<span class="color1">{{DIFFERENT_PRICE}}</span>
<div>
<img src="/static/images/effective/cdk.png" />
<!-- <img src="/static/images/effective/cdk.png" /> -->
<span class="ctitle">长短款额</span>
</div>
</div>
</div>
<div>
<div >
<div class="commodityContent-cashpay">
<span class="wid70" style="color: #333;">误差率</span>
<span class="color1" :class="cor">{{wcl}}%</span>
@ -131,37 +162,38 @@
<input v-model="effectiveDetail.CASHPAY" class="cashpay" :disabled="isdisabled" @blur="checkNum($event,'CASHPAY')">
</div>
</div>
</div>
<view class="cashpay-box">
<div>
<img src="/static/images/effective/dpjl.png" alt="">
<span class="cashpay-check">单品记录</span>
<uni-load-more v-if="isFACTAMOUNT_SALE==2" loadingType="1" :contentText="contentText"></uni-load-more>
<img src="/static/images/effective/true.png" alt="" v-else-if="isFACTAMOUNT_SALE==1">
<img src="/static/images/effective/false.png" alt="" v-else>
</div>
<div>
<img src="/static/images/effective/jk.png" />
<span class="cashpay-check">移动支付</span>
<uni-load-more v-if="isFACT_AMOUNT==2" loadingType="1" :contentText="contentText"></uni-load-more>
<img src="/static/images/effective/true.png" alt="" v-else-if="isFACT_AMOUNT==1">
<img src="/static/images/effective/false.png" alt="" v-else>
</div>
<view class="cashpay-box">
<div>
<image src="/static/images/effective/dpjl.png" alt="">
<span class="cashpay-check">单品记录</span>
<uni-load-more v-if="isFACTAMOUNT_SALE==2" loadingType="1" :contentText="contentText"></uni-load-more>
<image src="/static/images/effective/true.png" alt="" v-else-if="isFACTAMOUNT_SALE==1">
<image src="/static/images/effective/false.png" alt="" v-else>
</div>
<div>
<image src="/static/images/effective/jk.png" />
<span class="cashpay-check">移动支付</span>
<uni-load-more v-if="isFACT_AMOUNT==2" loadingType="1" :contentText="contentText"></uni-load-more>
<image src="/static/images/effective/true.png" alt="" v-else-if="isFACT_AMOUNT==1">
<image src="/static/images/effective/false.png" alt="" v-else>
</div>
<div v-if="isTICKETCODE_CIGARETTE == true">
<img src="/static/images/effective/xysj.png" alt="">
<span class="cashpay-check">香烟数据</span>
<img src="/static/images/effective/true.png" alt="">
</div>
<div v-if="isSELLCOUNT_PROMOTION == true">
<img src="/static/images/effective/zxsj.png" />
<span class="cashpay-check">促销数据</span>
<img src="/static/images/effective/true.png" alt="">
</div>
</view>
</div>
<div v-show="showPopupMiddle" class="shenhe-mask" :style="{top:offsetTop + 'px'}" @click.stop="mask()">
</div>
<div v-if="isTICKETCODE_CIGARETTE == true">
<image src="/static/images/effective/xysj.png" alt="">
<span class="cashpay-check">香烟数据</span>
<image src="/static/images/effective/true.png" alt="">
</div>
<div v-if="isSELLCOUNT_PROMOTION == true">
<image src="/static/images/effective/zxsj.png" />
<span class="cashpay-check">促销数据</span>
<image src="/static/images/effective/true.png" alt="">
</div>
</view>
</div>
<div v-show="showPopupMiddle" class="shenhe-mask" :style="{top:offsetTop + 'px'}" @click.stop="mask()"></div>
<div class="opinion2" v-show="showPopupYj">
<div >
<p class="opinion2-title"><span>{{isback? '驳回':'确认'}}意见</span></p>
@ -172,104 +204,104 @@
<div class="check-btn no-check" @click="mask">取消</div>
</div>
</div>
<div class="opinion2" v-show="showPopupCheck">
<div v-if="ischeckOut">
<p class="opinion2-title"><span>数据校验</span></p>
<block v-if="isFACT_AMOUNT!=1">
<div class="data-check">
<div class="data-check-data" style="border:1px solid #64a0e6;">
<input v-model="effectiveDetail.MOBILE_CORRECT" style="border:none;text-align:center;" @blur="checkNum($event,'MOBILE_CORRECT')"/>
</div>
<div>=</div>
<div class="data-check-data">
<span class="color1">{{mobileChongzheng}}</span>
</div>
<div>+</div>
<div class="data-check-data">
<span class="color1">{{SALE_CORRECT}}</span>
</div>
</div>
<div class="data-check">
<span class="ctitle">移动冲正</span>
<span class="ctitle">移动支付差额</span>
<span class="ctitle">到账实差</span>
</div>
</block>
</div>
<div class="opinion2" v-show="showPopupCheck">
<div v-if="ischeckOut">
<p class="opinion2-title"><span>数据校验</span></p>
<block v-if="isFACT_AMOUNT!=1">
<div class="data-check">
<div class="data-check-data">
<span class="color1">{{effectiveDetail.CASHPAY}}</span>
<div class="data-check-data" style="border:1px solid #64a0e6;">
<input v-model="effectiveDetail.MOBILE_CORRECT" style="border:none;text-align:center;" @blur="checkNum($event,'MOBILE_CORRECT')"/>
</div>
<div>=</div>
<div class="data-check-data">
<span class="color1">{{effectiveDetail.TOTALSELLAMOUNT}}</span>
<span class="color1">{{mobileChongzheng}}</span>
</div>
<div>+</div>
<div class="data-check-data">
<span class="color1">{{CORRECT_AMOUNT}}</span>
</div>
</div>
<div class="data-check">
<span class="ctitle">实收金额</span>
<span class="ctitle">销售金额</span>
<span class="ctitle">冲正金额</span>
</div>
<div class="data-check">
<div class="data-check-data">
<span class="color1">{{CORRECT_AMOUNT}}</span>
</div>
<div>=</div>
<div class="data-check-data">
<span class="color1">{{effectiveDetail.MOBILE_CORRECT||0}}</span>
</div>
<div>+</div>
<div class="data-check-data" style="border:1rpx solid #64a0e6;">
<input v-model="effectiveDetail.CASH_CORRECT" style="border:none;text-align:center;" @blur="checkNum($event,'CASH_CORRECT')" />
<span class="color1">{{SALE_CORRECT}}</span>
</div>
</div>
<div class="data-check">
<span class="ctitle">冲正金额</span>
<span class="ctitle">移动冲正</span>
<span class="ctitle">现金冲正</span>
<span class="ctitle">移动支付差额</span>
<span class="ctitle">到账实差</span>
</div>
</block>
<div class="data-check">
<div class="data-check-data">
<span class="color1">{{effectiveDetail.CASHPAY}}</span>
</div>
<div>=</div>
<div class="data-check-data">
<span class="color1">{{effectiveDetail.TOTALSELLAMOUNT}}</span>
</div>
<div>+</div>
<div class="data-check-data">
<span class="color1">{{CORRECT_AMOUNT}}</span>
</div>
</div>
<div >
<p class="opinion2-title"><span>校验原因</span></p>
<textarea v-model="checkReason" placeholder="请填写校验原因" class="text-content check-reason" />
<div class="data-check">
<span class="ctitle">实收金额</span>
<span class="ctitle">销售金额</span>
<span class="ctitle">冲正金额</span>
</div>
<div class="check-btn-box">
<div class="check-btn" @click="checkSubmit">校验</div>
<div class="check-btn no-check" @click="noCheck">取消</div>
<div class="data-check">
<div class="data-check-data">
<span class="color1">{{CORRECT_AMOUNT}}</span>
</div>
<div>=</div>
<div class="data-check-data">
<span class="color1">{{effectiveDetail.MOBILE_CORRECT||0}}</span>
</div>
<div>+</div>
<div class="data-check-data" style="border:1rpx solid #64a0e6;">
<input v-model="effectiveDetail.CASH_CORRECT" style="border:none;text-align:center;" @blur="checkNum($event,'CASH_CORRECT')" />
</div>
</div>
<div class="data-check">
<span class="ctitle">冲正金额</span>
<span class="ctitle">移动冲正</span>
<span class="ctitle">现金冲正</span>
</div>
</div>
<div class="check-btn-box" v-if="isCheck==2">
<div class="check-btn" @click="menuImg(true)">
<span>驳回</span>
<div >
<p class="opinion2-title"><span>校验原因</span></p>
<textarea v-model="checkReason" placeholder="请填写校验原因" class="text-content check-reason" />
</div>
<div class="check-btn" @click="menuImg(false)">
<span>审核</span>
<div class="check-btn-box">
<div class="check-btn" @click="checkSubmit">校验</div>
<div class="check-btn no-check" @click="noCheck">取消</div>
</div>
</div>
<div class="check-btn-box" v-else-if="isCheck==1">
<div class="check-btn" @click="correct" v-if="shouldCorrect">
<span>一键冲正</span>
</div>
<div class="check-btn" @click="checkOut()">
<span>校验</span>
</div>
<div class="check-btn-box page-btn-box" v-if="isCheck!==0" >
<template v-if="isCheck==2">
<div class="check-btn" @click="menuImg(true)">
<span>驳回</span>
</div>
<div class="check-btn" @click="menuImg(false)">
<span>审核</span>
</div>
</template>
<template v-else-if="isCheck==1">
<div class="check-btn" @click="correct" v-if="shouldCorrect">
<span>一键冲正</span>
</div>
<div class="check-btn" @click="checkOut()">
<span>校验</span>
</div>
</template>
</div>
</div>
<div v-else-if="!effectiveShow && !loading">
@ -284,7 +316,7 @@
import uniPopup from '@/components/uni-popup.vue';
import uniLoadMore from '@/components/uni-load-more.vue';
import {mapGetters} from "vuex";
import {mapGetters,mapMutations} from "vuex";
export default {
data() {
let offsetTop = 0;
@ -306,14 +338,13 @@
isCheck: 0, // 0 1 2
PopupVisible3: false,
Opinion: "", //
trialani: false,
PURCHASEDESC: "",
examineType: "",
opinionType: "",
moneyJj: "",
cans: [],
zhur: [],
endaccountMsg: [], //
wcl: "",
cor: "",
cashpay: "",
@ -344,12 +375,14 @@
contentnomore: ""
},
isback:false ,//
imagesList: []
imagesList: [],
Audit_List: []
}
},
computed:{
...mapGetters({
'user':'getUser'
'user':'getUser',
reloading:'shouldReLoadingList'
}),
//
TOTALSELLAMOUNT(){
@ -398,10 +431,9 @@
components: {
uniPopup,
uniLoadMore
},
methods: {
...mapMutations(['shouldReLoadingList']),
//
showImg() {
let list = []
@ -500,9 +532,14 @@
}).then(res => {
_this.loading = false
uni.hideLoading()
if (!res.Result_Code|| res.Result_Code!='100') return
_this.imagesList = res.Result_Data.Image_List
if(res.Result_Data.Audit_List){
_this.Audit_List = res.Result_Data.Audit_List.List
}
let _data = res.Result_Data.Endaccount_List
_this.effectiveShow = true
@ -569,7 +606,7 @@
}
_this.cashpay = _data.CASHPAY
_this.cashCorrect = _data.CASH_CORRECT
_this.zhur = _data.ENDACCOUNT_DESC.split("|");
_this.endaccountMsg = _data.ENDACCOUNT_DESC.split("|");
if (_data.TOTALSELLAMOUNT != 0) {
let moj =parseFloat(_data.TOTALSELLAMOUNT)/parseFloat(_data.TICKETCOUNT);
let l = moj.toString().indexOf(".") + 3;
@ -799,20 +836,17 @@
_this.$request.$post(_this.examineType,JSON).then(res => {
uni.hideLoading()
if(res.Result_Code == 100){
_this.showPopupMiddle = false
_this.showPopupYj = false
_this.getEffectiveDetail()
uni.showToast({
icon: 'none',
title: '审核通过',
duration: 1000
});
uni.$emit('datasummary',true)
}else{
_this.showPopupMiddle = false
_this.showPopupYj = false
_this.getEffectiveDetail()
uni.$emit('datasummary',true)
}else{
uni.showModal({
title:'温馨提示',
content:res.Result_Desc,
@ -821,6 +855,9 @@
}
})
_this.showPopupMiddle = false
_this.showPopupYj = false
_this.getEffectiveDetail()
}
@ -867,12 +904,31 @@
}
})
},
toPage(item){
this.$util.toNextRoute('navigateTo', '/pages/cashAudit/detail?id='+item.CHECKACCOUNT_ID)
}
},
onUnload() {
this.$util.addUserBehavior()
},
onShow() {
let _this = this
if(this.reloading) {
uni.showLoading({
title:'正在加载'
})
this.getEffectiveDetail()
this.shouldReLoadingList(false)
}
},
onLoad(option) {
let _this = this
if(option.SERVERPART_ID) {
this.SERVERPART_ID = option.SERVERPART_ID
}
@ -881,6 +937,7 @@
title:'正在加载'
})
this.getEffectiveDetail()
}
}
</script>
@ -892,23 +949,25 @@
.effectiveDetail {
width: 100%;
box-sizing: border-box;
/* background-color: #fff; */
padding-bottom: 140rpx;
}
.contentTwo-head {
width: 100%;
box-sizing: border-box;
padding: 20rpx 30rpx;
background-color: #fff;
padding: 30rpx 26rpx 0 26rpx;
position: relative;
font-size: 24rpx;
background-color: #fafafa;
}
/* .content-detail-box{
box-shadow: 0px 1px 8px 0.2px #e2e2e2;
border-radius: 10rpx;
padding: 0 20rpx;
margin-bottom: 20rpx;
} */
.content-detail-box {
box-shadow: 0rpx 2rpx 8rpx 0px rgba(231,231,231,0.67);
border-radius: 7rpx;
padding: 20rpx 20rpx;
background-color: #fff;
}
.content-detail-box span{
font-size: 24rpx;
}
@ -939,6 +998,7 @@
display: inline-block;
color: #979797;
font-size: 24rpx;
line-height: 60rpx;
}
.contentTwo-right {
@ -947,6 +1007,7 @@
width: 280rpx;
display: flex;
align-items: center;
font-size: 24rpx;
}
.contentTwo-name {
@ -955,7 +1016,7 @@
}
.contentTwo-text {
font-size: 32rpx;
font-size: 30rpx;
}
.lie_right2 {
@ -974,6 +1035,16 @@
margin-top: 20rpx;
margin-bottom: 80rpx;
}
.page-btn-box {
margin-bottom: 0;
position: fixed;
width: 100%;
background-color: #fafafa;
padding-bottom: 40rpx;
bottom: 0;
left: 0;
z-index: 2;
}
.check-btn {
flex:1;
text-align: center;
@ -1055,13 +1126,17 @@
line-height: 80rpx;
}
.commodityP {
color: #b7b8ba;
padding: 0.5rem;
.modle-title {
color: #000;
padding: 36rpx 30rpx 24rpx 30rpx;
font-size: 26rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.modle-title h2 {
font-weight: bolder;
}
.photo-btn {
display: flex;
align-items: center;
@ -1097,7 +1172,7 @@
font-size: 24rpx;
color: #333;
}
.add{
.add {
width: 20rpx;
text-align: center;
}
@ -1118,21 +1193,6 @@
padding-top: 0.5rem;
}
.trialani {
width: 10rem;
height: 6rem;
box-shadow: 0px 1px 8px 0.2px #e2e2e2;
text-align: center;
background-color: #fff;
position: fixed;
top: 42%;
left: 50%;
-webkit-transform: translate3d(-50%, -50%, 0);
-moz-transform: translate3d(-50%, -50%, 0);
-o-transform: translate3d(-50%, -50%, 0);
-ms-transform: translate3d(-50%, -50%, 0);
transform: translate3d(-50%, -50%, 0);
}
.commodity {
width: 100%;
@ -1154,7 +1214,6 @@
width: 100%;
text-align: center;
background-size: contain;
margin-top: 2rpx;
}
.commodity>div:last-child{
padding-top: 12rpx;
@ -1167,22 +1226,17 @@
/* display: inline-block; */
vertical-align: middle;
}
.cashpay-box img,.to-examine img{
.cashpay-box image,.to-examine img{
width: 40rpx;
height: 40rpx;
}
.color1 {
display: block;
text-align: left;
color: #333;
font-size:28rpx;
line-height: 60rpx;
line-height: 56rpx;
}
.ctitle {
display: inline-block;
text-align: left;
vertical-align: middle;
color: #63A0E5;
font-size: 24rpx;
}
@ -1200,7 +1254,7 @@
left: 0;
background-color: rgba(0, 0, 0, .6);
}
.text-content{
.text-content {
height: 150rpx;
width: 100%;
font-size: 28rpx
@ -1216,8 +1270,7 @@
.cashpay{
display: inline-block;
border-bottom: 1rpx solid #63a0e5;
/* border-radius: 10rpx; */
/* margin-left: 10rpx; */
padding-left: 16rpx;
height: 60rpx;
line-height: 60rpx;
@ -1225,15 +1278,16 @@
box-sizing: border-box;
width: 160rpx;
}
.cashpay-box{
.cashpay-box {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #eeeeee;
padding: 30rpx;
background-color: #f8f9fb;
padding: 26rpx 34rpx;
flex-wrap: wrap;
/* margin: 0 26rpx; */
}
.cashpay-box>div{
.cashpay-box > div{
width: 50%;
display: flex;
align-items: center;
@ -1334,4 +1388,61 @@
.ico-sjx:before{
background-image: url('/static/images/expense/sjx.png');
}
/* 稽核信息 */
.crashaudit-cell {
margin: 0 26rpx;
background: #ffffff;
border-radius: 8rpx;
box-shadow: 0rpx 2rpx 8rpx 0rpx rgba(231,231,231,0.67);
overflow: hidden;
position: relative;
padding: 10rpx 30rpx 16rpx 30rpx;
}
.crashaudit-cell + .crashaudit-cell {
margin-top: 22rpx;
}
.crashaudit-cell::before {
content: '';
display: block;
width: 6rpx;
height: 100%;
background-color: #4da2eb;
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
.crashaudit-cell.aready::before {
background-color: #dbdbdb;
}
.crashaudit-cell > view {
margin-bottom: 8rpx;
}
.crashaudit-cell >view+view {
margin-bottom: 0rpx;
}
.crashaudit-cell text{
font-size: 22rpx;
}
.crashaudit-cell text.status-text {
color: #F4904E;
font-size: 24rpx;
}
.crashaudit-cell.aready text.status-text {
color: #ADB2BF;
}
.crashaudit-cell .price-text {
color: #D75B5B;
}
.crashaudit-cell view .flex-1 {
flex: 1;
}
.crashaudit-cell view > text:first-child {
color: #ADB2BF;
}
.crashaudit-cell view.desc-text {
line-height: 1.4;
}
</style>

View File

@ -269,9 +269,10 @@
_this.mbwaShow =true
_this.showData = rs.Data
_this.showData.status = keys[_this.showData.PROCESSMODE]
if(_this.showData.SORTNUM===0){
switch (_this.showData.PROCESSMODE){
let processmode = parseInt(_this.showData.PROCESSMODE)
if(_this.showData.SORTNUM==0){
switch (processmode){
case 1:
_this.getDEALER()
_this.isManager = 1
@ -285,6 +286,7 @@
default:
break;
}
_this.$forceUpdate()
}
let arr = []
let dealerImgList = []

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,7 +1,7 @@
export default {
baseURL: 'https://user.eshangtech.com/Coop.Merchant/Handler/handler_ajax.ashx', // 合作商户请求
// baseURL: 'http://192.168.11.140:8999/Coop.Merchant/Handler/handler_ajax.ashx', // 合作商户请求
// baseURL: 'http://192.168.11.140:8000/Coop.Merchant/Handler/handler_ajax.ashx', // 合作商户请求
mpUrl: 'https://mp.eshangtech.com/Coop.Merchant/Handler/handler_ajax.ashx', // 接口
apiurl: 'https://api.eshangtech.com/', // web api/WeChatPushAPI/