339 lines
10 KiB
Vue
339 lines
10 KiB
Vue
<template>
|
|
<div class="app-container">
|
|
<el-form label-width="100px">
|
|
<el-row>
|
|
<el-col :span="6">
|
|
<el-form-item label="关键字搜索">
|
|
<el-input v-model="KEYWORDS" placeholder="搜索相关方单位名称、负责人姓名" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- <el-col :span="6">-->
|
|
<!-- <el-form-item label="类型" label-width="50px">-->
|
|
<!-- <el-select v-model="UNITS_TYPE" style="width: 100%;">-->
|
|
<!-- <el-option v-for="item in typeList" :key="item.ID" :label="item.NAME" :value="item.NAME" />-->
|
|
<!-- </el-select>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-col>-->
|
|
<el-col :span="6">
|
|
<el-form-item label-width="10px">
|
|
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
|
搜索
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
|
重置
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<el-table
|
|
v-loading="listLoading"
|
|
ref="multipleTable"
|
|
:data="varList"
|
|
:row-key="getRowKey"
|
|
:header-cell-style="{
|
|
'font-weight': 'bold',
|
|
'color': '#000'
|
|
}"
|
|
tooltip-effect="dark"
|
|
border
|
|
fit
|
|
highlight-current-row
|
|
>
|
|
<el-table-column
|
|
:reserve-selection="true"
|
|
:selectable="selectable"
|
|
type="selection"
|
|
width="55"
|
|
align="center"/>
|
|
<el-table-column type="index" label="序号" width="50" align="center" />
|
|
<el-table-column prop="UNITS_NAME" label="相关方单位名称" show-overflow-tooltip />
|
|
<!--<el-table-column prop="CODE" label="统一社会信用代码" width="200" />-->
|
|
<el-table-column prop="CONTACTS" label="联系人" width="150" show-overflow-tooltip />
|
|
<el-table-column prop="CONTACTS_PHONE" label="联系人电话" width="100" />
|
|
<el-table-column prop="CORP_NAME" label="创建单位" show-overflow-tooltip />
|
|
<el-table-column prop="CREATOR_NAME" label="创建人" show-overflow-tooltip />
|
|
<el-table-column label="操作" align="center" width="200">
|
|
<template slot-scope="{row}">
|
|
<el-button v-show="edit" :disabled="loginUserId !== row.CREATOR" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.UNITS_ID)">编辑</el-button>
|
|
<el-button v-show="del" :disabled="loginUserId !== row.CREATOR" type="danger" icon="el-icon-delete" size="mini" @click="isTrueDelete(row.UNITS_ID)">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<div class="page-btn-group">
|
|
<div>
|
|
<el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
|
<el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="isTrueDeleteAll">批量删除</el-button>
|
|
</div>
|
|
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
|
import { requestFN } from '@/utils/request'
|
|
import waves from '@/directive/waves' // waves directive
|
|
export default {
|
|
components: { Pagination },
|
|
directives: { waves },
|
|
data() {
|
|
return {
|
|
listLoading: true,
|
|
add: false,
|
|
del: false,
|
|
loginUserId: JSON.parse(sessionStorage.getItem('user')).USER_ID,
|
|
edit: false,
|
|
listQuery: {
|
|
page: 1,
|
|
limit: 20
|
|
},
|
|
config: config,
|
|
bus_images: [],
|
|
total: 0,
|
|
KEYWORDS: '',
|
|
UNITS_TYPE: '',
|
|
varList: [],
|
|
pd: [],
|
|
areaList: [], // 属地
|
|
form: {
|
|
UNITS_NAME: '', // 相关方单位名称
|
|
CODE: '', // 统一社会信用代码
|
|
COMPANY_AREA: '', // 属地
|
|
ADDRESS: '', // 企事业单位经营地址
|
|
CONTACTS: '', // 主要负责人
|
|
CONTACTS_PHONE: '', // 主要负责人电话
|
|
LR_MOBILE: '', // 法人手机号
|
|
EMPLOYEES: '', // 职工人数(人)
|
|
CREATE_DATE: '', // 成立时间
|
|
REGCAPITAL: '', // 注册资金(万元)
|
|
TOTALASSETS: '', // 资产总额(万元)
|
|
UNITS_TYPE: ''// 类型
|
|
},
|
|
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
|
multipleSelection: [], // 当前页选中的数据
|
|
dialogFormEdit: false,
|
|
dialogType: 'add',
|
|
typeList: [
|
|
{ ID: '0', NAME: '常驻' },
|
|
{ ID: '1', NAME: '临时' }
|
|
]
|
|
}
|
|
},
|
|
created() {
|
|
this.getList()
|
|
this.getDict()
|
|
// this.getData()
|
|
},
|
|
methods: {
|
|
getData() {
|
|
requestFN(
|
|
'/units/goEdit',
|
|
{}
|
|
).then((data) => {
|
|
this.pd = data.pd
|
|
this.bus_images = data.busImgs
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
getRowKey(row) {
|
|
return row.UNITS_ID
|
|
},
|
|
// 搜索
|
|
getQuery() {
|
|
this.$refs.multipleTable.clearSelection()
|
|
this.getList()
|
|
},
|
|
goKeyReset() {
|
|
this.KEYWORDS = ''
|
|
this.UNITS_TYPE = ''
|
|
this.getQuery()
|
|
},
|
|
// 获取列表
|
|
getList() {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/units/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
|
{
|
|
KEYWORDS: this.KEYWORDS,
|
|
UNITS_TYPE: this.UNITS_TYPE
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.varList = data.varList
|
|
this.total = data.page.totalResult
|
|
this.hasButton()
|
|
this.pd = data.pd
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
// 添加
|
|
handleAdd() {
|
|
this.$parent.activeName = 'Edit'
|
|
this.$parent.UNITS_ID = ''
|
|
},
|
|
selectable(row, index) {
|
|
return row.CREATOR === this.loginUserId
|
|
},
|
|
// 修改
|
|
handleEdit(ID) {
|
|
this.$parent.activeName = 'Edit'
|
|
this.$parent.UNITS_ID = ID
|
|
},
|
|
isTrueDelete(id) {
|
|
requestFN(
|
|
'/personnelmanagement/isTrueDelete',
|
|
{
|
|
UNITS_ID: id
|
|
}
|
|
).then((data) => {
|
|
if (data.result == 'success' && data.number === 0) {
|
|
this.handleDelete(id)
|
|
} else {
|
|
this.$message({
|
|
message: '相关方下还有人员不能进行删除',
|
|
type: 'success'
|
|
})
|
|
}
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
handleDelete(id) {
|
|
this.$confirm('确定要删除吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/units/delete',
|
|
{
|
|
UNITS_ID: id
|
|
}
|
|
).then((data) => {
|
|
if (data.result == 'fail') {
|
|
this.$message({
|
|
message: data.msg,
|
|
type: 'error'
|
|
})
|
|
} else {
|
|
this.$message({
|
|
message: '删除成功',
|
|
type: 'success'
|
|
})
|
|
}
|
|
this.listLoading = false
|
|
this.varList = []
|
|
this.listQuery.page = 1
|
|
this.getList()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
isTrueDeleteAll() {
|
|
const _selectData = this.$refs.multipleTable.selection
|
|
const ids = _selectData.map((item, index) => {
|
|
return item.UNITS_ID
|
|
}).join(',')
|
|
requestFN(
|
|
'/personnelmanagement/isTrueDeleteAll',
|
|
{
|
|
UNITS_ID: ids
|
|
}
|
|
).then((data) => {
|
|
if (data.result == 'success' && data.number === 0) {
|
|
this.batchDel()
|
|
} else {
|
|
this.$message({
|
|
message: '相关方下还有人员不能进行删除',
|
|
type: 'success'
|
|
})
|
|
}
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
batchDel() {
|
|
const _selectData = this.$refs.multipleTable.selection
|
|
if (_selectData == null || _selectData.length == 0) {
|
|
this.$message({
|
|
message: '请选中要删除的项...',
|
|
type: 'error'
|
|
})
|
|
return false
|
|
}
|
|
const ids = _selectData.map((item, index) => {
|
|
return item.UNITS_ID
|
|
}).join(',')
|
|
|
|
this.$confirm('确定要删除选中的数据吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
requestFN(
|
|
'/units/deleteAll',
|
|
{
|
|
DATA_IDS: ids
|
|
}
|
|
).then(() => {
|
|
this.$message({
|
|
message: '删除成功',
|
|
type: 'success'
|
|
})
|
|
this.listLoading = false
|
|
this.varList = []
|
|
this.listQuery.page = 1
|
|
this.$refs.multipleTable.clearSelection()
|
|
this.getList()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
}).catch(() => {
|
|
})
|
|
},
|
|
// 判断按钮权限,用于是否显示按钮
|
|
hasButton: function() {
|
|
var keys = 'units:add,units:del,units:edit,toExcel'
|
|
requestFN(
|
|
'/head/hasButton',
|
|
{
|
|
keys: keys
|
|
}
|
|
).then((data) => {
|
|
this.add = data.unitsfhadminadd // 新增权限
|
|
this.del = data.unitsfhadmindel // 删除权限
|
|
this.edit = data.unitsfhadminedit // 修改权限
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
// 获取数据字典数据
|
|
getDict: function() {
|
|
},
|
|
resetForm() {
|
|
this.form = {
|
|
UNITS_NAME: '', // 相关方单位名称
|
|
CODE: '', // 统一社会信用代码
|
|
POSSESSION: '', // 属地
|
|
ADDRESS: '', // 企事业单位经营地址
|
|
CONTACTS: '', // 主要负责人
|
|
CONTACTS_PHONE: '', // 主要负责人电话
|
|
LR_MOBILE: '', // 法人手机号
|
|
EMPLOYEES: '', // 职工人数(人)
|
|
CREATE_DATE: '', // 成立时间
|
|
REGCAPITAL: '', // 注册资金(万元)
|
|
TOTALASSETS: '', // 资产总额(万元)
|
|
UNITS_TYPE: ''// 类型
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
</script>
|