This commit is contained in:
cclu 2023-07-06 19:03:12 +08:00
parent 23d58c969d
commit 6631d44447
8 changed files with 1312 additions and 72 deletions

View File

@ -0,0 +1,921 @@
<template>
<view v-if="data">
<view v-show="!showPopupBottom">
<view class="content-title">商户门店状态变更申请</view>
<p class="box-top">
<view class="item-title">日期<text style="color:#333;font-size:24rpx;">{{data.OPERATE_DATE}}</text></view>
<text style="color:#F27B4C;font-size:24rpx;">{{stateEmun[data.PERMISSIONAPPLY_STATE]}}</text>
</p>
<BaseDetail :baseData="data"/>
<view class="card" v-if="shopDetail">
<view class="title-row">
<view class="title">
<view>变更情况</view>
</view>
</view>
<view class="uni-flex jc-around align-center" style="padding-top: 24rpx;">
<view style="text-align: center;">
<view style="font-size: 30rpx;">{{shopDetail.SHOPNAME}}</view>
<view class="tag-value">
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAMAAABDGm2rAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAIQUExURUdwTP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4qa4JgAAACvdFJOUwCU4OoB7/1wQDD+BiFbBwI57WLEiI8EqYDuRtE/rh76Xg7n9RLKCeHwPnHoCyAryQ9Vl6MkbEEm6Sz3hYoFpsdhh2YI69gDjM0bnU1vHMgup+UQtVwVrUWDM9TXdUpEzL2r83ewxQxP7IKom6BDHymB5tOQlVJ2+1EZvt2zfxcxZbbAuXoNTIlTvBjjMrcKV6Rg/HnL+To4HYSTL3gWjvF+2Z7auJkqdNU1rIuGr9IcTW76AAACwElEQVRIx5WW9UNiQRDHV0BQkFAQ8xTRQ5EwsL2zz/b07Nbr7u7u7u7O/RePnd33HvD2wXN+gN3vzHxgh9l5IBxjZV15Y9evdSJmBdODD+/fQxzT/amGd8y15PYiGmYgu1U6eb7/F/49WakIwFiTKgHwAVl+4B92hKqnq5QBOH2/BMBVMflT6dgx/zdjzrtMAQbBNmc3HznjpkmzJglQfD7q+B/02LFgX/wR/JhEAdH4blcyqIMSAJeek/wlYxjbq5Z+zn5bfj/BAyDUWAZJVoRyhRNtNYneDLI3zlTYPuE3iA+gMdgWXu0UCP2ik32r7+W41KMEcPqIPE/Ou0UgGARnNusYjMeREgC1EHk3WW07xAD6KebLFH9qqzKgncgbYZmWLnRXPfVdEgBmpAxYQ+Qsus4vZAnrSOehDrYrfIniAEaInMQ2LuEjL3YjtPiIrJpaxidQHID1IJFrhW2zQOhBRRvgdpwUQ/kAM8jDYutlCQTXsDH8+iDidnEBNQ1EnZMEz3oGePr8FcZPLCguYK15B6htEdqt24zgTrNrX6BYQKpgMynbDXu6aGirNTLuzs3yfDj+0tAzJAPwTBuQVWYBHCM6VQBNoyzf1psErscqAE2ZRbL8Pje+C7U0DsQHGDW7MkblrWWpCPsuw6TYFIwFpEhmq+lEXOsngTltEH+6JEEfcKwWLmQu6oGEU86VAvKPk7gr4SZpxZHXRC2goEF8PhTkQErHigCeXrjNV2EzQC+zdyWAEIz2YNRE0u5TDyiX5g8x02rY5/nVAvbqSUy1JKTR58akTh0gADOxIvIKn6Atd1YVwJ8HJx6KEg9Twg0VADqMjLnRKitD8evEgGMQ4IiVWRk0bxMB6qCAdqfMcZQe4ksiADwffH0cD50N2kSA+nDj6r08jwXK8BXB/4o4NSi5kF3H94y+++wLVf4HlTtB2ack5W8AAAAASUVORK5CYII=" mode="aspectFit" style="width: 32rpx;height: 19rpx;margin-right: 8rpx;" />
{{data.SERVERPART_NAME}}
</view>
</view>
<view class="uni-flex uni-column" style="padding-right: 20rpx;">
<view class="uni-flex uni-row" style="align-items: center;padding-top: 8rpx;">
<view class="date-ico"></view>
<text style="font-weight:bold; color: #878F94;">{{businessStatus[shopDetail.BUSINESS_ORISTATE]}}</text>
</view>
<view class="uni-flex uni-row end-date" style="align-items: center;">
<view class="date-ico" style="background-color: #63A1E6;color: #fff;"></view>
<text style="font-weight:bold;margin-right: 16rpx;">{{businessStatus[shopDetail.BUSINESS_STATE]}}</text>
<text class="fs24" style="color: #878F94;">{{$util.cutDate(shopDetail.BUSINESS_ENDDATE,'YYYY年MM月DD')}}</text>
</view>
</view>
</view>
</view>
<view class="card">
<view class="dataAppoved">
<h2 style="font-weight: 700">营收详情</h2>
<view class="top">
<view class="left">
<span :class="{'scan-ico':effectiveDetail.SCAN_TYPE===1,'shouchi-ico':effectiveDetail.SCAN_TYPE===2,'jiekou-ico':effectiveDetail.SCAN_TYPE===3}">{{effectiveDetail.SHOPNAME}}</span>
<span style="color: #979797;">{{effectiveDetail.SERVERPART_NAME}}</span>
</view>
<view class="right">
<span class="fourth-name">结账人员</span>{{effectiveDetail.WORKER_NAME}}
<div>{{effectiveDetail.ENDACCOUNT_DATE}}</div>
</view>
</view>
<view class="commodity">
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;margin-top: 16px">
<div class="commodityContent">
<span class="color1">{{showCash}}</span>
<div>
<span class="ctitle">现金支付</span>
</div>
</div>
<div class="add">+</div>
<div class="commodityContent">
<span class="color1">{{effectiveDetail.MOBILEPAYMENT?$util.fmoney(effectiveDetail.MOBILEPAYMENT):'0.00'}}</span>
<div>
<span class="ctitle">移动支付</span>
</div>
</div>
<div>=</div>
<div class="commodityContent">
<span class="color1">{{effectiveDetail.TOTALSELLAMOUNT?$util.fmoney(effectiveDetail.TOTALSELLAMOUNT):'0.00'}}</span>
<div>
<span class="ctitle">销售金额</span>
</div>
</div>
</div>
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;margin-top: 16px">
<div class="commodityContent">
<span class="color1">{{effectiveDetail.CASHPAY_DOWNLORD?$util.fmoney(effectiveDetail.CASHPAY_DOWNLORD):'0.00'}}</span>
<div>
<span class="ctitle">缴款金额</span>
</div>
</div>
<div class="add">-</div>
<div class="commodityContent">
<span class="color1">{{showCash}}</span>
<div>
<span class="ctitle">现金支付</span>
</div>
</div>
<div>=</div>
<div class="commodityContent">
<span class="color1">{{effectiveDetail.DIFFERENT_PRICE?$util.fmoney(effectiveDetail.DIFFERENT_PRICE):'0.00'}}</span>
<div>
<span class="ctitle">长短款额</span>
</div>
</div>
</div>
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;margin-top: 16px">
<div class="commodityContent-cashpay">
<span class="wid70" style="color: #333;">误差率</span>
<span class="color1" :class="{'text-red': calcWuchalv > 0.3}">{{calcWuchalv}}%</span>
</div>
<div style="color:#fff">-</div>
<div class="commodityContent-cashpay">
<span class="wid70">实收金额</span>
<view class="cashpay" >{{effectiveDetail.CASHPAY}}</view>
</div>
</div>
</view>
</view>
</view>
<view class="card" v-if="data.PendState===0">
<view class="row jc-between" style="padding-top: 0;">
<view style="color: #2f93e7;">审批意见</view>
<text v-if="data.APPOVED_DATE" style="color:#878F94">{{$util.cutDate( data.APPOVED_DATE,'YYYY/MM/DD hh:ss')}}</text>
</view>
<view class="approved-reason">
<view class="desc">
<textarea
:value="approvalReason"
placeholder="请输入"
placeholder-style="color:#969EA4;line-height:2;padding-top:10rpx;"
auto-height
@blur="changeReason"
auto-focus
></textarea>
</view>
</view>
<!-- v-if="data.PendState===0"-->
</view>
<view class="card" style="margin-bottom: 20px" v-if="data.PendState===0">
<view class="button-box">
<span @tap="cancelApproval"><image src="@/static/images/bh-btn.png" mode="aspectFit"></image>否决</span>
<span @click="savaShops"><image src="@/static/images/sh-btn.png" mode="aspectFit"></image>同意</span>
</view>
</view>
</view>
</view>
</template>
<script>
import ShopList from "./SelectShopList.vue";
import BaseDetail from "./baseDetail.vue";
import UniPopup from "../../../components/uni-popup.vue";
import {mapState} from "vuex";
import Store from "../../../store/store";
export default {
props: {
data: {
type: Object,
},
businessId: {
type: String,
required: true
},
approvalData:{ //
type: Object,
required: false
},
imagsList:{ //
type: Array,
required: false
},
effectiveDetail:{
type: Object,
}
},
components:{
ShopList,
UniPopup,
BaseDetail
},
computed: {
...mapState({
user: (state)=>{ return state.userData}
}),
shopDetail () {
return this.approvalData && this.approvalData.ShopModifyList ? this.approvalData.ShopModifyList[0] :null
},
//
showCash() {
if (this.effectiveDetail.CASH){
return this.$util.fmoney(this.effectiveDetail.CASH)
}else {
return '0.00'
}
},
calcWuchalv(){ //
let _data = this.effectiveDetail
if ( _data.CASH == 0 ) {
if(_data.DIFFERENT_PRICE!=0) {
return "100.00";
}else {
return "0.00";
}
}
else {
return (Math.abs(_data.DIFFERENT_PRICE) / _data.CASH * 100).toFixed(2);
}
}
},
data() {
return {
showPopupBottom: false,
shops:[],
selectShopids:[],
approvalReason: '',
isloading:false,
stateEmun: {2000:"办理中",3000:"未通过",9000:"已通过"},
businessStatus : {
3000: '关闭' ,
2000: '暂停'
,
1010: '待运营'
,
1000: '运营中'
},
isState2010:false,
isdisabled: true,
}
},
watch:{
data(newVal,oldVal){
console.log('newVal',newVal)
console.log('oldVal',oldVal)
}
},
methods: {
checkNum(event, s) {
let value = event.detail.value.match(/[+-]?\d+(\.\d{0,2})?/)
if (value) {
value = value[0]
} else {
value = 0
}
this.effectiveDetail[s] = value
},
changeReason(event){
this.approvalReason = event.detail.value
},
hidePopup(){
this.showPopupBottom = false
},
priviewImages(type){ // 1 2
uni.previewImage(type===1 ? {urls: this.personImges} : {urls: this.shopImges})
},
changeValues(values){
let list = [] // this.selectShopids
let _this =this
if(values.length){
_this.shops.forEach(n=>{
const index = values.includes(n.value)
if(index){
list.push({
PERMISSIONAPPLY_ID: this.data.PERMISSIONAPPLY_ID,
SERVERPART_NAME: this.data.SERVERPART_NAME ,
SERVERPART_ID: this.data.SERVERPART_ID,
SERVERPARTSHOP_NAME: n.label,
SERVERPARTSHOP_ID: n.value,
PERMISSIONAPPLY_TYPE: 4000,
PERMISSIONAPPLYDETAIL_TYPE:2000,
OPERATE_DATE: new Date()
})
}
})
}
this.selectShopids=list
// this.hidePopup()
},
getShops(data) {
let _this = this
this.$request.$webGet('/EShangApiMain/BaseInfo/GetServerpartShopDDL',{
ProvinceCode: data.OWNERUNIT_ID,
ServerpartId: data.SERVERPART_ID
}).then(res=>{
if(res.Result_Code!==100) return
_this.shops = res.Result_Data.List
})
},
savaShops() {
let _this = this
if(_this.isloading) return
uni.showLoading({
title:'正在提交'
})
_this.isloading = true
let flag = false
if (this.data.PERMISSIONAPPLY_STATE===2000){
flag = true
}
let useData = Store.state.userData
let detail = _this.data
const date = new Date()
let y = date.getFullYear()
let m = date.getMonth() + 1
let d = date.getDate()
if (m<10){
m='0'+m
}
if (d<10){
d = '0'+d
}
let H = date.getHours()
H<10?`0${H}`:H
let M = date.getMinutes()
M<10?`0${M}`:M
let S = date.getSeconds()
S<10?`0${S}`:S
console.log('detail',detail)
console.log('_this.effectiveDetail',_this.effectiveDetail)
const req ={
PermissionApplyModel:{
PERMISSIONAPPLY_TYPE: 9000,
USER_MOBILEPHONE: detail.USER_MOBILEPHONE,
PERMISSIONAPPLY_DATE: detail.PERMISSIONAPPLY_DATE,
PERMISSIONAPPLY_REASON: detail.PERMISSIONAPPLY_REASON,
SERVERPART_ID: detail.SERVERPART_ID,
SERVERPART_NAME: detail.SERVERPART_NAME,
APPLYSHOP_NAME:_this.effectiveDetail.ENDACCOUNT_ID,
STAFF_ID: detail.STAFF_ID,
STAFF_NAME: detail.STAFF_NAME,
OPERATE_DATE: detail.OPERATE_DATE,
APPOVED_ID: useData.UserId,
APPOVED_NAME: useData.UserName,
APPOVED_INFO: this.approvalReason,
PERMISSIONAPPLY_ID: detail.PERMISSIONAPPLY_ID,
APPOVED_DATE: `${y}-${m}-${d} ${H}:${M}:${S}`,
PERMISSIONAPPLY_STATE: 9000,
}
}
console.log('req',req)
this.$request.$webPost('EShangApiMain/Verification/CancelEndaccount',req).then(res=>{
console.log('res',res)
uni.hideLoading()
_this.isloading=false
if (res.Result_Code===100){
if (flag){
_this.isState2010 = true
}
}
if(res.Result_Code!==100) {
uni.showModal({
title: '温馨提示',
content: res.Result_Desc
})
return
}
uni.showModal({
title: '温馨提示',
content: res.Result_Desc,
showCancel:false,
success: function (res) {
if (res.confirm) {
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
}
}
})
})
// const permissionApplyModel = {
// ...this.data,
// APPOVED_NAME: this.user.Membership_Name,
// APPOVED_INFO: this.approvalReason ||'',
// APPOVED_ID: this.user.UserId,
// PERMISSIONAPPLY_STATE: this.data.PERMISSIONAPPLY_STATE===2000?2010:9000,
// APPOVED_DATE: new Date()
// }
// console.log('req',permissionApplyModel)
// this.$request.$webPost('/EShangApiMain/BusinessProcess/ApprovedMerchantApply',{
// PermissionApplyModel: permissionApplyModel,
// ShopModifyList: this.approvalData.ShopModifyList
// }).then(res=>{
// uni.hideLoading()
// _this.isloading=false
// if (res.Result_Code===100){
// if (flag){
// _this.isState2010 = true
// }
// }
// console.log('res',res)
//
// if(res.Result_Code!==100) {
// uni.showModal({
// title: '',
// content: res.Result_Desc
// })
// return
// }
// uni.showModal({
// title: '',
// content: res.Result_Desc,
// showCancel:false,
// success: function (res) {
// if (res.confirm) {
// _this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
// }
// }
// })
// })
},
cancelApproval(){
let _this = this
if(!this.approvalReason){
uni.showToast({ title: '请填写否决意见' ,icon:'none'})
return
}
if(_this.isloading) return
uni.showLoading({
title:'正在提交'
})
_this.isloading=true
const permissionApplyModel = {
...this.data,
APPOVED_NAME:this.user.Membership_Name,
APPOVED_INFO: this.approvalReason,
APPOVED_ID: this.user.UserId,
PERMISSIONAPPLY_STATE: 3000,
APPOVED_DATE: new Date()
}
this.$request.$webPost('/EShangApiMain/BusinessProcess/RejectPermissionApply',{
PermissionApplyModel: permissionApplyModel
}).then(res=>{
uni.hideLoading()
_this.isloading=false
if(res.Result_Code!==100) {
uni.showModal({
title: '温馨提示',
content: res.Result_Desc
})
return
}
uni.showModal({
title: '温馨提示',
content: res.Result_Desc,
showCancel:false,
success: function (res) {
if (res.confirm) {
// _this.$emit('refresh')
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
}
}
})
})
},
handleCancel(){
}
},
}
</script>
<style lang="stylus">
@import url("/common/css/tenderingDetail.css");
.card {
background-color: #fff;
border-radius: 12rpx;
margin: 24rpx 24rpx 24rpx;
padding: 24rpx;
box-shadow: 0px 4px 12px 0px rgba(225,225,225,0.56);
.dataAppoved{
.top{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.left{
display: flex;
flex-direction: column;
}
}
.commodity{
.commodity {
width: 100%;
background-color: #fff;
padding: 30rpx 20rpx;
box-sizing: border-box;
}
.commodity>div {
display: flex;
justify-content: space-around;
font-size: 24rpx;
align-items: center;
margin-bottom: 30rpx;
}
.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;
}
.commodityContent>div {
background: url('/static/images/effective/sjjy_jb.png') no-repeat center;
width: 100%;
text-align: center;
background-size: contain;
}
.commodity>div:last-child {
padding-top: 12rpx;
margin-bottom: 0;
}
/* .commodity img {
display: none;
width: 40rpx;
height: 40rpx;
vertical-align: middle;
} */
.cashpay-box image {
width: 40rpx;
height: 40rpx;
}
.color1 {
color: #333;
font-size: 28rpx;
line-height: 56rpx;
}
.ctitle {
color: #63A0E5;
font-size: 24rpx;
}
.text-red {
color: #D13B3B;
line-height: 60rpx;
}
.shenhe-mask {
position: fixed;
z-index: 998;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0, 0, 0, .6);
}
.text-content {
max-height: 150rpx;
height: 120rpx;
width: 100%;
font-size: 28rpx;
line-height: 1.5;
}
.check-reason {
background-color: #f8f9fa;
padding: 16rpx 20rpx;
box-sizing: border-box;
border-radius: 14rpx 14rpx 0 0;
}
.cashpay {
display: inline-block;
padding-left: 16rpx;
height: 60rpx;
line-height: 60rpx;
color: #878787;
box-sizing: border-box;
width: 160rpx;
}
.cashpay-box {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #f8f9fb;
padding: 26rpx 0;
flex-wrap: wrap;
/* margin: 0 26rpx; */
}
.cashpay-box>div {
width: 50%;
box-sizing: border-box;
display: flex;
align-items: center;
height: 70rpx;
padding-left: 36rpx;
}
.cashpay-check {
margin: 0 20rpx 0 10rpx;
}
.data-check {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
}
.data-check>.ctitle {
width: 30%;
display: flex;
justify-content: center;
color: #999;
}
.data-check-data {
box-sizing: border-box;
display: flex;
align-items: center;
width: 28%;
justify-content: center;
padding: 8rpx 0;
box-shadow: 0px 1px 8px 0.2px #e2e2e2;
height: auto;
border-radius: 4rpx;
}
.data-check-data input {
width: 90%;
}
.check-btn {
width: 48%;
background-color: #64a0e6;
border: none;
color: #fff;
height: 80rpx;
line-height: 80rpx;
margin-top: 30rpx;
text-align: center;
border-radius: 10rpx;
}
.no-check {
background-color: #fff;
color: #666;
border: 1px solid #d2d2d2;
}
/* 传输方法的图标 */
.scan-ico,
.shouchi-ico,
.jiekou-ico,
.weisc-ico {
display: flex;
align-items: center;
}
.scan-ico:after {
content: '';
display: block;
margin-left: 16rpx;
width: 30rpx;
height: 30rpx;
background: url(/static/images/effective/ewm.png) no-repeat center;
background-size: contain;
}
.shouchi-ico:after {
content: '';
display: block;
margin-left: 16rpx;
width: 21rpx;
height: 29rpx;
background: url(/static/images/effective/scj.png) no-repeat center;
background-size: contain;
}
.jiekou-ico:after {
content: '';
display: block;
margin-left: 16rpx;
width: 29rpx;
height: 27rpx;
background: url(/static/images/effective/jkcs.png) no-repeat center;
background-size: contain;
}
/* 图片上传 */
.img-box {
background: #f8f9fa;
padding: 10rpx 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;
}
}
}
.row,.title-row {
display flex;
align-items center
line-height 2
padding 24rpx 0
.title {
flex 5
.tag {
background-color #5BC898
color #FFFFFF
padding 0rpx 8rpx
border-radius 6rpx
font-size 24rpx
display inline-block
}
font-size 26rpx
}
.desc {
flex 19
color #3C3C3C
font-size 26rpx
textarea {
width auto
height 50rpx
padding-top 4rpx
line-height 1.5
}
}
&:last-child {
border none
padding-top: 0
}
}
.row +.row {
padding-top: 0
}
.title-row {
border-bottom 1px solid #F1F1F1
padding-top 0
}
.approved-reason {
padding: 16rpx 24rpx;
background: #F8F9FB;
border-radius: 4rpx;
min-height: 97rpx;
line-height: 2;
}
.approvalList{
width: 100%;
box-sizing: border-box;
background: #fff;
.approvalItem{
width: 100%;
.top{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.topLeft{
display: flex;
align-items: center;
.stateIcon{
width: 18px;
height: 18px;
}
.stateName{
}
}
}
.bottom{
width: 100%;
display: flex;
justify-content: flex-end;
}
}
}
.uni-icon-arrowright {
color: #969EA4;
font-size: 24rpx;
margin-left 16rpx;
}
.select-item {
background: #f6f9fe;
border none;
border-radius: 12rpx;
padding 24rpx
margin-top 24rpx
}
.tag-value {
font-size: 22rpx;
background-color: #63A1E6;
margin-top: 8rpx;
color: #fff;
border-radius: 20rpx;
padding: 0rpx 16rpx;
justify-content: flex-start;
display: flex;
align-items: center;
}
.end-date {
margin-top: 32upx;
position: relative;
}
.end-date:before {
content: '';
position: absolute;
height: 53upx;
width: 1upx;
border-left: 2upx dashed #BBC3C8;
top: -42upx;
left: 13upx;
}
.date-ico {
font-size: 20upx;
border-radius: 50%;
height: 30rpx;
width: 30rpx;
color: #fff;
text-align: center;
line-height: 30upx;
background-color: #BBC3C8;
margin-right: 16rpx;
}
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<view v-if="data" > <view v-if="data">
<view v-show="!showPopupBottom"> <view v-show="!showPopupBottom">
<view class="content-title">商户门店状态变更申请</view> <view class="content-title">商户门店状态变更申请</view>
<p class="box-top"> <p class="box-top">
@ -137,13 +137,10 @@
stateEmun: {2000:"办理中",3000:"未通过",9000:"已通过"}, stateEmun: {2000:"办理中",3000:"未通过",9000:"已通过"},
businessStatus : { businessStatus : {
3000: '关闭' , 3000: '关闭' ,
2000: '暂停' 2000: '暂停'
, ,
1010: '待运营' 1010: '待运营'
, ,
1000: '运营中' 1000: '运营中'
}, },
isState2010:false, isState2010:false,

View File

@ -13,6 +13,10 @@
<MerchartInfoView :businessId="pageData.id" :data="approvalInfo" ref="shop" @refresh="reload" <MerchartInfoView :businessId="pageData.id" :data="approvalInfo" ref="shop" @refresh="reload"
:approvalData="approvalData" /> :approvalData="approvalData" />
</view> </view>
<view v-if="pageData.type=='9'">
<CancelView :businessId="pageData.id" :data="approvalInfo" ref="shop" @refresh="reload"
:approvalData="approvalData" :effectiveDetail="effectiveDetail"/>
</view>
</view> </view>
<noFound v-show="!loading && !approvalInfo.PERMISSIONAPPLY_ID" :nodata="true" text="抱歉,没有找到该数据" /> <noFound v-show="!loading && !approvalInfo.PERMISSIONAPPLY_ID" :nodata="true" text="抱歉,没有找到该数据" />
</view> </view>
@ -22,6 +26,8 @@
import ShopApproval from './components/shopApproval.vue' import ShopApproval from './components/shopApproval.vue'
import ShopChangeState from './components/shopChangeState.vue' import ShopChangeState from './components/shopChangeState.vue'
import MerchartInfoView from './components/merchartInfoView.vue' import MerchartInfoView from './components/merchartInfoView.vue'
import CancelView from "./components/cancelView.vue";
import Store from "../../store/store";
export default { export default {
data() { data() {
return { return {
@ -31,15 +37,206 @@
}, },
loading: true, loading: true,
approvalInfo: {}, approvalInfo: {},
ENDACCOUNT_ID:'',
imagesList:[],
Audit_List:[],
effectiveDetail:{},
endaccountMsg:[],
isFACTAMOUNT_SALE:'',
isTICKETCODE_CIGARETTE:'',
isFACT_AMOUNT:'',
isSELLCOUNT_PROMOTION:'',
approvalData: {} // approvalData: {} //
} }
}, },
components: { components: {
ShopApproval, ShopApproval,
ShopChangeState, ShopChangeState,
MerchartInfoView MerchartInfoView,
CancelView
}, },
methods: { methods: {
//
checkPromotion(_data){
if (_data.SELLCOUNT_PROMOTION != 0 && _data.SELLCOUNT_PROMOTION != '') {
return true
} else {
return false
}
},
//
getEndAccountDate(datatype) { //
let _this = this
let _detail = this.effectiveDetail
_this.$request.$get('GetEndAccountData', {
serverpart_Id: _detail.SERVERPART_ID,
serverpart_Code: _detail.SERVERPARTCODE,
machine_Code: _detail.MACHINECODE,
shop_Code: _detail.SHOPCODE,
province_Code: _detail.PROVINCE_CODE,
endAccount_StartDate: _detail.ENDACCOUNT_STARTDATE,
endAccount_Date: _detail.ENDACCOUNT_DATE,
fact_Amount: _detail.FACT_AMOUNT,
cash_Pay: _detail.CASHPAY,
sale_Correct: _detail.SALE_CORRECT,
mobile_Payment: _detail.MOBILEPAYMENT,
mobile_Correct: _detail.MOBILE_CORRECT,
endAccount_Id: _detail.ENDACCOUNT_ID,
data_Type: datatype
}).then(res => {
let _data = res.Result_Data
if (datatype == 1) {
_detail.FACTAMOUNT_SALE = _data.FactAmount_Sale = Number(_data.FactAmount_Sale) //
_detail.SELLCOUNT_SALE = _data.SellCount_Sale //
_this.isFACTAMOUNT_SALE = _this.checkSinglePro(_detail)
}
if (datatype == 2) {
_detail.TICKETCODE_CIGARETTE = _data.TicketCode_Cigarette //
_detail.SELLCOUNT_CIGARETTE = _data.SellCount_Cigarette
_detail.FACTAMOUNT_CIGARETTE = _data.FactAmount_Cigarette
_this.isTICKETCODE_CIGARETTE = _this.checkCigarette(_detail)
}
if (datatype == 3) {
_detail.FACT_AMOUNT = Number(_data.Fact_Amount) //
_detail.TICKETCOUNT = _data.Ticket_Count //
_this.isFACT_AMOUNT = _this.checkMobileCorrect(_detail)
}
if (datatype == 4) {
_detail.SELLCOUNT_PROMOTION = _data.SellSount_Promotion //
_detail.FACTAMOUNT_PROMOTION = _data.FactAmount_Promotion //
_this.isSELLCOUNT_PROMOTION = _this.checkPromotion(_detail)
}
})
},
//
checkCigarette(_data) {
if (_data.TICKETCODE_CIGARETTE && _data.TICKETCODE_CIGARETTE != NaN && Number(_data.TICKETCODE_CIGARETTE) !== 0) {
return true
} else {
return false
}
},
calcWuchalv(){ //
let _data = this.effectiveDetail
if ( _data.CASH == 0 ) {
if(_data.DIFFERENT_PRICE!=0) {
return "100.00";
}else {
return "0.00";
}
}
else {
return (Math.abs(_data.DIFFERENT_PRICE) / _data.CASH * 100).toFixed(2);
}
},
//
checkMobileCorrect(_data){
if ((_data.FACT_AMOUNT + _data.SALE_CORRECT) == _data.MOBILEPAYMENT) { // fa+sc=mp+mc; sc=mc-mpb
_data.MOBILE_CORRECT = 0
this.mobliePayBalance = - _data.SALE_CORRECT
return 1
} else {
this.mobliePayBalance = _data.FACT_AMOUNT - _data.MOBILEPAYMENT // -
if(_data.MOBILE_CORRECT ==''){ // 使
this.effectiveDetail.MOBILE_CORRECT = this.mobliePayBalance //
this.effectiveDetail.SALE_CORRECT = 0 //
}
return 0 // = +
}
},
//
checkSinglePro(_data) { // FACTAMOUNT_SALE = TOTALSELLAMOUNT TOTALSELLAMOUNT = FACTAMOUNT_SALE + FACTAMOUNT (_data.TOTALSELLAMOUNT+FACTAMOUNT) == _this.FACTAMOUNT_SALE
if (_data.FACTAMOUNT_SALE == _data.TOTALSELLAMOUNT || (_data.TOTALSELLAMOUNT + _data.FACTAMOUNT) == _data.FACTAMOUNT_SALE || _data.FACTAMOUNT_SALE == _data.CASHPAY) {
return 1
} else {
return 0
}
},
//
getEffectiveDetail() {
let _this = this
console.log('_this.ENDACCOUNT_ID',_this.ENDACCOUNT_ID)
this.$request.$get('GetEndaccountDetails', {
Endaccount_ID: _this.ENDACCOUNT_ID
}).then(res => {
_this.loading = false
uni.hideLoading()
console.log('res111',res)
if (!res.Result_Code || res.Result_Code != '100') return
_this.imagesList = res.Result_Data.Image_List ? res.Result_Data.Image_List.List : []
if (res.Result_Data.Audit_List) { //
_this.Audit_List = res.Result_Data.Audit_List.List
}
let _data = res.Result_Data.Endaccount_List
_this.effectiveDetail = _data
if (_data){
_this.endaccountMsg = _data.ENDACCOUNT_DESC.split("|");
}
// ;
if (_data.SCAN_TYPE != 3) { // ,= =
if (_data.TREATMENT_MARKSTATE==0 && _data.FACTAMOUNT_SALE == "") {
_data.FACTAMOUNT = _data.FACTAMOUNT == '' ? 0 : _data.FACTAMOUNT
_data.SALE_CORRECT = _data.SALE_CORRECT == '' ? 0 : _data.SALE_CORRECT
_this.getEndAccountDate(1) //
_this.getEndAccountDate(2) //
_this.getEndAccountDate(3) //
_this.getEndAccountDate(4) //
}else {
_this.isFACTAMOUNT_SALE = _this.checkSinglePro(_data) //
_this.isTICKETCODE_CIGARETTE = _this.checkCigarette(_data) //
_this.isFACT_AMOUNT = _this.checkMobileCorrect(_data) //
_this.isSELLCOUNT_PROMOTION = _this.checkPromotion(_data) //
}
} else {
_data.FACTAMOUNT_SALE = _data.TOTALSELLAMOUNT
_data.FACT_AMOUNT = _data.MOBILEPAYMENT
_this.isFACTAMOUNT_SALE = _this.checkSinglePro(_data) //
_this.isFACT_AMOUNT = _this.checkMobileCorrect(_data) //
_this.isTICKETCODE_CIGARETTE = _this.checkCigarette(_data) //
}
if (_data.PENDSTATE == 0) {
console.log('store',Store.state.userData.AuthorityInfo['51b6817d-62a9-4b3a-8e6a-abd7e077271a'])
// if (Store.state.userData.AuthorityInfo['51b6817d-62a9-4b3a-8e6a-abd7e077271a']===1){
if (_data.TREATMENT_MARKSTATE == 0) { //
_this.isCheck = 1
_this.isdisabled = false
}
if (_data.TREATMENT_MARKSTATE == 3) { //
_this.isCheck = 2
// _this.Toexamine = true;
_this.examineType = "SubmitEndaccount"
} else if (_data.TREATMENT_MARKSTATE == 1) { //
_this.isCheck = 2
// _this.Toexamine = true;
_this.examineType = "ApproveEndaccount"
}
// }
} else { //
_this.examineType = "";
_this.isCheck = 0;
}
_this.effectiveShow = true
_this.$forceUpdate()
})
},
getDetail(opt) { getDetail(opt) {
let _this = this let _this = this
this.$request.$webGet('/EShangApiMain/Platform/GetPermissionApplyDetail?permissionApplyid=' + opt.id).then( this.$request.$webGet('/EShangApiMain/Platform/GetPermissionApplyDetail?permissionApplyid=' + opt.id).then(
@ -51,7 +248,11 @@
return return
} }
_this.approvalInfo = res.Result_Data _this.approvalInfo = res.Result_Data
_this.ENDACCOUNT_ID = _this.approvalInfo.APPLYSHOP_NAME
console.log('approvalInfo',res.Result_Data) console.log('approvalInfo',res.Result_Data)
if (_this.pageData.type==='9'){
_this.getEffectiveDetail()
}
if ( ['4','8'].indexOf(_this.pageData.type)>-1) { if ( ['4','8'].indexOf(_this.pageData.type)>-1) {
_this.$nextTick(()=>{ _this.$nextTick(()=>{
@ -77,7 +278,6 @@
}) })
}, },
reload() { reload() {
this.getDetail(this.pageData) this.getDetail(this.pageData)
this.getDetailList(this.pageData) this.getDetailList(this.pageData)
} }

View File

@ -55,7 +55,7 @@
data() { data() {
return { return {
activeType: '2000,2010', // 2000 3000 9000 activeType: '2000,2010', // 2000 3000 9000
selectTypeIndex: '4,7,8', selectTypeIndex: '4,7,8,9',
showPop: false, showPop: false,
pageData: { pageData: {
pageIndex: 1, pageIndex: 1,

View File

@ -171,7 +171,7 @@
</div> </div>
<div v-show="showPopupYj||showPopupCheck" class="shenhe-mask" @click.stop="maskFn()"></div> <div v-show="showPopupYj||showPopupCheck||showPopupCancel " class="shenhe-mask" @click.stop="maskFn()"></div>
<div class="opinion2" v-show="showPopupYj"> <div class="opinion2" v-show="showPopupYj">
<div> <div>
<p class="opinion2-title"><span>{{isback? '驳回':'确认'}}意见</span></p> <p class="opinion2-title"><span>{{isback? '驳回':'确认'}}意见</span></p>
@ -268,9 +268,35 @@
</div> </div>
</div> </div>
<div class="opinion2" v-show="showPopupCancel">
<div>
<p class="opinion2-title"><span>作废原因</span></p>
<textarea v-model="cancelReason" placeholder="请填写作废原因" class="text-content check-reason" />
</div>
<div class="img-box">
<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>
<div class="check-btn-box">
<div class="check-btn no-check" @click="noCancel">取消</div>
<div class="check-btn" @click="handleCancel()">作废</div>
</div>
</div>
<div class="check-btn-box page-btn-box" v-if="isCheck!==0"> <div class="check-btn-box page-btn-box" v-if="isCheck!==0">
<!-- 财务审核 --> <!-- 财务审核 -->
<template v-if="isCheck==2"> <template v-if="isCheck==2">
<div class="check-btn" @click="openCancel()">
<span>作废</span>
</div>
<div class="check-btn" @click="menuImg(true)"> <div class="check-btn" @click="menuImg(true)">
<span>驳回</span> <span>驳回</span>
</div> </div>
@ -282,12 +308,14 @@
<template v-else-if="isCheck==1"> <template v-else-if="isCheck==1">
<!-- 单品数据错误或移动支付错误 isFACTAMOUNT_SALE == 0 || 单品数据不一致 --> <!-- 单品数据错误或移动支付错误 isFACTAMOUNT_SALE == 0 || 单品数据不一致 -->
<div class="check-btn" @click="correctFn" v-if=" isFACT_AMOUNT == 0"> <div class="check-btn" @click="correctFn" v-if=" isFACT_AMOUNT == 0">
<span>一键冲正</span> <span>一键冲正</span>
</div> </div>
<div class="check-btn" @click="checkOutFn()"> <div class="check-btn" @click="checkOutFn()">
<span>校验</span> <span>校验</span>
</div> </div>
<div class="check-btn" @click="openCancel()">
<span>作废</span>
</div>
</template> </template>
</div> </div>
@ -306,13 +334,16 @@
import uniLoadMore from './components/uni-load-more.vue'; import uniLoadMore from './components/uni-load-more.vue';
import {mapState, mapGetters,mapMutations} from "vuex"; import {mapState, mapGetters,mapMutations} from "vuex";
import Store from "../../store/store";
export default { export default {
data() { data() {
return { return {
loading: true, loading: true,
showPopupCheck: false, showPopupCheck: false,
showPopupCancel: false,
showPopupYj: false, showPopupYj: false,
isdisabled: true, isdisabled: true,
cancelType:1,// 1 1 2 2
ischeckOut: false, ischeckOut: false,
effectiveDetail: {}, effectiveDetail: {},
effectiveShow: false, effectiveShow: false,
@ -329,6 +360,7 @@
isTICKETCODE_CIGARETTE: false, isTICKETCODE_CIGARETTE: false,
isSELLCOUNT_PROMOTION: false, isSELLCOUNT_PROMOTION: false,
checkReason: "已确认", // checkReason: "已确认", //
cancelReason:'',//
contentText: { contentText: {
contentdown: "", contentdown: "",
contentrefresh: "", contentrefresh: "",
@ -534,6 +566,79 @@
} }
}, },
//
openCancel(type){
this.showPopupCancel = true
console.log('this.showPopupCancel',this.showPopupCancel)
},
//
handleCancel(){
let _this = this
uni.showLoading({
title: '正在提交...',
mask: true
})
console.log('Store.state.userData',Store.state.userData)
let useData = Store.state.userData
let detail = this.effectiveDetail
console.log('this.effectiveDetail',this.effectiveDetail)
const date = new Date()
let y = date.getFullYear()
let m = date.getMonth() + 1
let d = date.getDate()
if (m<10){
m='0'+m
}
if (d<10){
d = '0'+d
}
let H = date.getHours()
H<10?`0${H}`:H
let M = date.getMinutes()
M<10?`0${M}`:M
let S = date.getSeconds()
S<10?`0${S}`:S
let req = {
PermissionApplyModel:{}
}
//
console.log('useData',useData)
if (this.cancelType===1){
req.PermissionApplyModel={
PERMISSIONAPPLY_TYPE: 9000,
USER_MOBILEPHONE: useData.Membership_Phone,
PERMISSIONAPPLY_DATE: `${y}-${m}-${d} ${H}:${M}:${S}`,
PERMISSIONAPPLY_REASON: this.cancelReason,
SERVERPART_ID: detail.SERVERPART_ID,
SERVERPART_NAME: detail.SERVERPART_NAME,
APPLYSHOP_NAME: detail.ENDACCOUNT_ID,
STAFF_ID: useData.UserId,
STAFF_NAME: useData.UserName,
OPERATE_DATE:`${y}-${m}-${d} ${H}:${M}:${S}`,
PERMISSIONAPPLY_STATE: 2000,
}
}
console.log('req',req)
this.$request.$webPost('/EShangApiMain/Verification/ApplyEndaccountInvalid',req).then(res=>{
console.log('res',res)
uni.hideLoading()
if (res.Result_Code===100){
uni.showToast({
icon: 'none',
title: res.Result_Desc,
success() {
_this.showPopupCancel = false
setTimeout(function() {
uni.navigateBack({
delta: 1
})
}, 1000)
}
});
}
})
},
// //
checkPromotion(_data){ checkPromotion(_data){
if (_data.SELLCOUNT_PROMOTION != 0 && _data.SELLCOUNT_PROMOTION != '') { if (_data.SELLCOUNT_PROMOTION != 0 && _data.SELLCOUNT_PROMOTION != '') {
@ -550,7 +655,7 @@
}).then(res => { }).then(res => {
_this.loading = false _this.loading = false
uni.hideLoading() uni.hideLoading()
console.log('res',res)
if (!res.Result_Code || res.Result_Code != '100') return if (!res.Result_Code || res.Result_Code != '100') return
_this.imagesList = res.Result_Data.Image_List ? res.Result_Data.Image_List.List : [] _this.imagesList = res.Result_Data.Image_List ? res.Result_Data.Image_List.List : []
@ -560,8 +665,10 @@
let _data = res.Result_Data.Endaccount_List let _data = res.Result_Data.Endaccount_List
_this.effectiveDetail = _data _this.effectiveDetail = _data
console.log('_data',_data)
if (_data.ENDACCOUNT_DESC){
_this.endaccountMsg = _data.ENDACCOUNT_DESC.split("|"); _this.endaccountMsg = _data.ENDACCOUNT_DESC.split("|");
}
// ; // ;
@ -590,6 +697,8 @@
} }
if (_data.PENDSTATE == 0) { if (_data.PENDSTATE == 0) {
console.log('store',Store.state.userData.AuthorityInfo['51b6817d-62a9-4b3a-8e6a-abd7e077271a'])
// if (Store.state.userData.AuthorityInfo['51b6817d-62a9-4b3a-8e6a-abd7e077271a']===1){
if (_data.TREATMENT_MARKSTATE == 0) { // if (_data.TREATMENT_MARKSTATE == 0) { //
_this.isCheck = 1 _this.isCheck = 1
_this.isdisabled = false _this.isdisabled = false
@ -603,6 +712,7 @@
// _this.Toexamine = true; // _this.Toexamine = true;
_this.examineType = "ApproveEndaccount" _this.examineType = "ApproveEndaccount"
} }
// }
} else { // } else { //
_this.examineType = ""; _this.examineType = "";
_this.isCheck = 0; _this.isCheck = 0;
@ -620,6 +730,9 @@
noCheck() { noCheck() {
this.showPopupCheck = false this.showPopupCheck = false
}, },
noCancel(){
this.showPopupCancel = false
},
menuImg(isback) { menuImg(isback) {
this.isback = isback this.isback = isback
this.PURCHASEDESC = isback ? '' : "同意" this.PURCHASEDESC = isback ? '' : "同意"

View File

@ -85,8 +85,10 @@
encryptedData: encodeURIComponent(res.encryptedData), encryptedData: encodeURIComponent(res.encryptedData),
iv: encodeURIComponent(res.iv), iv: encodeURIComponent(res.iv),
} }
console.log('res',res)
// _this.$request.$webPost('WebAPI_Push/WeChat/BusinessLicensed',arr).then(function (rs) { // _this.$request.$webPost('WebAPI_Push/WeChat/BusinessLicensed',arr).then(function (rs) {
_this.$request.$get('WeChat_BusinessLicensed',arr).then(function (rs) { _this.$request.$get('WeChat_BusinessLicensed',arr).then(function (rs) {
console.log(rs)
uni.hideLoading() uni.hideLoading()
if(rs.Result_Code==100){ if(rs.Result_Code==100){
let newUser = rs.Result_Data let newUser = rs.Result_Data

View File

@ -47,6 +47,13 @@ export default {
str +=',60ee4604-0830-4056-931d-d1f7e111810c' str +=',60ee4604-0830-4056-931d-d1f7e111810c'
} }
} }
if (Store.state.userData.AuthorityInfo['27109d64-63f9-4bb9-ab90-4c2c92296c73']===1){
if (str===''){
str = '27109d64-63f9-4bb9-ab90-4c2c92296c73'
}else{
str +=',27109d64-63f9-4bb9-ab90-4c2c92296c73'
}
}
if (str===''){ if (str===''){
str = 0 str = 0
} }

BIN
wechat_yxcl.zip Normal file

Binary file not shown.