抽出催办招商
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-tabs v-model="activeTab" class="department-user-tabs" @tab-click="handleTabClick">
|
||||
<el-tab-pane label="部门人员列表" name="list">
|
||||
<el-card class="filter-container" shadow="never">
|
||||
<el-form :model="queryParams" :inline="true" label-width="100px">
|
||||
<el-form-item label="姓名">
|
||||
@@ -49,15 +51,6 @@
|
||||
>
|
||||
构建父链
|
||||
</el-button>
|
||||
<el-button
|
||||
type="danger"
|
||||
icon="el-icon-bell"
|
||||
:loading="urgeInvestmentLoading"
|
||||
style="margin-left: 12px"
|
||||
@click="handleUrgeInvestment"
|
||||
>
|
||||
催办招商
|
||||
</el-button>
|
||||
</el-card>
|
||||
|
||||
<el-card class="table-container" shadow="never">
|
||||
@@ -99,6 +92,56 @@
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="催办招商" name="urge">
|
||||
<el-card shadow="never" class="urge-tree-panel">
|
||||
<div class="urge-tree-toolbar">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-refresh"
|
||||
:loading="urgeTreeLoading"
|
||||
@click="fetchUrgeTree"
|
||||
>
|
||||
刷新
|
||||
</el-button>
|
||||
</div>
|
||||
<el-alert
|
||||
:title="`共 ${urgeTreeTotal} 人`"
|
||||
type="info"
|
||||
:closable="false"
|
||||
show-icon
|
||||
class="urge-tree-alert"
|
||||
/>
|
||||
<el-input
|
||||
v-model="urgeTreeFilterText"
|
||||
clearable
|
||||
placeholder="搜索姓名、用户ID、电话、加入日期"
|
||||
prefix-icon="el-icon-search"
|
||||
class="urge-tree-filter"
|
||||
/>
|
||||
<div v-loading="urgeTreeLoading" class="urge-tree-wrap">
|
||||
<el-tree
|
||||
v-if="urgeTreeData.length"
|
||||
ref="urgeTree"
|
||||
:data="urgeTreeData"
|
||||
:props="urgeTreeProps"
|
||||
:filter-node-method="filterUrgeTreeNode"
|
||||
node-key="userId"
|
||||
highlight-current
|
||||
>
|
||||
<span slot-scope="{ data }" class="urge-tree-node">
|
||||
<span class="urge-tree-node-name">{{ data.name || '-' }}</span>
|
||||
<span class="urge-tree-node-meta">用户ID:{{ data.userId || '-' }}</span>
|
||||
<span class="urge-tree-node-meta">电话:{{ data.phone || '-' }}</span>
|
||||
<span class="urge-tree-node-meta">加入日期:{{ data.joinDate || '-' }}</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<el-empty v-else description="暂无数据,请点击刷新加载" />
|
||||
</div>
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="760px" @close="resetForm">
|
||||
<el-form ref="dataForm" :model="form" :rules="formRules" label-width="120px">
|
||||
@@ -218,50 +261,6 @@
|
||||
<el-button type="primary" :loading="parentBindLoading" @click="confirmParentSelection">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="催办招商 - 部门用户树"
|
||||
:visible.sync="urgeTreeDialogVisible"
|
||||
width="900px"
|
||||
@close="resetUrgeTreeDialog"
|
||||
>
|
||||
<el-alert
|
||||
:title="`共 ${urgeTreeTotal} 人`"
|
||||
type="info"
|
||||
:closable="false"
|
||||
show-icon
|
||||
class="urge-tree-alert"
|
||||
/>
|
||||
<el-input
|
||||
v-model="urgeTreeFilterText"
|
||||
clearable
|
||||
placeholder="搜索姓名、用户ID、电话、加入日期"
|
||||
prefix-icon="el-icon-search"
|
||||
class="urge-tree-filter"
|
||||
/>
|
||||
<div v-loading="urgeTreeLoading" class="urge-tree-wrap">
|
||||
<el-tree
|
||||
v-if="urgeTreeData.length"
|
||||
ref="urgeTree"
|
||||
:data="urgeTreeData"
|
||||
:props="urgeTreeProps"
|
||||
:filter-node-method="filterUrgeTreeNode"
|
||||
node-key="userId"
|
||||
highlight-current
|
||||
>
|
||||
<span slot-scope="{ data }" class="urge-tree-node">
|
||||
<span class="urge-tree-node-name">{{ data.name || '-' }}</span>
|
||||
<span class="urge-tree-node-meta">用户ID:{{ data.userId || '-' }}</span>
|
||||
<span class="urge-tree-node-meta">电话:{{ data.phone || '-' }}</span>
|
||||
<span class="urge-tree-node-meta">加入日期:{{ data.joinDate || '-' }}</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<el-empty v-else description="暂无数据" />
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="urgeTreeDialogVisible = false">关闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -282,12 +281,11 @@ export default {
|
||||
name: 'LbDepartmentUser',
|
||||
data() {
|
||||
return {
|
||||
activeTab: 'list',
|
||||
loading: false,
|
||||
submitLoading: false,
|
||||
syncLoading: false,
|
||||
syncParentChainLoading: false,
|
||||
urgeInvestmentLoading: false,
|
||||
urgeTreeDialogVisible: false,
|
||||
urgeTreeLoading: false,
|
||||
urgeTreeData: [],
|
||||
urgeTreeTotal: 0,
|
||||
@@ -478,26 +476,28 @@ export default {
|
||||
this.syncParentChainLoading = false
|
||||
})
|
||||
},
|
||||
handleUrgeInvestment() {
|
||||
handleTabClick(tab) {
|
||||
if (!tab || tab.name !== 'urge') return
|
||||
this.fetchUrgeTree()
|
||||
},
|
||||
fetchUrgeTree() {
|
||||
const tenantId = this.getTenantIdFromBusinessHeaders()
|
||||
if (!tenantId) {
|
||||
this.$message.error('未获取到租户ID,请先登录或配置业务请求头中的租户')
|
||||
return
|
||||
}
|
||||
this.urgeInvestmentLoading = true
|
||||
this.urgeTreeLoading = true
|
||||
getLbDepartmentUserTree({ tenantId })
|
||||
.then((res) => {
|
||||
const hasData = res && Array.isArray(res.data)
|
||||
const isSuccess = res && (res.success === true || res.code === 200 || res.code === 20000 || hasData)
|
||||
if (!isSuccess) {
|
||||
this.$message.error((res && res.message) || '催办招商失败')
|
||||
this.$message.error((res && res.message) || '加载部门用户树失败')
|
||||
return
|
||||
}
|
||||
this.urgeTreeData = hasData ? res.data : []
|
||||
this.urgeTreeTotal = typeof res.total === 'number' ? res.total : this.urgeTreeData.length
|
||||
this.urgeTreeFilterText = ''
|
||||
this.urgeTreeDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.urgeTree) {
|
||||
this.$refs.urgeTree.filter('')
|
||||
@@ -508,10 +508,9 @@ export default {
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message.error('催办招商失败')
|
||||
this.$message.error('加载部门用户树失败')
|
||||
})
|
||||
.finally(() => {
|
||||
this.urgeInvestmentLoading = false
|
||||
this.urgeTreeLoading = false
|
||||
})
|
||||
},
|
||||
@@ -522,12 +521,6 @@ export default {
|
||||
const fields = [data.name, data.userId, data.phone, data.joinDate]
|
||||
return fields.some((field) => field != null && String(field).toLowerCase().includes(keyword))
|
||||
},
|
||||
resetUrgeTreeDialog() {
|
||||
this.urgeTreeData = []
|
||||
this.urgeTreeTotal = 0
|
||||
this.urgeTreeFilterText = ''
|
||||
this.urgeTreeLoading = false
|
||||
},
|
||||
handleEdit(row) {
|
||||
this.dialogTitle = '编辑部门人员'
|
||||
this.isEdit = true
|
||||
@@ -772,6 +765,18 @@ export default {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.app-container {
|
||||
.department-user-tabs {
|
||||
::v-deep .el-tabs__header {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.urge-tree-panel {
|
||||
.urge-tree-toolbar {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.filter-container {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
@@ -835,7 +840,8 @@ export default {
|
||||
}
|
||||
|
||||
.urge-tree-wrap {
|
||||
max-height: 60vh;
|
||||
max-height: calc(100vh - 320px);
|
||||
min-height: 400px;
|
||||
overflow: auto;
|
||||
border: 1px solid #ebeef5;
|
||||
border-radius: 4px;
|
||||
|
||||
Reference in New Issue
Block a user