Commit e1ab0602 authored by 华国豪's avatar 华国豪 🙄
parents fddc3574 16e06d54
...@@ -820,7 +820,7 @@ export default { ...@@ -820,7 +820,7 @@ export default {
filterRouter(){ filterRouter(){
let that=this let that=this
this.$router.beforeEach((to, from, next) => { this.$router.beforeEach((to, from, next) => {
console.log("to.query.blank && to.query.blank=='y'",to.query) // console.log("to.query.blank && to.query.blank=='y'",to.query,"666")
if(to.path=="/ModifyVisaProduct"){ if(to.path=="/ModifyVisaProduct"){
this.reloadpage(); this.reloadpage();
} }
......
...@@ -531,7 +531,6 @@ export default { ...@@ -531,7 +531,6 @@ export default {
this.Error("至少选择一人!"); this.Error("至少选择一人!");
return; return;
} }
sessionStorage.setItem("saveGuestInfo",JSON.stringify(userInfo)) sessionStorage.setItem("saveGuestInfo",JSON.stringify(userInfo))
// this.$store.commit('saveGuestInfo',userInfo) // this.$store.commit('saveGuestInfo',userInfo)
// console.log("getGuestInfo",this.$store.getters.getGuestInfo) // console.log("getGuestInfo",this.$store.getters.getGuestInfo)
......
...@@ -404,19 +404,19 @@ ...@@ -404,19 +404,19 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="成本价" prop="CostPrice"> <el-form-item label="成本价" prop="CostPrice">
<el-input v-model.number="addMsg.CostPrice" @keyup.native="checkInteger(addMsg,'CostPrice')" placeholder="请输入" maxlength="20"></el-input> <el-input v-model="addMsg.CostPrice" @keyup.native="checkPrice(addMsg,'CostPrice')" placeholder="请输入" maxlength="20"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="同业价" prop="VisaPrice"> <el-form-item label="同业价" prop="VisaPrice">
<el-input v-model.number="addMsg.VisaPrice" @keyup.native="checkInteger(addMsg,'VisaPrice')" placeholder="请输入" maxlength="20"></el-input> <el-input v-model.number="addMsg.VisaPrice" @keyup.native="checkPrice(addMsg,'VisaPrice')" placeholder="请输入" maxlength="20"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="直客价" prop="VisaB2CPrice"> <el-form-item label="直客价" prop="VisaB2CPrice">
<el-input v-model.number="addMsg.VisaB2CPrice" @keyup.native="checkInteger(addMsg,'VisaB2CPrice')" placeholder="请输入" maxlength="20"></el-input> <el-input v-model.number="addMsg.VisaB2CPrice" @keyup.native="checkPrice(addMsg,'VisaB2CPrice')" placeholder="请输入" maxlength="20"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="提成金额" prop="CommissionPrice"> <el-form-item label="提成金额" prop="CommissionPrice">
<el-input v-model="addMsg.CommissionPrice" placeholder="请输入" @keyup.native="checkInteger(addMsg,'CommissionPrice')"></el-input> <el-input v-model="addMsg.CommissionPrice" placeholder="请输入" @keyup.native="checkPrice(addMsg,'CommissionPrice')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="提前预定天数" prop="BookAdvance"> <el-form-item label="提前预定天数" prop="BookAdvance">
...@@ -764,7 +764,7 @@ export default { ...@@ -764,7 +764,7 @@ export default {
VisaType: 1, VisaType: 1,
SendVisaDate: "", SendVisaDate: "",
VisaPrice: "", VisaPrice: "",
PeopleNum: 0, PeopleNum: "0",
CostPrice: "", CostPrice: "",
EntryType:0, EntryType:0,
CommissionPrice: "", CommissionPrice: "",
...@@ -779,8 +779,6 @@ export default { ...@@ -779,8 +779,6 @@ export default {
rules: { rules: {
Name: [{ required: true, message: "请输入产品名称", trigger: "blur" }], Name: [{ required: true, message: "请输入产品名称", trigger: "blur" }],
// ManageDuration:[{ type: 'number', message: '必须为数字值'}],
customerName: [ customerName: [
{ required: true, message: "请输入客户名", trigger: "blur" } { required: true, message: "请输入客户名", trigger: "blur" }
], ],
...@@ -795,14 +793,14 @@ export default { ...@@ -795,14 +793,14 @@ export default {
{ required: true, message: "请输入直客价", trigger: "blur" }, { required: true, message: "请输入直客价", trigger: "blur" },
{ {
pattern: this.$commonUtils.Regex.el_Isdecimal, pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入数字" message: "请输入直客价"
} }
], ],
CostPrice: [ CostPrice: [
{ required: true, message: "请输入成本价", trigger: "blur" }, { required: true, message: "请输入成本价", trigger: "blur" },
{ {
pattern: this.$commonUtils.Regex.el_Isdecimal, pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入数字" message: "请输入成本价"
} }
], ],
VisaType: [ VisaType: [
...@@ -895,7 +893,7 @@ export default { ...@@ -895,7 +893,7 @@ export default {
"dmc_get_visa_GetVisaProductInfo_V1", "dmc_get_visa_GetVisaProductInfo_V1",
{Pid:Pid}, {Pid:Pid},
res => { res => {
// console.log(res); console.log(res);
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
let data=res.data.data; let data=res.data.data;
this.addMsg=res.data.data; this.addMsg=res.data.data;
...@@ -975,7 +973,6 @@ export default { ...@@ -975,7 +973,6 @@ export default {
"YYYY-MM-DD" "YYYY-MM-DD"
); );
// console.log("this.addMsg", this.addMsg); // console.log("this.addMsg", this.addMsg);
this.loading=true;
this.apipost( this.apipost(
"dmc_post_visa_SetVisaProduct_V1", "dmc_post_visa_SetVisaProduct_V1",
this.addMsg, this.addMsg,
......
...@@ -1573,8 +1573,8 @@ ...@@ -1573,8 +1573,8 @@
// 车资 // 车资
if(that.isExists(item.CostTypeList,'车资')){ if(that.isExists(item.CostTypeList,'车资')){
this.moneyAll.zheziyf+=item.Money; this.moneyAll.cheziyf+=item.Money;
this.moneyAll.zhezisf+=item.PayMoney; this.moneyAll.chezisf+=item.PayMoney;
} }
// 机票款 // 机票款
if(that.isExists(item.CostTypeList,'国际段机票') || item.OrderSource===4 || that.isExists(item.CostTypeList,'机票退税') || that.isExists(item.CostTypeList,'机票罚金') || that.isExists(item.CostTypeList,'机票税金') || that.isExists(item.CostTypeList,'国内联运段机票')){ if(that.isExists(item.CostTypeList,'国际段机票') || item.OrderSource===4 || that.isExists(item.CostTypeList,'机票退税') || that.isExists(item.CostTypeList,'机票罚金') || that.isExists(item.CostTypeList,'机票税金') || that.isExists(item.CostTypeList,'国内联运段机票')){
......
<style lang="less" scoped> <style lang="less" scoped>
@import "../../assets/css/main.less"; @import "../../assets/css/main.less";
@import "../../assets/css/cssReset.css"; @import "../../assets/css/cssReset.css";
</style> </style>
<template> <template>
<div> <div>
<leftNav></leftNav> <leftNav></leftNav>
</div> </div>
</template> </template>
<script> <script>
import leftNav from '../public/leftNav.vue' import leftNav from '../public/leftNav.vue'
export default { export default {
data (){ data() {
return{ return {
} }
}, },
components:{ components: {
leftNav leftNav
}, },
mounted(){ mounted() {
}, },
methods:{ methods: {
goUrl (path,id) { goUrl(path, id) {
this.$router.push({ path: "Details",query:{path,id} }) this.$router.push({
path: "Details",
query: {
path,
id
}
})
}, },
} }
} }
</script> </script>
\ No newline at end of file
<template> <template>
<div class="leftNav"> <div class="leftNav">
<div class="singleMenUlayer" v-show="singleMenUlayerShow">
<div class="singleMenUlayer" v-show="singleMenUlayerShow" >
<i class="iconfont icon-Close" @click="singleMenUlayerShow=false"></i> <i class="iconfont icon-Close" @click="singleMenUlayerShow=false"></i>
<div v-for="outItem in bigIconItems" style="overflow: hidden;"> <div v-for="outItem in bigIconItems" style="overflow: hidden;">
<p style="border-left: 3px solid #E95252; height: 14px; line-height: 14px; font-size: 12px; text-indent: 12px; margin-top: 10px;">{{outItem.GCode}}</p> <p
style="border-left: 3px solid #E95252; height: 14px; line-height: 14px; font-size: 12px; text-indent: 12px; margin-top: 10px;">
{{outItem.GCode}}</p>
<ul> <ul>
<li v-for="(item,index) in outItem.list" @click="goUrl(item.MenuUrl)"> <li v-for="(item,index) in outItem.list" @click="goUrl(item.MenuUrl)">
<div> <div>
...@@ -14,79 +15,65 @@ ...@@ -14,79 +15,65 @@
</li> </li>
</ul> </ul>
</div> </div>
<!--<ul>
<li v-for="(item,index) in bigIconItems" @click="goUrl(item.MenuUrl)">
<div>
<i :style="{background:item.MenuStyleColor}" :class="[fontPub,item.MenuStyleIcon]"></i>
</div>
{{item.MenuName}}
</li>
</ul>-->
</div> </div>
<div class="shortcutsDiv"> <div class="shortcutsDiv">
<div class="rgba"></div> <div class="rgba"></div>
<p class="updateIcon"><i class="iconfont icon-Edit"></i></p> <p class="updateIcon"><i class="iconfont icon-Edit"></i></p>
<div class="shortcuts"> <div class="shortcuts">
<li v-for="(item,index) in items" @click="showMenu(item)"> <li v-for="(item,index) in items" @click="showMenu(item)">
<div> <div>
<i v-for="childItem in item.childerns" :style="{background:childItem.MenuStyleColor}" :class="[fontPub,childItem.MenuStyleIcon]"></i> <i v-for="childItem in item.childerns" :style="{background:childItem.MenuStyleColor}"
:class="[fontPub,childItem.MenuStyleIcon]"></i>
</div> </div>
{{item.MenuName}} {{item.MenuName}}
</li> </li>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default{ export default {
data(){ data() {
return{ return {
items:[], items: [],
openId:0, openId: 0,
iconItems:[], iconItems: [],
fontPub:'iconfont', fontPub: 'iconfont',
bigIconItems:[], bigIconItems: [],
singleMenUlayerShow:false, singleMenUlayerShow: false,
} }
}, },
mounted(){ mounted() {
this.getMenu(); this.getMenu();
console.log(this.getLocalStorage())
}, },
methods:{ methods: {
getMenu(){ getMenu() {
this.menuList=this.getLocalStorage().UserMenu; this.menuList = this.getLocalStorage().UserMenu;
let path=this.$route.path.split('?')[0]; let path = this.$route.path.split('?')[0];
let root=0; let root = 0;
//找到Root //找到Root
this.menuList.forEach(x=>{ this.menuList.forEach(x => {
if(x.MenuUrl==path){ if (x.MenuUrl == path) {
root=x.RootId; root = x.RootId;
this.openId=x.ParentId; this.openId = x.ParentId;
return false return false
} }
}) })
this.items=[]; this.items = [];
let that=this; let that = this;
this.menuList.forEach(rootItem=>{ this.menuList.forEach(rootItem => {
if(rootItem.RootId==root){ if (rootItem.RootId == root) {
rootItem.ChildMenu.forEach(secondItem=>{ rootItem.ChildMenu.forEach(secondItem => {
secondItem.childerns=[]; secondItem.childerns = [];
let style=JSON.parse(secondItem.MenuStyle); let style = JSON.parse(secondItem.MenuStyle);
secondItem.MenuStyleIcon=style.icon; secondItem.MenuStyleIcon = style.icon;
secondItem.MenuStyleColor=style.color; secondItem.MenuStyleColor = style.color;
secondItem.ChildMenu.forEach(thirdItem=>{ secondItem.ChildMenu.forEach(thirdItem => {
if(thirdItem.RootId==root&&thirdItem.ParentId==secondItem.MenuId){ if (thirdItem.RootId == root && thirdItem.ParentId == secondItem.MenuId) {
secondItem.childerns.push(thirdItem); secondItem.childerns.push(thirdItem);
let style2=JSON.parse(thirdItem.MenuStyle); let style2 = JSON.parse(thirdItem.MenuStyle);
thirdItem.MenuStyleIcon=style2.icon; thirdItem.MenuStyleIcon = style2.icon;
thirdItem.MenuStyleColor=style2.color; thirdItem.MenuStyleColor = style2.color;
} }
}) })
that.items.push(secondItem) that.items.push(secondItem)
...@@ -94,48 +81,68 @@ ...@@ -94,48 +81,68 @@
} }
}) })
}, },
showMenu(item){ showMenu(item) {
this.singleMenUlayerShow=true; this.singleMenUlayerShow = true;
this.bigIconItems=item.NewChildMenu; this.bigIconItems = item.NewChildMenu;
this.bigIconItems.forEach(item=>{ this.bigIconItems.forEach(item => {
item.list.forEach(x=>{ item.list.forEach(x => {
let obj=JSON.parse(x.MenuStyle); let obj = JSON.parse(x.MenuStyle);
x['MenuStyleIcon']=obj.icon x['MenuStyleIcon'] = obj.icon
x['MenuStyleColor']=obj.color x['MenuStyleColor'] = obj.color
}) })
}) })
}, },
goUrl (path) { goUrl(path) {
this.$router.push({ path:path}) this.$router.push({
path: path
})
}, },
}, },
} }
</script> </script>
<style> <style>
.leftNav .shortcutsDiv {
width: 264px;
border-radius: 6px;
position: absolute;
padding-bottom: 5px;
top: 30px;
left: 30px;
bottom: 30px;
overflow-y: auto;
z-index: 0;
display: block;
}
.leftNav .shortcutsDiv{width: 264px;border-radius: 6px;position:absolute; .leftNav .shortcutsDiv::before {
padding-bottom: 5px; top: 30px;left: 30px;bottom:30px;overflow-y: auto;z-index: 0;display: block;}
.leftNav .shortcutsDiv::before{
content: ""; content: "";
position: absolute; position: absolute;
/* width:300%;
height:300%;
left: -100%;
top: -100%;
background: url('../../assets/img/img-bg.jpg') no-repeat center center fixed; */
filter: blur(20px); filter: blur(20px);
z-index: -2; z-index: -2;
} }
.leftNav .shortcutsDiv .rgba{
.leftNav .shortcutsDiv .rgba {
background-color: rgba(114, 114, 114, 0.1); background-color: rgba(114, 114, 114, 0.1);
position: absolute; position: absolute;
width:100%; width: 100%;
height:100%; height: 100%;
z-index: -1; z-index: -1;
} }
.leftNav .shortcuts{overflow: hidden;}
.leftNav .shortcuts li{font-size: 12px; width: 70px; height: 120px; color: #666; text-align: center;} .leftNav .shortcuts {
.leftNav .shortcuts li>div{ overflow: hidden;
}
.leftNav .shortcuts li {
font-size: 12px;
width: 70px;
height: 120px;
color: #666;
text-align: center;
}
.leftNav .shortcuts li>div {
width: 70px; width: 70px;
height: 70px; height: 70px;
padding: 10px 0; padding: 10px 0;
...@@ -146,25 +153,145 @@ ...@@ -146,25 +153,145 @@
cursor: pointer; cursor: pointer;
border: 1px solid #DFDFDF; border: 1px solid #DFDFDF;
} }
.leftNav .shortcuts li>div>i{float:left; width: 20px; height: 20px; line-height: 20px; text-align: center; margin-top: 5px; border-radius: 8px; color:#fafafa; font-size: 12px;}
.leftNav .shortcuts li>div>i:nth-child(2n+1){margin-left: 12px;} .leftNav .shortcuts li>div>i {
.leftNav .shortcuts li>div>i:nth-child(2n){margin-left: 5px;} float: left;
.leftNav .shortcuts li>div>i:nth-child(n+5){margin-top: 20px;} width: 20px;
.leftNav .shortcuts li:nth-child(2n+1){ float: left; margin-left: 40px;} height: 20px;
.leftNav .shortcuts li:nth-child(2n){float: right; margin-right: 40px;} line-height: 20px;
.leftNav .shortcuts li a img{margin-bottom: 12px;} text-align: center;
.leftNav .customMenu{font-size: 12px; text-align: center; color: #666;overflow-y: auto;} margin-top: 5px;
.leftNav .customMenu li>div{width: 70px; height: 70px; background:#eee; border-radius: 28px; border: 1px solid #eee; margin: 20px 0; cursor: pointer;} border-radius: 8px;
.leftNav .customMenu li:nth-child(2n+1){ float: left; margin-left: 40px;} color: #fafafa;
.leftNav .customMenu li:nth-child(2n){float: right; margin-right: 40px;} font-size: 12px;
.leftNav .addCustomMenu>div{line-height: 70px; color: #CBCBCB; background: #fff!important} }
.leftNav .singleMenUlayer{position: absolute; background: #fff; box-shadow:2px 2px 0 rgba(88,88,88,.1) ;
border-radius: 6px; left: 320px; top: 30px; width: 640px;min-height: 300px; z-index: 500; padding:15px; box-sizing: border-box; border: 1px solid #F1f1f1;cursor: pointer;} .leftNav .shortcuts li>div>i:nth-child(2n+1) {
.leftNav .singleMenUlayer ul li{float: left; width:70px; margin: 10px 30px 0 0; cursor: pointer; color: #666; font-size: 12px;text-align: center;min-height: 110px;} margin-left: 12px;
.leftNav .singleMenUlayer ul li div{width: 56px; height: 56px; margin: 8px auto; text-align: center; line-height: 60px; border-radius: 28px; overflow: hidden;} }
.leftNav .singleMenUlayer ul li div i{ width: 56px; height: 56px; display: inline-block; font-size: 30px; color: #fff; background: #00B8EC;}
.leftNav .updateIcon{text-align: right; padding: 10px 10px 0px;} .leftNav .shortcuts li>div>i:nth-child(2n) {
.leftNav .updateIcon i{cursor: pointer;color: #999;font-size:18px;} margin-left: 5px;
.leftNav .icon-ego-guanbi{position: absolute; right: 15px; top: 15px; color: #333; cursor: pointer;} }
.leftNav .icon-ego-guanbi:hover{color: #999;}
.leftNav .shortcuts li>div>i:nth-child(n+5) {
margin-top: 20px;
}
.leftNav .shortcuts li:nth-child(2n+1) {
float: left;
margin-left: 40px;
}
.leftNav .shortcuts li:nth-child(2n) {
float: right;
margin-right: 40px;
}
.leftNav .shortcuts li a img {
margin-bottom: 12px;
}
.leftNav .customMenu {
font-size: 12px;
text-align: center;
color: #666;
overflow-y: auto;
}
.leftNav .customMenu li>div {
width: 70px;
height: 70px;
background: #eee;
border-radius: 28px;
border: 1px solid #eee;
margin: 20px 0;
cursor: pointer;
}
.leftNav .customMenu li:nth-child(2n+1) {
float: left;
margin-left: 40px;
}
.leftNav .customMenu li:nth-child(2n) {
float: right;
margin-right: 40px;
}
.leftNav .addCustomMenu>div {
line-height: 70px;
color: #CBCBCB;
background: #fff !important
}
.leftNav .singleMenUlayer {
position: absolute;
background: #fff;
box-shadow: 2px 2px 0 rgba(88, 88, 88, .1);
border-radius: 6px;
left: 320px;
top: 30px;
width: 640px;
min-height: 300px;
z-index: 500;
padding: 15px;
box-sizing: border-box;
border: 1px solid #F1f1f1;
cursor: pointer;
}
.leftNav .singleMenUlayer ul li {
float: left;
width: 70px;
margin: 10px 30px 0 0;
cursor: pointer;
color: #666;
font-size: 12px;
text-align: center;
min-height: 110px;
}
.leftNav .singleMenUlayer ul li div {
width: 56px;
height: 56px;
margin: 8px auto;
text-align: center;
line-height: 60px;
border-radius: 28px;
overflow: hidden;
}
.leftNav .singleMenUlayer ul li div i {
width: 56px;
height: 56px;
display: inline-block;
font-size: 30px;
color: #fff;
background: #00B8EC;
}
.leftNav .updateIcon {
text-align: right;
padding: 10px 10px 0px;
}
.leftNav .updateIcon i {
cursor: pointer;
color: #999;
font-size: 18px;
}
.leftNav .icon-ego-guanbi {
position: absolute;
right: 15px;
top: 15px;
color: #333;
cursor: pointer;
}
.leftNav .icon-ego-guanbi:hover {
color: #999;
}
</style> </style>
...@@ -1763,6 +1763,22 @@ export default { ...@@ -1763,6 +1763,22 @@ export default {
title: '签证产品' title: '签证产品'
}, },
}, },
{ //配置签证产品
path: '/ModifyVisaProduct',
name: 'ModifyVisaProduct',
component: resolve => require(['@/components/SalesVisa/ModifyVisaProduct'], resolve),
meta: {
title: '配置签证产品'
},
},
{ // 签证产品国家
path: '/VisaProductCountryManager',
name: 'VisaProductCountryManager',
component: resolve => require(['@/components/SalesVisa/VisaProductCountryManager'], resolve),
meta: {
title: '签证产品国家'
},
},
{ // 销售 送签管理 { // 销售 送签管理
path: '/signature', path: '/signature',
name: 'signature', name: 'signature',
......
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