@@ -1024,3 +1024,11 @@ export function templategetMarketingTree(query) { | |||
params:query | |||
}) | |||
} | |||
//导出文件 | |||
export function exportFile(data) { | |||
return request({ | |||
url: 'autoSR/equipReceive/findByPage', | |||
method:'post', | |||
data | |||
}) | |||
} |
@@ -113,7 +113,7 @@ | |||
</div> | |||
<div class="content" v-if="flag == 3"> | |||
<div class="search"> | |||
<span style="line-height: 32px; margin-right: 20px">片区:</span> | |||
<span style="line-height: 32px; margin-right: 20px">地区:</span> | |||
<el-cascader | |||
:props="props" | |||
v-if="info.selectHouseType == 1" | |||
@@ -136,7 +136,7 @@ | |||
v-for="item in options" | |||
:key="item.id" | |||
:label="item.areaName" | |||
:value="item.provinceItem" | |||
:value="item.id" | |||
> | |||
</el-option> | |||
</el-select> | |||
@@ -342,7 +342,7 @@ export default { | |||
if (this.info.selectHouseType == 2) { | |||
this.$api.api | |||
.findHouseByArea({ | |||
provinceItem: this.area, | |||
id: this.area, | |||
...obj | |||
}) | |||
.then((res) => { | |||
@@ -123,6 +123,8 @@ | |||
if(value=='/wel/index'){return} | |||
if (action === 'remove') { | |||
let { tag, key } = this.findTag(value) | |||
// console.log(tag,'关闭的标签'); | |||
// return | |||
this.$store.commit('DEL_TAG', tag) | |||
if (tag.value === this.tag.value) { | |||
tag = this.tagList[key === 0 ? key : key - 1] // 如果关闭本标签让前推一个 | |||
@@ -47,6 +47,7 @@ const navs = { | |||
state.tagList = state.tagList.filter(item => { | |||
return !diff(item, action) | |||
}) | |||
// console.log(state,action,'内容'); | |||
setFistTag(state.tagList) | |||
setStore({ name: 'tagList', content: state.tagList, type: 'session' }) | |||
}, | |||
@@ -62,10 +62,13 @@ export const diff = (obj1, obj2) => { | |||
var o1 = obj1 instanceof Object | |||
var o2 = obj2 instanceof Object | |||
if (!o1 || !o2) { /* 判断不是对象 */ | |||
// console.log(1); | |||
return obj1 === obj2 | |||
} | |||
if (Object.keys(obj1).length !== Object.keys(obj2).length) { | |||
// console.log(2); | |||
console.log(Object.keys(obj1).length,Object.keys(obj2).length); | |||
return false | |||
// Object.keys() 返回一个由对象的自身可枚举属性(key值)组成的数组,例如:数组返回下表:let arr = ["a", "b", "c"];console.log(Object.keys(arr))->0,1,2; | |||
} | |||
@@ -74,11 +77,15 @@ export const diff = (obj1, obj2) => { | |||
var t1 = obj1[attr] instanceof Object | |||
var t2 = obj2[attr] instanceof Object | |||
if (t1 && t2) { | |||
// console.log(3); | |||
return diff(obj1[attr], obj2[attr]) | |||
} else if (obj1[attr] !== obj2[attr]) { | |||
// console.log(obj1[attr],obj2[attr]); | |||
// console.log(4); | |||
return false | |||
} | |||
} | |||
// console.log(5); | |||
return true | |||
} | |||
/** | |||
@@ -53,7 +53,22 @@ | |||
</div> | |||
<div class="label">运营人员:</div> | |||
<div > | |||
<el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> | |||
<!-- <el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> --> | |||
<el-select | |||
v-model="operationalId" | |||
placeholder="请选择" | |||
class="div-inp" | |||
filterable | |||
clearable | |||
> | |||
<el-option | |||
v-for="item in operaList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
</div> | |||
@@ -553,6 +568,8 @@ export default { | |||
provinceId:'', | |||
cityId:'', | |||
areaList:[], | |||
operaList:[], | |||
operationalId:'', | |||
timelist:'', | |||
tableData: [], | |||
addressOptions: [], | |||
@@ -704,11 +721,32 @@ export default { | |||
this.contractEndDate=this.timelist[1]; | |||
this.serviceStatus=this.$route.query.serviceStatus; | |||
} | |||
// 获取运营人员 | |||
this.getOperaList() | |||
// 获取地区列表 | |||
// this.getCityList() | |||
this.getAgentList() | |||
}, | |||
methods: { | |||
getOperaList(){ | |||
if (this.orgType == 1) { | |||
this.$api.http | |||
.getAllOperationsStaffByAgent({ | |||
agentId: localStorage.getItem('agentId'), | |||
}) | |||
.then((res) => { | |||
// console.log(1); | |||
this.operaList = res.data; | |||
// this.operaVisible = true; | |||
}); | |||
} else { | |||
this.$api.http.getAllOperationsStaff().then((res) => { | |||
this.operaList = res.data; | |||
// this.operaVisible = true; | |||
// console.log(2); | |||
}); | |||
} | |||
}, | |||
getCityList(){ | |||
this.$api.api.getAreaList({parentId:0}) | |||
.then(res=>{ | |||
@@ -1022,6 +1060,7 @@ export default { | |||
this.operationalName=''; | |||
this.provinceId='' | |||
this.cityId='' | |||
this.operationalId='' | |||
this.pageNum=1 | |||
this.area=[] | |||
this.getAgentList() | |||
@@ -1040,6 +1079,7 @@ export default { | |||
contractEndDate:this.contractEndDate, | |||
serviceStatus:this.serviceStatus, | |||
agentName:this.agentName, | |||
operationalId:this.operationalId, | |||
provinceId:this.provinceId, | |||
cityId:this.cityId, | |||
operationalName:this.operationalName, | |||
@@ -11,13 +11,32 @@ | |||
<div> | |||
<el-input maxlength="30" clearable v-model="name"></el-input> | |||
</div> | |||
<div v-if="orgType == 0" class="label">运营人员:</div> | |||
<!-- <div v-if="orgType == 0" class="label">运营人员:</div> | |||
<div v-if="orgType == 0"> | |||
<el-input | |||
maxlength="10" | |||
clearable | |||
v-model="operationStaffName" | |||
></el-input> | |||
</div> --> | |||
<div class="label">运营人员:</div> | |||
<div > | |||
<!-- <el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> --> | |||
<el-select | |||
v-model="operationStaffId" | |||
placeholder="请选择" | |||
class="div-inp" | |||
filterable | |||
clearable | |||
> | |||
<el-option | |||
v-for="item in operaList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="label" style="line-height: 30px; min-width: 80px"> | |||
地区: | |||
@@ -685,6 +704,8 @@ export default { | |||
pageSize: 10, | |||
provinceId: "", | |||
areaList: [], | |||
operaList:[], | |||
operationStaffId:'', | |||
orgType: "", | |||
sysFlag: "0", | |||
replaceagentobj: { | |||
@@ -782,9 +803,18 @@ export default { | |||
this.orgType = localStorage.getItem("orgType"); | |||
// 获取地区列表 | |||
// this.getCityList(); | |||
this.getOperaList() | |||
this.getcompanyList(); | |||
}, | |||
methods: { | |||
getOperaList(){ | |||
this.$api.http.getAllOperationsStaff().then((res) => { | |||
this.operaList = res.data; | |||
// this.operaVisible = true; | |||
// console.log(2); | |||
}); | |||
}, | |||
getCityList() { | |||
this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | |||
// console.log(res,'地区列表'); | |||
@@ -1184,6 +1214,7 @@ export default { | |||
this.pageNum = 1; | |||
this.provinceId = ""; | |||
this.cityId = ""; | |||
this.operationStaffId = ""; | |||
this.area=[] | |||
this.getcompanyList(); | |||
}, | |||
@@ -1201,6 +1232,7 @@ export default { | |||
cityId: this.cityId, | |||
operatorName: this.operatorName, | |||
operationStaffName: this.operationStaffName, | |||
operationStaffId: this.operationStaffId, | |||
name: this.name, | |||
operationType: 1, | |||
agentId: localStorage.getItem("agentId"), | |||
@@ -11,15 +11,33 @@ | |||
<div> | |||
<el-input maxlength="30" clearable v-model="name"></el-input> | |||
</div> | |||
<div v-if="orgType == 0" class="label">运营人员:</div> | |||
<!-- <div v-if="orgType == 0" class="label">运营人员:</div> | |||
<div v-if="orgType == 0"> | |||
<el-input | |||
maxlength="10" | |||
clearable | |||
v-model="operationStaffName" | |||
></el-input> | |||
</div> --> | |||
<div class="label">运营人员:</div> | |||
<div > | |||
<!-- <el-input maxlength="10" class="div-inp" clearable v-model="operationalName"></el-input> --> | |||
<el-select | |||
v-model="operationStaffId" | |||
placeholder="请选择" | |||
class="div-inp" | |||
filterable | |||
clearable | |||
> | |||
<el-option | |||
v-for="item in operaList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div class="label" style="line-height: 30px;min-width: 80px;">地区:</div> | |||
<!-- <el-select | |||
v-model="provinceId" | |||
@@ -496,6 +514,8 @@ export default { | |||
provinceId: "", | |||
cityId:'', | |||
areaList: [], | |||
operaList:[], | |||
operationStaffId:'', | |||
dialogVisible3: false, | |||
resetFlag: false, | |||
operaVisible: false, | |||
@@ -594,9 +614,19 @@ export default { | |||
this.orgType = localStorage.getItem("orgType"); | |||
// 获取地区列表 | |||
// this.getCityList(); | |||
this.getOperaList() | |||
this.getcompanyList(); | |||
}, | |||
methods: { | |||
getOperaList(){ | |||
this.$api.http | |||
.getAllOperationsStaffByAgent({ | |||
agentId: localStorage.getItem('agentId'), | |||
}) | |||
.then((res) => { | |||
this.operaList = res.data; | |||
}); | |||
}, | |||
getCityList() { | |||
this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | |||
// console.log(res,'地区列表'); | |||
@@ -925,6 +955,7 @@ export default { | |||
this.name = ""; | |||
this.provinceId = ""; | |||
this.cityId = ""; | |||
this.operationStaffId = ""; | |||
this.pageNum = 1; | |||
this.area=[] | |||
this.getcompanyList(); | |||
@@ -942,6 +973,7 @@ export default { | |||
provinceId: this.provinceId, | |||
cityId: this.cityId, | |||
operatorName: this.operatorName, | |||
operationStaffId: this.operationStaffId, | |||
operationStaffName: this.operationStaffName, | |||
name: this.name, | |||
operationType: 2, | |||
@@ -886,6 +886,8 @@ export default { | |||
timeChange(e) { | |||
this.selectTime = ""; | |||
this.selectTime1 = ""; | |||
this.pageNum=1 | |||
// this.page.pageNum=1 | |||
this.timeSelect(e); | |||
this.getdetail(); | |||
this.getcompare(); | |||
@@ -953,6 +955,8 @@ export default { | |||
this.checked = false; | |||
this.selectTime = ""; | |||
this.selectTime1 = ""; | |||
this.pageNum=1 | |||
this.page.pageNum=1 | |||
//给时间选择器赋值 | |||
let num = 24 * 3600 * 1000; | |||
// 获取当前时间戳转换为日期格式 | |||
@@ -1001,6 +1005,8 @@ export default { | |||
this.timeType = "-1"; | |||
this.checked = false; | |||
this.selectTime = ""; | |||
this.pageNum=1 | |||
this.page.pageNum=1 | |||
this.selectTime1 = ""; | |||
this.$set(this, "time", null); | |||
console.log(e); | |||
@@ -45,13 +45,14 @@ | |||
</el-select> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button type="primary" @click="screen" | |||
>筛选</el-button | |||
> | |||
<el-button type="primary" @click="screen">筛选</el-button> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button @click="clascreen">清空筛选条件</el-button> | |||
</div> | |||
<div style="margin-left: 20px"> | |||
<el-button @click="exportFile">导出</el-button> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -71,8 +72,20 @@ | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="receiveOperationName" | |||
label="领用操作人" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="receiveEndTime" label="归还时间" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="backOperationName" | |||
label="归还操作人" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="receiveType" label="领用状态" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ | |||
@@ -182,6 +195,44 @@ export default { | |||
this.currentPage = 1; | |||
this.equipReceiveFindByPage(); | |||
}, | |||
exportFile() { | |||
this.exportMethodPost("autoSR/equipReceive/findByPage", "领用记录"); | |||
}, | |||
// 导出.Excel公用方法 | |||
exportMethodPost(url, name, data = {}) { | |||
axios({ | |||
method: "post", | |||
url: url, | |||
data, | |||
responseType: "blob", | |||
}) | |||
.then((res) => { | |||
let blob = new Blob([res], { type: "application/vnd.ms-excel" }); | |||
let date = new Date(); | |||
let time = date.toLocaleDateString(); | |||
// console.log(time, "时间"); | |||
if ("download" in document.createElement("a")) { | |||
const link = document.createElement("a"); | |||
link.style.display = "none"; | |||
link.href = URL.createObjectURL(blob); | |||
// link.download = res.headers['content-disposition'] //下载后文件名 | |||
link.download = (name || "导出文件") + time + ".xlsx"; //下载的文件名 | |||
document.body.appendChild(link); | |||
link.click(); | |||
document.body.removeChild(link); | |||
} else { | |||
// console.log("--------------------jingla") | |||
let fileName = (name || "导出文件") + time + ".xlsx"; //下载的文件名 | |||
navigator.msSaveBlob(blob, fileName); | |||
} | |||
}) | |||
.catch((error) => { | |||
// Message.error({ | |||
// message: '网络连接错误' | |||
// }) | |||
console.log(error); | |||
}); | |||
}, | |||
clascreen() { | |||
this.currentPage = 1; | |||
this.searchForm.equipImei = ""; | |||
@@ -197,7 +248,7 @@ export default { | |||
...this.searchForm, | |||
}; | |||
this.$api.api.equipReceiveFindByPage(obj).then((res) => { | |||
console.log(res); | |||
// console.log(res); | |||
this.tableData = res.data.records; | |||
this.total = res.data.total; | |||
}); | |||
@@ -723,6 +723,16 @@ export default { | |||
}, | |||
methods: { | |||
gojianyi(){ | |||
// console.log(this.$route); | |||
let tag={ | |||
group:[], | |||
label: "接待详情", | |||
params:{}, | |||
query:this.$route.query, | |||
value:this.$route.fullPath, | |||
} | |||
// console.log(tag); | |||
this.$store.commit('DEL_TAG', tag) | |||
this.$router.go(-1);//返回上一层 | |||
}, | |||
//上一首 | |||
@@ -357,6 +357,7 @@ export default { | |||
this.$api.api | |||
.findHouseByUser({ | |||
orgType: localStorage.getItem("orgType"), | |||
houseTypes:localStorage.getItem("orgType")==2||localStorage.getItem("orgType")==3?'0,3':'' | |||
}) | |||
.then((res) => { | |||
this.houseList = res.data; | |||
@@ -57,7 +57,6 @@ | |||
<!-- 二 --> | |||
<div class="app-box-er"> | |||
<div class="container"> | |||
<div v-if="agentissow" class="grid-content"> | |||
<div class="text1">代理商数</div> | |||
<div class="text2">{{ firstTab.agentQuantity || 0 }}</div> | |||
@@ -115,7 +114,6 @@ | |||
<div class="text2">{{ firstTab.normalequipmentQuantity || 0 }}</div> | |||
</div> --> | |||
<div class="grid-content"> | |||
<div class="text1">用户数</div> | |||
<div class="text2">{{ firstTab.userQuantity || 0 }}</div> | |||
@@ -149,15 +147,55 @@ | |||
</div> | |||
<div class="app-box-er"> | |||
<div style="line-height: 40px; font-weight: bold">今日实时状况</div> | |||
<div class="app_titile" style="margin-bottom: 10px"> | |||
<div style="line-height: 40px; font-weight: bold">今日实时状况</div> | |||
<div> | |||
<div class="app-titel"> | |||
<div class="toptimeqhuan"> | |||
<div :class="{ tophove: dateType1 == 4 }" @click="tabtimetap1(4)"> | |||
近7天 | |||
</div> | |||
<div :class="{ tophove: dateType1 == 5 }" @click="tabtimetap1(5)"> | |||
近15天 | |||
</div> | |||
<div :class="{ tophove: dateType1 == 6 }" @click="tabtimetap1(6)"> | |||
近30天 | |||
</div> | |||
</div> | |||
<div style="margin-left: 26px"> | |||
<el-date-picker | |||
@change="confirmtime1()" | |||
v-model="customtime1" | |||
type="daterange" | |||
range-separator="-" | |||
:default-time="['00:00:00', '23:59:59']" | |||
value-format="yyyy-MM-dd" | |||
start-placeholder="开始日期" | |||
end-placeholder="结束日期" | |||
:picker-options="pickerOptions" | |||
> | |||
</el-date-picker> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="container"> | |||
<div class="grid-content" style="cursor: pointer;" @click="secondChange('1')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="secondChange('1')" | |||
> | |||
<div class="text1" :class="{ tophovese: secindex == 1 }">接待量</div> | |||
<div class="text2" :class="{ tophovese: secindex == 1 }"> | |||
{{ secondTab.receptionQuantityInToday || 0 }} | |||
</div> | |||
</div> | |||
<div class="grid-content" style="cursor: pointer;" @click="secondChange('2')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="secondChange('2')" | |||
> | |||
<div class="text1" :class="{ tophovese: secindex == 2 }"> | |||
活跃用户 | |||
</div> | |||
@@ -165,7 +203,11 @@ | |||
{{ secondTab.activeUserQuantity || 0 }} | |||
</div> | |||
</div> | |||
<div class="grid-content" style="cursor: pointer;" @click="secondChange('3')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="secondChange('3')" | |||
> | |||
<div class="text1" :class="{ tophovese: secindex == 3 }"> | |||
活跃设备 | |||
</div> | |||
@@ -207,15 +249,36 @@ | |||
> | |||
</el-date-picker> | |||
</div> | |||
<el-select | |||
v-model="echarValue" | |||
style="width: 100px;margin-left:10px;" | |||
placeholder="请选择" | |||
> | |||
<el-option | |||
v-for="item in options1" | |||
:key="item.value" | |||
:label="item.label" | |||
:value="item.value" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="container"> | |||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('1')"> | |||
<div class="container" v-if="echarValue==0"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="Overviewxlick('1')" | |||
> | |||
<div class="text1" :class="{ tophovese: cardindex == 1 }"> | |||
购买服务楼盘数 | |||
</div> | |||
<div class="text2" style="cursor: pointer;" :class="{ tophovese: cardindex == 1 }"> | |||
<div | |||
class="text2" | |||
style="cursor: pointer" | |||
:class="{ tophovese: cardindex == 1 }" | |||
> | |||
{{ thirdTab.houseQuantity || 0 }} | |||
</div> | |||
</div> | |||
@@ -235,7 +298,11 @@ | |||
{{ thirdTab.avgDuration || 0 }} | |||
</div> | |||
</div> --> | |||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('4')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="Overviewxlick('4')" | |||
> | |||
<div class="text1" :class="{ tophovese: cardindex == 4 }"> | |||
活跃用户数 | |||
</div> | |||
@@ -243,7 +310,11 @@ | |||
{{ thirdTab.activeUserQuantity || 0 }} | |||
</div> | |||
</div> | |||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('5')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="Overviewxlick('5')" | |||
> | |||
<div class="text1" :class="{ tophovese: cardindex == 5 }"> | |||
新增用户数 | |||
</div> | |||
@@ -251,13 +322,21 @@ | |||
{{ thirdTab.userCountWithNewJoin || 0 }} | |||
</div> | |||
</div> | |||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('6')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="Overviewxlick('6')" | |||
> | |||
<div class="text1" :class="{ tophovese: cardindex == 6 }">接待量</div> | |||
<div class="text2" :class="{ tophovese: cardindex == 6 }"> | |||
{{ thirdTab.receptionQuantity || 0 }} | |||
</div> | |||
</div> | |||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('7')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="Overviewxlick('7')" | |||
> | |||
<div class="text1" :class="{ tophovese: cardindex == 7 }"> | |||
平均接待时长 | |||
</div> | |||
@@ -265,7 +344,11 @@ | |||
{{ thirdTab.receptionTimeWithAvg || 0 }} | |||
</div> | |||
</div> | |||
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('8')"> | |||
<div | |||
class="grid-content" | |||
style="cursor: pointer" | |||
@click="Overviewxlick('8')" | |||
> | |||
<div class="text1" :class="{ tophovese: cardindex == 8 }"> | |||
活跃设备数 | |||
</div> | |||
@@ -275,7 +358,7 @@ | |||
</div> | |||
</div> | |||
<div id="echar2"></div> | |||
<div v-if="echarValue==0" id="echar2"></div> | |||
</div> | |||
</div> | |||
</template> | |||
@@ -295,7 +378,8 @@ export default { | |||
secondTab: {}, | |||
thirdTab: {}, | |||
selValue: "0", | |||
choicValue: "", | |||
echarValue:'0', | |||
choicValue:"", | |||
houseList: [], | |||
secindex: "1", | |||
dateType: 4, | |||
@@ -311,29 +395,40 @@ export default { | |||
value: "1", | |||
}, | |||
], | |||
agentissow:true | |||
options1: [ | |||
{ | |||
label: "趋势图", | |||
value: "0", | |||
}, | |||
{ | |||
label: "表格", | |||
value: "1", | |||
}, | |||
], | |||
agentissow: true, | |||
dateType1: 4, | |||
customtime1: [], | |||
}; | |||
}, | |||
mounted() { | |||
this.getList(); | |||
this.tabtimetap(4); | |||
// this.tabtimetap(4); | |||
}, | |||
methods: { | |||
valuechange() { | |||
this.dateType = 4; | |||
this.cardindex=1; | |||
this.secindex=1; | |||
if(this.choicValue==''){ | |||
} | |||
if(this.selValue==1){ | |||
this.agentissow=false; | |||
}else{ | |||
if(this.choicValue==''){ | |||
this.agentissow=true; | |||
}else{ | |||
this.agentissow=false; | |||
} | |||
this.cardindex = 1; | |||
this.secindex = 1; | |||
if (this.choicValue == "") { | |||
} | |||
if (this.selValue == 1) { | |||
this.agentissow = false; | |||
} else { | |||
if (this.choicValue == "") { | |||
this.agentissow = true; | |||
} else { | |||
this.agentissow = false; | |||
} | |||
} | |||
this.dataOverViewWithSystem(); | |||
this.dataOverviewWithSystemWithDay(); | |||
@@ -343,17 +438,17 @@ export default { | |||
selChange() { | |||
this.choicValue = ""; | |||
this.dateType = 4; | |||
this.cardindex=1 | |||
this.secindex=1 | |||
this.cardindex = 1; | |||
this.secindex = 1; | |||
this.getList(); | |||
if(this.selValue==1){ | |||
this.agentissow=false; | |||
}else{ | |||
if(this.choicValue==''){ | |||
this.agentissow=true; | |||
}else{ | |||
this.agentissow=false; | |||
} | |||
if (this.selValue == 1) { | |||
this.agentissow = false; | |||
} else { | |||
if (this.choicValue == "") { | |||
this.agentissow = true; | |||
} else { | |||
this.agentissow = false; | |||
} | |||
} | |||
}, | |||
// 获取下拉框数据 | |||
@@ -390,6 +485,9 @@ export default { | |||
agentId: this.selValue == 0 ? this.choicValue : null, | |||
orgCode: this.selValue == 1 ? this.choicValue : null, | |||
orgType: localStorage.getItem("orgType"), | |||
startDate: this.dateType1 ? "" : this.customtime1[0], | |||
endDate: this.dateType1 ? "" : this.customtime1[1], | |||
dateType: this.dateType1, | |||
}) | |||
.then((res) => { | |||
this.secondTab = res.data; | |||
@@ -424,7 +522,7 @@ export default { | |||
let arr1 = []; | |||
let arr2 = []; | |||
// console.log(timeDate); | |||
if (idx == 1 ) { | |||
if (idx == 1) { | |||
// 接待量 | |||
this.secondTab.todayReceptionList.map((item) => { | |||
timeDate.push(item.time.substring(11, 16)); | |||
@@ -527,7 +625,7 @@ export default { | |||
data: arr1, | |||
type: "line", | |||
smooth: true, | |||
} | |||
}, | |||
]; | |||
this.SwitchCARDS(arr, "echar2", timeDate, Strname); | |||
}, | |||
@@ -551,17 +649,23 @@ export default { | |||
this.secindex = i; | |||
this.getChars1(i); | |||
}, | |||
confirmtime1(e) { | |||
this.dateType1 = null; | |||
this.dataOverviewWithSystemWithDay(); | |||
}, | |||
tabtimetap1(i) { | |||
this.dateType1 = i; | |||
this.customtime1 = []; | |||
this.dataOverviewWithSystemWithDay(); | |||
}, | |||
confirmtime(e) { | |||
this.dateType = null; | |||
this.dataOverviewWithSystemWithLook(); | |||
}, | |||
tabtimetap(i) { | |||
this.dateType = i; | |||
this.selectTime = ""; | |||
this.selectTime1 = ""; | |||
this.customtime=[] | |||
this.customtime = []; | |||
this.dataOverviewWithSystemWithLook(); | |||
}, | |||
//卡片下折线图 | |||
SwitchCARDS(arr, str, timeDate, Strname) { | |||
@@ -570,29 +674,29 @@ export default { | |||
var option; | |||
option = { | |||
color: [ | |||
"#6F8EDC", | |||
"#EE6666", | |||
"#F98120", | |||
"#1CC99E", | |||
"#9474FB", | |||
"#66AFF5", | |||
"#FABD2B", | |||
"#FFCF8F", | |||
"#657292", | |||
"#7A6A99", | |||
"#BF5D52", | |||
"#77B7E4", | |||
"#E6A065", | |||
"#9D5139", | |||
"#C1AA88", | |||
"#F87F7A", | |||
"#F6CF74", | |||
"#7F5506", | |||
"#88BB9B", | |||
"#6E99AA", | |||
"#5789D0", | |||
], | |||
color: [ | |||
"#6F8EDC", | |||
"#EE6666", | |||
"#F98120", | |||
"#1CC99E", | |||
"#9474FB", | |||
"#66AFF5", | |||
"#FABD2B", | |||
"#FFCF8F", | |||
"#657292", | |||
"#7A6A99", | |||
"#BF5D52", | |||
"#77B7E4", | |||
"#E6A065", | |||
"#9D5139", | |||
"#C1AA88", | |||
"#F87F7A", | |||
"#F6CF74", | |||
"#7F5506", | |||
"#88BB9B", | |||
"#6E99AA", | |||
"#5789D0", | |||
], | |||
tooltip: { | |||
trigger: "axis", | |||
}, | |||
@@ -891,5 +995,4 @@ export default { | |||
display: flex; | |||
justify-content: space-between; | |||
} | |||
</style> |
@@ -194,6 +194,7 @@ | |||
<el-table-column type="selection" width="55"> </el-table-column> | |||
<el-table-column prop="name" label="用户名"> </el-table-column> | |||
<el-table-column label="登录手机" prop="username"> </el-table-column> | |||
<el-table-column prop="orgTypeName" label="组织类型" align="center"> </el-table-column> | |||
<el-table-column label="性别"> | |||
<template slot-scope="{ row }"> | |||
{{ row.sex == 0 ? "男" : "女" }} | |||
@@ -139,16 +139,31 @@ | |||
clearable | |||
></el-cascader> | |||
</div> | |||
<!-- <div v-if="orgType == 0" class="div-lab"> | |||
<div v-if="orgType == 0||orgType == 1" class="div-lab"> | |||
<div class="label">运营人员:</div> | |||
<el-input | |||
<!-- <el-input | |||
v-model="searchForm.operationalPeople" | |||
maxlength="8" | |||
clearable | |||
class="div-inp" | |||
placeholder="请输入内容" | |||
></el-input> | |||
</div> --> | |||
></el-input> --> | |||
<el-select | |||
v-model="searchForm.operationStaffId" | |||
placeholder="请选择" | |||
class="div-inp" | |||
filterable | |||
clearable | |||
> | |||
<el-option | |||
v-for="item in operaList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div v-if="orgType == 0" class="div-lab"> | |||
<div class="label">代理商名称:</div> | |||
@@ -257,8 +272,8 @@ | |||
{{ row.linkman + "-" + row.linkmanPhone || "-" }} | |||
</template> | |||
</el-table-column> | |||
<!-- <el-table-column prop='linkmanPhone' label="联系人手机号" align="center"> | |||
</el-table-column> --> | |||
<el-table-column prop='operationStaffName' label="运营人员" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="managerPhone" label="管理员账号" align="center"> | |||
<template slot-scope="{ row }"> | |||
@@ -784,8 +799,10 @@ export default { | |||
endWorking: "", | |||
agentName: "", | |||
operationalPeople: "", | |||
operationStaffId:'', | |||
}, | |||
areaList: [], | |||
operaList:[], | |||
options1: [ | |||
{ | |||
value: "0", | |||
@@ -947,6 +964,7 @@ export default { | |||
// 获取公司列表数据 | |||
this.getOrgList(); | |||
// 获取运营人员 | |||
this.getOperaList() | |||
// this.getAllOperationsStaff(); | |||
// 获取地区列表 | |||
// this.getCityList(); | |||
@@ -954,6 +972,25 @@ export default { | |||
this.zkhousePage(); | |||
}, | |||
methods: { | |||
getOperaList(){ | |||
if (this.orgType == 1) { | |||
this.$api.http | |||
.getAllOperationsStaffByAgent({ | |||
agentId: localStorage.getItem('agentId'), | |||
}) | |||
.then((res) => { | |||
// console.log(1); | |||
this.operaList = res.data; | |||
// this.operaVisible = true; | |||
}); | |||
} else { | |||
this.$api.http.getAllOperationsStaff().then((res) => { | |||
this.operaList = res.data; | |||
// this.operaVisible = true; | |||
// console.log(2); | |||
}); | |||
} | |||
}, | |||
getCityList() { | |||
this.$api.api.getAreaList({ parentId: 0 }).then((res) => { | |||
// console.log(res,'地区列表'); | |||
@@ -1272,6 +1309,7 @@ export default { | |||
orgType: localStorage.getItem("orgType"), | |||
agentId: localStorage.getItem("agentId"), | |||
orgCode: localStorage.getItem("orgCode"), | |||
operationType:localStorage.getItem("orgType")==0?'1':localStorage.getItem("orgType")==1?'2':'', | |||
...this.searchForm, | |||
}; | |||
if (this.orgType == 0) { | |||
@@ -1353,6 +1391,7 @@ export default { | |||
endWorking: "", | |||
agentName: "", | |||
operationalPeople: "", | |||
operationStaffId:'' | |||
}; | |||
this.area=[] | |||
this.currentPage = 1; | |||