Commit 8baa1242 authored by youjie's avatar youjie

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/crm

parents fb93d892 3d2bd0ff
<style>
.home-nav {
.home-nav {
width: 100%;
height: 100%;
/* font-family: perfectFont; */
user-select: none;
}
.log-box {
}
.log-box {
width: 100%;
height: 13.19%;
}
.log-box {
}
.log-box {
background-color: #f4f5f9;
}
.log-box > div {
}
.log-box>div {
height: 100%;
width: 100%;
background: #3d3b4f;
......@@ -20,20 +23,24 @@
display: flex;
align-items: center;
justify-content: center;
}
.log-box img {
}
.log-box img {
width: 42px;
}
.home-nav .home-menu-box{
}
.home-nav .home-menu-box {
height: 86.81%;
overflow: hidden;
}
.home-nav .home-menu {
}
.home-nav .home-menu {
padding: 0 8px;
height: 100%;
overflow-y: scroll;
}
.home-nav .home-menu .home-menu-item {
}
.home-nav .home-menu .home-menu-item {
color: rgba(255, 255, 255, 1);
font-size: 13px;
cursor: pointer;
......@@ -42,27 +49,31 @@
border-radius: 4px;
overflow: hidden;
font-family: "perfectFont";
}
.home-nav .home-menu .home-menu-item > div {
}
.home-nav .home-menu .home-menu-item>div {
padding: 0 0 0 15px;
background-color: #3d3b4f;
height: 50px;
line-height: 50px;
}
.home-nav .home-menu .home-menu-item.active {
}
.home-nav .home-menu .home-menu-item.active {
background-color: #3d3b4f;
}
.home-nav .home-menu .home-menu-item.active > div {
}
.home-nav .home-menu .home-menu-item.active>div {
/* font-weight: bold; */
color: #fff;
opacity: 1;
transition: all linear 0.2s;
background-color: #409efe;
/* border-radius: 19px 0 0 19px; */
}
.home-nav .home-menu .home-menu-item > div .iconfont {
}
.home-nav .home-menu .home-menu-item>div .iconfont {
padding-right: 10px;
}
}
</style>
<template>
<div class="home-nav">
......@@ -73,13 +84,8 @@
</div>
<div class="home-menu-box">
<ul class="home-menu">
<li
class="home-menu-item"
v-for="(item, index) in navList"
:key="index"
:class="[index === activeIndex ? 'active' : '']"
@click="changeMenu(item, index)"
>
<li class="home-menu-item" v-for="(item, index) in navList" :key="index"
:class="[index === activeIndex ? 'active' : '']" @click="changeMenu(item, index)">
<div>
<i class="iconfont" :class="[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"></i>
<span>{{item.MenuName}}</span>
......@@ -91,12 +97,11 @@
</div>
</template>
<script>
export default {
export default {
data() {
return {
activeIndex: 0,
navList: [
{
navList: [{
class: "iconfont iconyibiaopan",
name: "仪表盘",
path: "/Home",
......@@ -149,20 +154,25 @@ export default {
mounted() {
let userInfo = this.getLocalStorage();
this.userInfo = userInfo;
if (userInfo && userInfo.UserMenu && userInfo.UserMenu.length > 0) {
this.navList = userInfo.UserMenu[0].ChildMenu[0].ChildMenu;
}
let $this = this;
this.MsgBus.$on("setLeftNav", function(val) {
this.MsgBus.$on("setLeftNav", function (val) {
$this.activeIndex = 0;
if (userInfo && userInfo.UserMenu && userInfo.UserMenu.length > 0) {
$this.navList = userInfo.UserMenu[0].ChildMenu[val].ChildMenu;
}
});
},
methods: {
changeMenu: function(item, ind) {
changeMenu: function (item, ind) {
this.activeIndex = ind;
this.$router.push({
path: item.MenuUrl,
});
},
},
};
};
</script>
\ No newline at end of file
<style>
.nav-right {
.nav-right {
height: 100%;
margin: 0 30px;
display: flex;
font-family: perfectFont;
user-select: none;
}
.nav-right .nav-right-menu,
.nav-right .nav-right-info {
}
.nav-right .nav-right-menu,
.nav-right .nav-right-info {
display: flex;
align-items: center;
height: 100%;
flex: 1;
}
.nav-right .nav-right-menu ul {
}
.nav-right .nav-right-menu ul {
padding: 0;
margin: 0;
display: flex;
width: 100%;
height: 100%;
}
.nav-right .nav-right-menu ul li {
}
.nav-right .nav-right-menu ul li {
line-height: 56px;
display: inline-block;
border-bottom: 3px solid rgba(13, 36, 129, 0);
......@@ -32,64 +35,77 @@
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nav-right .nav-right-menu ul li:first-child {
}
.nav-right .nav-right-menu ul li:first-child {
margin-left: 0px;
}
.nav-right .nav-right-menu ul li.active {
}
.nav-right .nav-right-menu ul li.active {
color: #409efe;
border-bottom-color: #409efe;
font-family: pingfangR;
}
.nav-right .nav-right-menu ul li i {
}
.nav-right .nav-right-menu ul li i {
font-size: 16px;
margin-right: 5px;
}
.nav-right .nav-right-info {
}
.nav-right .nav-right-info {
flex: unset;
width: 240px;
justify-content: flex-end;
}
.nav-right .nav-right-info .right-item {
}
.nav-right .nav-right-info .right-item {
text-align: right;
padding-left: 20px;
display: flex;
flex-wrap: nowrap;
align-items: center;
}
/* .nav-right .nav-right-info .right-item:last-child{
}
/* .nav-right .nav-right-info .right-item:last-child{
margin: 0px;
} */
.nav-right .nav-right-info .right-item img {
.nav-right .nav-right-info .right-item img {
width: 34px;
height: 34px;
border-radius: 100%;
}
.nav-right .nav-right-info .right-item .welcomne-txt {
}
.nav-right .nav-right-info .right-item .welcomne-txt {
font-size: 12px;
color: #bbb;
margin-right: 5px;
white-space: nowrap;
}
.nav-right .nav-right-info .right-item .usr-name {
}
.nav-right .nav-right-info .right-item .usr-name {
font-size: 16px;
font-weight: bold;
color: black;
white-space: nowrap;
}
.nav-right .nav-right-info .right-item i {
}
.nav-right .nav-right-info .right-item i {
font-size: 20px;
color: #409efe;
}
}
</style>
<template>
<div class="nav-right">
<div class="nav-right-menu">
<ul>
<li :class="{'active':chosenMenuId==item.MenuId}" v-for="(item, index) in menuList[0].ChildMenu" :key="index" @click="chosenFirstLeaveMenu(item, index)">
<template v-if="menuList&&menuList.length>0">
<li :class="{'active':chosenMenuId==item.MenuId}" v-for="(item, index) in menuList[0].ChildMenu" :key="index"
@click="chosenFirstLeaveMenu(item, index)">
<i class="iconfont" :class="[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"></i>{{item.MenuName}}
</li>
</template>
</ul>
</div>
<div class="nav-right-info">
......@@ -101,11 +117,7 @@
<span class="usr-name">{{userInfo.EmName}}</span>
</div>
<div class="right-item">
<el-popover
placement="top"
width="160"
trigger="click"
v-model="visible">
<el-popover placement="top" width="160" trigger="click" v-model="visible">
<ul style="padding:0;margin:0;display:block;">
<li style="padding:0;margin:0;color:#000;cursor: pointer;" @click="signout">
<i class="iconfont icontuichu"></i>
......@@ -121,12 +133,14 @@
</div>
</template>
<script>
export default {
export default {
data() {
return {
activeIndex: 0,
value: 0,
menuList: [{ ChildMenu: [] }],
menuList: [{
ChildMenu: []
}],
chosenMenuId: 0,
userInfo: {
EmName: "",
......@@ -138,8 +152,10 @@ export default {
mounted() {
let userInfo = this.getLocalStorage();
this.userInfo = userInfo;
if (userInfo && userInfo.UserMenu && userInfo.UserMenu.length > 0) {
this.menuList = userInfo.UserMenu;
this.chosenMenuId = userInfo.UserMenu[0].ChildMenu[0].MenuId;
}
},
methods: {
chosenFirstLeaveMenu(item, index) {
......@@ -157,5 +173,5 @@ export default {
this.$router.push("/login");
},
},
};
};
</script>
\ No newline at end of file
......@@ -312,13 +312,8 @@
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
this.dataList.forEach(x => {
// let Url = "http://yx.oytour.com";
let Url = "http://testerp.oytour.com";
if (this.isOnline()) {
let Url = this.domainManager().erpRoutingUrl;
Url = Url + '/#/TravelContractConfirm?ContractId=' + x.ID;
} else {
Url = Url + ":8081/" + '#/TravelContractConfirm?ContractId=' + x.ID;
}
x.Url = Url;
})
this.tableData = this.dataList
......
......@@ -392,13 +392,13 @@
</template>
<script>
export default {
props: ["orderId","GuestId"],
export default {
props: ["orderId", "GuestId"],
data() {
return {
loading: true,
d: null,
userInfo:{}
userInfo: {}
};
},
mounted() {
......@@ -408,8 +408,9 @@ export default {
methods: {
init() {
this.apipost2(
"crm_post_GetCRMGuestOrderCheck",
{ OrderId: this.orderId },
"crm_post_GetCRMGuestOrderCheck", {
OrderId: this.orderId
},
(res) => {
if (res.data.resultCode == 1) {
this.d = res.data.data;
......@@ -422,12 +423,10 @@ export default {
openDetails(item) {
let href;
let url = this.domainManager().erpRoutingUrl;
let data = [
{
let data = [{
path: "FinancialDocumentsDetail",
id: item.FrID,
},
];
}, ];
href =
url +
"automaticLogin?token=" +
......@@ -470,8 +469,7 @@ export default {
if (this.userInfo.EmName == row.EnterName) {
if (row.OrderStatus != "2") {
if (num == '1' || num == '3') {
data = [
{
data = [{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
......@@ -479,20 +477,17 @@ export default {
ReFinanceId2: num,
GuestId: this.GuestId,
RelevanceFrId: 5, // 单据类型 5其他
},
];
}, ];
}
if (num == '2') {
data = [
{
data = [{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: this.orderId,
ReFinanceId2: num,
GuestId: this.GuestId,
},
];
}, ];
}
href =
url +
......@@ -506,11 +501,11 @@ export default {
}
},
},
};
};
</script>
<style>
.finance-list-box {
.finance-list-box {
padding: 0 20px 20px 20px;
position: absolute;
top: 54px;
......@@ -518,13 +513,15 @@ export default {
left: 0;
right: 0;
overflow-y: auto;
}
.none-finance {
}
.none-finance {
height: 30px;
text-align: center;
color: #666666;
}
.TB_comtitle {
}
.TB_comtitle {
color: #333333;
padding-left: 10px;
height: 14px;
......@@ -532,162 +529,169 @@ export default {
font-size: 14px;
border-left: 3px solid #4d7afd;
margin-bottom: 20px;
}
}
.Team_Details {
.Team_Details {
margin-top: 20px;
font-size: 12px;
}
}
.Team_DList {
.Team_DList {
border: 1px solid #e6e6e6;
background-color: #fff;
margin-top: 20px;
padding: 20px;
height: 167px;
}
.tipTable tr td {
}
.tipTable tr td {
height: 30px !important;
}
.singeRowTable tr th {
}
.singeRowTable tr th {
height: 30px;
text-align: left !important;
padding-left: 12px !important;
}
}
.singeRowTable tr td {
.singeRowTable tr td {
border: 1px solid #e5e5e5;
padding: 0px !important;
padding-left: 12px !important;
font-size: 13px;
}
}
/* .Team_Content .el-col-5 {
/* .Team_Content .el-col-5 {
margin-right: 18px;
} */
.Team_Coins {
.Team_Coins {
color: #ff9c00;
}
}
.Team_income {
.Team_income {
color: #4d7afd;
text-decoration: underline;
cursor: pointer;
}
}
.TB-Title {
.TB-Title {
float: left;
position: relative;
top: 10px;
}
.TB-Title.B-Title-fr{
}
.TB-Title.B-Title-fr {
display: flex;
justify-content: space-between;
}
}
.Team_ComCoin {
.Team_ComCoin {
width: 60%;
margin: auto;
text-align: left;
}
}
.Team_btmDiv {
.Team_btmDiv {
margin-top: 5px;
}
}
.Team_collection {
.Team_collection {
margin-top: 40px;
display: flex;
flex-direction: column;
}
.Team_collection tr th{
}
.Team_collection tr th {
border: 1px solid #e5e5e5;
font-size: 14px;
}
}
.Team_outCome {
.Team_outCome {
color: #ff9c00;
}
}
.Team_Pay {
.Team_Pay {
color: #ff5150;
}
}
.TeamAddBtn {
.TeamAddBtn {
float: right;
margin-bottom: 10px;
}
}
.Team_DList div {
.Team_DList div {
margin-bottom: 8px;
color: #666666;
}
}
.Team_firstTitle {
.Team_firstTitle {
font-size: 14px;
/* font-family: "PingFang-SC-Bold"; */
color: #333333 !important;
}
}
.Team_comCoinType {
.Team_comCoinType {
display: inline-block;
width: 24px;
height: 24px;
border-radius: 50%;
position: relative;
top: -1px;
}
}
.Team_shou {
.Team_shou {
background-color: #d7e6ff;
color: #4d7afd;
}
}
.Team_firstTitle span {
.Team_firstTitle span {
margin-right: 10px;
text-align: center;
line-height: 24px;
font-size: 12px;
vertical-align: middle;
}
.Team_Incontent {
}
.Team_Incontent {
font-size: 12px;
}
.Team_Incontent span {
}
.Team_Incontent span {
font-size: 12px;
font-family: "PingFangSC-Fine";
}
}
.Team_zhichu {
.Team_zhichu {
background-color: #fde2df;
color: #ff504f;
}
}
.Team_lirun {
.Team_lirun {
background-color: #d1f3ea;
color: #1bc594;
}
}
.Team_BtnList {
.Team_BtnList {
margin-top: 30px;
text-align: center;
}
}
.TB_Rate,
.TB_PayMoney {
.TB_Rate,
.TB_PayMoney {
margin-left: 20px;
}
}
.TeamBalancePayment .TB_PrintDiv {
.TeamBalancePayment .TB_PrintDiv {
height: 40px;
}
}
.span_all {
.span_all {
margin-left: 15px;
}
.TeamExpectList {
}
.TeamExpectList {
max-height: 105px;
overflow: auto;
margin-bottom: 0 !important;
}
}
</style>
\ No newline at end of file
......@@ -218,7 +218,8 @@
<el-col :span="8">
<div style="display: flex;flex-direction: row;align-items: center;">
<span class="font-size-12" style="padding-right: 10px;flex-shrink: 0;">订单类型:</span>
<el-select size="mini" width="200" v-model="msg.OrderType" placeholder="请选择" @change="handleCurrentChange(1)">
<el-select size="mini" width="200" v-model="msg.OrderType" placeholder="请选择"
@change="handleCurrentChange(1)">
<el-option v-for="item in OrderTypeList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
......@@ -273,7 +274,7 @@
orderList,
orderDetailsDrawer
},
props: ["detailsData","ID", "BusinessType"],
props: ["detailsData", "ID", "BusinessType"],
data() {
return {
title: '详情',
......@@ -332,11 +333,20 @@
Id: '3'
},
],
OrderStatusList: [
{Name: '不限',Id:0},
{Name: '正常',Id:1},
{Name: '取消',Id:2}], //订单状态
OrderTypeList:[],
OrderStatusList: [{
Name: '不限',
Id: 0
},
{
Name: '正常',
Id: 1
},
{
Name: '取消',
Id: 2
}
], //订单状态
OrderTypeList: [],
ticketingStatusList: [], // 出票状态
dataList: [],
loading: false,
......@@ -359,22 +369,22 @@
EnterId: '0', //业务员id
OrderState: 1, //订单状态
Q_IsCollect: "0", //收款状态
StartTime: "",//报名开始日期
EndTime: "",//报名结束日期
StartTime: "", //报名开始日期
EndTime: "", //报名结束日期
IsMyOrder: "1", //我的订单
FinishSTime: "",//完结开始时间
FinishETime: "",//完结结束时间
DepartSTime: "",//出发开始
DepartETime: "",//出发结束
TCNUM: "",//团号
ProductName: "",//商品名称
CustomerName: "",//客户名称
LureEmpId: 0,//引流人员
LineId: 0,//线路
TravelType: 0,//跟团类型 1跟团 2当地游
OrderType: "0",//订单类型
IsSelectCRM: 1,//1来源crm
IsMyOrder: 0,//1我的订单
FinishSTime: "", //完结开始时间
FinishETime: "", //完结结束时间
DepartSTime: "", //出发开始
DepartETime: "", //出发结束
TCNUM: "", //团号
ProductName: "", //商品名称
CustomerName: "", //客户名称
LureEmpId: 0, //引流人员
LineId: 0, //线路
TravelType: 0, //跟团类型 1跟团 2当地游
OrderType: "0", //订单类型
IsSelectCRM: 1, //1来源crm
IsMyOrder: 0, //1我的订单
},
total: 0,
currentOrder: null,
......@@ -420,40 +430,42 @@
handleCommand(command) {
let data = [{
path: "",
LureEmpNmae: this.detailsData.CreateByStr,//引流姓名
LureEmpId: this.detailsData.CreateBy,//引流id
LureEmpNmae: this.detailsData.CreateByStr, //引流姓名
LureEmpId: this.detailsData.CreateBy, //引流id
CRMGuestId: this.ID, //客人ID
CRMGuestName: this.detailsData.SurName+this.detailsData.Name //客人ID
CRMGuestName: this.detailsData.SurName + this.detailsData.Name //客人ID
}]
let href
let url = this.domainManager().erpRoutingUrl;
if (command == 1) {
this.addBusiness();
}else{
} else {
if (command == 2) {
data[0].path = 'VisaProductAddOrder'
href =url +"automaticLogin?token=" +this.getLocalStorage().token +"&data=" +JSON.stringify(data);
}else if (command == 3) {
href = url + "automaticLogin?token=" + this.getLocalStorage().token + "&data=" + JSON.stringify(
data);
} else if (command == 3) {
data[0].path = 'productQuery'
href =url +"automaticLogin?token=" +this.getLocalStorage().token +"&data=" +JSON.stringify(data);
}
else if (command == 4) {
href = url + "automaticLogin?token=" + this.getLocalStorage().token + "&data=" + JSON.stringify(
data);
} else if (command == 4) {
data[0].path = 'productQueryOne'
href =url +"automaticLogin?token=" +this.getLocalStorage().token +"&data=" +JSON.stringify(data);
}
else if (command == 5) {
href = url + "automaticLogin?token=" + this.getLocalStorage().token + "&data=" + JSON.stringify(
data);
} else if (command == 5) {
data[0].path = 'singleProductHotelList'
href =url +"automaticLogin?token=" +this.getLocalStorage().token +"&data=" +JSON.stringify(data);
}
else if (command == 6) {
href = url + "automaticLogin?token=" + this.getLocalStorage().token + "&data=" + JSON.stringify(
data);
} else if (command == 6) {
data[0].path = 'SingleticketList'
href =url +"automaticLogin?token=" +this.getLocalStorage().token +"&data=" +JSON.stringify(data);
}
else if (command == 7) {
href = url + "automaticLogin?token=" + this.getLocalStorage().token + "&data=" + JSON.stringify(
data);
} else if (command == 7) {
data[0].path = 'BookAcarList'
href =url +"automaticLogin?token=" +this.getLocalStorage().token +"&data=" +JSON.stringify(data);
href = url + "automaticLogin?token=" + this.getLocalStorage().token + "&data=" + JSON.stringify(
data);
}
if(href){
if (href) {
window.open(href);
}
......@@ -551,7 +563,7 @@
}
},
// 修改日期
modifiedDate(row){
modifiedDate(row) {
let $this = this
this.MsgBus.$emit("modifiedDateOrderBoxOpen", $this.ID, row, true);
},
......@@ -778,7 +790,7 @@
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
RelevanceFrId: num==2?1:row.OrderType, // 单据类型
RelevanceFrId: num == 2 ? 1 : row.OrderType, // 单据类型
}]
href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON
.stringify(data)
......@@ -885,7 +897,8 @@
if (this.userInfo.EmployeeId != row.EnterID && this.userInfo.EmployeeId != row.CreateBy) {
this.ValidateOperator()
} else {
if (row.OrderStatus==1&&(row.TicketStatus == 1||row.TicketStatus == 5) || (row.visaStatus == 0||row.visaStatus == 1)) {
if (row.OrderStatus == 1 && (row.TicketStatus == 1 || row.TicketStatus == 5) || (row.visaStatus ==
0 || row.visaStatus == 1)) {
let $this = this;
this.MsgBus.$emit("editOrderTicketOrderBoxOpen", $this.ID, row, true);
} else {
......@@ -898,15 +911,14 @@
if (this.userInfo.EmployeeId != row.EnterID && this.userInfo.EmployeeId != row.CreateBy) {
this.ValidateOperator()
} else {
if (row.OrderStatus==1&&(row.TicketStatus == 1||row.TicketStatus == 5) || (row.visaStatus == 0||row.visaStatus == 1)) {
if (row.OrderStatus == 1 && (row.TicketStatus == 1 || row.TicketStatus == 5) || (row.visaStatus ==
0 || row.visaStatus == 1)) {
let $this = this;
this.MsgBus.$emit("editTicketOrderBoxOpen", $this.ID, row, true);
} else {
this.emptyMore()
}
}
},
openDetails(row) {
let href
......
......@@ -241,7 +241,7 @@ export default {
let href
let url
if(this.isOnline()){
url = 'http://yx.oytour.com/#/'
url = 'http://admin.oytour.com/#/'
}else{
url = 'http://localhost:8081/#/'
}
......
const isOnline = function() {
const isOnline = function () {
return process.env.NODE_ENV !== 'development';
}
export default function() {
export default function () {
//CRM API
let domainUrl = "";
// domainUrl = "http://192.168.10.46:8500";
// domainUrl = "http://192.168.10.128:5003";
domainUrl = "http://192.168.10.9:8098";
// domainUrl = "http://crm.oytour.com"
//domainUrl = "http://localhost:5003";
let locationName = window.location.hostname;
let domainUrl = "http://192.168.5.46:5003";
//旅游ERPApi
let domainPostUrl = ""
domainPostUrl = "http://192.168.10.9:8083";
//domainPostUrl = "http://192.168.10.46";
let erpApiUrl = "http://192.168.5.46"
let erpSiteUrl = "";//ERP前端域名
let javaUrl="http://192.168.10.215:9000";//javaapi域名获取优惠卷
let ViittoFileUrl="http://192.168.5.214:8130";//文件预览站点
let UploadUrl="http://192.168.5.214:8120";//文件上传站点
if (isOnline()) {
if (window.location.host.indexOf('fcrmyx.oytour.com') != -1) {
domainUrl = "http://crm.oytour.com"
domainPostUrl = "http://reborn.oytour.com"
domainUrl = "http://crm.oytour.com";
erpApiUrl = "http://reborn.oytour.com";
javaUrl="http://efficient.oytour.com";
ViittoFileUrl="http://imgfile.oytour.com";
UploadUrl="http://uploadfile.oytour.com";
}
var storageUser = this.getLocalStorage();
if (isOnline()) {
erpSiteUrl = "http://admin.oytour.com/#/";
if (storageUser && storageUser.ERPUrl) {
erpSiteUrl = storageUser.ERPUrl + "/#/";
}
} else {
domainUrl = "http://testcrm.oytour.com"
domainPostUrl = "http://testapi.oytour.com"
erpSiteUrl = "http://localhost:8080/#/";
if (storageUser && storageUser.ERPUrl) {
erpSiteUrl = storageUser.ERPUrl + "/#/";
}
}
var obj = {
//主地址
DomainUrl: domainUrl,
DownLoadContractUrl: domainPostUrl,
DownLoadContractUrl: erpApiUrl,
//阿里服务器地址
AliUrl: "https://reborndev.oss-cn-hangzhou.aliyuncs.com",
//CRMApi地址
PostUrl: domainUrl,
//旅游ERPApi地址
ERPApiUrl: domainPostUrl + "/api/common/post",
ERPApiUrlFile: domainPostUrl + "/api/file/GetFileFromWebApi",
javaUrl: locationName.indexOf('testb2b') == -1 ? "http://efficient.oytour.com" : locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://47.96.12.235:9001" : "http://192.168.10.215:9000",
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://staticfile.oytour.com" : 'http://192.168.10.214:8130',
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://uploadfile.oytour.com" : "http://192.168.10.214:8120",
erpRoutingUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('testb2b.oytour.com') !== -1 ? "http://yx.oytour.com/#/" : "http://localhost:8081/#/"// "http://www.test.com:8081/#/",
ERPApiUrl: erpApiUrl + "/api/common/post",
ERPApiUrlFile: erpApiUrl + "/api/file/GetFileFromWebApi",
javaUrl: javaUrl,
ViittoFileUrl: ViittoFileUrl,
UploadUrl: UploadUrl,
erpRoutingUrl: erpSiteUrl
};
return obj;
}
\ No newline at end of file
......@@ -7,47 +7,47 @@ export default {
},
domainManager,
install(Vue, options) {
Vue.prototype.isOnline = function() {
Vue.prototype.isOnline = function () {
return process.env.NODE_ENV !== 'development';
},
};
//域名管理对象
Vue.prototype.domainManager = domainManager,
Vue.prototype.domainManager = domainManager;
//消息成功提示
Vue.prototype.Success = function(msg) {
Vue.prototype.Success = function (msg) {
this.$message({
message: msg,
duration: 2000,
type: "success"
});
},
}
//错误提示
Vue.prototype.Error = function(msg) {
Vue.prototype.Error = function (msg) {
this.$message({
message: msg,
duration: 2000,
type: "error"
});
},
}
//一般提示
Vue.prototype.Info = function(msg) {
Vue.prototype.Info = function (msg) {
this.$message({
message: msg,
duration: 2000,
type: "info"
});
},
}
//警告提示
Vue.prototype.Warning = function(msg) {
Vue.prototype.Warning = function (msg) {
this.$message({
message: msg,
duration: 2000,
type: "warning"
});
},
}
//Confirm
Vue.prototype.Confirm = function(msg, callback) {
Vue.prototype.Confirm = function (msg, callback) {
this.$confirm(msg, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -61,28 +61,10 @@ export default {
.catch(() => {
this.Info("已取消操作");
});
},
//压缩图片
//path : 图片路径
//type : m_filt 填充 m_w 宽度固定 高度不固定 m_h 高度固定 宽度不固定
// w : 宽
// h : 高
Vue.prototype.compressImg = function(path, type, w, h) {
let url = this.domainManager().UploadUrl;
let poise = 'width=';
w = w ? w : ''
h = h ? h : ''
if (type === 'w') {
poise = 'width'
} else if (type === 'h') {
poise = 'height'
}
return path.split('?')[0] + '?width=' + w;
}
//旅游ERP接口
Vue.prototype.apipost2 = function(cmd, msg, successCall, faildCall, isOnline) {
Vue.prototype.apipost2 = function (cmd, msg, successCall, faildCall, isOnline) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -131,7 +113,7 @@ export default {
}
//CRM接口
Vue.prototype.apipost = function(cmd, msg, successCall, faildCall) {
Vue.prototype.apipost = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -174,7 +156,7 @@ export default {
},
// 自动登录HTTP提交数据
Vue.prototype.apipostLogin = function(cmd, msg, successCall, faildCall) {
Vue.prototype.apipostLogin = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -217,7 +199,7 @@ export default {
},
//Java接口
Vue.prototype.apiJavaPost = function(cmd, msg, successCall, faildCall) {
Vue.prototype.apiJavaPost = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -269,7 +251,7 @@ export default {
},
//下载文件
Vue.prototype.GetLocalFile = function(cmd, msg, fileName, callBack) {
Vue.prototype.GetLocalFile = function (cmd, msg, fileName, callBack) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -311,12 +293,13 @@ export default {
};
callBack(result);
}
}).catch(function(res) {
}).catch(function (res) {
console.log("GetLocalFile", res);
});
}
//erp下载文件
Vue.prototype.GetLocalFile2 = function(cmd, msg, fileName, callBack) {
Vue.prototype.GetLocalFile2 = function (cmd, msg, fileName, callBack) {
if (msg == null || msg == "") {
msg = {}
}
......@@ -359,7 +342,7 @@ export default {
};
callBack(result);
}
}).catch(function(res) {
}).catch(function (res) {
console.log("GetLocalFile", res);
});
}
......
......@@ -66,13 +66,16 @@
</div>
</template>
<scr
<script>
import draggable from "vuedraggable";
import Vue from 'vue'
import addfield from './addfield.vue'
export default {
components: { draggable, addfield },
components: {
draggable,
addfield
},
data() {
return {
data: [],
......@@ -101,12 +104,14 @@
mounted() {
this.changePage()
this.getCustomerFieldType()
this.getDepartList()//获取部门
this.getFieldInputType()//输入类型
this.getDepartList() //获取部门
this.getFieldInputType() //输入类型
},
methods: {
changePage() {
this.apipost("/api/Scene/GetCustomerFiledList", {Enable: -1}, (res) => {
this.apipost("/api/Scene/GetCustomerFiledList", {
Enable: -1
}, (res) => {
if (res.data.resultCode == 1) {
this.data = res.data.data
}
......@@ -124,13 +129,11 @@
FiledId: dragId,
SortFiledId: olddragId,
}
this.apipost('/api/Scene/SetCustomerFiledState',msg,(res) => {
if (res.data.Code == 1) {
} else {//如果移动失败 重新获取列表
this.apipost('/api/Scene/SetCustomerFiledState', msg, (res) => {
if (res.data.Code == 1) {} else { //如果移动失败 重新获取列表
this.changePage()
}
})
},
getdata(e) {
this.dragId = e.draggedContext.element.Id
......@@ -141,7 +144,7 @@
FiledId: item.Id,
SortFiledId: 0,
}
this.apipost('/api/Scene/SetCustomerFiledState',msg,(res) => {
this.apipost('/api/Scene/SetCustomerFiledState', msg, (res) => {
if (res.data.Code == 1) {
this.$message.success({
icon: 'iconfont icon-chenggong',
......@@ -151,13 +154,13 @@
position: 'top'
})
this.changePage()
} else {//如果移动失败 重新获取列表
} else { //如果移动失败 重新获取列表
}
})
},
godelete(item, type) {
let text = ''
if (type == 1) {//tyep等于1和2的时候 先让弹出提示 然后再给予掉接口 所以把原本的值暂时先赋值给本身
if (type == 1) { //tyep等于1和2的时候 先让弹出提示 然后再给予掉接口 所以把原本的值暂时先赋值给本身
text = '确定修改启用状态'
if (item.Enable == 2) {
item.Enable = 1
......@@ -190,7 +193,7 @@
});
},
getCustomerFieldType() {
this.apipost('/api/Scene/GetCustomerFieldTypeEnumList',{},(res) => {
this.apipost('/api/Scene/GetCustomerFieldTypeEnumList', {}, (res) => {
if (res.data.Code == 1) {
this.tabsList = res.data.Data
this.tabsList.forEach(x => {
......@@ -205,7 +208,6 @@
},
goaddfield() {
this.Isadd = true;
console.log('@vue/composition-api goaddfield', this.Isadd)
this.addMsg = {
Id: 0,
Type: 1,
......@@ -232,14 +234,16 @@
}
},
getDepartList() {
this.apipost('/User/GetDeptTree',{ School_Id: 0 },(res) => {
this.apipost('/User/GetDeptTree', {
School_Id: 0
}, (res) => {
if (res.data.Code == 1) {
this.deptl = res.data.Data
}
})
},
getFieldInputType() {
this.apipost('/api/Scene/GetCustomerFieldInputTypeEnumList', {},(res) => {
this.apipost('/api/Scene/GetCustomerFieldInputTypeEnumList', {}, (res) => {
if (res.data.Code == 1) {
this.checkboxList = res.data.Data
}
......
......@@ -175,7 +175,7 @@
<p><span></span>新建场景</p>
<span icon="el-icon-close"></span>
</div>
<sceneBox :LableType="LableType" :sceneType="sceneType" :sceneDataList="sceneDataList"/>
<sceneBox :LableType="LableType" :sceneType="sceneType" :sceneDataList="sceneDataList" />
</el-dialog>
<!-- 高级筛选修改 -->
<el-dialog :visible.sync="sceneEditBoxShow" :close-on-click-modal="false" width="800px"
......@@ -564,15 +564,18 @@
},
Employee() {
let msg = {
RB_Group_id: this.userInfo.RB_Group_id,
RB_Group_id: 0,
BranchId: -1,
DepartmentId: 0,
PostId: 0,
IsLeave: 0,
};
if (this.userInfo && this.userInfo.RB_Group_id) {
msg.RB_Group_id = this.userInfo.RB_Group_id;
}
this.apipost2(
"admin_get_EmployeeGetList",
this.msg,
msg,
(res) => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
......
......@@ -8,7 +8,11 @@
<div class="head-icon">
<img src="http://imgfile.oytour.com/Upload/User/636681352035115417.jpg" />
</div>
<div class="publisher">徐总</div>
<div class="publisher">
<template v-if="groupModel&&groupModel.GroupName&&groupModel.GroupName!=''">
{{groupModel.ContactPersion}}
</template>
</div>
<div class="job">总经理</div>
<div class="content">職場上成功者與失敗者最大的分別就是,前者找機會,後者找藉口,今日的你痛恨每天上班「度日如年」,將來的你會感激經歷過這一切,你練成了更強大的自己,玻璃心不再怕碎。
</div>
......@@ -17,7 +21,11 @@
</el-carousel>
</div>
<div class="right-card">
<div class="company">四川和平国际旅行社有限公司</div>
<div class="company">
<template v-if="groupModel&&groupModel.GroupName&&groupModel.GroupName!=''">
{{groupModel.GroupName}}
</template>
</div>
<div class="t">登录</div>
<div class="field_wrap">
<div class="pwd_box">
......@@ -90,6 +98,7 @@
pwd: "",
isLogining: false,
isAutoLogin: false,
groupModel: {},
};
},
created() {
......@@ -100,7 +109,28 @@
this.pwd = autoLogin ? autoLogin.pwd : "";
this.isAutoLogin = autoLogin ? true : false;
},
mounted() {
this.getGroup();
},
methods: {
getGroup() { //获取集团
let Domain = window.location.hostname;
if (this.isOnline()) {
if (Domain == "fcrmyx.oytour.com") {
Domain = "admin.oytour.com";
} else {
Domain = Domain.replace("crm", '');
}
}
this.apipost2('admin_get_GetModelByDomain', {
'Domain': Domain
}, res => {
this.groupModel = res.data.data;
if (this.groupModel && this.groupModel.GroupName && this.groupModel.GroupName != '') {
document.title = "欢迎使用 " + this.groupModel.GroupName + " CRM系统";
}
}, err => {})
},
goLogin() {
if (this.account == "") {
return this.$message({
......@@ -121,13 +151,15 @@
};
if (!this.isOnline()) {
msg.Domain = "localhost";
} else {
let currentDomain = window.location.hostname;
msg.Domain = currentDomain;
}
this.apipost("/api/Login/UserLogin", msg, (res) => {
var jsonData = res.data;
if (jsonData.resultCode == 1) {
//登录成功
let autoLogin = this.isAutoLogin ?
{
let autoLogin = this.isAutoLogin ? {
acc: this.account,
pwd: this.pwd,
} :
......
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