epmet pc工作端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

397 lines
12 KiB

4 years ago
<template>
<div>
<el-form :model="queryParams" ref="queryForm" :inline="true">
<el-form-item label="部门名称" prop="deptName">
<el-input
v-model="queryParams.name"
placeholder="请输入部门名称"
clearable
size="small"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="queryByName"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" >重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="addNewOrg"
>新增</el-button
>
</el-col>
</el-row>
<!-- 列表表格 -->
4 years ago
<el-table
height="500px"
4 years ago
:data="treeList"
:default-expand-all="isExpandAll"
v-if="refreshTable"
row-key="id"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="name" label="部门名称" width="260"></el-table-column>
<el-table-column prop="sort" label="排序" width="260"></el-table-column>
<el-table-column prop="agencyName" label="组织名称" width="260"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="row">
<el-button
size="mini"
type="text"
icon="el-icon-edit">
修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="del(row)">
删除</el-button>
4 years ago
</template>
</el-table-column>
</el-table>
<!-- 新增弹窗 -->
4 years ago
<el-dialog
title="新增"
:visible.sync="addDialogBox"
width="30%"
:before-close="handleClose">
<el-form>
<el-form-item label="动力主轴标签">
<el-select v-model="addOrgForm.categoryCode" placeholder="请选择动力主轴标签"
@change="handelChange">
<el-option
v-for="item in listSimple"
:key="item.categoryCode"
:label="item.categoryName"
:value="item.categoryCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="名称">
<el-input v-model="addOrgForm.name" placeholder="请输入名称"></el-input>
</el-form-item>
<!-- 下拉框组织的参数 -->
<el-form-item label="绑定组织" v-show="orgListSwitch">
<el-select v-model="addOrgForm.agencyName" placeholder="请选择要绑定的组织" @change="handelAgencyTree">
<el-option
v-for="item in agencytree"
:key="item.orgId"
:label="item.orgName"
:value="item.orgId">
</el-option>
</el-select>
</el-form-item>
<!-- 网格党支部下拉框 -->
<el-form-item label="所属上级网格党支部">
<el-select placeholder="请选择所属上级网格党支部">
<el-option
v-for="item in GridPartyBranchList"
:key="item.orgId"
:label="item.orgName"
:value="item.orgId">
</el-option>
</el-select>
</el-form-item>
4 years ago
<el-form-item label="排序">
<el-input v-model="addOrgForm.sort" placeholder="请输入排序"></el-input>
</el-form-item>
</el-form>
<div>
<el-button @click="cancelAdd"> </el-button>
<el-button type="primary" @click="submitAddNewOrg"> </el-button>
</div>
</el-dialog>
<!-- 删除弹窗 -->
<el-dialog
title="确认删除"
:visible.sync="delWindow"
width="30%"
:before-close="handleClose"
>
<span>确认删除吗</span>
<div slot="footer" >
<el-button @click="canceldelWindow"> </el-button>
<el-button type="primary" @click="submitDelete"> </el-button>
</div>
</el-dialog>
4 years ago
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
export default {
data(){
return{
// 删除标签
delId:'',
4 years ago
// 客户Id
customerId:'',
agencyId:'',
4 years ago
// 查询参数
queryParams:{
name:''
},
// 新增表单
addOrgForm:{
name:'',
customerId:'',
agencyId:'',
agencyName:'',
agencyType:'',
pid:'',
categoryCode:'',
sort:''
4 years ago
},
// 树状结构列表
treeList:[],
// 查询动力主轴机构标签
listSimple:[],
// 绑定组织列表
agencytree:[],
// 上级网格党支部列表
GridPartyBranchList:[],
4 years ago
// 重新渲染表格状态
refreshTable: true,
// 是否展开,默认全部展开
isExpandAll: true,
// 新增对话框
addDialogBox:false,
// 组织列表开关
orgListSwitch:false,
// 确认删除弹窗
delWindow:false,
4 years ago
}
},
created(){
// this.getTreeList()
this.getList4Tree()
4 years ago
},
mounted(){
this.customerId = localStorage.getItem('customerId')
this.agencyId = localStorage.getItem('agencyId')
4 years ago
},
methods:{
// 查询按钮操作
async queryByName(){
const url = '/pli/power/axisStruct/queryDeptByName'
let params = {
name:this.queryParams.name
}
const { data, code, msg } = await requestPost(url,params)
if(code === 0){
this.treeList = data
} else {
this.$message.error(msg)
}
},
// 获取树状列表数据
// async getTreeList(){
// const url = '/pli/power/axisStruct/getTreeList'
4 years ago
// let params = {}
4 years ago
// const { data,code,msg } = await requestPost(url)
4 years ago
// if(code === 0){
// this.treeList = data
// } else {
// this.$message.error(msg)
// }
// },
4 years ago
// 确定新增按钮
async submitAddNewOrg(){
const url = '/pli/power/axisStruct/addOrg'
let params = {
name:this.addOrgForm.name,
sort:this.addOrgForm.sort,
customerId:this.customerId,
agencyId:this.addOrgForm.agencyId,
agencyName:this.addOrgForm.agencyName,
agencyType:this.addOrgForm.agencyType,
categoryCode:this.addOrgForm.categoryCode
4 years ago
}
const { data, code, msg } = await requestPost(url,params)
if (code === 0) {
this.$message.success("新增成功")
this.addDialogBox = false
this.addOrgFormRest()
this.getList4Tree()
4 years ago
} else {
this.$message.error(msg)
}
},
// 获取动力主轴标签
4 years ago
async getListSimple(){
const url = '/pli/power/axisTag/listSimple/struct'
let params = {}
const { data, code, msg } = await requestPost(url,params)
if (code === 0) {
this.listSimple = data
} else {
this.$message.error(msg)
}
},
// 获取组织列表
async getAgencyTree(){
const url = '/data/aggregator/org/agencytree'
let params = {
agencyId:this.agencyId,
client:'gov'
}
const { data, code, msg } = await requestPost(url,params)
if (code === 0) {
this.agencytree = data[0].subOrgList
} else {
this.$message.error(msg)
}
},
// 获取组织树
async getList4Tree(){
const url = '/pli/power/axisStruct/list4Tree'
let params = {}
const { data, code, msg } = await requestPost(url,params)
if (code === 0) {
this.treeList = data
} else {
this.$message.error(msg)
}
},
// 获取上级网格党支部
async getGridPartyBranchList(){
const url = '/pli/power/axisStruct/GridPartyBranchList'
let params = {}
},
4 years ago
// 新增按钮
addNewOrg(){
this.addDialogBox = true
this.getListSimple()
this.getAgencyTree()
4 years ago
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams.name = ''
this.getList4Tree()
4 years ago
},
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
// 关闭对话框
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
this.addOrgFormRest()
4 years ago
done();
})
.catch(_ => {});
},
// 取消新增按钮
cancelAdd(){
this.addDialogBox = false
this.addOrgFormRest()
4 years ago
},
// 清空新增表单
addOrgFormRest(){
this.addOrgForm.name = ''
this.addOrgForm.customerId = ''
this.addOrgForm.sort = ''
this.addOrgForm.agencyId = '',
this.addOrgForm.agencyName = '',
this.addOrgForm.agencyType = '',
this.addOrgForm.pid = ''
this.addOrgForm.categoryCode = ''
4 years ago
},
// 动力主轴选中后的操作
handelChange(val){
this.addOrgForm.categoryCode = val
if (val === 'community_party') {
this.orgListSwitch = true
}
if(val === 'grid_party') {
this.orgListSwitch = false
}
},
handelAgencyTree(val){
let obj = {}
obj = this.agencytree.find(item => {
return item.orgId === val
})
this.addOrgForm.agencyName = obj.orgName
this.addOrgForm.agencyType = obj.orgType
this.addOrgForm.agencyId = val
},
// 删除按钮
del(row){
this.delWindow = true
this.delId = row.row.id
},
async submitDelete(){
const url = '/pli/power/axisStruct/deleteById/'+this.delId
let params = {}
4 years ago
const { data, code, msg } = await requestPost(url,params)
4 years ago
if (code === 0) {
this.$message.success("删除成功")
this.delWindow = false
this.getList4Tree()
} else {
this.$message.error(msg)
}
},
// 取消删除按钮
canceldelWindow(){
this.delWindow = false
},
4 years ago
}
}
</script>
<style scoped>
</style>