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.
349 lines
12 KiB
349 lines
12 KiB
<template>
|
|
<div class="div_main">
|
|
<div class="div_search">
|
|
<el-form :model="dataForm" ref="queryForm" :inline="true" @keyup.enter.native="getDataList()">
|
|
<el-form-item label="所属组织" prop="deptName">
|
|
<el-cascader
|
|
placeholder="请选择所属组织"
|
|
:options="agencytree"
|
|
v-model="dataForm.agencyId"
|
|
:props="{ expandTrigger: 'hover', label: 'orgName', value: 'orgId', children: 'subOrgList' }"
|
|
clearable/>
|
|
</el-form-item>
|
|
<el-form-item label="部门名称" prop="deptName">
|
|
<el-input v-model="dataForm.axisName" placeholder="请输入部门名称" clearable size="small" />
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="getDataList()">搜索</el-button>
|
|
<el-button style="margin-left:10px"
|
|
class="diy-button--reset"
|
|
size="small">重置</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
<div class="div_table">
|
|
<div class="div_btn">
|
|
<el-button style=""
|
|
class="diy-button--add"
|
|
size="small"
|
|
@click="handleAdd()">{{ $t('add') }}</el-button>
|
|
</div>
|
|
<!-- 列表表格 -->
|
|
<el-table
|
|
class="table"
|
|
v-loading="dataListLoading"
|
|
:data="dataList"
|
|
:default-expand-all="true"
|
|
row-key="id"
|
|
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
|
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}">
|
|
<el-table-column prop="name" label="动力主轴"></el-table-column>
|
|
<el-table-column prop="categoryCode" :formatter="categoryCodeFormatter" label="类别" ></el-table-column>
|
|
<el-table-column prop="leaderName" label="负责人" width="100"></el-table-column>
|
|
<el-table-column prop="leaderMobile" label="联系方式" width="110"></el-table-column>
|
|
<el-table-column prop="createdTime" label="创建时间" width="160"></el-table-column>
|
|
<el-table-column label="操作" align="center" width="300">
|
|
<template slot-scope="scope">
|
|
<!-- <el-button size="mini" type="danger" icon="el-icon-edit" @click="addOrUpdateHandle(scope.row.id)">修改</el-button> -->
|
|
<el-button size="mini" type="danger" icon="el-icon-edit" @click="handleEdit(scope.row.id)">修改</el-button>
|
|
<el-button size="mini" type="warning" icon="el-icon-edit" @click="deleteHandle_my(scope.row.id)">删除</el-button>
|
|
<el-button size="mini" type="primary" icon="el-icon-user" @click="add_edit_Leader(scope.row.id, scope.row.leaderId, scope.row.structLevel)">负责人</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
<!-- 弹窗, 新增 / 修改 -->
|
|
<el-dialog :visible.sync="formShow"
|
|
:close-on-click-modal="false"
|
|
:close-on-press-escape="false"
|
|
:title="formTitle"
|
|
width="850px"
|
|
top="5vh"
|
|
class="dialog-h"
|
|
@closed="diaClose">
|
|
<poweraxis-form ref="ref_form"
|
|
@dialogCancle="addFormCancle"
|
|
@dialogOk="addFormOk"></poweraxis-form>
|
|
</el-dialog>
|
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
|
<el-dialog :visible.sync="leaderVisible"
|
|
:close-on-click-modal="false"
|
|
:close-on-press-escape="false"
|
|
:title="formTitle"
|
|
width="850px"
|
|
top="5vh"
|
|
class="dialog-h"
|
|
@closed="leaderDiaClose">
|
|
<add-leader ref="ref_leader"
|
|
@leaderCancle="addleaderCancle"
|
|
@leaderOk="addleaderOk"></add-leader>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { requestPost } from "@/js/dai/request";
|
|
import { handleTree } from "@/utils/treeSelect";
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
import AddOrUpdate from './poweraxis-add-or-update'
|
|
import poweraxisForm from './poweraxisForm'
|
|
import mixinViewModule from '@/mixins/view-module'
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
import AddLeader from './poweraxis_add_leader.vue';
|
|
export default {
|
|
mixins: [mixinViewModule],
|
|
components: {
|
|
Treeselect,
|
|
AddOrUpdate,
|
|
AddLeader,
|
|
poweraxisForm
|
|
},
|
|
data(){
|
|
return{
|
|
mixinViewModuleOptions: {
|
|
createdIsNeed: false,
|
|
activatedIsNeed: false, // 此⻚⾯是否在激活(进⼊)时,调⽤查询数据列表接⼝?
|
|
getDataListIsPage: false, // 数据列表接⼝,是否需要分⻚?
|
|
},
|
|
dataForm:{ // 查询参数
|
|
agencyId: '', // 组织ID
|
|
axisName: '', // 动力主轴节点名称
|
|
leaderName: '' // 动力主轴节点负责人
|
|
},
|
|
agencytree: [], // 所属组织
|
|
dataList:[], // 列表
|
|
structCategoryArr: [], // 查询动力主轴标签类别
|
|
leaderCategoryArr: [], // 查询动力主轴负责人标签类别
|
|
leaderVisible: false,
|
|
axisStructId: '', // 动力主轴id 添加负责人的时候用
|
|
structLevel: null, // 动力主轴节点级别 添加负责人的时候用
|
|
leaderId: '',
|
|
dataListLoading: false,
|
|
//form相关
|
|
formShow: false,
|
|
formTitle: '新增小区',
|
|
}
|
|
},
|
|
async created(){
|
|
this.dataListLoading = true
|
|
await this.getDataList()
|
|
await this.getAgencyTree()
|
|
await this.getTagCategoryArr()
|
|
this.dataListLoading = false
|
|
},
|
|
mounted(){
|
|
this.customerId = localStorage.getItem('customerId')
|
|
this.agencyId = localStorage.getItem('agencyId')
|
|
},
|
|
methods:{
|
|
handleEdit (id) {
|
|
this.formTitle = '修改'
|
|
this.formShow = true
|
|
this.$nextTick(() => {
|
|
this.$refs.ref_form.initForm('edit', id)
|
|
})
|
|
},
|
|
handleAdd () {
|
|
this.formTitle = '新增'
|
|
this.formShow = true
|
|
this.$nextTick(() => {
|
|
this.$refs.ref_form.initForm('add')
|
|
})
|
|
},
|
|
addFormCancle () {
|
|
this.formShow = false
|
|
},
|
|
addFormOk () {
|
|
this.formShow = false
|
|
this.getDataList()
|
|
},
|
|
diaClose () {
|
|
// this.$refs.ref_form.resetData()
|
|
this.formShow = false
|
|
},
|
|
// 获取组织列表
|
|
async getAgencyTree(){
|
|
const url = '/data/aggregator/org/agencytree'
|
|
|
|
let params = {
|
|
agencyId: localStorage.getItem('agencyId'),
|
|
client:'gov'
|
|
}
|
|
const { data, code, msg } = await requestPost(url,params)
|
|
if (code === 0) {
|
|
let _data
|
|
if (data) {
|
|
_data = this.removeByOrgType(data, 'agency')
|
|
if (_data) {
|
|
this.agencytree = this.removeEmptySubOrgList(_data)
|
|
}
|
|
}
|
|
} else {
|
|
this.$message.error(msg)
|
|
}
|
|
},
|
|
removeByOrgType (orgArray, orgType) {
|
|
if (orgArray && orgArray.length > 0) {
|
|
for (let p = orgArray.length - 1; p >= 0; p--) {
|
|
let orgInfo = orgArray[p]
|
|
if (orgInfo) {
|
|
if (orgInfo.orgType !== orgType) {
|
|
orgArray.splice(p, 1)
|
|
} else {
|
|
this.removeByOrgType(orgInfo.subOrgList, orgType)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return orgArray
|
|
},
|
|
removeEmptySubOrgList (orgArray) {
|
|
orgArray.forEach((orgInfo) => {
|
|
if (orgInfo && orgInfo.subOrgList) {
|
|
if (orgInfo.subOrgList.length === 0) {
|
|
orgInfo.subOrgList = undefined
|
|
} else {
|
|
this.removeEmptySubOrgList(orgInfo.subOrgList)
|
|
}
|
|
}
|
|
})
|
|
return orgArray;
|
|
},
|
|
// 初始化动力主轴组织树
|
|
async getDataList () {
|
|
const url = '/pli/power/axisStruct/list4Tree'
|
|
|
|
const { data, code, msg } = await requestPost(url, this.queryParams)
|
|
|
|
if (code === 0) {
|
|
this.dataList = handleTree(data, 'id', 'pid');
|
|
} else {
|
|
this.$message.error(msg)
|
|
|
|
}
|
|
},
|
|
// 获取动力主轴标签
|
|
async getTagCategoryArr(){
|
|
const url = '/pli/power/axisTag/listSimpleAll'
|
|
|
|
let params = {}
|
|
|
|
const { data, code, msg } = await requestPost(url, params)
|
|
|
|
if (code === 0) {
|
|
data.forEach((item) => {
|
|
if (item.tagCategory === 'struct') {
|
|
this.structCategoryArr = item.tagList
|
|
}
|
|
if (item.tagCategory === 'leader') {
|
|
this.leaderCategoryArr = item.tagList
|
|
}
|
|
})
|
|
} else {
|
|
this.$message.error(msg)
|
|
}
|
|
},
|
|
categoryCodeFormatter (row) {
|
|
let ca = ''
|
|
this.structCategoryArr.forEach((tagCategory) => {
|
|
if (tagCategory.categoryCode === row.categoryCode) {
|
|
ca = tagCategory.categoryName
|
|
}
|
|
})
|
|
return ca
|
|
},
|
|
// 删除方法
|
|
deleteHandle_my(id) {
|
|
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('delete') }), this.$t('prompt.title'), {
|
|
confirmButtonText: this.$t('confirm'),
|
|
cancelButtonText: this.$t('cancel'),
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.submitDelete(id)
|
|
}).catch(() => {})
|
|
},
|
|
async submitDelete(id){
|
|
const url = '/pli/power/axisStruct/deleteById/'+ id
|
|
const { code, msg } = await requestPost(url)
|
|
if (code === 0) {
|
|
this.$message.success("删除成功")
|
|
this.getDataList()
|
|
} else {
|
|
this.$message.error(msg)
|
|
}
|
|
},
|
|
// 添加负责人
|
|
add_edit_Leader(axisStructId, leaderId, structLevel) {
|
|
this.leaderVisible = true
|
|
let agencyObj = {
|
|
axisStructId: axisStructId,
|
|
structLevel: structLevel,
|
|
leaderId: leaderId,
|
|
}
|
|
this.$nextTick(() => {
|
|
this.$refs.ref_leader.initForm(agencyObj)
|
|
})
|
|
},
|
|
addleaderOk() {
|
|
this.leaderVisible = false
|
|
this.axisStructId = ''
|
|
this.getDataList()
|
|
},
|
|
addleaderCancle() {
|
|
this.leaderVisible = false
|
|
},
|
|
leaderDiaClose() {
|
|
this.leaderVisible = false
|
|
},
|
|
// 取消按钮
|
|
handleCancle () {
|
|
console.log('取消::::')
|
|
// this.resetData()
|
|
// this.$emit('dialogCancle')
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped >
|
|
.div_main {
|
|
width: 100%;
|
|
}
|
|
|
|
.div_search {
|
|
background: #ffffff;
|
|
border-radius: 4px;
|
|
padding: 30px 20px 5px;
|
|
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.item_width_1 {
|
|
width: 260px;
|
|
}
|
|
.item_width_2 {
|
|
width: 495px;
|
|
}
|
|
|
|
.div_table {
|
|
background: #ffffff;
|
|
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
|
|
border-radius: 4px;
|
|
margin-top: 15px;
|
|
padding: 23px 30px 10px;
|
|
|
|
.table {
|
|
margin-top: 20px;
|
|
}
|
|
}
|
|
|
|
.div_btn {
|
|
}
|
|
|
|
.el-row {
|
|
/* margin-bottom: 20px; */
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
margin-top: 10px;
|
|
margin-right: 50px;
|
|
}
|
|
</style>
|