|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<el-dialog
|
|
|
|
:before-close="handleClose"
|
|
|
|
:modal="true"
|
|
|
|
:modal-append-to-body="false"
|
|
|
|
:visible.sync="dialogVisible"
|
|
|
|
class="dissatisfied-detail"
|
|
|
|
title=""
|
|
|
|
width="1366px"
|
|
|
|
>
|
|
|
|
<div class="content">
|
|
|
|
<div class="main-title main-title2">
|
|
|
|
<Title text="资源调度"/>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="contents">
|
|
|
|
<el-row :gutter="30">
|
|
|
|
<el-col :span="5">
|
|
|
|
<div class="tree">
|
|
|
|
<el-tree
|
|
|
|
:data="data"
|
|
|
|
:default-expand-all="true"
|
|
|
|
:props="defaultProps"
|
|
|
|
highlight-current
|
|
|
|
icon-class="el-icon-arrow-right"
|
|
|
|
node-key="value"
|
|
|
|
@node-click="handleNodeClick"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="19">
|
|
|
|
<div class="table">
|
|
|
|
<el-table v-loading="loading" :data="list" element-loading-background="rgba(0, 0, 0, 0.3)"
|
|
|
|
max-height="600px">
|
|
|
|
<el-table-column label="资源类型" min-width="120" prop="personnelType">
|
|
|
|
<template slot-scope="{row}">
|
|
|
|
{{
|
|
|
|
row.personnelType ? data[0].children.filter(item => item.value === row.personnelType)[0].label : ''
|
|
|
|
}}
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="所属组织" min-width="180" prop="orgName"/>
|
|
|
|
<el-table-column label="姓名/名称" min-width="120" prop="name"/>
|
|
|
|
<el-table-column label="联系电话" min-width="120" prop="mobile">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
{{ $sensitive(scope.row.mobile, 3, 7) }}
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<!-- <el-table-column label="状态" prop="" width="120"/>-->
|
|
|
|
<!-- <el-table-column label="距离" prop="" width="120"/>-->
|
|
|
|
<el-table-column label="操作" prop="op" width="250">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<CallPhone :mobile="scope.row.mobile" text="拨打电话"/>
|
|
|
|
<span class="handle" @click="handleHandle">处理</span>
|
|
|
|
<span class="view" @click="handleViews(scope.row)">查看</span>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
|
|
</div>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-dialog>
|
|
|
|
<ResourceInfo ref="ResourceInfo"/>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
|
|
|
|
import CallPhone from "@/views/dataBoard/cpts/CallPhone";
|
|
|
|
import ResourceInfo from "@/views/dataBoard/overview/components/ResourceInfo";
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: "ResourceScheduling",
|
|
|
|
components: {Title, CallPhone, ResourceInfo},
|
|
|
|
props: {
|
|
|
|
currentLevelData: {
|
|
|
|
type: Object,
|
|
|
|
default: () => {
|
|
|
|
},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
loading: false,
|
|
|
|
dialogVisible: false,
|
|
|
|
list: [],
|
|
|
|
peopleType: "staffAgency",
|
|
|
|
data: [
|
|
|
|
{
|
|
|
|
label: '人资源',
|
|
|
|
children: [{
|
|
|
|
label: '社区工作者',
|
|
|
|
value: 'staffAgency'
|
|
|
|
}, {
|
|
|
|
label: '网格员',
|
|
|
|
value: 'staffGrid'
|
|
|
|
}, {
|
|
|
|
label: '楼组/单元长',
|
|
|
|
value: 'chief'
|
|
|
|
}, {
|
|
|
|
label: '公益岗',
|
|
|
|
value: 'publicWelfareNum'
|
|
|
|
}, {
|
|
|
|
label: '单位/组织',
|
|
|
|
value: 'staffDepartment'
|
|
|
|
}, {
|
|
|
|
label: '志愿者',
|
|
|
|
value: 'volunteer'
|
|
|
|
}]
|
|
|
|
}, {
|
|
|
|
label: '物资源',
|
|
|
|
children: []
|
|
|
|
}, {
|
|
|
|
label: '场所资源',
|
|
|
|
children: []
|
|
|
|
}],
|
|
|
|
defaultProps: {
|
|
|
|
children: 'children',
|
|
|
|
label: 'label'
|
|
|
|
}
|
|
|
|
};
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
handleClose(done) {
|
|
|
|
this.dialogVisible = false;
|
|
|
|
},
|
|
|
|
open(id) {
|
|
|
|
this.dialogVisible = true;
|
|
|
|
this.getList();
|
|
|
|
},
|
|
|
|
getList() {
|
|
|
|
this.loading = true;
|
|
|
|
console.log(this.currentLevelData, 'this.currentLevelData')
|
|
|
|
this.$http.get("/actual/base/streetOverview/queryPersonnelGroup" +
|
|
|
|
"?level=" + this.currentLevelData.orgLevel +
|
|
|
|
"&orgId=" + this.currentLevelData.orgId +
|
|
|
|
"&personnelType=" + this.peopleType)
|
|
|
|
.then(({data: {data}}) => {
|
|
|
|
this.loading = false;
|
|
|
|
this.list = data.personnelInfoVOList;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
handleViews() {
|
|
|
|
this.$refs.ResourceInfo.open()
|
|
|
|
},
|
|
|
|
handleNodeClick(data) {
|
|
|
|
console.log(data.value)
|
|
|
|
if (data.value) {
|
|
|
|
this.peopleType = data.value;
|
|
|
|
console.log(data);
|
|
|
|
this.getList()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
handleHandle(data) {
|
|
|
|
this.handleClose()
|
|
|
|
this.$emit('handle', data);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
@import "@/assets/scss/dataBoard/dialog.scss";
|
|
|
|
@import "@/assets/scss/dataBoard/tree.scss";
|
|
|
|
@import "@/assets/scss/dataBoard/table2.scss";
|
|
|
|
|
|
|
|
.handle {
|
|
|
|
font-size: 14px;
|
|
|
|
margin-left: 10px;
|
|
|
|
color: #9A69EC;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
.view {
|
|
|
|
font-size: 14px;
|
|
|
|
margin-left: 10px;
|
|
|
|
color: #007FF1;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
</style>
|