相关方企业新增企业类型、货主、驻港单位
parent
6d4d7ce75b
commit
a270b5fce0
|
@ -0,0 +1,520 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="130px" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="相关方单位名称">
|
||||
<el-input v-model="KEYWORDS" style="width: 100%" placeholder="搜索相关方单位名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="开户时间">
|
||||
<el-date-picker
|
||||
v-model="date"
|
||||
style="width: 100%"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="属地">
|
||||
<el-cascader
|
||||
ref="POSSESSION_SEARCH"
|
||||
v-model="queryForm.POSSESSION"
|
||||
:options="areaList"
|
||||
:props="areaProps"
|
||||
style="width: 100%"
|
||||
placeholder="请选择属地"
|
||||
@change="cascaderChange"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="集团单位">
|
||||
<el-select v-model="queryForm.CORP_TYPE" style="width: 100%">
|
||||
<el-option v-for="item in corpTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="股份主管部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="queryForm.MAIN_DEP"
|
||||
placeholder="请选择主管部门"
|
||||
no-options-text="请选择主管部门"
|
||||
no-children-text="请选择主管部门"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="基层单位主管部门">
|
||||
<Treeselect
|
||||
:options="treeDataSupervise"
|
||||
:normalizer="normalizer"
|
||||
v-model="queryForm.SUPERVISE_DEPARTMENT_ID"
|
||||
placeholder="请选择基层单位主管部门"
|
||||
no-options-text="请选择基层单位主管部门"
|
||||
no-children-text="请选择基层单位主管部门"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<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="resetSearch">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="info" icon="el-icon-right" size="mini" plain @click="getDaochu">
|
||||
导出全部数据
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="info" icon="el-icon-right" size="mini" plain @click="getonly">
|
||||
导出
|
||||
</el-button>
|
||||
</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'
|
||||
}"
|
||||
:row-class-name="tableRowClassName"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="corpTypeName" label="集团单位" />
|
||||
<el-table-column prop="RELEVANT_UNIT_NAME" label="相关方单位名称" />
|
||||
<el-table-column label="属地">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.COMPANY_AREA">
|
||||
{{ row.COMPANY_AREA.replaceAll(',',' ') }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门" />
|
||||
<el-table-column prop="MANAGER_DEPARTMENT_NAME" label="股份监管部门" />
|
||||
<el-table-column prop="SUPERVISE_CORPINFO_DEPT_NAME" label="基层单位主管部门" show-overflow-tooltip/>
|
||||
<el-table-column prop="COMPETENT_DEPT_NAME" label="基层单位监管部门" show-overflow-tooltip/>
|
||||
<el-table-column prop="CREATOR_NAME" label="开户人员" />
|
||||
<el-table-column :formatter="(row) => formatStateLabel(row)" prop="STATE" label="状态" />
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button type="warning" icon="el-icon-refresh" size="mini" @click="resetPassword(row)">重置密码</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteCorpInfo(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<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
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
export default {
|
||||
components: { Pagination, SelectTree, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
config: config,
|
||||
date: [],
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
treeData: [],
|
||||
treeDataSupervise: [],
|
||||
defaultProps: {
|
||||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
DEPTIDS: '',
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
areaList: [], // 省市县列表
|
||||
areaProps: {
|
||||
lazy: true,
|
||||
lazyLoad: async(node, resolve) => {
|
||||
const resData = await this.getAreaDict(
|
||||
(node.data && node.data.DICTIONARIES_ID) || 'e725d2a91b8248f4b8f49889038df7de'
|
||||
)
|
||||
const { level } = node
|
||||
resolve(
|
||||
resData.map((item) => {
|
||||
return {
|
||||
DICTIONARIES_ID: item.DICTIONARIES_ID,
|
||||
BIANMA: item.BIANMA,
|
||||
NAME: item.NAME,
|
||||
leaf: level >= 3
|
||||
}
|
||||
})
|
||||
)
|
||||
},
|
||||
value: 'BIANMA',
|
||||
id: 'DICTIONARIES_ID',
|
||||
label: 'NAME',
|
||||
children: 'children',
|
||||
checkStrictly: true
|
||||
},
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormEdit: false,
|
||||
queryForm: {
|
||||
POSSESSION: '', // 属地
|
||||
MAIN_DEP: null, // 主管部门
|
||||
PROVINCE: '',
|
||||
CITY: '',
|
||||
COUNTY: '',
|
||||
VILLAGE: '',
|
||||
cteateDate: '',
|
||||
CORP_TYPE: ''
|
||||
},
|
||||
corpTypeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.$data)
|
||||
this.getList()
|
||||
this.getDict()
|
||||
this.getTreeList()
|
||||
// this.ROLE_ID
|
||||
},
|
||||
methods: {
|
||||
onChange(value) {
|
||||
},
|
||||
getTreeList() {
|
||||
requestFN(
|
||||
'/department/listTree/',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
async getAreaDict(DICTIONARIES_ID) {
|
||||
const { list } = await requestFN(
|
||||
'/xgf/dictionaries/getAreaLevels',
|
||||
{
|
||||
DICTIONARIES_ID
|
||||
}
|
||||
)
|
||||
return list
|
||||
},
|
||||
cascaderChange(e) {
|
||||
this.$nextTick(() => {
|
||||
const dom = document.getElementsByClassName('el-radio is-checked')
|
||||
const radioDom = dom[dom.length - 1]
|
||||
const brother = radioDom.nextElementSibling
|
||||
if (radioDom.getElementsByClassName('el-radio__original')[0].value.split(',').length < 4) {
|
||||
brother.click()
|
||||
}
|
||||
})
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
var timeType = this.judgeTime(row.CREATTIME)
|
||||
if (timeType == 1) {
|
||||
return 'yellow-row'
|
||||
} else if (timeType == 2) {
|
||||
return 'red-row'
|
||||
}
|
||||
return ''
|
||||
},
|
||||
judgeTime(startTime) {
|
||||
startTime = startTime.replace(/\-/g, '/')
|
||||
var endTime = new Date()
|
||||
var sTime = new Date(startTime) // 开始时间
|
||||
var eTime = new Date(endTime) // 结束时间
|
||||
var timeType = 1000 * 3600 * 24
|
||||
var differDay = (eTime.getTime() - sTime.getTime()) / timeType
|
||||
var nineMon = 270
|
||||
var oneYear = 365
|
||||
if (differDay >= oneYear) {
|
||||
return 2
|
||||
}
|
||||
if (differDay >= nineMon) {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.CORPINFO_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
if (this.date.length > 1) {
|
||||
this.startDate = this.date[0] + ' ' + '00:00:00'
|
||||
this.endDate = this.date[1] + ' ' + '23:59:59'
|
||||
} else if (this.date.length == 1) {
|
||||
this.startDate = this.date[0] + ' ' + '00:00:00'
|
||||
}
|
||||
requestFN(
|
||||
'/relevantunits/getCorpInfoList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS,
|
||||
startDate: this.startDate,
|
||||
endDate: this.endDate,
|
||||
SUPERVISE_DEPARTMENT_ID: this.queryForm.SUPERVISE_DEPARTMENT_ID,
|
||||
PROVINCE: this.queryForm.POSSESSION[0] || '',
|
||||
CITY: this.queryForm.POSSESSION[1] || '',
|
||||
COUNTY: this.queryForm.POSSESSION[2] || '',
|
||||
VILLAGE: this.queryForm.POSSESSION[3] || '',
|
||||
STREET: this.queryForm.POSSESSION[4] || '',
|
||||
MAIN_DEP: this.queryForm.MAIN_DEP || JSON.parse(sessionStorage.getItem('user')).DEPARTMENT_ID,
|
||||
CORP_TYPE: this.queryForm.CORP_TYPE,
|
||||
TYPE: '1'
|
||||
}
|
||||
).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
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton: function() {
|
||||
var keys = 'relevantunits:add,relevantunits:del,relevantunits:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.corpinfofhadminadd // 新增权限
|
||||
this.del = data.corpinfofhadmindel // 删除权限
|
||||
this.edit = data.corpinfofhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 编辑
|
||||
goEditPage(ID) {
|
||||
this.$parent.activeName = 'CorpInfoEdit'
|
||||
this.$parent.CORPINFO_ID = ID
|
||||
},
|
||||
// 新增
|
||||
handleAdd() {
|
||||
this.$parent.activeName = 'CorpInfoAdd'
|
||||
},
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.$parent.CORPINFO_ID = row.CORPINFO_ID
|
||||
this.$parent.activeName = 'CorpInfoEdit'
|
||||
},
|
||||
// 重置
|
||||
resetSearch() {
|
||||
this.queryForm.POSSESSION = ''
|
||||
this.queryForm.MAIN_DEP = null
|
||||
this.queryForm.PROVINCE = ''
|
||||
this.queryForm.CITY = ''
|
||||
this.queryForm.SUPERVISE_DEPARTMENT_ID = null
|
||||
this.queryForm.COUNTY = ''
|
||||
this.queryForm.VILLAGE = ''
|
||||
this.queryForm.cteateDate = ''
|
||||
this.queryForm.CORP_TYPE = ''
|
||||
this.date = []
|
||||
this.KEYWORDS = ''
|
||||
this.startDate = ''
|
||||
this.endDate = ''
|
||||
this.getList()
|
||||
},
|
||||
// 转换企业状态
|
||||
formatStateLabel(row) {
|
||||
const status = row.STATE
|
||||
if (status) {
|
||||
if (status === '0') {
|
||||
return '未填报'
|
||||
} else if (status === '-1') {
|
||||
return '未审核'
|
||||
} else if (status === '1') {
|
||||
return '待审核'
|
||||
} else if (status === '2') {
|
||||
return '审核通过'
|
||||
} else if (status === '3') {
|
||||
return '已打回'
|
||||
} else if (status === '4') {
|
||||
return '已填报'
|
||||
}
|
||||
}
|
||||
return status
|
||||
},
|
||||
// 重置密码
|
||||
resetPassword(row) {
|
||||
this.$confirm('确定重置该企业的密码?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/relevantunits/resetPassword',
|
||||
{
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
RELEVANT_UNIT_NAME: row.RELEVANT_UNIT_NAME
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '重置成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
// 删除相关方企业
|
||||
deleteCorpInfo(row) {
|
||||
this.$confirm('确定删除该企业吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/xgf/corp/deleteCorpInfo',
|
||||
{
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
RELEVANT_UNIT_NAME: row.RELEVANT_UNIT_NAME
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
// 选择导出
|
||||
getonly() {
|
||||
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.CORPINFO_ID
|
||||
}).join(',')
|
||||
this.$confirm('确定要导出到excel吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
window.open(this.config.httpurl + '/relevantunits/excelAll?ids=' + ids)
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
// 导出全部数据
|
||||
getDaochu() {
|
||||
this.$confirm('确定要导出到excel吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
window.open(this.config.httpurl + '/relevantunits/excelAll')
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict: function() {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorpHasOrder',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeDataSupervise = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '37d8385931f14bb0b962082cf6bb3395'
|
||||
}
|
||||
).then((data) => {
|
||||
this.corpTypeList = data.list
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.el-table .yellow-row {
|
||||
background: #f8e71c;
|
||||
}
|
||||
|
||||
.el-table .red-row {
|
||||
background: #fc0221;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,24 @@
|
|||
<template>
|
||||
<component :is="activeName" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CorpInfoList from './components/corpInfoList'
|
||||
import CorpInfoEdit from '../insert/components/corpInfoEdit'
|
||||
export default {
|
||||
components: {
|
||||
CorpInfoList: CorpInfoList,
|
||||
CorpInfoEdit: CorpInfoEdit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfoList',
|
||||
CORPINFO_ID: '',
|
||||
USERNAME: JSON.parse(sessionStorage.getItem('user')).USERNAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -0,0 +1,519 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form label-width="130px" >
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="相关方单位名称">
|
||||
<el-input v-model="KEYWORDS" style="width: 100%" placeholder="搜索相关方单位名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="开户时间">
|
||||
<el-date-picker
|
||||
v-model="date"
|
||||
style="width: 100%"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="属地">
|
||||
<el-cascader
|
||||
ref="POSSESSION_SEARCH"
|
||||
v-model="queryForm.POSSESSION"
|
||||
:options="areaList"
|
||||
:props="areaProps"
|
||||
style="width: 100%"
|
||||
placeholder="请选择属地"
|
||||
@change="cascaderChange"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="集团单位">
|
||||
<el-select v-model="queryForm.CORP_TYPE" style="width: 100%">
|
||||
<el-option v-for="item in corpTypeList" :key="item.BIANMA" :label="item.NAME" :value="item.BIANMA"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="股份主管部门">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="queryForm.MAIN_DEP"
|
||||
placeholder="请选择主管部门"
|
||||
no-options-text="请选择主管部门"
|
||||
no-children-text="请选择主管部门"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="基层单位主管部门">
|
||||
<Treeselect
|
||||
:options="treeDataSupervise"
|
||||
:normalizer="normalizer"
|
||||
v-model="queryForm.SUPERVISE_DEPARTMENT_ID"
|
||||
placeholder="请选择基层单位主管部门"
|
||||
no-options-text="请选择基层单位主管部门"
|
||||
no-children-text="请选择基层单位主管部门"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<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="resetSearch">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="info" icon="el-icon-right" size="mini" plain @click="getDaochu">
|
||||
导出全部数据
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="info" icon="el-icon-right" size="mini" plain @click="getonly">
|
||||
导出
|
||||
</el-button>
|
||||
</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'
|
||||
}"
|
||||
:row-class-name="tableRowClassName"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"/>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="corpTypeName" label="集团单位" />
|
||||
<el-table-column prop="RELEVANT_UNIT_NAME" label="相关方单位名称" />
|
||||
<el-table-column label="属地">
|
||||
<template slot-scope="{row}">
|
||||
<span v-if="row.COMPANY_AREA">
|
||||
{{ row.COMPANY_AREA.replaceAll(',',' ') }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="MAIN_DEPARTMENT_NAME" label="股份主管部门" />
|
||||
<el-table-column prop="MANAGER_DEPARTMENT_NAME" label="股份监管部门" />
|
||||
<el-table-column prop="SUPERVISE_CORPINFO_DEPT_NAME" label="基层单位主管部门" show-overflow-tooltip/>
|
||||
<el-table-column prop="COMPETENT_DEPT_NAME" label="基层单位监管部门" show-overflow-tooltip/>
|
||||
<el-table-column prop="CREATOR_NAME" label="开户人员" />
|
||||
<el-table-column :formatter="(row) => formatStateLabel(row)" prop="STATE" label="状态" />
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button type="warning" icon="el-icon-refresh" size="mini" @click="resetPassword(row)">重置密码</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteCorpInfo(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<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
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
export default {
|
||||
components: { Pagination, SelectTree, Treeselect },
|
||||
directives: { waves },
|
||||
data() {
|
||||
return {
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
},
|
||||
config: config,
|
||||
date: [],
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
treeData: [],
|
||||
treeDataSupervise: [],
|
||||
defaultProps: {
|
||||
value: 'id',
|
||||
children: 'nodes',
|
||||
label: 'name'
|
||||
},
|
||||
DEPTIDS: '',
|
||||
listLoading: true,
|
||||
add: false,
|
||||
del: false,
|
||||
edit: false,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 20
|
||||
},
|
||||
total: 0,
|
||||
KEYWORDS: '',
|
||||
varList: [],
|
||||
pd: [],
|
||||
areaList: [], // 省市县列表
|
||||
areaProps: {
|
||||
lazy: true,
|
||||
lazyLoad: async(node, resolve) => {
|
||||
const resData = await this.getAreaDict(
|
||||
(node.data && node.data.DICTIONARIES_ID) || 'e725d2a91b8248f4b8f49889038df7de'
|
||||
)
|
||||
const { level } = node
|
||||
resolve(
|
||||
resData.map((item) => {
|
||||
return {
|
||||
DICTIONARIES_ID: item.DICTIONARIES_ID,
|
||||
BIANMA: item.BIANMA,
|
||||
NAME: item.NAME,
|
||||
leaf: level >= 3
|
||||
}
|
||||
})
|
||||
)
|
||||
},
|
||||
value: 'BIANMA',
|
||||
id: 'DICTIONARIES_ID',
|
||||
label: 'NAME',
|
||||
children: 'children',
|
||||
checkStrictly: true
|
||||
},
|
||||
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
||||
multipleSelection: [], // 当前页选中的数据
|
||||
dialogFormEdit: false,
|
||||
queryForm: {
|
||||
POSSESSION: '', // 属地
|
||||
MAIN_DEP: null, // 主管部门
|
||||
PROVINCE: '',
|
||||
CITY: '',
|
||||
COUNTY: '',
|
||||
VILLAGE: '',
|
||||
cteateDate: '',
|
||||
CORP_TYPE: ''
|
||||
},
|
||||
corpTypeList: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.$data)
|
||||
this.getList()
|
||||
this.getDict()
|
||||
this.getTreeList()
|
||||
// this.ROLE_ID
|
||||
},
|
||||
methods: {
|
||||
onChange(value) {
|
||||
},
|
||||
getTreeList() {
|
||||
requestFN(
|
||||
'/department/listTree/',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
async getAreaDict(DICTIONARIES_ID) {
|
||||
const { list } = await requestFN(
|
||||
'/xgf/dictionaries/getAreaLevels',
|
||||
{
|
||||
DICTIONARIES_ID
|
||||
}
|
||||
)
|
||||
return list
|
||||
},
|
||||
cascaderChange(e) {
|
||||
this.$nextTick(() => {
|
||||
const dom = document.getElementsByClassName('el-radio is-checked')
|
||||
const radioDom = dom[dom.length - 1]
|
||||
const brother = radioDom.nextElementSibling
|
||||
if (radioDom.getElementsByClassName('el-radio__original')[0].value.split(',').length < 4) {
|
||||
brother.click()
|
||||
}
|
||||
})
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
var timeType = this.judgeTime(row.CREATTIME)
|
||||
if (timeType == 1) {
|
||||
return 'yellow-row'
|
||||
} else if (timeType == 2) {
|
||||
return 'red-row'
|
||||
}
|
||||
return ''
|
||||
},
|
||||
judgeTime(startTime) {
|
||||
startTime = startTime.replace(/\-/g, '/')
|
||||
var endTime = new Date()
|
||||
var sTime = new Date(startTime) // 开始时间
|
||||
var eTime = new Date(endTime) // 结束时间
|
||||
var timeType = 1000 * 3600 * 24
|
||||
var differDay = (eTime.getTime() - sTime.getTime()) / timeType
|
||||
var nineMon = 270
|
||||
var oneYear = 365
|
||||
if (differDay >= oneYear) {
|
||||
return 2
|
||||
}
|
||||
if (differDay >= nineMon) {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.CORPINFO_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
if (this.date.length > 1) {
|
||||
this.startDate = this.date[0] + ' ' + '00:00:00'
|
||||
this.endDate = this.date[1] + ' ' + '23:59:59'
|
||||
} else if (this.date.length == 1) {
|
||||
this.startDate = this.date[0] + ' ' + '00:00:00'
|
||||
}
|
||||
requestFN(
|
||||
'/relevantunits/getCorpInfoList?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS,
|
||||
startDate: this.startDate,
|
||||
endDate: this.endDate,
|
||||
SUPERVISE_DEPARTMENT_ID: this.queryForm.SUPERVISE_DEPARTMENT_ID,
|
||||
PROVINCE: this.queryForm.POSSESSION[0] || '',
|
||||
CITY: this.queryForm.POSSESSION[1] || '',
|
||||
COUNTY: this.queryForm.POSSESSION[2] || '',
|
||||
VILLAGE: this.queryForm.POSSESSION[3] || '',
|
||||
STREET: this.queryForm.POSSESSION[4] || '',
|
||||
MAIN_DEP: this.queryForm.MAIN_DEP || JSON.parse(sessionStorage.getItem('user')).DEPARTMENT_ID,
|
||||
CORP_TYPE: this.queryForm.CORP_TYPE,
|
||||
TYPE: '2'
|
||||
}
|
||||
).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
|
||||
})
|
||||
},
|
||||
// 判断按钮权限,用于是否显示按钮
|
||||
hasButton: function() {
|
||||
var keys = 'relevantunits:add,relevantunits:del,relevantunits:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.corpinfofhadminadd // 新增权限
|
||||
this.del = data.corpinfofhadmindel // 删除权限
|
||||
this.edit = data.corpinfofhadminedit // 修改权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 编辑
|
||||
goEditPage(ID) {
|
||||
this.$parent.activeName = 'CorpInfoEdit'
|
||||
this.$parent.CORPINFO_ID = ID
|
||||
},
|
||||
// 新增
|
||||
handleAdd() {
|
||||
this.$parent.activeName = 'CorpInfoAdd'
|
||||
},
|
||||
// 编辑
|
||||
handleEdit(row) {
|
||||
this.$parent.CORPINFO_ID = row.CORPINFO_ID
|
||||
this.$parent.activeName = 'CorpInfoEdit'
|
||||
},
|
||||
// 重置
|
||||
resetSearch() {
|
||||
this.queryForm.POSSESSION = ''
|
||||
this.queryForm.MAIN_DEP = null
|
||||
this.queryForm.PROVINCE = ''
|
||||
this.queryForm.CITY = ''
|
||||
this.queryForm.SUPERVISE_DEPARTMENT_ID = null
|
||||
this.queryForm.COUNTY = ''
|
||||
this.queryForm.VILLAGE = ''
|
||||
this.queryForm.cteateDate = ''
|
||||
this.queryForm.CORP_TYPE = ''
|
||||
this.date = []
|
||||
this.KEYWORDS = ''
|
||||
this.startDate = ''
|
||||
this.endDate = ''
|
||||
this.getList()
|
||||
},
|
||||
// 转换企业状态
|
||||
formatStateLabel(row) {
|
||||
const status = row.STATE
|
||||
if (status) {
|
||||
if (status === '0') {
|
||||
return '未填报'
|
||||
} else if (status === '-1') {
|
||||
return '未审核'
|
||||
} else if (status === '1') {
|
||||
return '待审核'
|
||||
} else if (status === '2') {
|
||||
return '审核通过'
|
||||
} else if (status === '3') {
|
||||
return '已打回'
|
||||
} else if (status === '4') {
|
||||
return '已填报'
|
||||
}
|
||||
}
|
||||
return status
|
||||
},
|
||||
// 重置密码
|
||||
resetPassword(row) {
|
||||
this.$confirm('确定重置该企业的密码?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/relevantunits/resetPassword',
|
||||
{
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
RELEVANT_UNIT_NAME: row.RELEVANT_UNIT_NAME
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '重置成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
// 删除相关方企业
|
||||
deleteCorpInfo(row) {
|
||||
this.$confirm('确定删除该企业吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/xgf/corp/deleteCorpInfo',
|
||||
{
|
||||
CORPINFO_ID: row.CORPINFO_ID,
|
||||
RELEVANT_UNIT_NAME: row.RELEVANT_UNIT_NAME
|
||||
}
|
||||
).then(() => {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
// 选择导出
|
||||
getonly() {
|
||||
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.CORPINFO_ID
|
||||
}).join(',')
|
||||
this.$confirm('确定要导出到excel吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
window.open(this.config.httpurl + '/relevantunits/excelAll?ids=' + ids)
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
// 导出全部数据
|
||||
getDaochu() {
|
||||
this.$confirm('确定要导出到excel吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
window.open(this.config.httpurl + '/relevantunits/excelAll')
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
// 获取数据字典数据
|
||||
getDict: function() {
|
||||
requestFN(
|
||||
'/corpDepartment/listTreeManageAndCorpHasOrder',
|
||||
{}
|
||||
).then((data) => {
|
||||
const treeData = this.listTransTree(JSON.parse(data.zTreeNodes), 'id', 'pId', 'nodes')
|
||||
this.treeDataSupervise = this.removeEmptyChildren(treeData)
|
||||
}).catch((e) => {
|
||||
})
|
||||
|
||||
requestFN(
|
||||
'/xgf/dictionaries/getLevels',
|
||||
{
|
||||
DICTIONARIES_ID: '37d8385931f14bb0b962082cf6bb3395'
|
||||
}
|
||||
).then((data) => {
|
||||
this.corpTypeList = data.list
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.el-table .yellow-row {
|
||||
background: #f8e71c;
|
||||
}
|
||||
|
||||
.el-table .red-row {
|
||||
background: #fc0221;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,24 @@
|
|||
<template>
|
||||
<component :is="activeName" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import CorpInfoList from './components/corpInfoList'
|
||||
import CorpInfoEdit from '../insert/components/corpInfoEdit'
|
||||
export default {
|
||||
components: {
|
||||
CorpInfoList: CorpInfoList,
|
||||
CorpInfoEdit: CorpInfoEdit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'CorpInfoList',
|
||||
CORPINFO_ID: '',
|
||||
USERNAME: JSON.parse(sessionStorage.getItem('user')).USERNAME
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -80,6 +80,15 @@
|
|||
<el-input id="CREATOR" ref="CREATOR" v-model="CREATOR_NAME" maxlength="50" placeholder="开户人" title="开户人" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="企业类型" prop="CREATOR">
|
||||
<el-select v-model="form.TYPE" clearable style="width: 100%">
|
||||
<el-option label="驻港企业" value="1"/>
|
||||
<el-option label="货主企业" value="2"/>
|
||||
</el-select>
|
||||
<h style="color: red;font-size: 10px">注意:若相关方企业类型为驻港、货主时,该企业的所有信息将不会被统计在相关方统计中,仅在对应的统计功能中展示</h>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
@ -354,7 +363,8 @@ export default {
|
|||
CITY: '',
|
||||
COUNTY: '',
|
||||
VILLAGE: '',
|
||||
INDUSTRYALL: ''
|
||||
INDUSTRYALL: '',
|
||||
TYPE: ''
|
||||
},
|
||||
hylxList: [], // 国民经济行业分类 (GB-T4754-2017)
|
||||
dialogImageUrl: '', // 上传图片预览
|
||||
|
|
|
@ -83,6 +83,14 @@
|
|||
<el-input id="CREATOR" ref="CREATOR" v-model="CREATOR_NAME" maxlength="50" placeholder="开户人" title="开户人" disabled/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="企业类型" prop="CREATOR">
|
||||
<el-select v-model="form.TYPE" clearable style="width: 100%">
|
||||
<el-option label="驻港企业" value="1"/>
|
||||
<el-option label="货主企业" value="2"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
|
@ -232,7 +240,6 @@ export default {
|
|||
{
|
||||
RELEVANT_UNIT_NAME: value,
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID
|
||||
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.pd) {
|
||||
|
@ -370,7 +377,8 @@ export default {
|
|||
CITY: '',
|
||||
COUNTY: '',
|
||||
VILLAGE: '',
|
||||
INDUSTRYALL: ''
|
||||
INDUSTRYALL: '',
|
||||
TYPE: ''
|
||||
},
|
||||
hylxList: [], // 国民经济行业分类 (GB-T4754-2017)
|
||||
dialogImageUrl: '', // 上传图片预览
|
||||
|
|
Loading…
Reference in New Issue