文件

529 行
16 KiB
HTML
可执行文件

<!DOCTYPE html>
<html>
<!--[1.4.8]-->
<head>
<meta charset="UTF-8">
<title>批量审核</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Retail/css/goodsList.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Retail/css/myscroll.css"/>
<link rel="stylesheet" href="__PUBLIC__/vue/element-ui.css">
<style>
.el-collapse-item__header {
font-size: 14px !important;
font-weight: bold !important;
}
.close {
width: 20px;
height: 20px;
border-radius: 50%;
line-height: 20px;
text-align: center;
background-color: rgba(0, 0, 0, 0.4);
color: white;
position: absolute;
top: -10px;
right: -10px;
cursor: pointer;
display: none;
}
.close::selection {
background-color: transparent;
}
.file_label_box {
position: relative;
display: inline-block;
margin: 0 10px 10px 0;
vertical-align: top;
width: 130px;
height: 130px;
cursor: pointer;
}
.file_label_box:hover > .close {
display: block;
}
.close:hover {
background-color: rgba(0, 0, 0, 0.8);
}
body, html {
width: 100%;
height: 100%;
position: relative;
}
body {
padding-bottom: 80px;
box-sizing: border-box;
}
#footerbox {
position: fixed;
bottom: 0;
left: 0;
background-color: #F8F8F8;
z-index: 1000;
width: 100%;
height: 60px;
border-top: 1px solid #eee;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
input:disabled {
background: #f8f8f8;
}
i {
color: #999;
font-style: normal;
}
.sku-img {
width: 100px;
height: 100px;
}
.wrap-inline {
line-height: 12px;
margin-top: 5px;
font-size: 12px;
}
.wrap-inline-btn {
color: #4394ff;
cursor: pointer;
}
.sku-attr-box {
width: calc(100% - 130px);
padding: 10px;
box-sizing: border-box;
border: 1px solid #ddd;
max-width: 900px;
}
.sku-attr-list {
width: 100%;
margin-bottom: 10px;
}
.sku-attr-title {
width: 100%;
background-color: #f5f7fa;
padding: 3px 8px;
box-sizing: border-box;
position: relative;
display: flex;
align-items: center;
}
.sku-list-box {
display: flex;
flex-wrap: wrap;
}
.add-sku-attr, .add-sku-attr-disabled {
background: white;
width: 90px;
text-align: center;
line-height: 30px;
border: 1px solid #dcdfe6;
font-size: 12px;
color: #313131;
margin-right: 20px;
cursor: pointer;
border-radius: 3px;
margin: 4px 0;
}
.add-sku-attr:hover {
border-color: #4394ff;
color: #4394ff;
}
.add-sku-attr-disabled {
border-color: #eee;
color: #999;
cursor: not-allowed;
}
.add-sku-attr-disabled::selection {
background-color: transparent;
}
.del-sku-attr {
position: absolute;
width: 20px;
height: 20px;
top: 10px;
right: 10px;
border-radius: 50%;
color: white;
background-color: #ccc;
text-align: center;
line-height: 18px;
font-size: 14px;
display: none;
cursor: pointer;
}
.sku-attr-title:hover .del-sku-attr {
display: block;
}
.del-sku-attr:hover {
background-color: #999;
}
.sku-list-name-box {
height: 26px;
line-height: 27px;
border: 1px solid #ddd;
position: relative;
padding: 0 20px;
margin: 5px 10px;
color: #666;
cursor: pointer;
overflow: hidden;
font-size: 12px;
border-radius: 3px;
}
.check-sku-list {
border-color: #4394ff;
overflow: hidden;
}
.check-sku-list:after {
content: '';
width: 15px;
height: 15px;
background-color: #4394ff;
position: absolute;
top: -7px;
right: -7px;
transform: rotateZ(45deg);
}
.layui-form-radio > i:hover, .layui-form-radioed > i {
color: #4394ff;
}
.search-sku-list-con {
white-space: nowrap;
margin-left: 30px;
display: flex;
align-items: center;
}
.search-sku-list {
width: 130px;
height: 30px;
border: 1px solid #dcdfe6;
border-radius: 3px;
padding: 0 5px;
box-sizing: border-box;
}
.search-sku-list::placeholder {
color: #aaa;
}
.search-sku-list:hover {
border-color: #4394ff;
}
.search-sku-list-btn {
display: block;
padding: 8px 10px;
border: 1px solid #dcdfe6;
border-radius: 3px;
background: white;
color: #666;
font-size: 12px;
cursor: pointer;
line-height: 12px;
margin-left: 8px;
}
.search-sku-list-btn:hover {
color: white;
border-color: #4394ff;
background-color: #4394ff;
}
.search-sku-list-con::selection, .search-sku-list-con > span::selection {
background-color: transparent;
}
.sku-list-name-box::selection {
background-color: transparent;
}
.wrap-inline-btn:hover {
text-decoration: underline;
}
.cell {
white-space: nowrap !important;
}
.input-box .el-input, .input-box-inline .el-input {
margin-right: 20px;
width: 215px;
}
.input-box-inline {
display: flex;
align-items: center;
}
.sku-container .file_label > img {
width: 70px;
height: 70px;
}
th > .cell, td > .cell {
text-align: center;
}
.allPic {
padding-top: 10px;
}
.file_label .del-swiper {
font-size: 20px;
position: absolute;
top: -10px;
right: -10px;
z-index: 1;
display: none;
}
.file_label:hover .del-swiper {
display: inline-block;
}
.edui-default .edui-toolbar .edui-combox .edui-combox-body {
line-height: 14px !important;
}
.edui-default .edui-button-body, .edui-splitbutton-body, .edui-menubutton-body, .edui-combox-body {
line-height: 14px !important;
}
.file_label {
vertical-align: top;
}
.input:disabled {
background-color: white;
color: #000000;
}
.error-msg {
color: red;
}
</style>
</head>
<body>
<div id="GuideApp" v-cloak style="padding: 30px 50px 100px;">
<el-collapse accordion>
<el-collapse-item>
<template slot="title">
提现须知>>></i>
</template>
<div>1.商城订单确认收货时间距离结算时间须大于门店设置的申请退款时间范围才可以退款</div>
<div>2.店内订单支付完成时间距离结算时间须大于门店设置的申请退款时间范围才可以退款</div>
</el-collapse-item>
</el-collapse>
<template>
<el-table
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column @selection-change="handleSelectionChange" type="selection" :selectable='selectInit'
width="55"></el-table-column>
<el-table-column prop="index" label="序号" width="55"></el-table-column>
<el-table-column prop="guide_name" label="导购员" show-overflow-tooltip></el-table-column>
<el-table-column prop="allmoney" label="支付金额" show-overflow-tooltip></el-table-column>
<el-table-column prop="pay_name" label="支付方式" show-overflow-tooltip></el-table-column>
<el-table-column prop="vip_name" label="消费对象" show-overflow-tooltip></el-table-column>
<el-table-column prop="paytime" label="支付时间" show-overflow-tooltip min-width="130px"></el-table-column>
<el-table-column prop="original_income" label="应得佣金" show-overflow-tooltip></el-table-column>
<el-table-column prop="income" label="所得佣金" show-overflow-tooltip></el-table-column>
<el-table-column prop="type_meg" label="消费场景" show-overflow-tooltip></el-table-column>
<el-table-column prop="status_msg" label="状态" show-overflow-tooltip></el-table-column>
</el-table>
</template>
<div style="margin-top:20px;">
<el-form label-width="120px">
<el-form-item label="提现金额">
<div>{{allMoney}} 元</div>
</el-form-item>
<el-form-item label="选择提现方式">
<el-select v-model="value" placeholder="请选择提现方式" clearable>
<el-option
v-for="item in payType"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<div style="margin-top:20px;">
<el-button type="primary" @click="save">提交</el-button>
</div>
<el-dialog title="错误详情"
:visible.sync="showErrorData"
:close-on-press-escape="false"
:before-close="closeErrorData"
:close-on-click-modal="false">
<template v-for="(item,index) in errorData">
<div class="error-msg">{{item}}</div>
</template>
</el-dialog>
</div>
</body>
<script src="__PUBLIC__/jquery/js/jquery-3.2.1.min.js"></script>
<script src="__PUBLIC__/vue/js/vue2.5.16.js"></script>
<script src="__PUBLIC__/vue/element-ui.js"></script>
<script type="text/javascript">
var GuideApp = new Vue({
el: '#GuideApp',
data: function () {
return {
tableData: [],
payType: [{
value: '1',
label: '支付宝'
}, {
value: '2',
label: '微信'
}, {
value: '3',
label: '银行卡'
}],
value: '',
checkedList: [],
allMoney: 0,
showErrorData: false,
errorData: [],
}
},
methods: {
selectInit: function (row, index) {
// console.log(row, index);
return row.can_cash;
},
handleSelectionChange: function (data) {
console.log(data);
this.checkedList = [];
this.checkedList = data;
var allMoney = 0;
for (var i = 0; i < data.length; i++) {
allMoney += parseFloat(data[i].income);
}
this.allMoney = this.reCalculation(allMoney);
},
getData: function () {
that = this;
$.ajax({
url: "{:U('getSettlement')}",
type: "post",
data: {},
success: function (res) {
if (res.status == 1) {
that.tableData = res.list
} else {
that.$message.error('获取失败');
}
}
});
},
save: function () {
var that = this;
if (this.checkedList.length == 0) {
that.$message.error('请选择结算数据');
return;
}
if (!this.value) {
that.$message.error('请选择提现方式');
return false;
}
that.$loading({
lock: true,
text: '提现中,请等待',
spinner: 'el-icon-loading',
background: 'rgba(255, 255, 255, 0.3)'
});
var cash_id = [];
for (var i = 0; i < this.checkedList.length; i++) {
cash_id.push(this.checkedList[i].id);
}
cash_id = cash_id.join(',');
$.ajax({
url: "{:U('settle_accounts')}",
type: "post",
data: {
cash_id: cash_id,
guidetype: this.value
},
success: function (res) {
that.$loading().close();
if (res.status == 1) {
if (res.errorData.length) {
that.showErrorData = true;
that.errorData = res.errorData;
} else {
that.$message.success(res.msg);
that.getData();
}
} else {
that.$message.error(res.msg ? res.msg : '发起失败');
}
},
error: function () {
that.$loading().close();
that.$message.error('请求发生错误');
}
});
},
closeErrorData: function () {
this.showErrorData = false;
this.errorData = [];
this.getData();
},
//计算数值
reCalculation(num) {
var arr = String(num).split('.');
var num = Math.round(num * 100) / 100;
if (arr.length == 2 && arr[1].length == 16) {
var str = arr[1].substring(2);
if (str == '49999999999998') {
var num_2 = parseInt(arr[1].substring(0, 2)) + 1;
num = parseFloat(arr[0] + '.' + num_2);
}
}
return num;
},
},
created: function () {
this.getData();
}
})
</script>
</html>