Commit ba1474f1 authored by 黄媛媛's avatar 黄媛媛
parents c6085d73 332303e1
...@@ -677,5 +677,6 @@ export const obj = { ...@@ -677,5 +677,6 @@ export const obj = {
suoshusj: '所属上级', suoshusj: '所属上级',
shangpinlxmc: '商品类型名称', shangpinlxmc: '商品类型名称',
qingshangctp: '请上传图片', qingshangctp: '请上传图片',
kehuditu: '客户地图'
} }
export default obj; export default obj;
\ No newline at end of file
...@@ -677,5 +677,6 @@ xiugaishangplx: '修改商品類型', ...@@ -677,5 +677,6 @@ xiugaishangplx: '修改商品類型',
suoshusj: '所屬上級', suoshusj: '所屬上級',
shangpinlxmc: '商品類型名稱', shangpinlxmc: '商品類型名稱',
qingshangctp: '請上傳圖片', qingshangctp: '請上傳圖片',
kehuditu: '客戶地圖'
} }
export default obj; export default obj;
\ No newline at end of file
This diff is collapsed.
<style> <style>
.CM_look { .CM_look {
padding: 4px !important; padding: 4px !important;
position: relative; position: relative;
top: 1px; top: 1px;
} }
</style> </style>
<template> <template>
<div class="flexOne"> <div class="flexOne">
<div class="query-box"> <div class="query-box">
<ul> <ul>
<li> <li>
<input type="button" class="normalBtn" :value="$t('pub.addBtn')" @click="isShow=true,dialogTitle=$t('ground.xinzengjdgyfs')" /> <input
type="button"
class="normalBtn"
:value="$t('pub.addBtn')"
@click="(isShow = true), (dialogTitle = $t('ground.xinzengjdgyfs'))"
/>
</li> </li>
</ul> </ul>
<el-dialog :title="dialogTitle" :visible.sync="isShow" center custom-class="w460"> <el-dialog
:title="dialogTitle"
:visible.sync="isShow"
center
custom-class="w460"
>
<el-form :model="addMsg" label-width="100px"> <el-form :model="addMsg" label-width="100px">
<el-form-item :label="$t('hotel.suplier_name')" prop="Name"> <el-form-item :label="$t('hotel.suplier_name')" prop="Name">
{{SupplierName}} {{ SupplierName }}
</el-form-item> </el-form-item>
<el-form-item :label="$t('hotel.hotel')"> <el-form-item :label="$t('hotel.hotel')">
<el-select v-model="addMsg.HotelId" filterable :placeholder="$t('pub.pleaseSel')" class="w220"> <el-select
v-model="addMsg.HotelId"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w220"
>
<el-option :label="$t('pub.pleaseSel')" :value="0"></el-option> <el-option :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for='item in HotelList' :key="item.ID" :label="item.Name" :value="item.ID"> <el-option
v-for="item in HotelList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('fnc.fkfangshi')"> <el-form-item :label="$t('fnc.fkfangshi')">
<el-select v-model="addMsg.SubPayType" filterable :placeholder="$t('pub.pleaseSel')" class="w220"> <el-select
v-model="addMsg.SubPayType"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w220"
>
<el-option :label="$t('pub.pleaseSel')" :value="0"></el-option> <el-option :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for='item in PayTypeList' :key="item.Id" :label="item.name" :value="item.Id"> <el-option
v-for="item in PayTypeList"
:key="item.Id"
:label="item.name"
:value="item.Id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('hotel.hotel_StartDate')"> <el-form-item :label="$t('hotel.hotel_StartDate')">
<el-date-picker class="w220" type="date" v-model="addMsg.StartDate" :picker-options="pickerBeginDateBefore" <el-date-picker
value-format="yyyy-MM-dd" placeholder></el-date-picker> class="w220"
type="date"
v-model="addMsg.StartDate"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('hotel.hotel_EndDate')"> <el-form-item :label="$t('hotel.hotel_EndDate')">
<el-date-picker class="w220" type="date" v-model="addMsg.EndDate" :picker-options="pickerBeginDateAfter" <el-date-picker
value-format="yyyy-MM-dd" placeholder></el-date-picker> class="w220"
type="date"
v-model="addMsg.EndDate"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="initData(),isShow = false">{{$t('pub.cancelBtn')}}</button> &nbsp; <button class="hollowFixedBtn" @click="initData(), (isShow = false)">
<button class="normalBtn" type="primary" @click="SaveData()">{{$t('pub.sureBtn')}}</button> {{ $t("pub.cancelBtn") }}
</button>
&nbsp;
<button class="normalBtn" type="primary" @click="SaveData()">
{{ $t("pub.sureBtn") }}
</button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <table
class="singeRowTable"
border="0"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<tr> <tr>
<th>{{$t('hotel.hotel')}}</th> <th>{{ $t("hotel.hotel") }}</th>
<th>{{$t('hotel.hotel_StartDate')}}</th> <th>{{ $t("hotel.hotel_StartDate") }}</th>
<th>{{$t('hotel.hotel_EndDate')}}</th> <th>{{ $t("hotel.hotel_EndDate") }}</th>
<th>{{$t('fnc.fkfangshi')}}</th> <th>{{ $t("fnc.fkfangshi") }}</th>
<th>{{$t('system.table_operation')}}</th> <th>{{ $t("system.table_operation") }}</th>
</tr> </tr>
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td>{{item.HotelName}}</td> <td>{{ item.HotelName }}</td>
<td>{{item.StartDateStr}}</td> <td>{{ item.StartDateStr }}</td>
<td>{{item.EndDateStr}}</td> <td>{{ item.EndDateStr }}</td>
<td>{{item.SubPayTypeStr}}</td> <td>{{ item.SubPayTypeStr }}</td>
<td> <td>
<el-tooltip class="item" effect="dark" :content="$t('system.table_edit')" placement="top-start"> <el-tooltip
<el-button type="primary" class="iconfont icon-bianji-smal" class="item"
@click="GetData(item.Id),isShow=true,dialogTitle=$t('ground.xinzengjdgyfs')"></el-button> effect="dark"
:content="$t('system.table_edit')"
placement="top-start"
>
<el-button
type="primary"
class="iconfont icon-bianji-smal"
@click="
GetData(item.Id),
(isShow = true),
(dialogTitle = $t('ground.xinzengjdgyfs'))
"
></el-button>
</el-tooltip> </el-tooltip>
</td> </td>
</tr> </tr>
...@@ -74,17 +138,17 @@ ...@@ -74,17 +138,17 @@
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
msg: { msg: {
SupplierId: 0, SupplierId: 0
}, },
loading: false, loading: false,
isShow: false, //是否显示新增修改 isShow: false, //是否显示新增修改
//供应商名称 //供应商名称
SupplierName: "", SupplierName: "",
dialogTitle: this.$t('ground.xinzengjdgyfs'), dialogTitle: this.$t("ground.xinzengjdgyfs"),
//数据源 //数据源
dataList: [], dataList: [],
HotelList: [], //酒店列表 HotelList: [], //酒店列表
...@@ -95,33 +159,37 @@ ...@@ -95,33 +159,37 @@
HotelId: 0, HotelId: 0,
StartDate: "", StartDate: "",
EndDate: "", EndDate: "",
SubPayType: 0, SubPayType: 0
}, },
//付款方式 //付款方式
PayTypeList: [{ PayTypeList: [
name: this.$t('ground.xianfu'), {
name: this.$t("ground.xianfu"),
Id: 1 Id: 1
}, { },
name: this.$t('ground.qiandan'), {
name: this.$t("ground.qiandan"),
Id: 2 Id: 2
}], },
{ name: this.$t("ground.yufu"), Id: 4 }
],
pickerBeginDateBefore: { pickerBeginDateBefore: {
disabledDate: time => { disabledDate: time => {
if (this.addMsg.EndDate == null) { if (this.addMsg.EndDate == null) {
return false; return false;
} else { } else {
let endTime = new Date(this.addMsg.EndDate) let endTime = new Date(this.addMsg.EndDate);
return endTime.getTime() < time.getTime() return endTime.getTime() < time.getTime();
} }
} }
}, },
pickerBeginDateAfter: { pickerBeginDateAfter: {
disabledDate: time => { disabledDate: time => {
let startTime = new Date(this.addMsg.StartDate) let startTime = new Date(this.addMsg.StartDate);
return startTime.getTime() >= time.getTime() return startTime.getTime() >= time.getTime();
}
} }
} }
};
}, },
mounted() { mounted() {
this.msg.SupplierId = this.$route.query.ID; this.msg.SupplierId = this.$route.query.ID;
...@@ -142,19 +210,19 @@ ...@@ -142,19 +210,19 @@
}, },
SaveData() { SaveData() {
if (this.addMsg.HotelId <= 0) { if (this.addMsg.HotelId <= 0) {
this.Info(this.$t('ground.qingxuanzejiud')); this.Info(this.$t("ground.qingxuanzejiud"));
return; return;
} }
if (this.addMsg.SubPayType <= 0) { if (this.addMsg.SubPayType <= 0) {
this.Info(this.$t('ground.qingxuanzefkfs')); this.Info(this.$t("ground.qingxuanzefkfs"));
return; return;
} }
if (this.addMsg.StartDate == "") { if (this.addMsg.StartDate == "") {
this.Info(this.$t('ground.qingxuanzekssjs')); this.Info(this.$t("ground.qingxuanzekssjs"));
return; return;
} }
if (this.addMsg.EndDate == "") { if (this.addMsg.EndDate == "") {
this.Info(this.$t('ground.qingxuanzejssjs')); this.Info(this.$t("ground.qingxuanzejssjs"));
return; return;
} }
this.apipost( this.apipost(
...@@ -177,7 +245,8 @@ ...@@ -177,7 +245,8 @@
//根据编号获取实体 //根据编号获取实体
GetData(Id) { GetData(Id) {
this.apipost( this.apipost(
"supplier_post_GetEntityService", { "supplier_post_GetEntityService",
{
Id: Id Id: Id
}, },
res => { res => {
...@@ -217,7 +286,8 @@ ...@@ -217,7 +286,8 @@
getHotelList() { getHotelList() {
this.loading = true; this.loading = true;
this.apipost( this.apipost(
"hotel_post_GetList", { "hotel_post_GetList",
{
QCountry: 651 QCountry: 651
}, },
res => { res => {
...@@ -230,8 +300,7 @@ ...@@ -230,8 +300,7 @@
}, },
null null
); );
},
} }
} }
};
</script> </script>
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
</ul> </ul>
{{$t('ground.jisuan1')}} <br /> {{$t('ground.jisuan1')}} <br />
{{$t('ground.jisuan2')}} <br /> {{$t('ground.jisuan2')}} <br />
{{$t('ground.sidaobsuan')}} {{$t('ground.sidaobsuan')}}<br />
付款方式是现付的,必須上传手配书.
</div> </div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " :style="{height: boxHeight + 'px'}" <div style="width: 100%; overflow-x: auto;padding-bottom: 10px; " :style="{height: boxHeight + 'px'}"
class="ownScrollbarStyle" ref="ownScrollbarStyle"> class="ownScrollbarStyle" ref="ownScrollbarStyle">
...@@ -164,7 +165,10 @@ ...@@ -164,7 +165,10 @@
<tr> <tr>
<td colspan="2"> <td colspan="2">
<p style="padding-top: 5px;"> <p style="padding-top: 5px;">
<a v-if="subItem.ContractUrl" target="_blank" style="color:green" :href="subItem.ContractUrl">已上传手配书</a> <template v-if="subItem.ContractUrl!=''">
<span style="color:green">已上传手配书</span>
&nbsp;&nbsp;<a v-if="subItem.ContractUrl" target="_blank" style="color:red" :href="subItem.ContractUrl">查看</a>
</template>
</p> </p>
<el-upload :http-request="uploadFileBtnS" :multiple="false" :show-file-list="false" action=''> <el-upload :http-request="uploadFileBtnS" :multiple="false" :show-file-list="false" action=''>
<el-button size="small" type="danger" @click='getItem(index, subIndex)'> <el-button size="small" type="danger" @click='getItem(index, subIndex)'>
...@@ -875,8 +879,8 @@ ...@@ -875,8 +879,8 @@
var str=""; var str="";
this.list.forEach(item => { this.list.forEach(item => {
item.HotelOrderList.forEach(subItem => { item.HotelOrderList.forEach(subItem => {
if(isUpload&&subItem.PayStyle==1&&subItem.ContractUrl==''){ if(isUpload&&subItem.PayStyle==1&&subItem.ContractUrl==''&&this.CurrentUserInfo.EmployeeId!=615){
str+="" str+=`请上传${item.UseTimeStr}的手配书`
isUpload=false; isUpload=false;
} }
subItem.OrderDetailsList.forEach((y, sIndex) => { subItem.OrderDetailsList.forEach((y, sIndex) => {
...@@ -907,8 +911,10 @@ ...@@ -907,8 +911,10 @@
} }
}); });
}) })
if(!isUpload){
if(flag){ this.Error(str);
return;
}
this.loading = true; this.loading = true;
this.apipost('dmcstatistics_get_SetHotelOrder', this.list, res => { this.apipost('dmcstatistics_get_SetHotelOrder', this.list, res => {
this.loading = false; this.loading = false;
...@@ -919,19 +925,20 @@ ...@@ -919,19 +925,20 @@
this.Error(res.data.message); this.Error(res.data.message);
} }
}, err => {}) }, err => {})
}
}, },
//单条保存 //单条保存
SaveSingle(item) { SaveSingle(item) {
item.HotelOrderState = 1; item.HotelOrderState = 1;
var flag=true; var flag=true;
var isUpload=true;
var str="";
this.list.forEach(item => { this.list.forEach(item => {
item.HotelOrderList.forEach(subItem => { item.HotelOrderList.forEach(subItem => {
subItem.OrderDetailsList.forEach(y => { if(isUpload&&subItem.PayStyle==1&&subItem.ContractUrl==''&&this.CurrentUserInfo.EmployeeId!=615){
if(subItem.CurrencyId==3&&subItem.ContractUrl==''){ str+=`请上传${item.UseTimeStr}的手配书`
this.Error('请上传手配书'); isUpload=false;
flag=false;
} }
subItem.OrderDetailsList.forEach(y => {
if (y.HouseTypeCount) { if (y.HouseTypeCount) {
y.HouseTypeCount = parseFloat(y.HouseTypeCount); y.HouseTypeCount = parseFloat(y.HouseTypeCount);
} else { } else {
...@@ -960,7 +967,10 @@ ...@@ -960,7 +967,10 @@
} }
}); });
}) })
if(flag){ if(!isUpload){
this.Error(str);
return;
}
let mag = { let mag = {
TotalList: this.list, TotalList: this.list,
SingleItem: item SingleItem: item
...@@ -973,7 +983,6 @@ ...@@ -973,7 +983,6 @@
this.Error(res.data.message); this.Error(res.data.message);
} }
}, err => {}) }, err => {})
}
}, },
// 获取供应商 // 获取供应商
......
...@@ -363,13 +363,24 @@ ...@@ -363,13 +363,24 @@
<span v-else-if="subItem.DMCPayType === 9">月结</span> <span v-else-if="subItem.DMCPayType === 9">月结</span>
<span v-else-if="subItem.DMCPayType === 11">刷卡</span> <span v-else-if="subItem.DMCPayType === 11">刷卡</span>
<span v-else-if="subItem.DMCPayType === 10">领队导游垫付</span> <span v-else-if="subItem.DMCPayType === 10">领队导游垫付</span>
</br> <br/>
<span v-show="subItem.DMCPayType==6">付款团号:{{subItem.PayTypeTCNUM}}</span> <span v-show="subItem.DMCPayType==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td> </td>
<td v-if="childIndex==0" :rowspan="6"> <td v-if="childIndex==0" :rowspan="6">
<span>{{subItem.SupplierName}} <span v-if="subItem.SupplierPayType !== 0" <span>{{subItem.SupplierName}}
:style="{'color': subItem.SupplierPayType == 2 ? '#E95252': '#111111'}">{{subItem.SupplierPayType == 2 ? '签单' : '现付'}}</span></span> <br/>
<template v-if="subItem.SupplierPayType !== 0">
<span v-if="subItem.SupplierPayType == 1">
现付
</span>
<span v-else-if="subItem.SupplierPayType == 2">
签单
</span>
<span v-else-if="subItem.SupplierPayType == 4">
预付
</span>
</template>
</span>
<div v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">无手配费</div> <div v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">无手配费</div>
<div v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</div> <div v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</div>
......
<style>
.customerMap{
width: 100%;
height: 100%;
}
</style>
<template>
<div class="customerMap">
<div :style="{height:'100%',width:'100%'}" ref="myEchart" id="centerMpBaidu"></div>
</div>
</template>
<script>
export default {
data() {
return {
map: {},
baiduMapData: [
{ lng: 120.03469, lat: 30.303904, type: 2},
{ lng: 120.088499, lat: 30.275182, type: 2},
{ lng: 120.089249, lat: 30.317759, type: 0},
{ lng: 120.161941, lat: 30.283073, type: 0 },
{ lng: 120.174941, lat: 30.275073, type: 0 },
{ lng: 120.186941, lat: 30.297073, type: 1 },
{ lng: 120.198941, lat: 30.299073, type: 1 },
]
};
},
methods: {
creatMap(){
let _this = this
let data = this.baiduMapData;
//实例化,并设置最大最小缩放层级
const map = new BMap.Map("centerMpBaidu", {
minZoom: 3,
maxZoom: 20,
});
//设置中心点、默认缩放层级
if (data.length > 0) {
map.centerAndZoom(new BMap.Point(data[0].lng, data[0].lat), 10);
} else {
map.centerAndZoom(new BMap.Point(104.0727017791, 30.6643622306), 10);
}
//可以鼠标缩放
map.enableScrollWheelZoom(true);
const points = data
const markerClusterers = [[], [], []]
points.forEach(item => {
//实例化点
const point = new BMap.Point(item.lng, item.lat)
//自定义点的样式
// type 0 激活 绿色 20191125015057879
// 1 未拜访 紫色 20191125015102111
// 2 未激活 红色 20191125015100234
const icon = new BMap.Icon(
item.type === 0 ? 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015057879.png' : item.type === 1 ? 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015102111.png' : 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015100234.png',
new BMap.Size(30, 30)
);
//生成点标注
const marker = new BMap.Marker(point, { icon: icon });
// const infoWindow = new BMap.InfoWindow('简易的信息窗口')
//绑定事件,显示窗口
marker.addEventListener("click", function(){
_this.markerClick(point, item)
// map.openInfoWindow(infoWindow,point);
});
markerClusterers[item.type || 0].push(marker)
//添加点标注即添加覆盖物
map.addOverlay(marker);
})
// //2种聚合的实现
const size = new BMap.Size( 30, 30 )
var markerClusterer1 = new window.BMapLib.MarkerClusterer(map, {
markers: markerClusterers[1],
styles: [{
url:'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015102111.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015102111.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015102111.png',
size: size,
textSize: 18,
textColor: 'white',
}]
})
var markerClusterer2 = new window.BMapLib.MarkerClusterer(map, {
markers: markerClusterers[2],
styles: [{
url:'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015100234.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015100234.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015100234.png',
size: size,
textSize: 18,
textColor: 'white',
}]
})
var markerClusterer4 = new window.BMapLib.MarkerClusterer(map, { markers: markerClusterers[0],
styles: [{
url:'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015057879.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015057879.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125015057879.png',
size: size,
textSize: 18,
textColor: 'white',
}] })
this.map = map
},
markerClick(point, item){
this.apipost('financestatistics_post_GetCustomerInfoForB2BKB', {CustomerId: item.CustomerId}, res=>{
if(res.data.resultCode == 1) {
const infoWindow = new BMap.InfoWindow(`
<p>联系人:${res.data.data.Contact}</p>
<p>联系电话:${res.data.data.ContactNumber}</p>
<p>门店名称:${res.data.data.CustomerName}</p>
<p>门店地址:${res.data.data.Address}</p>
`)
this.map.openInfoWindow(infoWindow, point);
}
})
}
},
mounted() {
this.creatMap()
}
};
</script>
\ No newline at end of file
...@@ -75,6 +75,12 @@ ...@@ -75,6 +75,12 @@
</li> </li>
<li style="float:right;padding-top:10px;color:#111111">{{$t('salesModule.JYETJ')}}{{datainfo.sumMoney}}</li> <li style="float:right;padding-top:10px;color:#111111">{{$t('salesModule.JYETJ')}}{{datainfo.sumMoney}}</li>
<li> <li>
<input
type="button"
class="hollowFixedBtn"
:value="$t('ground.kehuditu')"
@click="getMap()"
>
<input <input
type="button" type="button"
class="hollowFixedBtn" class="hollowFixedBtn"
...@@ -633,6 +639,9 @@ export default { ...@@ -633,6 +639,9 @@ export default {
getUrl(item){ getUrl(item){
this.$router.push({ name:"CustomerAnalysis",query:{"customerId":item.CustomerIdS,blank: 'y'} }) this.$router.push({ name:"CustomerAnalysis",query:{"customerId":item.CustomerIdS,blank: 'y'} })
}, },
getMap(){
this.$router.push({ name:"customerMap",query:{blank: 'y'} })
},
updateData: function(obj) { updateData: function(obj) {
this.apipost( this.apipost(
"app_customer_GetLeaderCustomerInfo", "app_customer_GetLeaderCustomerInfo",
......
<style>
.syslog_Content {
width: 100%;
}
.syslog_ul li {
width: 100%;
min-height: 135px;
margin-bottom: 10px;
}
.syslog_top {
width: 100%;
height: 34px;
line-height: 34px;
background-color: #dfdfdf;
}
.sys_content {
width: 100%;
min-height: 101px;
padding: 20px;
font-size: 14px;
background-color: #fff;
}
.appUpdateLog .ql-editor {
min-height: 200px;
}
.sysTop_left {
float: left;
}
.sysTop_banben {
display: inline-block;
color: #38425d;
font-size: 14px;
font-weight: bold;
margin: 0 30px;
}
.sysTop_uptime {
font-size: 14px;
color: #666666;
}
.sysTop_right {
float: right;
margin-right: 30px;
}
.sysliteleBtn {
color: #fff;
padding: 0 10px;
height: 20px;
background: #e95252;
border: 1px solid #e95252;
cursor: pointer;
border-radius: 15px;
margin-left: 10px;
}
</style>
<template>
<div class="flexOne appUpdateLog">
<table v-loading="loading" class="singeRowTable">
<tr>
<th width="150">名称</th>
<th width="150">Code</th>
<th>Content</th>
<th width="100">操作</th>
</tr>
<tr v-for="(item, index) in dataList" :key="index">
<td>
{{ item.Name }}
</td>
<td>
{{ item.Code }}
</td>
<td style="text-align:left;padding:0 5px;">
{{ item.Content }}
</td>
<td>
<input
type="button"
class="sysliteleBtn"
@click="updateLog(item)"
value="修改"
/>
</td>
</tr>
</table>
<el-dialog
custom-class="w800"
:title="dialogTitle"
:visible.sync="outerVisible"
center
>
<el-form :model="addMsg" label-width="80px">
<table style="width:100%">
<tr>
<td colspan="2">
<el-form-item label="更新內容">
<el-input
v-model="addMsg.Content"
class="w595"
placeholder="请输入"
/>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" @click="SaveAppLog()">
{{ $t("pub.saveBtn") }}
</button>
&nbsp;
<button
class="hollowFixedBtn"
@click="(outerVisible = false), clearMsg()"
>
{{ $t("pub.cancelBtn") }}
</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
msg: {},
loading: false,
dataList: [],
dialogTitle: "",
outerVisible: false,
addMsg: {
ID: 0,
Content: ""
}
};
},
methods: {
getList() {
//获取现有线路列表
this.loading = true;
this.apipost(
"admin_get_GetDictValueListService",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//修改获取数据
updateLog(item) {
this.addMsg.ID = item.ID;
this.addMsg.Content = item.Content;
this.dialogTitle = "修改更新日志";
this.outerVisible = true;
},
clearMsg() {
this.addMsg.ID = 0;
this.addMsg.Content = "";
},
SaveAppLog() {
this.apipost(
"admin_post_SetDictValueListService",
this.addMsg,
res => {
if (res.data.resultCode == 1) {
this.outerVisible = false;
this.clearMsg();
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
},
err => {}
);
}
},
mounted() {
this.getList();
}
};
</script>
...@@ -940,6 +940,14 @@ export default { ...@@ -940,6 +940,14 @@ export default {
title: '系统更新与日志管理' title: '系统更新与日志管理'
}, },
}, },
{
path: '/appUpdateLog', //App更新与日志管理
name: 'appUpdateLog',
component: resolve => require(['@/components/systemManagement/appUpdateLog'], resolve),
meta: {
title: '系统更新与日志管理'
},
},
{ {
path: '/destinationManagement', //目的地管理 path: '/destinationManagement', //目的地管理
name: 'destinationManagement', name: 'destinationManagement',
...@@ -2200,6 +2208,14 @@ export default { ...@@ -2200,6 +2208,14 @@ export default {
title: '客户转交' title: '客户转交'
}, },
}, },
{ // 客户 地图
path: '/customerMap',
name: 'customerMap',
component: resolve => require(['@/components/SalesModule/customerMap'], resolve),
meta: {
title: '客户地图'
},
},
{ // 销售 活动统计 { // 销售 活动统计
path: '/ActivityStatistics', path: '/ActivityStatistics',
name: 'ActivityStatistics', name: 'ActivityStatistics',
......
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