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.
jin_ji_hu/src/views/enterpriselibrary/index.vue

406 lines
15 KiB

<template>
<div class="L-public-main" id="L-size-main">
<div class="L-main">
<header id="L-header">
<el-form :inline="true" :model="formInline" size="small" class="demo-form-inline" ref="queryFrom">
<el-col :span="22">
<el-form-item label="企业名称:" prop="name">
<el-input v-model.trim="formInline.name" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="统一社会信用代码:" prop="enterUnit">
<el-input v-model.trim="formInline.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="经营状态:" prop="policyLevel">
<el-select class="ignoreElement" v-model="formInline.policyLevel" placeholder="请选择">
<!-- <el-option
v-for="dict in dict.type.jjh_project_type"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
<el-option
label="省级"
value="0">
</el-option>
<el-option
label="市级"
value="1">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
<!-- <el-col :span="2">
<el-button v-if="userType !== '01'" type="primary" class="import-btn" icon="el-icon-plus" size="mini" @click="importBtn"></el-button>
</el-col> -->
</el-form>
</header>
<section>
<el-table v-loading="loading" :data="tableData" :row-class-name="tableRowClassName" :height="tabHeader" :max-height="tabHeader">
<el-table-column label="企业名称" prop="name" />
<el-table-column label="统一社会信用代码" prop="enterUnit" width="140px" />
<el-table-column label="法定代表人" prop="policyLevel" />
<el-table-column label="经营状态" prop="enterTime" />
<el-table-column label="成立日期" prop="createBy" />
<el-table-column label="注册资本" prop="createTime" />
<el-table-column label="企业类型" prop="createTime" />
<el-table-column label="所属行业" prop="createTime" />
<el-table-column label="组织机构代码" prop="createTime" />
<el-table-column label="参保人数" prop="createTime" />
<el-table-column label="曾用名" prop="createTime" />
<el-table-column label="注册地址" prop="createTime" />
<el-table-column label="注册类型" prop="createTime" />
<el-table-column label="经营范围" prop="createTime" />
<el-table-column label="操作" prop="userId" class-name="table-operation">
<template slot-scope="scope">
<span class="look-info" @click="goInfo(scope.row)"></span>
<!-- <span class="edit-info" @click="editInfo(scope.row)"></span>
<span class="del-info" @click="delInfo(scope.row)"></span> -->
</template>
</el-table-column>
</el-table>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</section>
</div>
<!-- :rules="rules" -->
<my-dialog :title="title" @close="importClose" @confirm="confirm" ref="importProject" closeText="关闭" :myclass="true">
<el-form :model="addFrom" size="small" ref="importFrom" label-width="120px" class="newArticle" disabled>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="企业名称:" class="importFormItem" prop="name">
<el-input v-model.trim="addFrom.name" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="统一社会信用代码:" class="importFormItem" prop="policyLevel">
<el-input v-model.trim="addFrom.policyLevel" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="法定代表人:" class="importFormItem" prop="enterUnit">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经营状态:" class="importFormItem" prop="enterTime">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="成立日期:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册资本:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="企业类型:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属行业:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="组织机构代码:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参保人数:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="曾用名:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册地址:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="注册类型:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经营范围:" class="importFormItem" prop="joinProject">
<el-input v-model.trim="addFrom.enterUnit" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</my-dialog>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
import myDialog from "@/views/components/myDialog/index.vue"
import { getJPolicyFile, jPolicyFileNew, jPolicyFileChange, jPolicyFileId, jPolicyFileDel } from "@/api/jin_ji_hu/policyDocument"
export default {
components:{myPagination, myDialog},
dicts: ['jjh_project_type'],
data() {
return {
userType: this.$store.state.user.userType,
deptId: this.$store.state.user.deptId,
total:0,
pagination: {
current:1,
size:10,
},
loading:false,
formInline: {
name: '',
enterUnit:"",
policyLevel:"",
},
tableData:[
// {
// projectName:"苏财建[2021]101号 关于下达2021年江苏省级现代服务业发展 专项资金(现代服务业项目)的通知",
// project:"全方位生物大分子药定制研发生产CDMO服务平台",
// unit:"苏财政",
// grade:"市级",
// issueTime:"2023-03-19",
// user:"张珊",
// uploadingTime:"2023-05-11 14:00",
// }
],
tabHeader: undefined,
addFrom: {
name:"",
joinProject:"",
enterUnit:"",
policyLevel:"",
enterTime:"",
},
rules:{
name:[
{ required: true, message: '请填写政策文件名称', trigger: 'blur' }
],
joinProject:[
{ required: true, message: '请填写政策等级', trigger: 'blur' }
],
enterUnit:[
{ required: true, message: '请填写发文单位', trigger: 'blur' }
],
policyLevel:[
{ required: true, message: '请选择发文时间', trigger: 'change' }
],
enterTime:[
{ required: true, message: '请选择关联项目', trigger: 'change' }
],
},
title:"新增发文",
infoVisible:false,
}
},
mounted() {
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
// this.getList();
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
// 列表获取
getList(){
this.loading = true;
getJPolicyFile(this.pagination).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
// 获取页码
getPagination(pages) {
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
// this.getList();
},
// 查询
handleQuery() {
this.pagination = {
current: 1,
size: 10
}
this.pagination = { ...this.pagination,...this.formInline };
// console.log(this.pagination);
// console.log(this.formInline);
// this.getList();
},
// 重置
resetQuery(formName){
this.$refs[formName].resetFields();
this.pagination = {
current: 1,
size: 10
}
// this.getList();
},
// 修改table背景色
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
// 导入按钮
importBtn(){
this.title = "新增发文";
this.$refs.importProject.open();
},
// 关闭事件触发
importClose(){
this.$nextTick(()=>{
this.$refs.importFrom.resetFields();
this.$refs.importProject.close();
this.addFrom = {
name:"",
joinProject:"",
enterUnit:"",
policyLevel:"",
enterTime:"",
}
})
},
// 关闭详情
infoClose(){
this.addFrom = {}
this.infoVisible = false;
},
// 查看详情
goInfo(row){
this.title = "企业详情"
jPolicyFileId(row.id).then((res=>{
if(res.code == 200) {
this.addFrom = res.data;
this.addFrom.joinProject = this.addFrom.joinProject + ''
this.$refs.importProject.open();
}
}))
},
// 编辑
editInfo(row){
this.title = "修改发文"
jPolicyFileId(row.id).then((res)=>{
if(res.code == 200) {
this.addFrom = res.data;
this.$refs.importProject.open();
}
})
},
// 新增发文
confirm(){
this.$refs.importFrom.validate((valid) => {
if (valid) {
// console.log(this.addFrom);
let id = this.addFrom.id ? this.addFrom.id : null;
if(id) {
jPolicyFileChange(this.addFrom).then((res)=>{
if(res.code == 200) {
this.getList();
this.importClose();
this.$message({
type: "success",
message: "修改成功!",
});
}
})
} else {
jPolicyFileNew(this.addFrom).then((res)=>{
if(res.code == 200) {
this.getList();
this.importClose();
this.$message({
type: "success",
message: "新增成功!",
});
}
})
}
} else {
return false;
}
});
},
// 删除
delInfo(row){
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
jPolicyFileDel({ id: row.id }).then((res) => {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
// 去往项目库搜索
goToProject(id){
// this.$router.push({
// path: '/project/index',
// params: { projectId: id }
// })
this.$router.push({
name: 'ProjectList',
params: { projectId: id }
})
},
// 屏幕尺寸变化
cancalDebounce(){
const element = document.getElementById('L-size-main'); // 通过元素的 ID 获取元素
const header = document.getElementById('L-header'); // 通过元素的 ID 获取元素
const pagination = document.getElementById('L-pagination'); // 通过元素的 ID 获取元素
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 140;
}
},
}
</script>