|
|
@@ -18,6 +18,7 @@
|
|
|
:value="option.code"></el-option>
|
|
|
</el-select>
|
|
|
<el-button size="small" type="primary" @click="onSearch">搜索</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="deptPeopleVisible=true;getUserDeptTreeFun()">机构人员树</el-button>
|
|
|
</div>
|
|
|
<div class="line-window">
|
|
|
<span><i style=" background: #54B569 ;"></i>在线</span>
|
|
|
@@ -49,7 +50,7 @@
|
|
|
<!-- <MobileZoomDiv> -->
|
|
|
<!-- 人员详情 -->
|
|
|
<div v-if="personnelVisible">
|
|
|
- <vdr title="人员详情" @visiblefun="personnelVisible = false" :width="700" :height="340">
|
|
|
+ <vdr title="人员详情" @visiblefun="personnelVisible = false" :width="770" >
|
|
|
<el-table :data="personnelData" border style="width: 100%; " :header-cell-style="{
|
|
|
background: '#F7F7F9',
|
|
|
fontWeight: '700',
|
|
|
@@ -67,6 +68,8 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="id" label="工号">
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="deptName" label="所属机构" width="150">
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="leaderName" label="管理人">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="address" label="地址">
|
|
|
@@ -84,7 +87,7 @@
|
|
|
size="small">
|
|
|
历史记录
|
|
|
</el-button>
|
|
|
- <el-button style="color:#3865E9 " @click.native.prevent="operatelRecords(scope.row)" type="text"
|
|
|
+ <el-button st yle="color:#3865E9 " @click.native.prevent="operatelRecords(scope.row)" type="text"
|
|
|
size="small">
|
|
|
操作记录
|
|
|
</el-button>
|
|
|
@@ -105,11 +108,7 @@
|
|
|
<!-- </MobileZoomDiv> -->
|
|
|
<!-- <MobileZoomDivTR> -->
|
|
|
<div v-if="infoWindowVisible">
|
|
|
- <vdr title="历史记录" @visiblefun="infoWindowVisible = false" :width="550" :height="525">
|
|
|
- <!-- <p class="close flex j-s">
|
|
|
- <span>历史记录</span>
|
|
|
- <span style="color: #c3c3c3;font-size:18px" @click="infoWindowVisible = false"> ×</span>
|
|
|
- </p> -->
|
|
|
+ <vdr title="历史记录" @visiblefun="infoWindowVisible = false" :width="720">
|
|
|
<el-table :data="tableData" border style="width: 98%; max-height: 45vh;
|
|
|
overflow-y: auto;" :cell-style="{ padding: '3px 8px' }" :header-cell-style="{
|
|
|
background: '#F2F7FC',
|
|
|
@@ -120,6 +119,8 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="userName" label="姓名" width="100">
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="deptName" label="所属机构" width="150">
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="address" label="地址">
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="createTime" label="登录时间">
|
|
|
@@ -208,7 +209,7 @@
|
|
|
|
|
|
|
|
|
<div v-if="operatelVisible">
|
|
|
- <vdr title="操作记录" @visiblefun="operatelVisible = false">
|
|
|
+ <vdr title="操作记录" @visiblefun="operatelVisible = false" :width="800">
|
|
|
<div style="margin-bottom: 10px;">
|
|
|
<span style="color: #262626;font-weight: 700;font-size: 14px;">时间筛选 </span>
|
|
|
<el-date-picker v-model="operateDate" type="datetimerange" size="small" @change="operateDateFun"
|
|
|
@@ -227,19 +228,67 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="userName" label="姓名">
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="deptName" label="所属机构" width="150">
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="carNumber" label="车险录单">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tooltip class="item" effect="dark" :content="scope.row.carNumberTime" placement="bottom">
|
|
|
+ <span >{{ scope.row.carNumber }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ </template >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="memberNumber" label="会员分享">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tooltip class="item" effect="dark" :content="scope.row.memberNumberTime" placement="bottom">
|
|
|
+ <span >{{ scope.row.memberNumber }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ </template >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="managementNumber" label="会员管理">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tooltip class="item" effect="dark" :content="scope.row.managementNumberTime" placement="bottom">
|
|
|
+ <span >{{ scope.row.managementNumber }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ </template >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="walletNumber" label="钱包">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tooltip class="item" effect="dark" :content="scope.row.walletNumberTime" placement="bottom">
|
|
|
+ <span >{{ scope.row.walletNumber }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ </template >
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="posterNumber" label="海报管理">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tooltip class="item" effect="dark" :content="scope.row.posterNumberTime" placement="bottom">
|
|
|
+ <span >{{ scope.row.posterNumber }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ </template >
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</vdr>
|
|
|
+
|
|
|
</div>
|
|
|
+ <div class="info-window" v-if="deptPeopleVisible">
|
|
|
+ <div class="close flex j-s" style="padding:15px 0" >
|
|
|
+ <el-switch
|
|
|
+ v-model="deptPeopleValue"
|
|
|
+ @change="deptPeopleFun"
|
|
|
+ size="small"
|
|
|
+ active-text="机构树"
|
|
|
+ :disabled="ztreeNodeAll.type==1"
|
|
|
+ inactive-text="人员树">
|
|
|
+ </el-switch>
|
|
|
+ <span class="el-icon-close" style="color: #c3c3c3;cursor: pointer" @click="deptPeopleVisible = false"> </span>
|
|
|
+ </div>
|
|
|
+ <el-tree
|
|
|
+ :data="ztreeNodes"
|
|
|
+ :props="{ children: 'children', label: 'name' }"
|
|
|
+ node-key="id"
|
|
|
+ :default-expanded-keys="['9']"
|
|
|
+ @node-click="onZTreeClick"
|
|
|
+ ></el-tree>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -258,6 +307,12 @@ var myChart;
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ deptPeopleVisible:false,
|
|
|
+ deptPeopleType:0,
|
|
|
+ deptPeopleId:'',
|
|
|
+ ztreeNodes:[],
|
|
|
+ ztreeNodeAll:{},
|
|
|
+ deptPeopleValue:true,
|
|
|
pageNum: 1, //当前页面
|
|
|
pageSize: 5, //每页显示条数
|
|
|
totalSum: 0, //全部的数据条数
|
|
|
@@ -333,12 +388,48 @@ export default {
|
|
|
window.personnelclick = () => {
|
|
|
this.personnelVisible = true;
|
|
|
};
|
|
|
+ this.$api.user
|
|
|
+ .getUserDeptTree()
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.ztreeNodes = res.data.deptList;
|
|
|
+ this.ztreeNodeAll = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
destroyed() {
|
|
|
// 销毁地图,并清空地图容器.该方法执行后,地图对象被注销,内存释放,地图容器被清空。
|
|
|
this.map.destroy();
|
|
|
},
|
|
|
methods: {
|
|
|
+ getUserDeptTreeFun(){
|
|
|
+ this.$api.user
|
|
|
+ .getUserDeptTree()
|
|
|
+ .then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.ztreeNodes = res.data.deptList;
|
|
|
+ this.ztreeNodeAll = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ deptPeopleFun(val){
|
|
|
+ if(val){
|
|
|
+ this.ztreeNodes = this.ztreeNodeAll.deptList;
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ this.ztreeNodes = this.ztreeNodeAll.userList;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onZTreeClick: function (evt, treeId, treeNode) {
|
|
|
+ if(this.deptPeopleValue){
|
|
|
+ this.deptPeopleType=1
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ this.deptPeopleType=2
|
|
|
+ }
|
|
|
+ this.deptPeopleId=evt.id
|
|
|
+ this.initMap();
|
|
|
+ },
|
|
|
operatelRecords(row) {
|
|
|
this.rowId = this.positionType == 1 ? row.id : row.userId
|
|
|
this.operatelVisible = true
|
|
|
@@ -495,6 +586,8 @@ export default {
|
|
|
}
|
|
|
this.$api.user
|
|
|
.queryGeographyInfo({
|
|
|
+ queryId: this.deptPeopleId,
|
|
|
+ type: this.deptPeopleType,
|
|
|
lng: this.position[0], lat: this.position[1], pageSize: 5,
|
|
|
pageNum: this.personnelPageNum, ...data
|
|
|
})
|
|
|
@@ -695,7 +788,7 @@ export default {
|
|
|
});
|
|
|
|
|
|
_this.map.on("complete", () => {
|
|
|
- _this.$api.user.queryPosition({ source: this.source, ...this.province }).then(res => {
|
|
|
+ _this.$api.user.queryPosition({ source: this.source,queryId: this.deptPeopleId,type: this.deptPeopleType, ...this.province }).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
if (res.data.list && res.data.list.length > 0) {
|
|
|
// _this.onlineNum = res.data.manNum; //在线人数
|
|
|
@@ -841,6 +934,8 @@ export default {
|
|
|
}
|
|
|
let api = this.positionType == 1 ? 'queryGeographyInfo' : 'queryGeographyRecord'
|
|
|
this.$api.user[api]({
|
|
|
+ queryId: this.deptPeopleId,
|
|
|
+ type: this.deptPeopleType,
|
|
|
lng: e.target._position[0], lat: e.target._position[1], pageSize: 5,
|
|
|
pageNum: this.personnelPageNum, ...data
|
|
|
})
|
|
|
@@ -959,8 +1054,10 @@ export default {
|
|
|
z-index: 100;
|
|
|
background-color: white;
|
|
|
padding: 10px;
|
|
|
- width: 35vw;
|
|
|
+ width: 22vw;
|
|
|
box-shadow: 0px 5px 10px #ddd;
|
|
|
+ height: 45vh;
|
|
|
+ overflow-y: auto;
|
|
|
}
|
|
|
|
|
|
.infohis-window {
|