Commit dc6d1cf9 authored by 吴春's avatar 吴春

index.js冲突

parents be6a8ed6 cc1d8eeb
......@@ -543,12 +543,13 @@ vertical-align:middle
bottom: 0;
left: 50px;
padding: 10px;
overflow: auto;
overflow: hidden;
font-family: 'PingFangSc-Fine';
z-index: 999;
right: 0;
background-color: #fff;
border-top: 3px solid #38425d;
padding-bottom: 30px;
}
.bottom-box .btm-title{
padding-left: 10px;
......@@ -570,3 +571,45 @@ vertical-align:middle
.page_ShoppingReimbursementDetails .avatar-uploader-icon {
height: auto !important;
}
/************************** luochao 重新定义表格样式 BEGIN *******************************/
.al-tab{
width: 100%;
border-collapse: collapse;
}
.al-tab .center.th,.al-tab .center.td{
text-align: center !important;
}
.al-tab,.al-tab th, .al-tab td{
border:1px solid #ddd;
}
.al-tab caption{
font-size: 18px;
color: #333;
height: 40px;
line-height: 40px;
text-align: left;
padding-left: 12px;
}
.al-tab th{
background: #E6E6E6;
height: 40px;
line-height: 40px;
color: #333;
font-size: 16px;
font-weight: 300;
text-align: left;
padding-left:5px;
}
.al-tab td{
height: 40px;
line-height: 40px;
color: #333;
font-size: 12px;
font-weight: 300;
text-align: left;
padding-left:5px;
}
/************************** luochao 重新定义表格样式 END *******************************/
\ No newline at end of file
<template>
<div>
<div class="rule-box">
<div class="query-box">
<ul>
<li>
<input
type="button"
class="normalBtn"
value="新增"
@click="addShow=true,text='新增',ed=false"
>
<input type="button" class="normalBtn" @click="downMuban()" value="导出">
<input type="button" class="normalBtn" value="新增" @click="addNew">
</li>
</ul>
</div>
<v-table
v-if="isReady"
is-horizontal-resize
column-width-drag
column-height-drag
style="width:100%"
:is-loading="loading"
:columns="columns"
:table-data="tableData"
:filter-method="filterMethod"
......@@ -25,119 +22,233 @@
:pageIndex="pageIndex"
:handleCurrentChange="handleCurrentChanges"
:multiple-sort="multipleSort"
:is-loading="loading"
sort-always
@sort-change="sortChange"
@on-custom-comp="customCompFunc"
></v-table>
<!-- @on-custom-comp="customCompFunc" -->
<div class="bottom-box">
<div class="btm-title">新增规则</div>
<div class="bottom-box" v-show="showForm" v-loading="formLoading">
<div class="btm-title">{{addMsg.ID==0?'新增规则':'修改规则'}}</div>
<div>
<el-form
class="_info_box clearfix"
:model="addMsg"
ref="addMsg"
:rules="rules"
label-width="110px"
:rules="rules"
>
<el-row>
<el-col :span="4" :gutter="20">
<el-form-item label="账户别名:">
<el-input v-model="addMsg.RuleName" ></el-input>
<el-form-item label="账户别名:" prop="RuleName">
<el-input v-model="addMsg.RuleName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-col :span="5" :gutter="20">
<el-form-item label="提成类别:">
<el-select filterable v-model="addMsg.CommissionMethod" class>
<el-option label="交易额" value=1></el-option>
<el-option label="毛利" value=2></el-option>
<el-option label="人头数" value=3></el-option>
<el-option label="交易额" :value="1"></el-option>
<!-- <el-option label="毛利" :value="2"></el-option> -->
<el-option label="人头数" :value="3"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-col :span="5" :gutter="20">
<el-form-item label="提成方式:">
<el-select filterable v-model="addMsg.CommissionType" class>
<el-option label="百分比" value=1></el-option>
<el-option label="定额" value=2></el-option>
<el-option label="固定百分比" :value="1" v-if='addMsg.CommissionMethod==1'></el-option>
<el-option label="阶梯百分比" :value="2" v-if='addMsg.CommissionMethod==1'></el-option>
<el-option label="固定金额" :value="3" v-if='addMsg.CommissionMethod==3'></el-option>
<el-option label="阶梯金额" :value="4" v-if='addMsg.CommissionMethod==3'></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-form-item label="提成比例:">
<el-input v-model="addMsg.CommissionVariable">
<el-col :span="5" :gutter="20">
<el-form-item label="提成比例:" prop="CommissionVariable">
<el-input
v-model="addMsg.CommissionVariable"
type="int"
:disabled="addMsg.CommissionType%2!=1"
>
<template slot="append">{{addMsg.CommissionType==1?'%':'/人'}}</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-col :span="5" :gutter="20">
<el-form-item label="提成要求:">
<el-select filterable v-model="addMsg.Require" class>
<el-option label="已收定金" value=1></el-option>
<el-option label="尾款收齐" value=2></el-option>
<el-select v-model="addMsg.Require" class>
<el-option label="已收定金" :value="1"></el-option>
<el-option label="尾款收齐" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="20">
<el-form-item label="结算周期:">
<el-select filterable v-model="addMsg.BalanceCyc" class>
<el-option label="按单结算" value=1></el-option>
<el-option label="按月结算" value=2></el-option>
<el-select v-model="addMsg.BalanceCyc" class>
<el-option label="按单结算" :value="1"></el-option>
<el-option label="按月结算" :value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="20">
<el-col :span="5" :gutter="20">
<el-form-item label="结算要求:">
<el-select filterable v-model="addMsg.BalanceCyc" class>
<el-option label="强制完成周期内所有订单提成要求" value=1></el-option>
<el-option label="不用强制完成" value=0></el-option>
<el-select v-model="addMsg.IsFinishAll" class>
<el-option label="强制完成周期内所有订单提成要求" :value="1"></el-option>
<el-option label="不用强制完成" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-form-item label="适用公司:">
<el-select filterable v-model="addMsg.BalanceCyc" class>
<el-option label="强制完成周期内所有订单提成要求" value=1></el-option>
<el-col :span="5" :gutter="20">
<el-form-item label="适用公司:" prop="UsingBranchArray">
<el-select
filterable
multiple
collapse-tags
@change="changeData(1)"
v-model="addMsg.UsingBranchArray"
class
>
<el-option label="集团通用" value="-1"></el-option>
<el-option
v-for="(item, index) in CompanyList"
:label="item.BName"
:value="item.Id.toString()"
:key="index"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-form-item label="适用线路:">
<el-select filterable v-model="addMsg.BalanceCyc" class>
<el-option label="强制完成周期内所有订单提成要求" value=1></el-option>
<el-col :span="5" :gutter="20">
<el-form-item label="适用线路:" prop="UsingLineArray">
<el-select
filterable
multiple
collapse-tags
@change="changeData(2)"
v-model="addMsg.UsingLineArray"
class
>
<el-option label="所有线路" value="-1"></el-option>
<el-option
v-for="(item, index) in lines"
:label="item.lineName"
:value="item.lineID.toString()"
:key="index"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="20">
<el-form-item label="启用时间">
<el-select filterable v-model="addMsg.BalanceCyc" class>
<el-option label="强制完成周期内所有订单提成要求" value=1></el-option>
</el-select>
<el-col :span="5" :gutter="20">
<el-form-item label="启用时间:">
<el-date-picker v-model="addMsg.EffectDate" type="date" placeholder="选择启用时间"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<table class="al-tab" v-show="addMsg.CommissionType%2==0">
<caption>阶梯提成比例设定</caption>
<thead>
<th>序号</th>
<th>起始人数</th>
<th>终止人数</th>
<th>基础比列</th>
<th>额外奖励</th>
<th>操作</th>
</thead>
<tbody>
<tr v-for="(item, index) in addMsg.RuleClassList" :key="index">
<td>{{index+1}}</td>
<td>
<el-input-number
size="small"
style="margin:0 12px"
:min="1"
:max="item.EndPeople"
v-model="item.StartPeople"
class="w120"
></el-input-number>
</td>
<td>
<el-input-number
size="small"
style="margin:0 15px"
:min="item.StartPeople"
v-model="item.EndPeople"
class="w100"
></el-input-number>
</td>
<td>
<el-input
placeholder="请输入基础比例"
size="small"
v-model="item.BaseVariable"
class="w200"
>
<template slot="append">{{addMsg.CommissionType==2?'%':'/人'}}</template>
</el-input>
</td>
<td>
<el-input
placeholder="请输入外卖奖励"
size="small"
v-model="item.AddedVariable"
class="w200 temp"
>
<template slot="append">
<el-select v-model="item.AddedMethod" class>
<el-option label="/人" :value="2"></el-option>
<el-option label="%" :value="1"></el-option>
</el-select>
</template>
</el-input>
</td>
<td>
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
circle
v-if="index==addMsg.RuleClassList.length-1"
@click="addCommissionType"
></el-button>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
circle
@click="deleteCommissionType(index)"
v-if="addMsg.RuleClassList.length>1"
></el-button>
</td>
</tr>
</tbody>
</table>
</el-row>
</el-form>
</div>
<div class="btm-opera-btn">
<input
type="button"
class="normalBtn"
value="保存"
>
<input
type="button"
class="cancelBtn"
value="取消"
>
<input type="button" class="normalBtn" value="保存" @click="save">
<input type="button" class="cancelBtn" value="取消" @click="changeShow(0)">
</div>
</div>
</div>
</template>
<script>
import Vue from "vue";
export default {
data() {
var checkVariable = (rule, value, callback) => {
if (value == null || value.length == 0) {
return callback(new Error("提成比列不能为空"));
}
let a = parseFloat(value);
if (isNaN(a)) {
callback(new Error("提成比例必须是整数"));
} else {
callback();
}
};
return {
columns: [],
remoteLoading: false,
......@@ -148,27 +259,146 @@ export default {
loading: false,
pageSize: 1000,
pageIndex: 1,
msg:{},
CompanyList:[],
addMsg:{
ID:0,
RuleName:"",
CommissionMethod:'1',
CommissionType:'1',
Require:'1',
CommissionVariable:'0',
UsingLine:'',
UsingBranch:'',
EffectDate:null,
RB_Group_Id:0,
BalanceCyc:'',
IsFinishAll:'0',
IsDelete:1
msg: {},
CompanyList: [],
addMsg: {},
lines: [],
rules: {
RuleName: [
{ required: true, message: "请输入规则名称", trigger: "blur" }
],
UsingLineArray: [
{
type: "array",
required: true,
message: "请至少选择一个适用线路",
trigger: "blur"
}
],
UsingBranchArray: [
{
type: "array",
required: true,
message: "请至少选择一个适用公司",
trigger: "blur"
}
],
CommissionVariable: [{ validator: checkVariable, trigger: "blur" }]
},
rules: {}
showForm: false,
formLoading: false,
searchMsg: {
RB_Group_Id: 0
}
};
},
methods: {
customCompFunc(params) {
if (params.type === "delete") {
this.delete(params.data.ID);
//this.financeinfoRemove(params.id,params.alias)
} else if (params.type === "edit") {
this.addNew(params.data);
}
},
delete(id) {
this.$confirm("此操作将永久删除该提成规则, 是否继续?", "删除提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
let msg = {
id
};
this.apipost("sellcommission_rule_delete", msg, x => {
if (x.data.resultCode == 1) {
this.Success("删除成功");
this.getData()
} else {
this.Error(this.data.message);
}
});
})
.catch(() => {});
},
addNew(data) {
if (!data.ID) {
this.addMsg = {
ID: 0,
RuleName: "",
CommissionMethod: 1,
CommissionType: 1,
Require: 1,
CommissionVariable: 0,
UsingLineArray: ["-1"],
UsingBranchArray: ["-1"],
UsingLine: "",
UsingBranch: "",
EffectDate: null,
RB_Group_Id: this.searchMsg.RB_Group_Id,
BalanceCyc: 1,
IsFinishAll: 0,
IsDelete: 1,
RuleClassList: [
{
StartPeople: 1,
EndPeople: 1,
BaseVariable: 0,
AddedVariable: 0,
AddedMethod: 1
}
]
};
} else {
data.UsingLineArray = data.UsingLine.split(",");
data.UsingBranchArray = data.UsingBranch.split(",");
this.addMsg = data;
}
this.changeShow(1);
},
save() {
//sellcommission_rule_set
this.$refs["addMsg"].validate(valid => {
if (valid) {
this.formLoading = true;
this.addMsg.UsingLine = this.addMsg.UsingLineArray.join(",");
this.addMsg.UsingBranch = this.addMsg.UsingBranchArray.join(",");
this.apipost("sellcommission_rule_set", this.addMsg, x => {
if (x.data.resultCode == 1) {
this.changeShow(0);
this.Success("保存成功");
this.getData();
} else {
this.Error(x.data.message);
}
this.formLoading = false;
});
} else {
return false;
}
});
},
changeShow(t) {
this.showForm = t == 1;
},
deleteCommissionType(index) {
this.addMsg.RuleClassList.splice(index, 1);
},
addCommissionType() {
let obj = {
StartPeople:
this.addMsg.RuleClassList[this.addMsg.RuleClassList.length - 1]
.EndPeople + 1,
EndPeople:
this.addMsg.RuleClassList[this.addMsg.RuleClassList.length - 1]
.EndPeople + 1,
Variable: 0,
AddedVariable: 0,
AddedMethod: "1"
};
this.addMsg.RuleClassList.push(obj);
},
initColums() {
this.isReady = false;
let that = this;
......@@ -182,7 +412,8 @@ export default {
width: 40,
filters: [{}],
isResize: true,
type: "text"
type: "text",
isFrozen: true
};
let companyList = [];
this.CompanyList.forEach(x => {
......@@ -198,12 +429,19 @@ export default {
titleAlign: "left",
columnAlign: "left",
isResize: true,
filterMultiple: false,
filterMultiple: true,
filters: companyList,
result: "",
type: "select"
// isFrozen:true
result: [],
type: "select",
isFrozen: true
};
let lines = [];
this.lines.forEach(x => {
let item = {};
item.label = x.lineName;
item.value = x.lineID;
lines.push(item);
});
let LineName = {
field: "LineName",
title: "适用线路",
......@@ -211,30 +449,33 @@ export default {
titleAlign: "left",
columnAlign: "left",
isResize: true,
result: "",
filterMultiple: false,
filters: [{}],
type: "text"
result: [],
filterMultiple: true,
filters: lines,
isFrozen: true,
formatter: function(rowData, rowIndex, pagingIndex, field) {
if (rowData.UsingLine == "-1") {
return "所有线路";
} else {
let lineNames = "";
rowData.UsingLine.split(",").forEach(x => {
that.lines.forEach(y => {
if (y.lineID == x) {
lineNames += y.lineName + ",";
}
});
});
return lineNames;
}
}
};
let Rules = {
title: "提成规则",
field: "RuleDescription",
titleAlign: "left",
columnAlign: "left",
isResize: true,
width: 80,
orderBy: "desc",
// formatter: function(rowData, rowIndex, pagingIndex, field) {
// if (
// rowData["Initialbalance"] >= rowData["RiskLimitMoney"] &&
// rowData["Initialbalance"] != 0
// )
// return `<span style='color:red;font-weight:bold'>${rowData[
// "Initialbalance"
// ].toFixed(
// 2
// )}</span><span style='color:red;margin-left:12px;'>超限</span>`;
// else return rowData["Initialbalance"].toFixed(2);
// }
width: 300
// orderBy: "desc"
};
let EffectDate = {
field: "EffectDate",
......@@ -243,32 +484,17 @@ export default {
columnAlign: "left",
isResize: true,
width: 80,
// formatter: function(rowData, rowIndex, pagingIndex, field) {
// return rowData.SettlementType == 1
// ? rowData.Commission.toFixed(2) + "%"
// : rowData.Commission + "/人";
// },
// filterMultiple: true,
// result: [],
// filters: [
// {
// label: "交易额百分比",
// value: "1"
// },
// {
// label: "交易人头数",
// value: "2"
// }
// ],
//type: "check"
formatter: function(rowData, rowIndex, pagingIndex, field) {
return rowData.EffectDate.split("T")[0];
}
};
let CommissionLog = {
title: "提成记录",
titleAlign: "left",
columnAlign: "left",
isResize: true,
width: 80,
orderBy: "",
width: 80
// orderBy: "",
// formatter: function(rowData, rowIndex, pagingIndex, field) {
// return rowData.Royalty.toFixed(2);
// }
......@@ -279,28 +505,20 @@ export default {
columnAlign: "left",
isResize: true,
width: 80,
// formatter: function(rowData, rowIndex, pagingIndex, field) {
// return `<span style='color:${
// rowData.HaveContract == 0 ? "red" : "blue"
// };margin-right:12px;'>${
// rowData.HaveContract == 0 ? "无合同" : "有合同"
// }</span><span>${
// rowData.ContraceDateRange ? rowData.ContraceDateRange : ""
// }</span>`;
// },
// filterMultiple: true,
// result: [],
// filters: [
// {
// label: "有合同",
// value: "1"
// },
// {
// label: "无合同",
// value: "0"
// }
// ],
// type: "check"
formatter: function(rowData, rowIndex, pagingIndex, field) {
let cyc = "";
if (rowData.BalanceCyc == "1") {
cyc = "按单结算(";
} else {
cyc = "按月结算(";
}
if (rowData.IsFinishAll == "1") {
cyc += "必选完成周期内所有的提成要求)";
} else {
cyc += "不强制完成周期内所有的提成要求)";
}
return cyc;
}
};
let opera = {
title: "操作",
......@@ -321,6 +539,22 @@ export default {
this.columns.push(opera);
this.isReady = true;
},
changeData(type) {
let temp = [];
if (type == 1) {
temp = this.addMsg.UsingBranchArray;
} else if (type == 2) {
temp = this.addMsg.UsingLineArray;
}
let len = temp.length;
if (len > 1) {
if (temp[len - 1] == -1) {
temp.splice(0, len - 1);
} else if (temp.indexOf("-1") != -1) {
temp.splice(temp.indexOf("-1"), 1);
}
}
},
handleCurrentChanges(val) {
this.pageIndex = val;
this.getList();
......@@ -358,18 +592,92 @@ export default {
x.disabled = false;
});
this.CompanyList = data;
this.initColums();
this.getline();
} else {
}
},
err => {}
);
},
getline() {
let msg = { pageIndex: 0, pageSize: 100 };
this.apipost(
"line_post_GetPageList",
msg,
x => {
this.lines = x.data.data.pageData;
// console.log(this.lines)
this.initColums();
this.getData();
},
mounted () {
this.getCompanyList()
err => {}
);
},
getData() {
this.loading = true;
this.apipost("sellcommission_rule_get", this.searchMsg, x => {
this.tableData = x.data.data;
this.loading = false;
});
}
},
mounted() {
this.searchMsg.RB_Group_Id = this.addMsg.RB_Group_Id = this.getLocalStorage().RB_Group_id;
this.getCompanyList();
Vue.component("table-operation", {
template: `<div style='width:80px;height:40px;background:#fff;text-align:center;position: relative;left:-5px;padding-top: 6px;padding-top:6px;'><el-button type="primary" size='mini' icon="el-icon-edit" circle @click="update(rowData,index)"></el-button><el-button type="danger" size='mini' icon="el-icon-delete" circle @click="deleteRow(rowData,index)"></el-button></div>`,
props: {
rowData: {
type: Object
},
field: {
type: String
},
index: {
type: Number
}
},
methods: {
update() {
let params = { type: "edit", data: this.rowData };
this.$emit("on-custom-comp", params);
},
deleteRow() {
let params = { type: "delete", data: this.rowData };
this.$emit("on-custom-comp", params);
}
}
});
}
};
</script>
<style>
/* .rule-box .el-select__tags{
top: 100%;
} */
.rule-box .el-input .el-input__inner,
.rule-box .el-select .el-input {
height: auto;
}
.rule-box .el-select {
display: block;
}
.el-input-group__append,
.el-input-group__prepend {
border-radius: 0;
}
.rule-box .el-date-editor.el-input,
.rule-box .el-date-editor.el-input__inner {
width: 100%;
}
.rule-box .temp .el-input-group__append {
width: 70px;
}
.rule-box .temp .el-select {
background: #409eff;
color: #fff;
}
.rule-box .temp .el-select .el-input .el-select__caret {
color: #f1f1f1;
}
</style>
......@@ -263,7 +263,7 @@
<td>{{item.refund}}</td>
<td>{{item.platformTax}}</td>
<td>{{moneyFormat(item.zaiTuMoney)}}</td>
<td>{{moneyFormat(item.weiShouMoney)}}</td>
<td class="weiShou">{{moneyFormat(item.weiShouMoney)}}</td>
<td class="fz12" :style="item.orderState===3?'color: #e95252;':''">{{item.statsstr}}</td>
</tr>
<tr>
......@@ -939,5 +939,8 @@
display: inline-block;
margin: 0 10px 0 0;
}
.enrollTotalSearchTable .weiShou{
color: red;
}
</style>
......@@ -799,6 +799,10 @@
font-size: 14px;
vertical-align: top;
}
.RegistrationList .nowrap{
white-space:nowrap;
}
</style>
<template>
......@@ -1330,18 +1334,18 @@
<tr>
<th width="240">单号</th>
<th width="150">客户信息</th>
<th width="70">人数/机位数</th>
<th width="110">单价</th>
<th width="110">成交单价</th>
<th width="110">应收总额</th>
<th width="110">实收</th>
<th width="110">退款</th>
<th width="110">平台税金</th>
<th width="110">平台在途</th>
<th width="80">待收金额</th>
<th width="100">状态</th>
<th width="130">确认函</th>
<th width="150">操作</th>
<th width="70" class="nowrap">人数/机位数</th>
<th width="110" class="nowrap">单价</th>
<th width="110" class="nowrap">成交单价</th>
<th width="110" class="nowrap">应收总额</th>
<th width="110" class="nowrap">实收</th>
<th width="110" class="nowrap">退款</th>
<th width="110" class="nowrap">平台税金</th>
<th width="110" class="nowrap">平台在途</th>
<th width="110" class="nowrap">待收金额</th>
<th width="100" class="nowrap">状态</th>
<th width="130" class="nowrap">确认函</th>
<th width="150" class="nowrap">操作</th>
</tr>
<tr>
<td v-show="OrderDataList.Length==0" colspan="14" align="center">暂无数据</td>
......@@ -1394,9 +1398,9 @@
</tr>
</table>
</div>
<span v-if='item.GuestNumStatus==1' style="color:#1AA86B;" class="personNo" slot="reference">{{item.GuestNum}}/{{item.YSeatNum>0? item.YSeatNum+'Y ':''}}{{item.ESeatNum>0? item.ESeatNum+'E ':''}}{{item.FSeatNum>0? item.FSeatNum+'F ':''}}</span>
<span v-if='item.GuestNumStatus==2' style="color:#E95252;" class="personNo" slot="reference">{{item.GuestNum}}/{{item.YSeatNum>0? item.YSeatNum+'Y ':''}}{{item.ESeatNum>0? item.ESeatNum+'E ':''}}{{item.FSeatNum>0? item.FSeatNum+'F ':''}}</span>
<span v-if='item.GuestNumStatus==3' style="color:#666;" class="personNo" slot="reference">{{item.GuestNum}}/{{item.YSeatNum>0? item.YSeatNum+'Y ':''}}{{item.ESeatNum>0? item.ESeatNum+'E ':''}}{{item.FSeatNum>0? item.FSeatNum+'F ':''}}</span>
<span v-if='item.GuestNumStatus==1' style="color:#1AA86B; " class="personNo nowrap" slot="reference">{{item.GuestNum}}/{{item.YSeatNum>0? item.YSeatNum+'Y ':''}}{{item.ESeatNum>0? item.ESeatNum+'E ':''}}{{item.FSeatNum>0? item.FSeatNum+'F ':''}}</span>
<span v-if='item.GuestNumStatus==2' style="color:#E95252; " class="personNo nowrap" slot="reference">{{item.GuestNum}}/{{item.YSeatNum>0? item.YSeatNum+'Y ':''}}{{item.ESeatNum>0? item.ESeatNum+'E ':''}}{{item.FSeatNum>0? item.FSeatNum+'F ':''}}</span>
<span v-if='item.GuestNumStatus==3' style="color:#666; " class="personNo nowrap" slot="reference">{{item.GuestNum}}/{{item.YSeatNum>0? item.YSeatNum+'Y ':''}}{{item.ESeatNum>0? item.ESeatNum+'E ':''}}{{item.FSeatNum>0? item.FSeatNum+'F ':''}}</span>
</el-popover>
</td>
<td>{{item.TC_Price}}</td>
......@@ -1571,17 +1575,17 @@
</tr>
</table>
</div>
<span v-if='childItem.GuestNumStatus==1' style="color:#1AA86B;" class="personNo" slot="reference">{{childItem.GuestNum}}/{{childItem.YSeatNum>0? childItem.YSeatNum+'Y ':''}}{{childItem.ESeatNum>0? childItem.ESeatNum+'E ':''}}{{childItem.FSeatNum>0? childItem.FSeatNum+'F ':''}}</span>
<span v-if='childItem.GuestNumStatus==2' style="color:#E95252;" class="personNo" slot="reference">{{childItem.GuestNum}}/{{childItem.YSeatNum>0? childItem.YSeatNum+'Y ':''}}{{childItem.ESeatNum>0? childItem.ESeatNum+'E ':''}}{{childItem.FSeatNum>0? childItem.FSeatNum+'F ':''}}</span>
<span v-if='childItem.GuestNumStatus==3' style="color:#666;" class="personNo" slot="reference">{{childItem.GuestNum}}/{{childItem.YSeatNum>0? childItem.YSeatNum+'Y ':''}}{{childItem.ESeatNum>0? childItem.ESeatNum+'E ':''}}{{childItem.FSeatNum>0? childItem.FSeatNum+'F ':''}}</span>
<span v-if='childItem.GuestNumStatus==1' style="color:#1AA86B; " class="personNo nowrap" slot="reference">{{childItem.GuestNum}}/{{childItem.YSeatNum>0? childItem.YSeatNum+'Y ':''}}{{childItem.ESeatNum>0? childItem.ESeatNum+'E ':''}}{{childItem.FSeatNum>0? childItem.FSeatNum+'F ':''}}</span>
<span v-if='childItem.GuestNumStatus==2' style="color:#E95252;" class="personNo nowrap" slot="reference">{{childItem.GuestNum}}/{{childItem.YSeatNum>0? childItem.YSeatNum+'Y ':''}}{{childItem.ESeatNum>0? childItem.ESeatNum+'E ':''}}{{childItem.FSeatNum>0? childItem.FSeatNum+'F ':''}}</span>
<span v-if='childItem.GuestNumStatus==3' style="color:#666; " class="personNo nowrap" slot="reference">{{childItem.GuestNum}}/{{childItem.YSeatNum>0? childItem.YSeatNum+'Y ':''}}{{childItem.ESeatNum>0? childItem.ESeatNum+'E ':''}}{{childItem.FSeatNum>0? childItem.FSeatNum+'F ':''}}</span>
</el-popover>
</td>
<td>{{childItem.TC_Price}}</td>
<td class="nowrap">{{childItem.TC_Price}}</td>
<td>{{childItem.Unit_Price}}</td>
<td>
<td class="nowrap">
<p>{{childItem.PreferPrice}}</p>
</td>
<td>
<td class="nowrap">
<el-popover style='padding: 0;' width="400" trigger="click">
<div class="personNolayer">
<table border="0" cellspacing="1" cellpadding="1">
......@@ -1608,10 +1612,10 @@
@click="getOrderDetail(childItem)" slot="reference">{{childItem.Income}}</span>
</el-popover>
</td>
<td>{{childItem.Refund}}</td>
<td>{{childItem.PlatformTax}}</td>
<td>{{childItem.ZaiTuMoney}}</td>
<td><span :class="{color_red_order:childItem.DueInMoney!==childItem.PreferPrice}">{{childItem.DueInMoney}}</span></td>
<td class="nowrap">{{childItem.Refund}}</td>
<td class="nowrap">{{childItem.PlatformTax}}</td>
<td class="nowrap">{{childItem.ZaiTuMoney}}</td>
<td class="nowrap"><span :class="{color_red_order:childItem.DueInMoney!==childItem.PreferPrice}">{{childItem.DueInMoney}}</span></td>
<td class="fz12"><span :class="{'RL-redType':childItem.statsstr=='候补'}">{{childItem.statsstr}}</span></td>
<td>
<div @click="goOpenUrl('confirmationOrder',childItem.OrderId)" style="cursor:pointer;">电子确认函</div>
......@@ -2824,14 +2828,14 @@ import updateSalesMan from "../../commonPage/updateSalesMan.vue";
if (this.addMsg.Commission > 0) {
this.addMsg.CommissionShareMoney = this.addMsg.Commission / 2;
this.addMsg.Commission =
this.addMsg.Commission - this.addMsg.CommissionShareMoney;
(this.addMsg.Commission - this.addMsg.CommissionShareMoney).toFixed(2);
} else {
this.addMsg.CommissionShareMoney = "0";
}
}
}
} else {
this.addMsg.Commission = Number(this.addMsg.PreferPrice) * 0.01
this.addMsg.Commission = (Number(this.addMsg.PreferPrice) * 0.01).toFixed(2)
}
},
getHouseNo() {
......
......@@ -11,7 +11,7 @@ export default {
install(Vue, options) {
Vue.prototype.MsgBus = MsgBus;
Vue.prototype.md5 = md5;
Vue.prototype.orderBy = function(source, orders, type) {
Vue.prototype.orderBy=function(source, orders, type) {
if (
source instanceof Array &&
orders instanceof Array &&
......@@ -77,27 +77,27 @@ export default {
return source;
}
},
Vue.prototype.calcPageSize = function(itemHeight) {
let yuHeight = itemHeight
Vue.prototype.calcPageSize=function(itemHeight){
let yuHeight=itemHeight
try {
let obj = null
document.querySelectorAll('.frame-box').forEach(x => {
if (x.style.display != 'none') {
obj = x
let obj=null
document.querySelectorAll('.frame-box').forEach(x=>{
if(x.style.display!='none'){
obj=x
}
})
let dom = obj.offsetHeight
yuHeight = dom - (obj.querySelector('.v-table-header') ? obj.querySelector('.v-table-header').offsetHeight : 39) - 50 //减去面包屑,减去表格头部,减去分页,减去偏量
let dom=obj.offsetHeight
yuHeight=dom-(obj.querySelector('.v-table-header')?obj.querySelector('.v-table-header').offsetHeight:39)-50//减去面包屑,减去表格头部,减去分页,减去偏量
//减去其它同级元素
obj.childNodes[0].childNodes.forEach(x => {
if (x.className && x.className.indexOf('v-table-views') == -1) {
yuHeight -= x.offsetHeight ? x.offsetHeight : 0
obj.childNodes[0].childNodes.forEach(x=>{
if(x.className && x.className.indexOf('v-table-views')==-1){
yuHeight-=x.offsetHeight?x.offsetHeight:0
}
})
} catch (error) { console.log(error) }
return Math.floor(yuHeight / itemHeight)
} catch (error) {console.log(error)}
return Math.floor(yuHeight/itemHeight)
}
Vue.prototype.random_string = function(len) {
Vue.prototype.random_string = function (len) {
len = len || 32;
var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
var maxPos = chars.length;
......@@ -108,23 +108,23 @@ export default {
return pwd;
},
//是否是线上环境【发布时修改为true】
Vue.prototype.isOnline = function() {
Vue.prototype.isOnline = function () {
return process.env.NODE_ENV !== 'development';
},
//域名管理对象
Vue.prototype.domainManager = function() {
Vue.prototype.domainManager = function () {
let domainUrl = '';
let locationName = window.location.hostname;
// domainUrl = "http://192.168.2.214:8082"; //214主域名
// domainUrl = "http://192.168.2.88"; //王悦主域名
// domainUrl = "http://127.0.0.1"; //214主域名
// domainUrl = "http://192.168.2.16:8083"; //刘东主域名
// domainUrl = "http://192.168.2.16:8083"; //王悦主域名
// domainUrl = "http://127.0.0.1"; //214主域名
domainUrl = "http://192.168.2.65:8025"; //吴春主域名
// domainUrl = "http://192.168.2.106:8082"; //罗超主域名
if (locationName.indexOf('oytour') !== -1) {
// domainUrl = "http://192.168.2.65:8025"; //吴春主域名
domainUrl = "http://192.168.2.106:8082"; //罗超主域名
if (locationName.indexOf('oytour')!==-1) {
domainUrl = "https://reborn.oytour.com";
} else if (locationName.indexOf('viitto') !== -1) {
}else if (locationName.indexOf('viitto')!==-1) {
domainUrl = "https://test.viitto.com";
}
var obj = {
......@@ -151,14 +151,14 @@ export default {
};
return obj;
},
Vue.prototype.yinyanFn = function(url, successCall, faildCall) {
Vue.prototype.yinyanFn = function (url, successCall, faildCall) {
this.$http.jsonp(url, )
.then(res => {
successCall(res)
}, faildCall)
},
//消息成功提示
Vue.prototype.Success = function(msg) {
Vue.prototype.Success = function (msg) {
this.$message({
message: msg,
duration: 2000,
......@@ -166,7 +166,7 @@ export default {
});
},
//错误提示
Vue.prototype.Error = function(msg) {
Vue.prototype.Error = function (msg) {
this.$message({
message: msg,
duration: 2000,
......@@ -175,7 +175,7 @@ export default {
},
//一般提示
Vue.prototype.Info = function(msg) {
Vue.prototype.Info = function (msg) {
this.$message({
message: msg,
duration: 2000,
......@@ -183,7 +183,7 @@ export default {
});
},
//警告提示
Vue.prototype.Warning = function(msg) {
Vue.prototype.Warning = function (msg) {
this.$message({
message: msg,
duration: 2000,
......@@ -191,7 +191,7 @@ export default {
});
},
//Confirm
Vue.prototype.Confirm = function(msg, callback) {
Vue.prototype.Confirm = function (msg, callback) {
this.$confirm(msg, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -208,13 +208,13 @@ export default {
},
//打开新窗口连接
Vue.prototype.OpenNewUrl = function(URL) {
Vue.prototype.OpenNewUrl = function (URL) {
if (URL != '') {
window.open('http://' + URL, '_blank');
}
}
//HTTP提交数据
Vue.prototype.apipost = function(cmd, msg, successCall, faildCall) {
Vue.prototype.apipost = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -267,7 +267,7 @@ export default {
},
//下载文件
Vue.prototype.GetLocalFile = function(cmd, msg, fileName) {
Vue.prototype.GetLocalFile = function (cmd, msg, fileName) {
var apiurl = this.domainManager().LocalFileStreamDownLoadUrl;
var timestamp = (new Date()).valueOf();
if (!localStorage.userInfo && localStorage.userInfo != "" && this.$route.path.toLowerCase() != "/login") {
......@@ -302,20 +302,20 @@ export default {
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
}).catch(function(res) {});
}).catch(function (res) {});
},
Vue.prototype.getCookieItem = function() {
Vue.prototype.getCookieItem = function () {
return JSON.parse(this.getCookie("userInfo"))
},
Vue.prototype.getLocalStorage = function() {
Vue.prototype.getLocalStorage = function () {
var localStorageData = window.localStorage["userInfo"];
if (localStorageData !== undefined && localStorageData != 'undefined') {
if (localStorageData !== undefined && localStorageData!='undefined') {
return JSON.parse(localStorageData);
} else {
return null;
}
},
Vue.prototype.getCookie = function(cookieName) {
Vue.prototype.getCookie = function (cookieName) {
var strCookie = document.cookie;
var arrCookie = strCookie.split("; ");
for (var i = 0; i < arrCookie.length; i++) {
......@@ -326,19 +326,19 @@ export default {
}
return "";
},
Vue.prototype.getLoginUser = function() {
Vue.prototype.getLoginUser = function () {
return this.loginUser
},
Vue.prototype.setLoginUser = function(user) {
Vue.prototype.setLoginUser = function (user) {
this.loginUser = user
}
//PDF预览
Vue.prototype.previewPDF = function(url) {
Vue.prototype.previewPDF = function (url) {
window.open(this.domainManager().PDFViewUrl + url);
},
Vue.prototype.downloadFile = function(objectKey) {
Vue.prototype.downloadFile = function (objectKey) {
var co = require('co');
var OSS = require('ali-oss');
var oss = new OSS({
......@@ -354,7 +354,7 @@ export default {
link.click();
},
Vue.prototype.downloadFileRename = function(objectKey, filename, fileurl) {
Vue.prototype.downloadFileRename = function (objectKey, filename, fileurl) {
var co = require('co');
var OSS = require('ali-oss');
......@@ -366,7 +366,7 @@ export default {
})
let url = '';
if (fileurl)
if(fileurl)
url = fileurl
else
url = oss.signatureUrl(objectKey);
......@@ -398,7 +398,7 @@ export default {
});
},
Vue.prototype.getFileBlob = function(objectKey, filename) {
Vue.prototype.getFileBlob = function (objectKey, filename) {
var co = require('co');
var OSS = require('ali-oss');
var oss = new OSS({
......@@ -425,7 +425,7 @@ export default {
//path 请按照"/模块名称/用户ID/自定义文件夹/" /谁搞错一次5块红包
//files 文件数组
//p 进度回调函数
Vue.prototype.uploadFile = function(path, files, successCall) {
Vue.prototype.uploadFile = function (path, files, successCall) {
if (files && files.length > 0) {
let nameList = new Array()
for (let index = 0; index < files.length; index++) {
......@@ -438,24 +438,24 @@ export default {
bucket: 'reborndev'
})
let that = this
co(function*() {
co(function* () {
for (let index = 0; index < files.length; index++) {
let fileName = nameList[index]
fileName = path + fileName + "." + files[index].name.split('.').pop()
var result = yield oss.multipartUpload(fileName, files[index], {
progress: function*(p) {},
progress: function* (p) {},
mime: 'application/octet-stream'
})
successCall(result);
}
}).catch(function(err) {
}).catch(function (err) {
console.log(err);
});
}
},
Vue.prototype.uploadBlob = function(path, files, successCall) {
Vue.prototype.uploadBlob = function (path, files, successCall) {
if (files && files.length > 0) {
var oss = new OSS({
region: 'oss-cn-hangzhou',
......@@ -464,22 +464,22 @@ export default {
bucket: 'reborndev'
})
let that = this
co(function*() {
co(function* () {
for (let index = 0; index < files.length; index++) {
var result = yield oss.multipartUpload(path, files[index], {
progress: function*(p) {},
progress: function* (p) {},
mime: 'application/octet-stream'
})
successCall(result);
}
}).catch(function(err) {
}).catch(function (err) {
console.log(err);
});
}
},
//验证只能输入2位小数【负数:isMinus传true】
Vue.prototype.checkPrice = function(item, filed, isMinus) {
Vue.prototype.checkPrice = function (item, filed, isMinus) {
var value = "" + item[filed]; //转字符串
var t = value.charAt(0);
value = value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
......@@ -497,7 +497,7 @@ export default {
item[filed] = value;
}
//验证输入6位小数汇率
Vue.prototype.checkRate = function(item, filed) {
Vue.prototype.checkRate = function (item, filed) {
var value = "" + item[filed]; //转字符串
var p1 = /[^\d\.]/g; // 过滤非数字及小数点 /g :所有范围中过滤
var p2 = /(\.\d{6})\d*$/g;
......@@ -512,7 +512,7 @@ export default {
}
//验证只能输入整数【负数:isMinus传true】
Vue.prototype.checkInteger = function(item, filed, isMinus) {
Vue.prototype.checkInteger = function (item, filed, isMinus) {
var value = "" + item[filed]; //转字符串
var t = value.charAt(0);
value = value.replace(this.$commonUtils.Regex.isInteger, "");
......@@ -524,8 +524,7 @@ export default {
}
//价钱格式化,三位数逗号分隔,保留两位小数 duanjun
Vue.prototype.moneyFormat = function(value) {
if (!value) return ('0.00')
Vue.prototype.moneyFormat = function (value) {
let nStr = Number(value).toFixed(2)
nStr += '';
let x = nStr.split('.');
......@@ -538,7 +537,7 @@ export default {
return x1 + x2;
},
Vue.prototype.loadFileICON = function(suffix) {
Vue.prototype.loadFileICON = function (suffix) {
let icons = [{
"name": "\u7f51\u76d8BT\u79bb\u7ebf\u4e0b\u8f7d",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment